ChangeLog-2008-08-10 3.4 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445324463244732448324493245032451324523245332454324553245632457324583245932460324613246232463324643246532466324673246832469324703247132472324733247432475324763247732478324793248032481324823248332484324853248632487324883248932490324913249232493324943249532496324973249832499325003250132502325033250432505325063250732508325093251032511325123251332514325153251632517325183251932520325213252232523325243252532526325273252832529325303253132532325333253432535325363253732538325393254032541325423254332544325453254632547325483254932550325513255232553325543255532556325573255832559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325843258532586325873258832589325903259132592325933259432595325963259732598325993260032601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326203262132622326233262432625326263262732628326293263032631326323263332634326353263632637326383263932640326413264232643326443264532646326473264832649326503265132652326533265432655326563265732658326593266032661326623266332664326653266632667326683266932670326713267232673326743267532676326773267832679326803268132682326833268432685326863268732688326893269032691326923269332694326953269632697326983269932700327013270232703327043270532706327073270832709327103271132712327133271432715327163271732718327193272032721327223272332724327253272632727327283272932730327313273232733327343273532736327373273832739327403274132742327433274432745327463274732748327493275032751327523275332754327553275632757327583275932760327613276232763327643276532766327673276832769327703277132772327733277432775327763277732778327793278032781327823278332784327853278632787327883278932790327913279232793327943279532796327973279832799328003280132802328033280432805328063280732808328093281032811328123281332814328153281632817328183281932820328213282232823328243282532826328273282832829328303283132832328333283432835328363283732838328393284032841328423284332844328453284632847328483284932850328513285232853328543285532856328573285832859328603286132862328633286432865328663286732868328693287032871328723287332874328753287632877328783287932880328813288232883328843288532886328873288832889328903289132892328933289432895328963289732898328993290032901329023290332904329053290632907329083290932910329113291232913329143291532916329173291832919329203292132922329233292432925329263292732928329293293032931329323293332934329353293632937329383293932940329413294232943329443294532946329473294832949329503295132952329533295432955329563295732958329593296032961329623296332964329653296632967329683296932970329713297232973329743297532976329773297832979329803298132982329833298432985329863298732988329893299032991329923299332994329953299632997329983299933000330013300233003330043300533006330073300833009330103301133012330133301433015330163301733018330193302033021330223302333024330253302633027330283302933030330313303233033330343303533036330373303833039330403304133042330433304433045330463304733048330493305033051330523305333054330553305633057330583305933060330613306233063330643306533066330673306833069330703307133072330733307433075330763307733078330793308033081330823308333084330853308633087330883308933090330913309233093330943309533096330973309833099331003310133102331033310433105331063310733108331093311033111331123311333114331153311633117331183311933120331213312233123331243312533126331273312833129331303313133132331333313433135331363313733138331393314033141331423314333144331453314633147331483314933150331513315233153331543315533156331573315833159331603316133162331633316433165331663316733168331693317033171331723317333174331753317633177331783317933180331813318233183331843318533186331873318833189331903319133192331933319433195331963319733198331993320033201332023320333204332053320633207332083320933210332113321233213332143321533216332173321833219332203322133222332233322433225332263322733228332293323033231332323323333234332353323633237332383323933240332413324233243332443324533246332473324833249332503325133252332533325433255332563325733258332593326033261332623326333264332653326633267332683326933270332713327233273332743327533276332773327833279332803328133282332833328433285332863328733288332893329033291332923329333294332953329633297332983329933300333013330233303333043330533306333073330833309333103331133312333133331433315333163331733318333193332033321333223332333324333253332633327333283332933330333313333233333333343333533336333373333833339333403334133342333433334433345333463334733348333493335033351333523335333354333553335633357333583335933360333613336233363333643336533366333673336833369333703337133372333733337433375333763337733378333793338033381333823338333384333853338633387333883338933390333913339233393333943339533396333973339833399334003340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233423334243342533426334273342833429334303343133432334333343433435334363343733438334393344033441334423344333444334453344633447334483344933450334513345233453334543345533456334573345833459334603346133462334633346433465334663346733468334693347033471334723347333474334753347633477334783347933480334813348233483334843348533486334873348833489334903349133492334933349433495334963349733498334993350033501335023350333504335053350633507335083350933510335113351233513335143351533516335173351833519335203352133522335233352433525335263352733528335293353033531335323353333534335353353633537335383353933540335413354233543335443354533546335473354833549335503355133552335533355433555335563355733558335593356033561335623356333564335653356633567335683356933570335713357233573335743357533576335773357833579335803358133582335833358433585335863358733588335893359033591335923359333594335953359633597335983359933600336013360233603336043360533606336073360833609336103361133612336133361433615336163361733618336193362033621336223362333624336253362633627336283362933630336313363233633336343363533636336373363833639336403364133642336433364433645336463364733648336493365033651336523365333654336553365633657336583365933660336613366233663336643366533666336673366833669336703367133672336733367433675336763367733678336793368033681336823368333684336853368633687336883368933690336913369233693336943369533696336973369833699337003370133702337033370433705337063370733708337093371033711337123371333714337153371633717337183371933720337213372233723337243372533726337273372833729337303373133732337333373433735337363373733738337393374033741337423374333744337453374633747337483374933750337513375233753337543375533756337573375833759337603376133762337633376433765337663376733768337693377033771337723377333774337753377633777337783377933780337813378233783337843378533786337873378833789337903379133792337933379433795337963379733798337993380033801338023380333804338053380633807338083380933810338113381233813338143381533816338173381833819338203382133822338233382433825338263382733828338293383033831338323383333834338353383633837338383383933840338413384233843338443384533846338473384833849338503385133852338533385433855338563385733858338593386033861338623386333864338653386633867338683386933870338713387233873338743387533876338773387833879338803388133882338833388433885338863388733888338893389033891338923389333894338953389633897338983389933900339013390233903339043390533906339073390833909339103391133912339133391433915339163391733918339193392033921339223392333924339253392633927339283392933930339313393233933339343393533936339373393833939339403394133942339433394433945339463394733948339493395033951339523395333954339553395633957339583395933960339613396233963339643396533966339673396833969339703397133972339733397433975339763397733978339793398033981339823398333984339853398633987339883398933990339913399233993339943399533996339973399833999340003400134002340033400434005340063400734008340093401034011340123401334014340153401634017340183401934020340213402234023340243402534026340273402834029340303403134032340333403434035340363403734038340393404034041340423404334044340453404634047340483404934050340513405234053340543405534056340573405834059340603406134062340633406434065340663406734068340693407034071340723407334074340753407634077340783407934080340813408234083340843408534086340873408834089340903409134092340933409434095340963409734098340993410034101341023410334104341053410634107341083410934110341113411234113341143411534116341173411834119341203412134122341233412434125341263412734128341293413034131341323413334134341353413634137341383413934140341413414234143341443414534146341473414834149341503415134152341533415434155341563415734158341593416034161341623416334164341653416634167341683416934170341713417234173341743417534176341773417834179341803418134182341833418434185341863418734188341893419034191341923419334194341953419634197341983419934200342013420234203342043420534206342073420834209342103421134212342133421434215342163421734218342193422034221342223422334224342253422634227342283422934230342313423234233342343423534236342373423834239342403424134242342433424434245342463424734248342493425034251342523425334254342553425634257342583425934260342613426234263342643426534266342673426834269342703427134272342733427434275342763427734278342793428034281342823428334284342853428634287342883428934290342913429234293342943429534296342973429834299343003430134302343033430434305343063430734308343093431034311343123431334314343153431634317343183431934320343213432234323343243432534326343273432834329343303433134332343333433434335343363433734338343393434034341343423434334344343453434634347343483434934350343513435234353343543435534356343573435834359343603436134362343633436434365343663436734368343693437034371343723437334374343753437634377343783437934380343813438234383343843438534386343873438834389343903439134392343933439434395343963439734398343993440034401344023440334404344053440634407344083440934410344113441234413344143441534416344173441834419344203442134422344233442434425344263442734428344293443034431344323443334434344353443634437344383443934440344413444234443344443444534446344473444834449344503445134452344533445434455344563445734458344593446034461344623446334464344653446634467344683446934470344713447234473344743447534476344773447834479344803448134482344833448434485344863448734488344893449034491344923449334494344953449634497344983449934500345013450234503345043450534506345073450834509345103451134512345133451434515345163451734518345193452034521345223452334524345253452634527345283452934530345313453234533345343453534536345373453834539345403454134542345433454434545345463454734548345493455034551345523455334554345553455634557345583455934560345613456234563345643456534566345673456834569345703457134572345733457434575345763457734578345793458034581345823458334584345853458634587345883458934590345913459234593345943459534596345973459834599346003460134602346033460434605346063460734608346093461034611346123461334614346153461634617346183461934620346213462234623346243462534626346273462834629346303463134632346333463434635346363463734638346393464034641346423464334644346453464634647346483464934650346513465234653346543465534656346573465834659346603466134662346633466434665346663466734668346693467034671346723467334674346753467634677346783467934680346813468234683346843468534686346873468834689346903469134692346933469434695346963469734698346993470034701347023470334704347053470634707347083470934710347113471234713347143471534716347173471834719347203472134722347233472434725347263472734728347293473034731347323473334734347353473634737347383473934740347413474234743347443474534746347473474834749347503475134752347533475434755347563475734758347593476034761347623476334764347653476634767347683476934770347713477234773347743477534776347773477834779347803478134782347833478434785347863478734788347893479034791347923479334794347953479634797347983479934800348013480234803348043480534806348073480834809348103481134812348133481434815348163481734818348193482034821348223482334824348253482634827348283482934830348313483234833348343483534836348373483834839348403484134842348433484434845348463484734848348493485034851348523485334854348553485634857348583485934860348613486234863348643486534866348673486834869348703487134872348733487434875348763487734878348793488034881348823488334884348853488634887348883488934890348913489234893348943489534896348973489834899349003490134902349033490434905349063490734908349093491034911349123491334914349153491634917349183491934920349213492234923349243492534926349273492834929349303493134932349333493434935349363493734938349393494034941349423494334944349453494634947349483494934950349513495234953349543495534956349573495834959349603496134962349633496434965349663496734968349693497034971349723497334974349753497634977349783497934980349813498234983349843498534986349873498834989349903499134992349933499434995349963499734998349993500035001350023500335004350053500635007350083500935010350113501235013350143501535016350173501835019350203502135022350233502435025350263502735028350293503035031350323503335034350353503635037350383503935040350413504235043350443504535046350473504835049350503505135052350533505435055350563505735058350593506035061350623506335064350653506635067350683506935070350713507235073350743507535076350773507835079350803508135082350833508435085350863508735088350893509035091350923509335094350953509635097350983509935100351013510235103351043510535106351073510835109351103511135112351133511435115351163511735118351193512035121351223512335124351253512635127351283512935130351313513235133351343513535136351373513835139351403514135142351433514435145351463514735148351493515035151351523515335154351553515635157351583515935160351613516235163351643516535166351673516835169351703517135172351733517435175351763517735178351793518035181351823518335184351853518635187351883518935190351913519235193351943519535196351973519835199352003520135202352033520435205352063520735208352093521035211352123521335214352153521635217352183521935220352213522235223352243522535226352273522835229352303523135232352333523435235352363523735238352393524035241352423524335244352453524635247352483524935250352513525235253352543525535256352573525835259352603526135262352633526435265352663526735268352693527035271352723527335274352753527635277352783527935280352813528235283352843528535286352873528835289352903529135292352933529435295352963529735298352993530035301353023530335304353053530635307353083530935310353113531235313353143531535316353173531835319353203532135322353233532435325353263532735328353293533035331353323533335334353353533635337353383533935340353413534235343353443534535346353473534835349353503535135352353533535435355353563535735358353593536035361353623536335364353653536635367353683536935370353713537235373353743537535376353773537835379353803538135382353833538435385353863538735388353893539035391353923539335394353953539635397353983539935400354013540235403354043540535406354073540835409354103541135412354133541435415354163541735418354193542035421354223542335424354253542635427354283542935430354313543235433354343543535436354373543835439354403544135442354433544435445354463544735448354493545035451354523545335454354553545635457354583545935460354613546235463354643546535466354673546835469354703547135472354733547435475354763547735478354793548035481354823548335484354853548635487354883548935490354913549235493354943549535496354973549835499355003550135502355033550435505355063550735508355093551035511355123551335514355153551635517355183551935520355213552235523355243552535526355273552835529355303553135532355333553435535355363553735538355393554035541355423554335544355453554635547355483554935550355513555235553355543555535556355573555835559355603556135562355633556435565355663556735568355693557035571355723557335574355753557635577355783557935580355813558235583355843558535586355873558835589355903559135592355933559435595355963559735598355993560035601356023560335604356053560635607356083560935610356113561235613356143561535616356173561835619356203562135622356233562435625356263562735628356293563035631356323563335634356353563635637356383563935640356413564235643356443564535646356473564835649356503565135652356533565435655356563565735658356593566035661356623566335664356653566635667356683566935670356713567235673356743567535676356773567835679356803568135682356833568435685356863568735688356893569035691356923569335694356953569635697356983569935700357013570235703357043570535706357073570835709357103571135712357133571435715357163571735718357193572035721357223572335724357253572635727357283572935730357313573235733357343573535736357373573835739357403574135742357433574435745357463574735748357493575035751357523575335754357553575635757357583575935760357613576235763357643576535766357673576835769357703577135772357733577435775357763577735778357793578035781357823578335784357853578635787357883578935790357913579235793357943579535796357973579835799358003580135802358033580435805358063580735808358093581035811358123581335814358153581635817358183581935820358213582235823358243582535826358273582835829358303583135832358333583435835358363583735838358393584035841358423584335844358453584635847358483584935850358513585235853358543585535856358573585835859358603586135862358633586435865358663586735868358693587035871358723587335874358753587635877358783587935880358813588235883358843588535886358873588835889358903589135892358933589435895358963589735898358993590035901359023590335904359053590635907359083590935910359113591235913359143591535916359173591835919359203592135922359233592435925359263592735928359293593035931359323593335934359353593635937359383593935940359413594235943359443594535946359473594835949359503595135952359533595435955359563595735958359593596035961359623596335964359653596635967359683596935970359713597235973359743597535976359773597835979359803598135982359833598435985359863598735988359893599035991359923599335994359953599635997359983599936000360013600236003360043600536006360073600836009360103601136012360133601436015360163601736018360193602036021360223602336024360253602636027360283602936030360313603236033360343603536036360373603836039360403604136042360433604436045360463604736048360493605036051360523605336054360553605636057360583605936060360613606236063360643606536066360673606836069360703607136072360733607436075360763607736078360793608036081360823608336084360853608636087360883608936090360913609236093360943609536096360973609836099361003610136102361033610436105361063610736108361093611036111361123611336114361153611636117361183611936120361213612236123361243612536126361273612836129361303613136132361333613436135361363613736138361393614036141361423614336144361453614636147361483614936150361513615236153361543615536156361573615836159361603616136162361633616436165361663616736168361693617036171361723617336174361753617636177361783617936180361813618236183361843618536186361873618836189361903619136192361933619436195361963619736198361993620036201362023620336204362053620636207362083620936210362113621236213362143621536216362173621836219362203622136222362233622436225362263622736228362293623036231362323623336234362353623636237362383623936240362413624236243362443624536246362473624836249362503625136252362533625436255362563625736258362593626036261362623626336264362653626636267362683626936270362713627236273362743627536276362773627836279362803628136282362833628436285362863628736288362893629036291362923629336294362953629636297362983629936300363013630236303363043630536306363073630836309363103631136312363133631436315363163631736318363193632036321363223632336324363253632636327363283632936330363313633236333363343633536336363373633836339363403634136342363433634436345363463634736348363493635036351363523635336354363553635636357363583635936360363613636236363363643636536366363673636836369363703637136372363733637436375363763637736378363793638036381363823638336384363853638636387363883638936390363913639236393363943639536396363973639836399364003640136402364033640436405364063640736408364093641036411364123641336414364153641636417364183641936420364213642236423364243642536426364273642836429364303643136432364333643436435364363643736438364393644036441364423644336444364453644636447364483644936450364513645236453364543645536456364573645836459364603646136462364633646436465364663646736468364693647036471364723647336474364753647636477364783647936480364813648236483364843648536486364873648836489364903649136492364933649436495364963649736498364993650036501365023650336504365053650636507365083650936510365113651236513365143651536516365173651836519365203652136522365233652436525365263652736528365293653036531365323653336534365353653636537365383653936540365413654236543365443654536546365473654836549365503655136552365533655436555365563655736558365593656036561365623656336564365653656636567365683656936570365713657236573365743657536576365773657836579365803658136582365833658436585365863658736588365893659036591365923659336594365953659636597365983659936600366013660236603366043660536606366073660836609366103661136612366133661436615366163661736618366193662036621366223662336624366253662636627366283662936630366313663236633366343663536636366373663836639366403664136642366433664436645366463664736648366493665036651366523665336654366553665636657366583665936660366613666236663366643666536666366673666836669366703667136672366733667436675366763667736678366793668036681366823668336684366853668636687366883668936690366913669236693366943669536696366973669836699367003670136702367033670436705367063670736708367093671036711367123671336714367153671636717367183671936720367213672236723367243672536726367273672836729367303673136732367333673436735367363673736738367393674036741367423674336744367453674636747367483674936750367513675236753367543675536756367573675836759367603676136762367633676436765367663676736768367693677036771367723677336774367753677636777367783677936780367813678236783367843678536786367873678836789367903679136792367933679436795367963679736798367993680036801368023680336804368053680636807368083680936810368113681236813368143681536816368173681836819368203682136822368233682436825368263682736828368293683036831368323683336834368353683636837368383683936840368413684236843368443684536846368473684836849368503685136852368533685436855368563685736858368593686036861368623686336864368653686636867368683686936870368713687236873368743687536876368773687836879368803688136882368833688436885368863688736888368893689036891368923689336894368953689636897368983689936900369013690236903369043690536906369073690836909369103691136912369133691436915369163691736918369193692036921369223692336924369253692636927369283692936930369313693236933369343693536936369373693836939369403694136942369433694436945369463694736948369493695036951369523695336954369553695636957369583695936960369613696236963369643696536966369673696836969369703697136972369733697436975369763697736978369793698036981369823698336984369853698636987369883698936990369913699236993369943699536996369973699836999370003700137002370033700437005370063700737008370093701037011370123701337014370153701637017370183701937020370213702237023370243702537026370273702837029370303703137032370333703437035370363703737038370393704037041370423704337044370453704637047370483704937050370513705237053370543705537056370573705837059370603706137062370633706437065370663706737068370693707037071370723707337074370753707637077370783707937080370813708237083370843708537086370873708837089370903709137092370933709437095370963709737098370993710037101371023710337104371053710637107371083710937110371113711237113371143711537116371173711837119371203712137122371233712437125371263712737128371293713037131371323713337134371353713637137371383713937140371413714237143371443714537146371473714837149371503715137152371533715437155371563715737158371593716037161371623716337164371653716637167371683716937170371713717237173371743717537176371773717837179371803718137182371833718437185371863718737188371893719037191371923719337194371953719637197371983719937200372013720237203372043720537206372073720837209372103721137212372133721437215372163721737218372193722037221372223722337224372253722637227372283722937230372313723237233372343723537236372373723837239372403724137242372433724437245372463724737248372493725037251372523725337254372553725637257372583725937260372613726237263372643726537266372673726837269372703727137272372733727437275372763727737278372793728037281372823728337284372853728637287372883728937290372913729237293372943729537296372973729837299373003730137302373033730437305373063730737308373093731037311373123731337314373153731637317373183731937320373213732237323373243732537326373273732837329373303733137332373333733437335373363733737338373393734037341373423734337344373453734637347373483734937350373513735237353373543735537356373573735837359373603736137362373633736437365373663736737368373693737037371373723737337374373753737637377373783737937380373813738237383373843738537386373873738837389373903739137392373933739437395373963739737398373993740037401374023740337404374053740637407374083740937410374113741237413374143741537416374173741837419374203742137422374233742437425374263742737428374293743037431374323743337434374353743637437374383743937440374413744237443374443744537446374473744837449374503745137452374533745437455374563745737458374593746037461374623746337464374653746637467374683746937470374713747237473374743747537476374773747837479374803748137482374833748437485374863748737488374893749037491374923749337494374953749637497374983749937500375013750237503375043750537506375073750837509375103751137512375133751437515375163751737518375193752037521375223752337524375253752637527375283752937530375313753237533375343753537536375373753837539375403754137542375433754437545375463754737548375493755037551375523755337554375553755637557375583755937560375613756237563375643756537566375673756837569375703757137572375733757437575375763757737578375793758037581375823758337584375853758637587375883758937590375913759237593375943759537596375973759837599376003760137602376033760437605376063760737608376093761037611376123761337614376153761637617376183761937620376213762237623376243762537626376273762837629376303763137632376333763437635376363763737638376393764037641376423764337644376453764637647376483764937650376513765237653376543765537656376573765837659376603766137662376633766437665376663766737668376693767037671376723767337674376753767637677376783767937680376813768237683376843768537686376873768837689376903769137692376933769437695376963769737698376993770037701377023770337704377053770637707377083770937710377113771237713377143771537716377173771837719377203772137722377233772437725377263772737728377293773037731377323773337734377353773637737377383773937740377413774237743377443774537746377473774837749377503775137752377533775437755377563775737758377593776037761377623776337764377653776637767377683776937770377713777237773377743777537776377773777837779377803778137782377833778437785377863778737788377893779037791377923779337794377953779637797377983779937800378013780237803378043780537806378073780837809378103781137812378133781437815378163781737818378193782037821378223782337824378253782637827378283782937830378313783237833378343783537836378373783837839378403784137842378433784437845378463784737848378493785037851378523785337854378553785637857378583785937860378613786237863378643786537866378673786837869378703787137872378733787437875378763787737878378793788037881378823788337884378853788637887378883788937890378913789237893378943789537896378973789837899379003790137902379033790437905379063790737908379093791037911379123791337914379153791637917379183791937920379213792237923379243792537926379273792837929379303793137932379333793437935379363793737938379393794037941379423794337944379453794637947379483794937950379513795237953379543795537956379573795837959379603796137962379633796437965379663796737968379693797037971379723797337974379753797637977379783797937980379813798237983379843798537986379873798837989379903799137992379933799437995379963799737998379993800038001380023800338004380053800638007380083800938010380113801238013380143801538016380173801838019380203802138022380233802438025380263802738028380293803038031380323803338034380353803638037380383803938040380413804238043380443804538046380473804838049380503805138052380533805438055380563805738058380593806038061380623806338064380653806638067380683806938070380713807238073380743807538076380773807838079380803808138082380833808438085380863808738088380893809038091380923809338094380953809638097380983809938100381013810238103381043810538106381073810838109381103811138112381133811438115381163811738118381193812038121381223812338124381253812638127381283812938130381313813238133381343813538136381373813838139381403814138142381433814438145381463814738148381493815038151381523815338154381553815638157381583815938160381613816238163381643816538166381673816838169381703817138172381733817438175381763817738178381793818038181381823818338184381853818638187381883818938190381913819238193381943819538196381973819838199382003820138202382033820438205382063820738208382093821038211382123821338214382153821638217382183821938220382213822238223382243822538226382273822838229382303823138232382333823438235382363823738238382393824038241382423824338244382453824638247382483824938250382513825238253382543825538256382573825838259382603826138262382633826438265382663826738268382693827038271382723827338274382753827638277382783827938280382813828238283382843828538286382873828838289382903829138292382933829438295382963829738298382993830038301383023830338304383053830638307383083830938310383113831238313383143831538316383173831838319383203832138322383233832438325383263832738328383293833038331383323833338334383353833638337383383833938340383413834238343383443834538346383473834838349383503835138352383533835438355383563835738358383593836038361383623836338364383653836638367383683836938370383713837238373383743837538376383773837838379383803838138382383833838438385383863838738388383893839038391383923839338394383953839638397383983839938400384013840238403384043840538406384073840838409384103841138412384133841438415384163841738418384193842038421384223842338424384253842638427384283842938430384313843238433384343843538436384373843838439384403844138442384433844438445384463844738448384493845038451384523845338454384553845638457384583845938460384613846238463384643846538466384673846838469384703847138472384733847438475384763847738478384793848038481384823848338484384853848638487384883848938490384913849238493384943849538496384973849838499385003850138502385033850438505385063850738508385093851038511385123851338514385153851638517385183851938520385213852238523385243852538526385273852838529385303853138532385333853438535385363853738538385393854038541385423854338544385453854638547385483854938550385513855238553385543855538556385573855838559385603856138562385633856438565385663856738568385693857038571385723857338574385753857638577385783857938580385813858238583385843858538586385873858838589385903859138592385933859438595385963859738598385993860038601386023860338604386053860638607386083860938610386113861238613386143861538616386173861838619386203862138622386233862438625386263862738628386293863038631386323863338634386353863638637386383863938640386413864238643386443864538646386473864838649386503865138652386533865438655386563865738658386593866038661386623866338664386653866638667386683866938670386713867238673386743867538676386773867838679386803868138682386833868438685386863868738688386893869038691386923869338694386953869638697386983869938700387013870238703387043870538706387073870838709387103871138712387133871438715387163871738718387193872038721387223872338724387253872638727387283872938730387313873238733387343873538736387373873838739387403874138742387433874438745387463874738748387493875038751387523875338754387553875638757387583875938760387613876238763387643876538766387673876838769387703877138772387733877438775387763877738778387793878038781387823878338784387853878638787387883878938790387913879238793387943879538796387973879838799388003880138802388033880438805388063880738808388093881038811388123881338814388153881638817388183881938820388213882238823388243882538826388273882838829388303883138832388333883438835388363883738838388393884038841388423884338844388453884638847388483884938850388513885238853388543885538856388573885838859388603886138862388633886438865388663886738868388693887038871388723887338874388753887638877388783887938880388813888238883388843888538886388873888838889388903889138892388933889438895388963889738898388993890038901389023890338904389053890638907389083890938910389113891238913389143891538916389173891838919389203892138922389233892438925389263892738928389293893038931389323893338934389353893638937389383893938940389413894238943389443894538946389473894838949389503895138952389533895438955389563895738958389593896038961389623896338964389653896638967389683896938970389713897238973389743897538976389773897838979389803898138982389833898438985389863898738988389893899038991389923899338994389953899638997389983899939000390013900239003390043900539006390073900839009390103901139012390133901439015390163901739018390193902039021390223902339024390253902639027390283902939030390313903239033390343903539036390373903839039390403904139042390433904439045390463904739048390493905039051390523905339054390553905639057390583905939060390613906239063390643906539066390673906839069390703907139072390733907439075390763907739078390793908039081390823908339084390853908639087390883908939090390913909239093390943909539096390973909839099391003910139102391033910439105391063910739108391093911039111391123911339114391153911639117391183911939120391213912239123391243912539126391273912839129391303913139132391333913439135391363913739138391393914039141391423914339144391453914639147391483914939150391513915239153391543915539156391573915839159391603916139162391633916439165391663916739168391693917039171391723917339174391753917639177391783917939180391813918239183391843918539186391873918839189391903919139192391933919439195391963919739198391993920039201392023920339204392053920639207392083920939210392113921239213392143921539216392173921839219392203922139222392233922439225392263922739228392293923039231392323923339234392353923639237392383923939240392413924239243392443924539246392473924839249392503925139252392533925439255392563925739258392593926039261392623926339264392653926639267392683926939270392713927239273392743927539276392773927839279392803928139282392833928439285392863928739288392893929039291392923929339294392953929639297392983929939300393013930239303393043930539306393073930839309393103931139312393133931439315393163931739318393193932039321393223932339324393253932639327393283932939330393313933239333393343933539336393373933839339393403934139342393433934439345393463934739348393493935039351393523935339354393553935639357393583935939360393613936239363393643936539366393673936839369393703937139372393733937439375393763937739378393793938039381393823938339384393853938639387393883938939390393913939239393393943939539396393973939839399394003940139402394033940439405394063940739408394093941039411394123941339414394153941639417394183941939420394213942239423394243942539426394273942839429394303943139432394333943439435394363943739438394393944039441394423944339444394453944639447394483944939450394513945239453394543945539456394573945839459394603946139462394633946439465394663946739468394693947039471394723947339474394753947639477394783947939480394813948239483394843948539486394873948839489394903949139492394933949439495394963949739498394993950039501395023950339504395053950639507395083950939510395113951239513395143951539516395173951839519395203952139522395233952439525395263952739528395293953039531395323953339534395353953639537395383953939540395413954239543395443954539546395473954839549395503955139552395533955439555395563955739558395593956039561395623956339564395653956639567395683956939570395713957239573395743957539576395773957839579395803958139582395833958439585395863958739588395893959039591395923959339594395953959639597395983959939600396013960239603396043960539606396073960839609396103961139612396133961439615396163961739618396193962039621396223962339624396253962639627396283962939630396313963239633396343963539636396373963839639396403964139642396433964439645396463964739648396493965039651396523965339654396553965639657396583965939660396613966239663396643966539666396673966839669396703967139672396733967439675396763967739678396793968039681396823968339684396853968639687396883968939690396913969239693396943969539696396973969839699397003970139702397033970439705397063970739708397093971039711397123971339714397153971639717397183971939720397213972239723397243972539726397273972839729397303973139732397333973439735397363973739738397393974039741397423974339744397453974639747397483974939750397513975239753397543975539756397573975839759397603976139762397633976439765397663976739768397693977039771397723977339774397753977639777397783977939780397813978239783397843978539786397873978839789397903979139792397933979439795397963979739798397993980039801398023980339804398053980639807398083980939810398113981239813398143981539816398173981839819398203982139822398233982439825398263982739828398293983039831398323983339834398353983639837398383983939840398413984239843398443984539846398473984839849398503985139852398533985439855398563985739858398593986039861398623986339864398653986639867398683986939870398713987239873398743987539876398773987839879398803988139882398833988439885398863988739888398893989039891398923989339894398953989639897398983989939900399013990239903399043990539906399073990839909399103991139912399133991439915399163991739918399193992039921399223992339924399253992639927399283992939930399313993239933399343993539936399373993839939399403994139942399433994439945399463994739948399493995039951399523995339954399553995639957399583995939960399613996239963399643996539966399673996839969399703997139972399733997439975399763997739978399793998039981399823998339984399853998639987399883998939990399913999239993399943999539996399973999839999400004000140002400034000440005400064000740008400094001040011400124001340014400154001640017400184001940020400214002240023400244002540026400274002840029400304003140032400334003440035400364003740038400394004040041400424004340044400454004640047400484004940050400514005240053400544005540056400574005840059400604006140062400634006440065400664006740068400694007040071400724007340074400754007640077400784007940080400814008240083400844008540086400874008840089400904009140092400934009440095400964009740098400994010040101401024010340104401054010640107401084010940110401114011240113401144011540116401174011840119401204012140122401234012440125401264012740128401294013040131401324013340134401354013640137401384013940140401414014240143401444014540146401474014840149401504015140152401534015440155401564015740158401594016040161401624016340164401654016640167401684016940170401714017240173401744017540176401774017840179401804018140182401834018440185401864018740188401894019040191401924019340194401954019640197401984019940200402014020240203402044020540206402074020840209402104021140212402134021440215402164021740218402194022040221402224022340224402254022640227402284022940230402314023240233402344023540236402374023840239402404024140242402434024440245402464024740248402494025040251402524025340254402554025640257402584025940260402614026240263402644026540266402674026840269402704027140272402734027440275402764027740278402794028040281402824028340284402854028640287402884028940290402914029240293402944029540296402974029840299403004030140302403034030440305403064030740308403094031040311403124031340314403154031640317403184031940320403214032240323403244032540326403274032840329403304033140332403334033440335403364033740338403394034040341403424034340344403454034640347403484034940350403514035240353403544035540356403574035840359403604036140362403634036440365403664036740368403694037040371403724037340374403754037640377403784037940380403814038240383403844038540386403874038840389403904039140392403934039440395403964039740398403994040040401404024040340404404054040640407404084040940410404114041240413404144041540416404174041840419404204042140422404234042440425404264042740428404294043040431404324043340434404354043640437404384043940440404414044240443404444044540446404474044840449404504045140452404534045440455404564045740458404594046040461404624046340464404654046640467404684046940470404714047240473404744047540476404774047840479404804048140482404834048440485404864048740488404894049040491404924049340494404954049640497404984049940500405014050240503405044050540506405074050840509405104051140512405134051440515405164051740518405194052040521405224052340524405254052640527405284052940530405314053240533405344053540536405374053840539405404054140542405434054440545405464054740548405494055040551405524055340554405554055640557405584055940560405614056240563405644056540566405674056840569405704057140572405734057440575405764057740578405794058040581405824058340584405854058640587405884058940590405914059240593405944059540596405974059840599406004060140602406034060440605406064060740608406094061040611406124061340614406154061640617406184061940620406214062240623406244062540626406274062840629406304063140632406334063440635406364063740638406394064040641406424064340644406454064640647406484064940650406514065240653406544065540656406574065840659406604066140662406634066440665406664066740668406694067040671406724067340674406754067640677406784067940680406814068240683406844068540686406874068840689406904069140692406934069440695406964069740698406994070040701407024070340704407054070640707407084070940710407114071240713407144071540716407174071840719407204072140722407234072440725407264072740728407294073040731407324073340734407354073640737407384073940740407414074240743407444074540746407474074840749407504075140752407534075440755407564075740758407594076040761407624076340764407654076640767407684076940770407714077240773407744077540776407774077840779407804078140782407834078440785407864078740788407894079040791407924079340794407954079640797407984079940800408014080240803408044080540806408074080840809408104081140812408134081440815408164081740818408194082040821408224082340824408254082640827408284082940830408314083240833408344083540836408374083840839408404084140842408434084440845408464084740848408494085040851408524085340854408554085640857408584085940860408614086240863408644086540866408674086840869408704087140872408734087440875408764087740878408794088040881408824088340884408854088640887408884088940890408914089240893408944089540896408974089840899409004090140902409034090440905409064090740908409094091040911409124091340914409154091640917409184091940920409214092240923409244092540926409274092840929409304093140932409334093440935409364093740938409394094040941409424094340944409454094640947409484094940950409514095240953409544095540956409574095840959409604096140962409634096440965409664096740968409694097040971409724097340974409754097640977409784097940980409814098240983409844098540986409874098840989409904099140992409934099440995409964099740998409994100041001410024100341004410054100641007410084100941010410114101241013410144101541016410174101841019410204102141022410234102441025410264102741028410294103041031410324103341034410354103641037410384103941040410414104241043410444104541046410474104841049410504105141052410534105441055410564105741058410594106041061410624106341064410654106641067410684106941070410714107241073410744107541076410774107841079410804108141082410834108441085410864108741088410894109041091410924109341094410954109641097410984109941100411014110241103411044110541106411074110841109411104111141112411134111441115411164111741118411194112041121411224112341124411254112641127411284112941130411314113241133411344113541136411374113841139411404114141142411434114441145411464114741148411494115041151411524115341154411554115641157411584115941160411614116241163411644116541166411674116841169411704117141172411734117441175411764117741178411794118041181411824118341184411854118641187411884118941190411914119241193411944119541196411974119841199412004120141202412034120441205412064120741208412094121041211412124121341214412154121641217412184121941220412214122241223412244122541226412274122841229412304123141232412334123441235412364123741238412394124041241412424124341244412454124641247412484124941250412514125241253412544125541256412574125841259412604126141262412634126441265412664126741268412694127041271412724127341274412754127641277412784127941280412814128241283412844128541286412874128841289412904129141292412934129441295412964129741298412994130041301413024130341304413054130641307413084130941310413114131241313413144131541316413174131841319413204132141322413234132441325413264132741328413294133041331413324133341334413354133641337413384133941340413414134241343413444134541346413474134841349413504135141352413534135441355413564135741358413594136041361413624136341364413654136641367413684136941370413714137241373413744137541376413774137841379413804138141382413834138441385413864138741388413894139041391413924139341394413954139641397413984139941400414014140241403414044140541406414074140841409414104141141412414134141441415414164141741418414194142041421414224142341424414254142641427414284142941430414314143241433414344143541436414374143841439414404144141442414434144441445414464144741448414494145041451414524145341454414554145641457414584145941460414614146241463414644146541466414674146841469414704147141472414734147441475414764147741478414794148041481414824148341484414854148641487414884148941490414914149241493414944149541496414974149841499415004150141502415034150441505415064150741508415094151041511415124151341514415154151641517415184151941520415214152241523415244152541526415274152841529415304153141532415334153441535415364153741538415394154041541415424154341544415454154641547415484154941550415514155241553415544155541556415574155841559415604156141562415634156441565415664156741568415694157041571415724157341574415754157641577415784157941580415814158241583415844158541586415874158841589415904159141592415934159441595415964159741598415994160041601416024160341604416054160641607416084160941610416114161241613416144161541616416174161841619416204162141622416234162441625416264162741628416294163041631416324163341634416354163641637416384163941640416414164241643416444164541646416474164841649416504165141652416534165441655416564165741658416594166041661416624166341664416654166641667416684166941670416714167241673416744167541676416774167841679416804168141682416834168441685416864168741688416894169041691416924169341694416954169641697416984169941700417014170241703417044170541706417074170841709417104171141712417134171441715417164171741718417194172041721417224172341724417254172641727417284172941730417314173241733417344173541736417374173841739417404174141742417434174441745417464174741748417494175041751417524175341754417554175641757417584175941760417614176241763417644176541766417674176841769417704177141772417734177441775417764177741778417794178041781417824178341784417854178641787417884178941790417914179241793417944179541796417974179841799418004180141802418034180441805418064180741808418094181041811418124181341814418154181641817418184181941820418214182241823418244182541826418274182841829418304183141832418334183441835418364183741838418394184041841418424184341844418454184641847418484184941850418514185241853418544185541856418574185841859418604186141862418634186441865418664186741868418694187041871418724187341874418754187641877418784187941880418814188241883418844188541886418874188841889418904189141892418934189441895418964189741898418994190041901419024190341904419054190641907419084190941910419114191241913419144191541916419174191841919419204192141922419234192441925419264192741928419294193041931419324193341934419354193641937419384193941940419414194241943419444194541946419474194841949419504195141952419534195441955419564195741958419594196041961419624196341964419654196641967419684196941970419714197241973419744197541976419774197841979419804198141982419834198441985419864198741988419894199041991419924199341994419954199641997419984199942000420014200242003420044200542006420074200842009420104201142012420134201442015420164201742018420194202042021420224202342024420254202642027420284202942030420314203242033420344203542036420374203842039420404204142042420434204442045420464204742048420494205042051420524205342054420554205642057420584205942060420614206242063420644206542066420674206842069420704207142072420734207442075420764207742078420794208042081420824208342084420854208642087420884208942090420914209242093420944209542096420974209842099421004210142102421034210442105421064210742108421094211042111421124211342114421154211642117421184211942120421214212242123421244212542126421274212842129421304213142132421334213442135421364213742138421394214042141421424214342144421454214642147421484214942150421514215242153421544215542156421574215842159421604216142162421634216442165421664216742168421694217042171421724217342174421754217642177421784217942180421814218242183421844218542186421874218842189421904219142192421934219442195421964219742198421994220042201422024220342204422054220642207422084220942210422114221242213422144221542216422174221842219422204222142222422234222442225422264222742228422294223042231422324223342234422354223642237422384223942240422414224242243422444224542246422474224842249422504225142252422534225442255422564225742258422594226042261422624226342264422654226642267422684226942270422714227242273422744227542276422774227842279422804228142282422834228442285422864228742288422894229042291422924229342294422954229642297422984229942300423014230242303423044230542306423074230842309423104231142312423134231442315423164231742318423194232042321423224232342324423254232642327423284232942330423314233242333423344233542336423374233842339423404234142342423434234442345423464234742348423494235042351423524235342354423554235642357423584235942360423614236242363423644236542366423674236842369423704237142372423734237442375423764237742378423794238042381423824238342384423854238642387423884238942390423914239242393423944239542396423974239842399424004240142402424034240442405424064240742408424094241042411424124241342414424154241642417424184241942420424214242242423424244242542426424274242842429424304243142432424334243442435424364243742438424394244042441424424244342444424454244642447424484244942450424514245242453424544245542456424574245842459424604246142462424634246442465424664246742468424694247042471424724247342474424754247642477424784247942480424814248242483424844248542486424874248842489424904249142492424934249442495424964249742498424994250042501425024250342504425054250642507425084250942510425114251242513425144251542516425174251842519425204252142522425234252442525425264252742528425294253042531425324253342534425354253642537425384253942540425414254242543425444254542546425474254842549425504255142552425534255442555425564255742558425594256042561425624256342564425654256642567425684256942570425714257242573425744257542576425774257842579425804258142582425834258442585425864258742588425894259042591425924259342594425954259642597425984259942600426014260242603426044260542606426074260842609426104261142612426134261442615426164261742618426194262042621426224262342624426254262642627426284262942630426314263242633426344263542636426374263842639426404264142642426434264442645426464264742648426494265042651426524265342654426554265642657426584265942660426614266242663426644266542666426674266842669426704267142672426734267442675426764267742678426794268042681426824268342684426854268642687426884268942690426914269242693426944269542696426974269842699427004270142702427034270442705427064270742708427094271042711427124271342714427154271642717427184271942720427214272242723427244272542726427274272842729427304273142732427334273442735427364273742738427394274042741427424274342744427454274642747427484274942750427514275242753427544275542756427574275842759427604276142762427634276442765427664276742768427694277042771427724277342774427754277642777427784277942780427814278242783427844278542786427874278842789427904279142792427934279442795427964279742798427994280042801428024280342804428054280642807428084280942810428114281242813428144281542816428174281842819428204282142822428234282442825428264282742828428294283042831428324283342834428354283642837428384283942840428414284242843428444284542846428474284842849428504285142852428534285442855428564285742858428594286042861428624286342864428654286642867428684286942870428714287242873428744287542876428774287842879428804288142882428834288442885428864288742888428894289042891428924289342894428954289642897428984289942900429014290242903429044290542906429074290842909429104291142912429134291442915429164291742918429194292042921429224292342924429254292642927429284292942930429314293242933429344293542936429374293842939429404294142942429434294442945429464294742948429494295042951429524295342954429554295642957429584295942960429614296242963429644296542966429674296842969429704297142972429734297442975429764297742978429794298042981429824298342984429854298642987429884298942990429914299242993429944299542996429974299842999430004300143002430034300443005430064300743008430094301043011430124301343014430154301643017430184301943020430214302243023430244302543026430274302843029430304303143032430334303443035430364303743038430394304043041430424304343044430454304643047430484304943050430514305243053430544305543056430574305843059430604306143062430634306443065430664306743068430694307043071430724307343074430754307643077430784307943080430814308243083430844308543086430874308843089430904309143092430934309443095430964309743098430994310043101431024310343104431054310643107431084310943110431114311243113431144311543116431174311843119431204312143122431234312443125431264312743128431294313043131431324313343134431354313643137431384313943140431414314243143431444314543146431474314843149431504315143152431534315443155431564315743158431594316043161431624316343164431654316643167431684316943170431714317243173431744317543176431774317843179431804318143182431834318443185431864318743188431894319043191431924319343194431954319643197431984319943200432014320243203432044320543206432074320843209432104321143212432134321443215432164321743218432194322043221432224322343224432254322643227432284322943230432314323243233432344323543236432374323843239432404324143242432434324443245432464324743248432494325043251432524325343254432554325643257432584325943260432614326243263432644326543266432674326843269432704327143272432734327443275432764327743278432794328043281432824328343284432854328643287432884328943290432914329243293432944329543296432974329843299433004330143302433034330443305433064330743308433094331043311433124331343314433154331643317433184331943320433214332243323433244332543326433274332843329433304333143332433334333443335433364333743338433394334043341433424334343344433454334643347433484334943350433514335243353433544335543356433574335843359433604336143362433634336443365433664336743368433694337043371433724337343374433754337643377433784337943380433814338243383433844338543386433874338843389433904339143392433934339443395433964339743398433994340043401434024340343404434054340643407434084340943410434114341243413434144341543416434174341843419434204342143422434234342443425434264342743428434294343043431434324343343434434354343643437434384343943440434414344243443434444344543446434474344843449434504345143452434534345443455434564345743458434594346043461434624346343464434654346643467434684346943470434714347243473434744347543476434774347843479434804348143482434834348443485434864348743488434894349043491434924349343494434954349643497434984349943500435014350243503435044350543506435074350843509435104351143512435134351443515435164351743518435194352043521435224352343524435254352643527435284352943530435314353243533435344353543536435374353843539435404354143542435434354443545435464354743548435494355043551435524355343554435554355643557435584355943560435614356243563435644356543566435674356843569435704357143572435734357443575435764357743578435794358043581435824358343584435854358643587435884358943590435914359243593435944359543596435974359843599436004360143602436034360443605436064360743608436094361043611436124361343614436154361643617436184361943620436214362243623436244362543626436274362843629436304363143632436334363443635436364363743638436394364043641436424364343644436454364643647436484364943650436514365243653436544365543656436574365843659436604366143662436634366443665436664366743668436694367043671436724367343674436754367643677436784367943680436814368243683436844368543686436874368843689436904369143692436934369443695436964369743698436994370043701437024370343704437054370643707437084370943710437114371243713437144371543716437174371843719437204372143722437234372443725437264372743728437294373043731437324373343734437354373643737437384373943740437414374243743437444374543746437474374843749437504375143752437534375443755437564375743758437594376043761437624376343764437654376643767437684376943770437714377243773437744377543776437774377843779437804378143782437834378443785437864378743788437894379043791437924379343794437954379643797437984379943800438014380243803438044380543806438074380843809438104381143812438134381443815438164381743818438194382043821438224382343824438254382643827438284382943830438314383243833438344383543836438374383843839438404384143842438434384443845438464384743848438494385043851438524385343854438554385643857438584385943860438614386243863438644386543866438674386843869438704387143872438734387443875438764387743878438794388043881438824388343884438854388643887438884388943890438914389243893438944389543896438974389843899439004390143902439034390443905439064390743908439094391043911439124391343914439154391643917439184391943920439214392243923439244392543926439274392843929439304393143932439334393443935439364393743938439394394043941439424394343944439454394643947439484394943950439514395243953439544395543956439574395843959439604396143962439634396443965439664396743968439694397043971439724397343974439754397643977439784397943980439814398243983439844398543986439874398843989439904399143992439934399443995439964399743998439994400044001440024400344004440054400644007440084400944010440114401244013440144401544016440174401844019440204402144022440234402444025440264402744028440294403044031440324403344034440354403644037440384403944040440414404244043440444404544046440474404844049440504405144052440534405444055440564405744058440594406044061440624406344064440654406644067440684406944070440714407244073440744407544076440774407844079440804408144082440834408444085440864408744088440894409044091440924409344094440954409644097440984409944100441014410244103441044410544106441074410844109441104411144112441134411444115441164411744118441194412044121441224412344124441254412644127441284412944130441314413244133441344413544136441374413844139441404414144142441434414444145441464414744148441494415044151441524415344154441554415644157441584415944160441614416244163441644416544166441674416844169441704417144172441734417444175441764417744178441794418044181441824418344184441854418644187441884418944190441914419244193441944419544196441974419844199442004420144202442034420444205442064420744208442094421044211442124421344214442154421644217442184421944220442214422244223442244422544226442274422844229442304423144232442334423444235442364423744238442394424044241442424424344244442454424644247442484424944250442514425244253442544425544256442574425844259442604426144262442634426444265442664426744268442694427044271442724427344274442754427644277442784427944280442814428244283442844428544286442874428844289442904429144292442934429444295442964429744298442994430044301443024430344304443054430644307443084430944310443114431244313443144431544316443174431844319443204432144322443234432444325443264432744328443294433044331443324433344334443354433644337443384433944340443414434244343443444434544346443474434844349443504435144352443534435444355443564435744358443594436044361443624436344364443654436644367443684436944370443714437244373443744437544376443774437844379443804438144382443834438444385443864438744388443894439044391443924439344394443954439644397443984439944400444014440244403444044440544406444074440844409444104441144412444134441444415444164441744418444194442044421444224442344424444254442644427444284442944430444314443244433444344443544436444374443844439444404444144442444434444444445444464444744448444494445044451444524445344454444554445644457444584445944460444614446244463444644446544466444674446844469444704447144472444734447444475444764447744478444794448044481444824448344484444854448644487444884448944490444914449244493444944449544496444974449844499445004450144502445034450444505445064450744508445094451044511445124451344514445154451644517445184451944520445214452244523445244452544526445274452844529445304453144532445334453444535445364453744538445394454044541445424454344544445454454644547445484454944550445514455244553445544455544556445574455844559445604456144562445634456444565445664456744568445694457044571445724457344574445754457644577445784457944580445814458244583445844458544586445874458844589445904459144592445934459444595445964459744598445994460044601446024460344604446054460644607446084460944610446114461244613446144461544616446174461844619446204462144622446234462444625446264462744628446294463044631446324463344634446354463644637446384463944640446414464244643446444464544646446474464844649446504465144652446534465444655446564465744658446594466044661446624466344664446654466644667446684466944670446714467244673446744467544676446774467844679446804468144682446834468444685446864468744688446894469044691446924469344694446954469644697446984469944700447014470244703447044470544706447074470844709447104471144712447134471444715447164471744718447194472044721447224472344724447254472644727447284472944730447314473244733447344473544736447374473844739447404474144742447434474444745447464474744748447494475044751447524475344754447554475644757447584475944760447614476244763447644476544766447674476844769447704477144772447734477444775447764477744778447794478044781447824478344784447854478644787447884478944790447914479244793447944479544796447974479844799448004480144802448034480444805448064480744808448094481044811448124481344814448154481644817448184481944820448214482244823448244482544826448274482844829448304483144832448334483444835448364483744838448394484044841448424484344844448454484644847448484484944850448514485244853448544485544856448574485844859448604486144862448634486444865448664486744868448694487044871448724487344874448754487644877448784487944880448814488244883448844488544886448874488844889448904489144892448934489444895448964489744898448994490044901449024490344904449054490644907449084490944910449114491244913449144491544916449174491844919449204492144922449234492444925449264492744928449294493044931449324493344934449354493644937449384493944940449414494244943449444494544946449474494844949449504495144952449534495444955449564495744958449594496044961449624496344964449654496644967449684496944970449714497244973449744497544976449774497844979449804498144982449834498444985449864498744988449894499044991449924499344994449954499644997449984499945000450014500245003450044500545006450074500845009450104501145012450134501445015450164501745018450194502045021450224502345024450254502645027450284502945030450314503245033450344503545036450374503845039450404504145042450434504445045450464504745048450494505045051450524505345054450554505645057450584505945060450614506245063450644506545066450674506845069450704507145072450734507445075450764507745078450794508045081450824508345084450854508645087450884508945090450914509245093450944509545096450974509845099451004510145102451034510445105451064510745108451094511045111451124511345114451154511645117451184511945120451214512245123451244512545126451274512845129451304513145132451334513445135451364513745138451394514045141451424514345144451454514645147451484514945150451514515245153451544515545156451574515845159451604516145162451634516445165451664516745168451694517045171451724517345174451754517645177451784517945180451814518245183451844518545186451874518845189451904519145192451934519445195451964519745198451994520045201452024520345204452054520645207452084520945210452114521245213452144521545216452174521845219452204522145222452234522445225452264522745228452294523045231452324523345234452354523645237452384523945240452414524245243452444524545246452474524845249452504525145252452534525445255452564525745258452594526045261452624526345264452654526645267452684526945270452714527245273452744527545276452774527845279452804528145282452834528445285452864528745288452894529045291452924529345294452954529645297452984529945300453014530245303453044530545306453074530845309453104531145312453134531445315453164531745318453194532045321453224532345324453254532645327453284532945330453314533245333453344533545336453374533845339453404534145342453434534445345453464534745348453494535045351453524535345354453554535645357453584535945360453614536245363453644536545366453674536845369453704537145372453734537445375453764537745378453794538045381453824538345384453854538645387453884538945390453914539245393453944539545396453974539845399454004540145402454034540445405454064540745408454094541045411454124541345414454154541645417454184541945420454214542245423454244542545426454274542845429454304543145432454334543445435454364543745438454394544045441454424544345444454454544645447454484544945450454514545245453454544545545456454574545845459454604546145462454634546445465454664546745468454694547045471454724547345474454754547645477454784547945480454814548245483454844548545486454874548845489454904549145492454934549445495454964549745498454994550045501455024550345504455054550645507455084550945510455114551245513455144551545516455174551845519455204552145522455234552445525455264552745528455294553045531455324553345534455354553645537455384553945540455414554245543455444554545546455474554845549455504555145552455534555445555455564555745558455594556045561455624556345564455654556645567455684556945570455714557245573455744557545576455774557845579455804558145582455834558445585455864558745588455894559045591455924559345594455954559645597455984559945600456014560245603456044560545606456074560845609456104561145612456134561445615456164561745618456194562045621456224562345624456254562645627456284562945630456314563245633456344563545636456374563845639456404564145642456434564445645456464564745648456494565045651456524565345654456554565645657456584565945660456614566245663456644566545666456674566845669456704567145672456734567445675456764567745678456794568045681456824568345684456854568645687456884568945690456914569245693456944569545696456974569845699457004570145702457034570445705457064570745708457094571045711457124571345714457154571645717457184571945720457214572245723457244572545726457274572845729457304573145732457334573445735457364573745738457394574045741457424574345744457454574645747457484574945750457514575245753457544575545756457574575845759457604576145762457634576445765457664576745768457694577045771457724577345774457754577645777457784577945780457814578245783457844578545786457874578845789457904579145792457934579445795457964579745798457994580045801458024580345804458054580645807458084580945810458114581245813458144581545816458174581845819458204582145822458234582445825458264582745828458294583045831458324583345834458354583645837458384583945840458414584245843458444584545846458474584845849458504585145852458534585445855458564585745858458594586045861458624586345864458654586645867458684586945870458714587245873458744587545876458774587845879458804588145882458834588445885458864588745888458894589045891458924589345894458954589645897458984589945900459014590245903459044590545906459074590845909459104591145912459134591445915459164591745918459194592045921459224592345924459254592645927459284592945930459314593245933459344593545936459374593845939459404594145942459434594445945459464594745948459494595045951459524595345954459554595645957459584595945960459614596245963459644596545966459674596845969459704597145972459734597445975459764597745978459794598045981459824598345984459854598645987459884598945990459914599245993459944599545996459974599845999460004600146002460034600446005460064600746008460094601046011460124601346014460154601646017460184601946020460214602246023460244602546026460274602846029460304603146032460334603446035460364603746038460394604046041460424604346044460454604646047460484604946050460514605246053460544605546056460574605846059460604606146062460634606446065460664606746068460694607046071460724607346074460754607646077460784607946080460814608246083460844608546086460874608846089460904609146092460934609446095460964609746098460994610046101461024610346104461054610646107461084610946110461114611246113461144611546116461174611846119461204612146122461234612446125461264612746128461294613046131461324613346134461354613646137461384613946140461414614246143461444614546146461474614846149461504615146152461534615446155461564615746158461594616046161461624616346164461654616646167461684616946170461714617246173461744617546176461774617846179461804618146182461834618446185461864618746188461894619046191461924619346194461954619646197461984619946200462014620246203462044620546206462074620846209462104621146212462134621446215462164621746218462194622046221462224622346224462254622646227462284622946230462314623246233462344623546236462374623846239462404624146242462434624446245462464624746248462494625046251462524625346254462554625646257462584625946260462614626246263462644626546266462674626846269462704627146272462734627446275462764627746278462794628046281462824628346284462854628646287462884628946290462914629246293462944629546296462974629846299463004630146302463034630446305463064630746308463094631046311463124631346314463154631646317463184631946320463214632246323463244632546326463274632846329463304633146332463334633446335463364633746338463394634046341463424634346344463454634646347463484634946350463514635246353463544635546356463574635846359463604636146362463634636446365463664636746368463694637046371463724637346374463754637646377463784637946380463814638246383463844638546386463874638846389463904639146392463934639446395463964639746398463994640046401464024640346404464054640646407464084640946410464114641246413464144641546416464174641846419464204642146422464234642446425464264642746428464294643046431464324643346434464354643646437464384643946440464414644246443464444644546446464474644846449464504645146452464534645446455464564645746458464594646046461464624646346464464654646646467464684646946470464714647246473464744647546476464774647846479464804648146482464834648446485464864648746488464894649046491464924649346494464954649646497464984649946500465014650246503465044650546506465074650846509465104651146512465134651446515465164651746518465194652046521465224652346524465254652646527465284652946530465314653246533465344653546536465374653846539465404654146542465434654446545465464654746548465494655046551465524655346554465554655646557465584655946560465614656246563465644656546566465674656846569465704657146572465734657446575465764657746578465794658046581465824658346584465854658646587465884658946590465914659246593465944659546596465974659846599466004660146602466034660446605466064660746608466094661046611466124661346614466154661646617466184661946620466214662246623466244662546626466274662846629466304663146632466334663446635466364663746638466394664046641466424664346644466454664646647466484664946650466514665246653466544665546656466574665846659466604666146662466634666446665466664666746668466694667046671466724667346674466754667646677466784667946680466814668246683466844668546686466874668846689466904669146692466934669446695466964669746698466994670046701467024670346704467054670646707467084670946710467114671246713467144671546716467174671846719467204672146722467234672446725467264672746728467294673046731467324673346734467354673646737467384673946740467414674246743467444674546746467474674846749467504675146752467534675446755467564675746758467594676046761467624676346764467654676646767467684676946770467714677246773467744677546776467774677846779467804678146782467834678446785467864678746788467894679046791467924679346794467954679646797467984679946800468014680246803468044680546806468074680846809468104681146812468134681446815468164681746818468194682046821468224682346824468254682646827468284682946830468314683246833468344683546836468374683846839468404684146842468434684446845468464684746848468494685046851468524685346854468554685646857468584685946860468614686246863468644686546866468674686846869468704687146872468734687446875468764687746878468794688046881468824688346884468854688646887468884688946890468914689246893468944689546896468974689846899469004690146902469034690446905469064690746908469094691046911469124691346914469154691646917469184691946920469214692246923469244692546926469274692846929469304693146932469334693446935469364693746938469394694046941469424694346944469454694646947469484694946950469514695246953469544695546956469574695846959469604696146962469634696446965469664696746968469694697046971469724697346974469754697646977469784697946980469814698246983469844698546986469874698846989469904699146992469934699446995469964699746998469994700047001470024700347004470054700647007470084700947010470114701247013470144701547016470174701847019470204702147022470234702447025470264702747028470294703047031470324703347034470354703647037470384703947040470414704247043470444704547046470474704847049470504705147052470534705447055470564705747058470594706047061470624706347064470654706647067470684706947070470714707247073470744707547076470774707847079470804708147082470834708447085470864708747088470894709047091470924709347094470954709647097470984709947100471014710247103471044710547106471074710847109471104711147112471134711447115471164711747118471194712047121471224712347124471254712647127471284712947130471314713247133471344713547136471374713847139471404714147142471434714447145471464714747148471494715047151471524715347154471554715647157471584715947160471614716247163471644716547166471674716847169471704717147172471734717447175471764717747178471794718047181471824718347184471854718647187471884718947190471914719247193471944719547196471974719847199472004720147202472034720447205472064720747208472094721047211472124721347214472154721647217472184721947220472214722247223472244722547226472274722847229472304723147232472334723447235472364723747238472394724047241472424724347244472454724647247472484724947250472514725247253472544725547256472574725847259472604726147262472634726447265472664726747268472694727047271472724727347274472754727647277472784727947280472814728247283472844728547286472874728847289472904729147292472934729447295472964729747298472994730047301473024730347304473054730647307473084730947310473114731247313473144731547316473174731847319473204732147322473234732447325473264732747328473294733047331473324733347334473354733647337473384733947340473414734247343473444734547346473474734847349473504735147352473534735447355473564735747358473594736047361473624736347364473654736647367473684736947370473714737247373473744737547376473774737847379473804738147382473834738447385473864738747388473894739047391473924739347394473954739647397473984739947400474014740247403474044740547406474074740847409474104741147412474134741447415474164741747418474194742047421474224742347424474254742647427474284742947430474314743247433474344743547436474374743847439474404744147442474434744447445474464744747448474494745047451474524745347454474554745647457474584745947460474614746247463474644746547466474674746847469474704747147472474734747447475474764747747478474794748047481474824748347484474854748647487474884748947490474914749247493474944749547496474974749847499475004750147502475034750447505475064750747508475094751047511475124751347514475154751647517475184751947520475214752247523475244752547526475274752847529475304753147532475334753447535475364753747538475394754047541475424754347544475454754647547475484754947550475514755247553475544755547556475574755847559475604756147562475634756447565475664756747568475694757047571475724757347574475754757647577475784757947580475814758247583475844758547586475874758847589475904759147592475934759447595475964759747598475994760047601476024760347604476054760647607476084760947610476114761247613476144761547616476174761847619476204762147622476234762447625476264762747628476294763047631476324763347634476354763647637476384763947640476414764247643476444764547646476474764847649476504765147652476534765447655476564765747658476594766047661476624766347664476654766647667476684766947670476714767247673476744767547676476774767847679476804768147682476834768447685476864768747688476894769047691476924769347694476954769647697476984769947700477014770247703477044770547706477074770847709477104771147712477134771447715477164771747718477194772047721477224772347724477254772647727477284772947730477314773247733477344773547736477374773847739477404774147742477434774447745477464774747748477494775047751477524775347754477554775647757477584775947760477614776247763477644776547766477674776847769477704777147772477734777447775477764777747778477794778047781477824778347784477854778647787477884778947790477914779247793477944779547796477974779847799478004780147802478034780447805478064780747808478094781047811478124781347814478154781647817478184781947820478214782247823478244782547826478274782847829478304783147832478334783447835478364783747838478394784047841478424784347844478454784647847478484784947850478514785247853478544785547856478574785847859478604786147862478634786447865478664786747868478694787047871478724787347874478754787647877478784787947880478814788247883478844788547886478874788847889478904789147892478934789447895478964789747898478994790047901479024790347904479054790647907479084790947910479114791247913479144791547916479174791847919479204792147922479234792447925479264792747928479294793047931479324793347934479354793647937479384793947940479414794247943479444794547946479474794847949479504795147952479534795447955479564795747958479594796047961479624796347964479654796647967479684796947970479714797247973479744797547976479774797847979479804798147982479834798447985479864798747988479894799047991479924799347994479954799647997479984799948000480014800248003480044800548006480074800848009480104801148012480134801448015480164801748018480194802048021480224802348024480254802648027480284802948030480314803248033480344803548036480374803848039480404804148042480434804448045480464804748048480494805048051480524805348054480554805648057480584805948060480614806248063480644806548066480674806848069480704807148072480734807448075480764807748078480794808048081480824808348084480854808648087480884808948090480914809248093480944809548096480974809848099481004810148102481034810448105481064810748108481094811048111481124811348114481154811648117481184811948120481214812248123481244812548126481274812848129481304813148132481334813448135481364813748138481394814048141481424814348144481454814648147481484814948150481514815248153481544815548156481574815848159481604816148162481634816448165481664816748168481694817048171481724817348174481754817648177481784817948180481814818248183481844818548186481874818848189481904819148192481934819448195481964819748198481994820048201482024820348204482054820648207482084820948210482114821248213482144821548216482174821848219482204822148222482234822448225482264822748228482294823048231482324823348234482354823648237482384823948240482414824248243482444824548246482474824848249482504825148252482534825448255482564825748258482594826048261482624826348264482654826648267482684826948270482714827248273482744827548276482774827848279482804828148282482834828448285482864828748288482894829048291482924829348294482954829648297482984829948300483014830248303483044830548306483074830848309483104831148312483134831448315483164831748318483194832048321483224832348324483254832648327483284832948330483314833248333483344833548336483374833848339483404834148342483434834448345483464834748348483494835048351483524835348354483554835648357483584835948360483614836248363483644836548366483674836848369483704837148372483734837448375483764837748378483794838048381483824838348384483854838648387483884838948390483914839248393483944839548396483974839848399484004840148402484034840448405484064840748408484094841048411484124841348414484154841648417484184841948420484214842248423484244842548426484274842848429484304843148432484334843448435484364843748438484394844048441484424844348444484454844648447484484844948450484514845248453484544845548456484574845848459484604846148462484634846448465484664846748468484694847048471484724847348474484754847648477484784847948480484814848248483484844848548486484874848848489484904849148492484934849448495484964849748498484994850048501485024850348504485054850648507485084850948510485114851248513485144851548516485174851848519485204852148522485234852448525485264852748528485294853048531485324853348534485354853648537485384853948540485414854248543485444854548546485474854848549485504855148552485534855448555485564855748558485594856048561485624856348564485654856648567485684856948570485714857248573485744857548576485774857848579485804858148582485834858448585485864858748588485894859048591485924859348594485954859648597485984859948600486014860248603486044860548606486074860848609486104861148612486134861448615486164861748618486194862048621486224862348624486254862648627486284862948630486314863248633486344863548636486374863848639486404864148642486434864448645486464864748648486494865048651486524865348654486554865648657486584865948660486614866248663486644866548666486674866848669486704867148672486734867448675486764867748678486794868048681486824868348684486854868648687486884868948690486914869248693486944869548696486974869848699487004870148702487034870448705487064870748708487094871048711487124871348714487154871648717487184871948720487214872248723487244872548726487274872848729487304873148732487334873448735487364873748738487394874048741487424874348744487454874648747487484874948750487514875248753487544875548756487574875848759487604876148762487634876448765487664876748768487694877048771487724877348774487754877648777487784877948780487814878248783487844878548786487874878848789487904879148792487934879448795487964879748798487994880048801488024880348804488054880648807488084880948810488114881248813488144881548816488174881848819488204882148822488234882448825488264882748828488294883048831488324883348834488354883648837488384883948840488414884248843488444884548846488474884848849488504885148852488534885448855488564885748858488594886048861488624886348864488654886648867488684886948870488714887248873488744887548876488774887848879488804888148882488834888448885488864888748888488894889048891488924889348894488954889648897488984889948900489014890248903489044890548906489074890848909489104891148912489134891448915489164891748918489194892048921489224892348924489254892648927489284892948930489314893248933489344893548936489374893848939489404894148942489434894448945489464894748948489494895048951489524895348954489554895648957489584895948960489614896248963489644896548966489674896848969489704897148972489734897448975489764897748978489794898048981489824898348984489854898648987489884898948990489914899248993489944899548996489974899848999490004900149002490034900449005490064900749008490094901049011490124901349014490154901649017490184901949020490214902249023490244902549026490274902849029490304903149032490334903449035490364903749038490394904049041490424904349044490454904649047490484904949050490514905249053490544905549056490574905849059490604906149062490634906449065490664906749068490694907049071490724907349074490754907649077490784907949080490814908249083490844908549086490874908849089490904909149092490934909449095490964909749098490994910049101491024910349104491054910649107491084910949110491114911249113491144911549116491174911849119491204912149122491234912449125491264912749128491294913049131491324913349134491354913649137491384913949140491414914249143491444914549146491474914849149491504915149152491534915449155491564915749158491594916049161491624916349164491654916649167491684916949170491714917249173491744917549176491774917849179491804918149182491834918449185491864918749188491894919049191491924919349194491954919649197491984919949200492014920249203492044920549206492074920849209492104921149212492134921449215492164921749218492194922049221492224922349224492254922649227492284922949230492314923249233492344923549236492374923849239492404924149242492434924449245492464924749248492494925049251492524925349254492554925649257492584925949260492614926249263492644926549266492674926849269492704927149272492734927449275492764927749278492794928049281492824928349284492854928649287492884928949290492914929249293492944929549296492974929849299493004930149302493034930449305493064930749308493094931049311493124931349314493154931649317493184931949320493214932249323493244932549326493274932849329493304933149332493334933449335493364933749338493394934049341493424934349344493454934649347493484934949350493514935249353493544935549356493574935849359493604936149362493634936449365493664936749368493694937049371493724937349374493754937649377493784937949380493814938249383493844938549386493874938849389493904939149392493934939449395493964939749398493994940049401494024940349404494054940649407494084940949410494114941249413494144941549416494174941849419494204942149422494234942449425494264942749428494294943049431494324943349434494354943649437494384943949440494414944249443494444944549446494474944849449494504945149452494534945449455494564945749458494594946049461494624946349464494654946649467494684946949470494714947249473494744947549476494774947849479494804948149482494834948449485494864948749488494894949049491494924949349494494954949649497494984949949500495014950249503495044950549506495074950849509495104951149512495134951449515495164951749518495194952049521495224952349524495254952649527495284952949530495314953249533495344953549536495374953849539495404954149542495434954449545495464954749548495494955049551495524955349554495554955649557495584955949560495614956249563495644956549566495674956849569495704957149572495734957449575495764957749578495794958049581495824958349584495854958649587495884958949590495914959249593495944959549596495974959849599496004960149602496034960449605496064960749608496094961049611496124961349614496154961649617496184961949620496214962249623496244962549626496274962849629496304963149632496334963449635496364963749638496394964049641496424964349644496454964649647496484964949650496514965249653496544965549656496574965849659496604966149662496634966449665496664966749668496694967049671496724967349674496754967649677496784967949680496814968249683496844968549686496874968849689496904969149692496934969449695496964969749698496994970049701497024970349704497054970649707497084970949710497114971249713497144971549716497174971849719497204972149722497234972449725497264972749728497294973049731497324973349734497354973649737497384973949740497414974249743497444974549746497474974849749497504975149752497534975449755497564975749758497594976049761497624976349764497654976649767497684976949770497714977249773497744977549776497774977849779497804978149782497834978449785497864978749788497894979049791497924979349794497954979649797497984979949800498014980249803498044980549806498074980849809498104981149812498134981449815498164981749818498194982049821498224982349824498254982649827498284982949830498314983249833498344983549836498374983849839498404984149842498434984449845498464984749848498494985049851498524985349854498554985649857498584985949860498614986249863498644986549866498674986849869498704987149872498734987449875498764987749878498794988049881498824988349884498854988649887498884988949890498914989249893498944989549896498974989849899499004990149902499034990449905499064990749908499094991049911499124991349914499154991649917499184991949920499214992249923499244992549926499274992849929499304993149932499334993449935499364993749938499394994049941499424994349944499454994649947499484994949950499514995249953499544995549956499574995849959499604996149962499634996449965499664996749968499694997049971499724997349974499754997649977499784997949980499814998249983499844998549986499874998849989499904999149992499934999449995499964999749998499995000050001500025000350004500055000650007500085000950010500115001250013500145001550016500175001850019500205002150022500235002450025500265002750028500295003050031500325003350034500355003650037500385003950040500415004250043500445004550046500475004850049500505005150052500535005450055500565005750058500595006050061500625006350064500655006650067500685006950070500715007250073500745007550076500775007850079500805008150082500835008450085500865008750088500895009050091500925009350094500955009650097500985009950100501015010250103501045010550106501075010850109501105011150112501135011450115501165011750118501195012050121501225012350124501255012650127501285012950130501315013250133501345013550136501375013850139501405014150142501435014450145501465014750148501495015050151501525015350154501555015650157501585015950160501615016250163501645016550166501675016850169501705017150172501735017450175501765017750178501795018050181501825018350184501855018650187501885018950190501915019250193501945019550196501975019850199502005020150202502035020450205502065020750208502095021050211502125021350214502155021650217502185021950220502215022250223502245022550226502275022850229502305023150232502335023450235502365023750238502395024050241502425024350244502455024650247502485024950250502515025250253502545025550256502575025850259502605026150262502635026450265502665026750268502695027050271502725027350274502755027650277502785027950280502815028250283502845028550286502875028850289502905029150292502935029450295502965029750298502995030050301503025030350304503055030650307503085030950310503115031250313503145031550316503175031850319503205032150322503235032450325503265032750328503295033050331503325033350334503355033650337503385033950340503415034250343503445034550346503475034850349503505035150352503535035450355503565035750358503595036050361503625036350364503655036650367503685036950370503715037250373503745037550376503775037850379503805038150382503835038450385503865038750388503895039050391503925039350394503955039650397503985039950400504015040250403504045040550406504075040850409504105041150412504135041450415504165041750418504195042050421504225042350424504255042650427504285042950430504315043250433504345043550436504375043850439504405044150442504435044450445504465044750448504495045050451504525045350454504555045650457504585045950460504615046250463504645046550466504675046850469504705047150472504735047450475504765047750478504795048050481504825048350484504855048650487504885048950490504915049250493504945049550496504975049850499505005050150502505035050450505505065050750508505095051050511505125051350514505155051650517505185051950520505215052250523505245052550526505275052850529505305053150532505335053450535505365053750538505395054050541505425054350544505455054650547505485054950550505515055250553505545055550556505575055850559505605056150562505635056450565505665056750568505695057050571505725057350574505755057650577505785057950580505815058250583505845058550586505875058850589505905059150592505935059450595505965059750598505995060050601506025060350604506055060650607506085060950610506115061250613506145061550616506175061850619506205062150622506235062450625506265062750628506295063050631506325063350634506355063650637506385063950640506415064250643506445064550646506475064850649506505065150652506535065450655506565065750658506595066050661506625066350664506655066650667506685066950670506715067250673506745067550676506775067850679506805068150682506835068450685506865068750688506895069050691506925069350694506955069650697506985069950700507015070250703507045070550706507075070850709507105071150712507135071450715507165071750718507195072050721507225072350724507255072650727507285072950730507315073250733507345073550736507375073850739507405074150742507435074450745507465074750748507495075050751507525075350754507555075650757507585075950760507615076250763507645076550766507675076850769507705077150772507735077450775507765077750778507795078050781507825078350784507855078650787507885078950790507915079250793507945079550796507975079850799508005080150802508035080450805508065080750808508095081050811508125081350814508155081650817508185081950820508215082250823508245082550826508275082850829508305083150832508335083450835508365083750838508395084050841508425084350844508455084650847508485084950850508515085250853508545085550856508575085850859508605086150862508635086450865508665086750868508695087050871508725087350874508755087650877508785087950880508815088250883508845088550886508875088850889508905089150892508935089450895508965089750898508995090050901509025090350904509055090650907509085090950910509115091250913509145091550916509175091850919509205092150922509235092450925509265092750928509295093050931509325093350934509355093650937509385093950940509415094250943509445094550946509475094850949509505095150952509535095450955509565095750958509595096050961509625096350964509655096650967509685096950970509715097250973509745097550976509775097850979509805098150982509835098450985509865098750988509895099050991509925099350994509955099650997509985099951000510015100251003510045100551006510075100851009510105101151012510135101451015510165101751018510195102051021510225102351024510255102651027510285102951030510315103251033510345103551036510375103851039510405104151042510435104451045510465104751048510495105051051510525105351054510555105651057510585105951060510615106251063510645106551066510675106851069510705107151072510735107451075510765107751078510795108051081510825108351084510855108651087510885108951090510915109251093510945109551096510975109851099511005110151102511035110451105511065110751108511095111051111511125111351114511155111651117511185111951120511215112251123511245112551126511275112851129511305113151132511335113451135511365113751138511395114051141511425114351144511455114651147511485114951150511515115251153511545115551156511575115851159511605116151162511635116451165511665116751168511695117051171511725117351174511755117651177511785117951180511815118251183511845118551186511875118851189511905119151192511935119451195511965119751198511995120051201512025120351204512055120651207512085120951210512115121251213512145121551216512175121851219512205122151222512235122451225512265122751228512295123051231512325123351234512355123651237512385123951240512415124251243512445124551246512475124851249512505125151252512535125451255512565125751258512595126051261512625126351264512655126651267512685126951270512715127251273512745127551276512775127851279512805128151282512835128451285512865128751288512895129051291512925129351294512955129651297512985129951300513015130251303513045130551306513075130851309513105131151312513135131451315513165131751318513195132051321513225132351324513255132651327513285132951330513315133251333513345133551336513375133851339513405134151342513435134451345513465134751348513495135051351513525135351354513555135651357513585135951360513615136251363513645136551366513675136851369513705137151372513735137451375513765137751378513795138051381513825138351384513855138651387513885138951390513915139251393513945139551396513975139851399514005140151402514035140451405514065140751408514095141051411514125141351414514155141651417514185141951420514215142251423514245142551426514275142851429514305143151432514335143451435514365143751438514395144051441514425144351444514455144651447514485144951450514515145251453514545145551456514575145851459514605146151462514635146451465514665146751468514695147051471514725147351474514755147651477514785147951480514815148251483514845148551486514875148851489514905149151492514935149451495514965149751498514995150051501515025150351504515055150651507515085150951510515115151251513515145151551516515175151851519515205152151522515235152451525515265152751528515295153051531515325153351534515355153651537515385153951540515415154251543515445154551546515475154851549515505155151552515535155451555515565155751558515595156051561515625156351564515655156651567515685156951570515715157251573515745157551576515775157851579515805158151582515835158451585515865158751588515895159051591515925159351594515955159651597515985159951600516015160251603516045160551606516075160851609516105161151612516135161451615516165161751618516195162051621516225162351624516255162651627516285162951630516315163251633516345163551636516375163851639516405164151642516435164451645516465164751648516495165051651516525165351654516555165651657516585165951660516615166251663516645166551666516675166851669516705167151672516735167451675516765167751678516795168051681516825168351684516855168651687516885168951690516915169251693516945169551696516975169851699517005170151702517035170451705517065170751708517095171051711517125171351714517155171651717517185171951720517215172251723517245172551726517275172851729517305173151732517335173451735517365173751738517395174051741517425174351744517455174651747517485174951750517515175251753517545175551756517575175851759517605176151762517635176451765517665176751768517695177051771517725177351774517755177651777517785177951780517815178251783517845178551786517875178851789517905179151792517935179451795517965179751798517995180051801518025180351804518055180651807518085180951810518115181251813518145181551816518175181851819518205182151822518235182451825518265182751828518295183051831518325183351834518355183651837518385183951840518415184251843518445184551846518475184851849518505185151852518535185451855518565185751858518595186051861518625186351864518655186651867518685186951870518715187251873518745187551876518775187851879518805188151882518835188451885518865188751888518895189051891518925189351894518955189651897518985189951900519015190251903519045190551906519075190851909519105191151912519135191451915519165191751918519195192051921519225192351924519255192651927519285192951930519315193251933519345193551936519375193851939519405194151942519435194451945519465194751948519495195051951519525195351954519555195651957519585195951960519615196251963519645196551966519675196851969519705197151972519735197451975519765197751978519795198051981519825198351984519855198651987519885198951990519915199251993519945199551996519975199851999520005200152002520035200452005520065200752008520095201052011520125201352014520155201652017520185201952020520215202252023520245202552026520275202852029520305203152032520335203452035520365203752038520395204052041520425204352044520455204652047520485204952050520515205252053520545205552056520575205852059520605206152062520635206452065520665206752068520695207052071520725207352074520755207652077520785207952080520815208252083520845208552086520875208852089520905209152092520935209452095520965209752098520995210052101521025210352104521055210652107521085210952110521115211252113521145211552116521175211852119521205212152122521235212452125521265212752128521295213052131521325213352134521355213652137521385213952140521415214252143521445214552146521475214852149521505215152152521535215452155521565215752158521595216052161521625216352164521655216652167521685216952170521715217252173521745217552176521775217852179521805218152182521835218452185521865218752188521895219052191521925219352194521955219652197521985219952200522015220252203522045220552206522075220852209522105221152212522135221452215522165221752218522195222052221522225222352224522255222652227522285222952230522315223252233522345223552236522375223852239522405224152242522435224452245522465224752248522495225052251522525225352254522555225652257522585225952260522615226252263522645226552266522675226852269522705227152272522735227452275522765227752278522795228052281522825228352284522855228652287522885228952290522915229252293522945229552296522975229852299523005230152302523035230452305523065230752308523095231052311523125231352314523155231652317523185231952320523215232252323523245232552326523275232852329523305233152332523335233452335523365233752338523395234052341523425234352344523455234652347523485234952350523515235252353523545235552356523575235852359523605236152362523635236452365523665236752368523695237052371523725237352374523755237652377523785237952380523815238252383523845238552386523875238852389523905239152392523935239452395523965239752398523995240052401524025240352404524055240652407524085240952410524115241252413524145241552416524175241852419524205242152422524235242452425524265242752428524295243052431524325243352434524355243652437524385243952440524415244252443524445244552446524475244852449524505245152452524535245452455524565245752458524595246052461524625246352464524655246652467524685246952470524715247252473524745247552476524775247852479524805248152482524835248452485524865248752488524895249052491524925249352494524955249652497524985249952500525015250252503525045250552506525075250852509525105251152512525135251452515525165251752518525195252052521525225252352524525255252652527525285252952530525315253252533525345253552536525375253852539525405254152542525435254452545525465254752548525495255052551525525255352554525555255652557525585255952560525615256252563525645256552566525675256852569525705257152572525735257452575525765257752578525795258052581525825258352584525855258652587525885258952590525915259252593525945259552596525975259852599526005260152602526035260452605526065260752608526095261052611526125261352614526155261652617526185261952620526215262252623526245262552626526275262852629526305263152632526335263452635526365263752638526395264052641526425264352644526455264652647526485264952650526515265252653526545265552656526575265852659526605266152662526635266452665526665266752668526695267052671526725267352674526755267652677526785267952680526815268252683526845268552686526875268852689526905269152692526935269452695526965269752698526995270052701527025270352704527055270652707527085270952710527115271252713527145271552716527175271852719527205272152722527235272452725527265272752728527295273052731527325273352734527355273652737527385273952740527415274252743527445274552746527475274852749527505275152752527535275452755527565275752758527595276052761527625276352764527655276652767527685276952770527715277252773527745277552776527775277852779527805278152782527835278452785527865278752788527895279052791527925279352794527955279652797527985279952800528015280252803528045280552806528075280852809528105281152812528135281452815528165281752818528195282052821528225282352824528255282652827528285282952830528315283252833528345283552836528375283852839528405284152842528435284452845528465284752848528495285052851528525285352854528555285652857528585285952860528615286252863528645286552866528675286852869528705287152872528735287452875528765287752878528795288052881528825288352884528855288652887528885288952890528915289252893528945289552896528975289852899529005290152902529035290452905529065290752908529095291052911529125291352914529155291652917529185291952920529215292252923529245292552926529275292852929529305293152932529335293452935529365293752938529395294052941529425294352944529455294652947529485294952950529515295252953529545295552956529575295852959529605296152962529635296452965529665296752968529695297052971529725297352974529755297652977529785297952980529815298252983529845298552986529875298852989529905299152992529935299452995529965299752998529995300053001530025300353004530055300653007530085300953010530115301253013530145301553016530175301853019530205302153022530235302453025530265302753028530295303053031530325303353034530355303653037530385303953040530415304253043530445304553046530475304853049530505305153052530535305453055530565305753058530595306053061530625306353064530655306653067530685306953070530715307253073530745307553076530775307853079530805308153082530835308453085530865308753088530895309053091530925309353094530955309653097530985309953100531015310253103531045310553106531075310853109531105311153112531135311453115531165311753118531195312053121531225312353124531255312653127531285312953130531315313253133531345313553136531375313853139531405314153142531435314453145531465314753148531495315053151531525315353154531555315653157531585315953160531615316253163531645316553166531675316853169531705317153172531735317453175531765317753178531795318053181531825318353184531855318653187531885318953190531915319253193531945319553196531975319853199532005320153202532035320453205532065320753208532095321053211532125321353214532155321653217532185321953220532215322253223532245322553226532275322853229532305323153232532335323453235532365323753238532395324053241532425324353244532455324653247532485324953250532515325253253532545325553256532575325853259532605326153262532635326453265532665326753268532695327053271532725327353274532755327653277532785327953280532815328253283532845328553286532875328853289532905329153292532935329453295532965329753298532995330053301533025330353304533055330653307533085330953310533115331253313533145331553316533175331853319533205332153322533235332453325533265332753328533295333053331533325333353334533355333653337533385333953340533415334253343533445334553346533475334853349533505335153352533535335453355533565335753358533595336053361533625336353364533655336653367533685336953370533715337253373533745337553376533775337853379533805338153382533835338453385533865338753388533895339053391533925339353394533955339653397533985339953400534015340253403534045340553406534075340853409534105341153412534135341453415534165341753418534195342053421534225342353424534255342653427534285342953430534315343253433534345343553436534375343853439534405344153442534435344453445534465344753448534495345053451534525345353454534555345653457534585345953460534615346253463534645346553466534675346853469534705347153472534735347453475534765347753478534795348053481534825348353484534855348653487534885348953490534915349253493534945349553496534975349853499535005350153502535035350453505535065350753508535095351053511535125351353514535155351653517535185351953520535215352253523535245352553526535275352853529535305353153532535335353453535535365353753538535395354053541535425354353544535455354653547535485354953550535515355253553535545355553556535575355853559535605356153562535635356453565535665356753568535695357053571535725357353574535755357653577535785357953580535815358253583535845358553586535875358853589535905359153592535935359453595535965359753598535995360053601536025360353604536055360653607536085360953610536115361253613536145361553616536175361853619536205362153622536235362453625536265362753628536295363053631536325363353634536355363653637536385363953640536415364253643536445364553646536475364853649536505365153652536535365453655536565365753658536595366053661536625366353664536655366653667536685366953670536715367253673536745367553676536775367853679536805368153682536835368453685536865368753688536895369053691536925369353694536955369653697536985369953700537015370253703537045370553706537075370853709537105371153712537135371453715537165371753718537195372053721537225372353724537255372653727537285372953730537315373253733537345373553736537375373853739537405374153742537435374453745537465374753748537495375053751537525375353754537555375653757537585375953760537615376253763537645376553766537675376853769537705377153772537735377453775537765377753778537795378053781537825378353784537855378653787537885378953790537915379253793537945379553796537975379853799538005380153802538035380453805538065380753808538095381053811538125381353814538155381653817538185381953820538215382253823538245382553826538275382853829538305383153832538335383453835538365383753838538395384053841538425384353844538455384653847538485384953850538515385253853538545385553856538575385853859538605386153862538635386453865538665386753868538695387053871538725387353874538755387653877538785387953880538815388253883538845388553886538875388853889538905389153892538935389453895538965389753898538995390053901539025390353904539055390653907539085390953910539115391253913539145391553916539175391853919539205392153922539235392453925539265392753928539295393053931539325393353934539355393653937539385393953940539415394253943539445394553946539475394853949539505395153952539535395453955539565395753958539595396053961539625396353964539655396653967539685396953970539715397253973539745397553976539775397853979539805398153982539835398453985539865398753988539895399053991539925399353994539955399653997539985399954000540015400254003540045400554006540075400854009540105401154012540135401454015540165401754018540195402054021540225402354024540255402654027540285402954030540315403254033540345403554036540375403854039540405404154042540435404454045540465404754048540495405054051540525405354054540555405654057540585405954060540615406254063540645406554066540675406854069540705407154072540735407454075540765407754078540795408054081540825408354084540855408654087540885408954090540915409254093540945409554096540975409854099541005410154102541035410454105541065410754108541095411054111541125411354114541155411654117541185411954120541215412254123541245412554126541275412854129541305413154132541335413454135541365413754138541395414054141541425414354144541455414654147541485414954150541515415254153541545415554156541575415854159541605416154162541635416454165541665416754168541695417054171541725417354174541755417654177541785417954180541815418254183541845418554186541875418854189541905419154192541935419454195541965419754198541995420054201542025420354204542055420654207542085420954210542115421254213542145421554216542175421854219542205422154222542235422454225542265422754228542295423054231542325423354234542355423654237542385423954240542415424254243542445424554246542475424854249542505425154252542535425454255542565425754258542595426054261542625426354264542655426654267542685426954270542715427254273542745427554276542775427854279542805428154282542835428454285542865428754288542895429054291542925429354294542955429654297542985429954300543015430254303543045430554306543075430854309543105431154312543135431454315543165431754318543195432054321543225432354324543255432654327543285432954330543315433254333543345433554336543375433854339543405434154342543435434454345543465434754348543495435054351543525435354354543555435654357543585435954360543615436254363543645436554366543675436854369543705437154372543735437454375543765437754378543795438054381543825438354384543855438654387543885438954390543915439254393543945439554396543975439854399544005440154402544035440454405544065440754408544095441054411544125441354414544155441654417544185441954420544215442254423544245442554426544275442854429544305443154432544335443454435544365443754438544395444054441544425444354444544455444654447544485444954450544515445254453544545445554456544575445854459544605446154462544635446454465544665446754468544695447054471544725447354474544755447654477544785447954480544815448254483544845448554486544875448854489544905449154492544935449454495544965449754498544995450054501545025450354504545055450654507545085450954510545115451254513545145451554516545175451854519545205452154522545235452454525545265452754528545295453054531545325453354534545355453654537545385453954540545415454254543545445454554546545475454854549545505455154552545535455454555545565455754558545595456054561545625456354564545655456654567545685456954570545715457254573545745457554576545775457854579545805458154582545835458454585545865458754588545895459054591545925459354594545955459654597545985459954600546015460254603546045460554606546075460854609546105461154612546135461454615546165461754618546195462054621546225462354624546255462654627546285462954630546315463254633546345463554636546375463854639546405464154642546435464454645546465464754648546495465054651546525465354654546555465654657546585465954660546615466254663546645466554666546675466854669546705467154672546735467454675546765467754678546795468054681546825468354684546855468654687546885468954690546915469254693546945469554696546975469854699547005470154702547035470454705547065470754708547095471054711547125471354714547155471654717547185471954720547215472254723547245472554726547275472854729547305473154732547335473454735547365473754738547395474054741547425474354744547455474654747547485474954750547515475254753547545475554756547575475854759547605476154762547635476454765547665476754768547695477054771547725477354774547755477654777547785477954780547815478254783547845478554786547875478854789547905479154792547935479454795547965479754798547995480054801548025480354804548055480654807548085480954810548115481254813548145481554816548175481854819548205482154822548235482454825548265482754828548295483054831548325483354834548355483654837548385483954840548415484254843548445484554846548475484854849548505485154852548535485454855548565485754858548595486054861548625486354864548655486654867548685486954870548715487254873548745487554876548775487854879548805488154882548835488454885548865488754888548895489054891548925489354894548955489654897548985489954900549015490254903549045490554906549075490854909549105491154912549135491454915549165491754918549195492054921549225492354924549255492654927549285492954930549315493254933549345493554936549375493854939549405494154942549435494454945549465494754948549495495054951549525495354954549555495654957549585495954960549615496254963549645496554966549675496854969549705497154972549735497454975549765497754978549795498054981549825498354984549855498654987549885498954990549915499254993549945499554996549975499854999550005500155002550035500455005550065500755008550095501055011550125501355014550155501655017550185501955020550215502255023550245502555026550275502855029550305503155032550335503455035550365503755038550395504055041550425504355044550455504655047550485504955050550515505255053550545505555056550575505855059550605506155062550635506455065550665506755068550695507055071550725507355074550755507655077550785507955080550815508255083550845508555086550875508855089550905509155092550935509455095550965509755098550995510055101551025510355104551055510655107551085510955110551115511255113551145511555116551175511855119551205512155122551235512455125551265512755128551295513055131551325513355134551355513655137551385513955140551415514255143551445514555146551475514855149551505515155152551535515455155551565515755158551595516055161551625516355164551655516655167551685516955170551715517255173551745517555176551775517855179551805518155182551835518455185551865518755188551895519055191551925519355194551955519655197551985519955200552015520255203552045520555206552075520855209552105521155212552135521455215552165521755218552195522055221552225522355224552255522655227552285522955230552315523255233552345523555236552375523855239552405524155242552435524455245552465524755248552495525055251552525525355254552555525655257552585525955260552615526255263552645526555266552675526855269552705527155272552735527455275552765527755278552795528055281552825528355284552855528655287552885528955290552915529255293552945529555296552975529855299553005530155302553035530455305553065530755308553095531055311553125531355314553155531655317553185531955320553215532255323553245532555326553275532855329553305533155332553335533455335553365533755338553395534055341553425534355344553455534655347553485534955350553515535255353553545535555356553575535855359553605536155362553635536455365553665536755368553695537055371553725537355374553755537655377553785537955380553815538255383553845538555386553875538855389553905539155392553935539455395553965539755398553995540055401554025540355404554055540655407554085540955410554115541255413554145541555416554175541855419554205542155422554235542455425554265542755428554295543055431554325543355434554355543655437554385543955440554415544255443554445544555446554475544855449554505545155452554535545455455554565545755458554595546055461554625546355464554655546655467554685546955470554715547255473554745547555476554775547855479554805548155482554835548455485554865548755488554895549055491554925549355494554955549655497554985549955500555015550255503555045550555506555075550855509555105551155512555135551455515555165551755518555195552055521555225552355524555255552655527555285552955530555315553255533555345553555536555375553855539555405554155542555435554455545555465554755548555495555055551555525555355554555555555655557555585555955560555615556255563555645556555566555675556855569555705557155572555735557455575555765557755578555795558055581555825558355584555855558655587555885558955590555915559255593555945559555596555975559855599556005560155602556035560455605556065560755608556095561055611556125561355614556155561655617556185561955620556215562255623556245562555626556275562855629556305563155632556335563455635556365563755638556395564055641556425564355644556455564655647556485564955650556515565255653556545565555656556575565855659556605566155662556635566455665556665566755668556695567055671556725567355674556755567655677556785567955680556815568255683556845568555686556875568855689556905569155692556935569455695556965569755698556995570055701557025570355704557055570655707557085570955710557115571255713557145571555716557175571855719557205572155722557235572455725557265572755728557295573055731557325573355734557355573655737557385573955740557415574255743557445574555746557475574855749557505575155752557535575455755557565575755758557595576055761557625576355764557655576655767557685576955770557715577255773557745577555776557775577855779557805578155782557835578455785557865578755788557895579055791557925579355794557955579655797557985579955800558015580255803558045580555806558075580855809558105581155812558135581455815558165581755818558195582055821558225582355824558255582655827558285582955830558315583255833558345583555836558375583855839558405584155842558435584455845558465584755848558495585055851558525585355854558555585655857558585585955860558615586255863558645586555866558675586855869558705587155872558735587455875558765587755878558795588055881558825588355884558855588655887558885588955890558915589255893558945589555896558975589855899559005590155902559035590455905559065590755908559095591055911559125591355914559155591655917559185591955920559215592255923559245592555926559275592855929559305593155932559335593455935559365593755938559395594055941559425594355944559455594655947559485594955950559515595255953559545595555956559575595855959559605596155962559635596455965559665596755968559695597055971559725597355974559755597655977559785597955980559815598255983559845598555986559875598855989559905599155992559935599455995559965599755998559995600056001560025600356004560055600656007560085600956010560115601256013560145601556016560175601856019560205602156022560235602456025560265602756028560295603056031560325603356034560355603656037560385603956040560415604256043560445604556046560475604856049560505605156052560535605456055560565605756058560595606056061560625606356064560655606656067560685606956070560715607256073560745607556076560775607856079560805608156082560835608456085560865608756088560895609056091560925609356094560955609656097560985609956100561015610256103561045610556106561075610856109561105611156112561135611456115561165611756118561195612056121561225612356124561255612656127561285612956130561315613256133561345613556136561375613856139561405614156142561435614456145561465614756148561495615056151561525615356154561555615656157561585615956160561615616256163561645616556166561675616856169561705617156172561735617456175561765617756178561795618056181561825618356184561855618656187561885618956190561915619256193561945619556196561975619856199562005620156202562035620456205562065620756208562095621056211562125621356214562155621656217562185621956220562215622256223562245622556226562275622856229562305623156232562335623456235562365623756238562395624056241562425624356244562455624656247562485624956250562515625256253562545625556256562575625856259562605626156262562635626456265562665626756268562695627056271562725627356274562755627656277562785627956280562815628256283562845628556286562875628856289562905629156292562935629456295562965629756298562995630056301563025630356304563055630656307563085630956310563115631256313563145631556316563175631856319563205632156322563235632456325563265632756328563295633056331563325633356334563355633656337563385633956340563415634256343563445634556346563475634856349563505635156352563535635456355563565635756358563595636056361563625636356364563655636656367563685636956370563715637256373563745637556376563775637856379563805638156382563835638456385563865638756388563895639056391563925639356394563955639656397563985639956400564015640256403564045640556406564075640856409564105641156412564135641456415564165641756418564195642056421564225642356424564255642656427564285642956430564315643256433564345643556436564375643856439564405644156442564435644456445564465644756448564495645056451564525645356454564555645656457564585645956460564615646256463564645646556466564675646856469564705647156472564735647456475564765647756478564795648056481564825648356484564855648656487564885648956490564915649256493564945649556496564975649856499565005650156502565035650456505565065650756508565095651056511565125651356514565155651656517565185651956520565215652256523565245652556526565275652856529565305653156532565335653456535565365653756538565395654056541565425654356544565455654656547565485654956550565515655256553565545655556556565575655856559565605656156562565635656456565565665656756568565695657056571565725657356574565755657656577565785657956580565815658256583565845658556586565875658856589565905659156592565935659456595565965659756598565995660056601566025660356604566055660656607566085660956610566115661256613566145661556616566175661856619566205662156622566235662456625566265662756628566295663056631566325663356634566355663656637566385663956640566415664256643566445664556646566475664856649566505665156652566535665456655566565665756658566595666056661566625666356664566655666656667566685666956670566715667256673566745667556676566775667856679566805668156682566835668456685566865668756688566895669056691566925669356694566955669656697566985669956700567015670256703567045670556706567075670856709567105671156712567135671456715567165671756718567195672056721567225672356724567255672656727567285672956730567315673256733567345673556736567375673856739567405674156742567435674456745567465674756748567495675056751567525675356754567555675656757567585675956760567615676256763567645676556766567675676856769567705677156772567735677456775567765677756778567795678056781567825678356784567855678656787567885678956790567915679256793567945679556796567975679856799568005680156802568035680456805568065680756808568095681056811568125681356814568155681656817568185681956820568215682256823568245682556826568275682856829568305683156832568335683456835568365683756838568395684056841568425684356844568455684656847568485684956850568515685256853568545685556856568575685856859568605686156862568635686456865568665686756868568695687056871568725687356874568755687656877568785687956880568815688256883568845688556886568875688856889568905689156892568935689456895568965689756898568995690056901569025690356904569055690656907569085690956910569115691256913569145691556916569175691856919569205692156922569235692456925569265692756928569295693056931569325693356934569355693656937569385693956940569415694256943569445694556946569475694856949569505695156952569535695456955569565695756958569595696056961569625696356964569655696656967569685696956970569715697256973569745697556976569775697856979569805698156982569835698456985569865698756988569895699056991569925699356994569955699656997569985699957000570015700257003570045700557006570075700857009570105701157012570135701457015570165701757018570195702057021570225702357024570255702657027570285702957030570315703257033570345703557036570375703857039570405704157042570435704457045570465704757048570495705057051570525705357054570555705657057570585705957060570615706257063570645706557066570675706857069570705707157072570735707457075570765707757078570795708057081570825708357084570855708657087570885708957090570915709257093570945709557096570975709857099571005710157102571035710457105571065710757108571095711057111571125711357114571155711657117571185711957120571215712257123571245712557126571275712857129571305713157132571335713457135571365713757138571395714057141571425714357144571455714657147571485714957150571515715257153571545715557156571575715857159571605716157162571635716457165571665716757168571695717057171571725717357174571755717657177571785717957180571815718257183571845718557186571875718857189571905719157192571935719457195571965719757198571995720057201572025720357204572055720657207572085720957210572115721257213572145721557216572175721857219572205722157222572235722457225572265722757228572295723057231572325723357234572355723657237572385723957240572415724257243572445724557246572475724857249572505725157252572535725457255572565725757258572595726057261572625726357264572655726657267572685726957270572715727257273572745727557276572775727857279572805728157282572835728457285572865728757288572895729057291572925729357294572955729657297572985729957300573015730257303573045730557306573075730857309573105731157312573135731457315573165731757318573195732057321573225732357324573255732657327573285732957330573315733257333573345733557336573375733857339573405734157342573435734457345573465734757348573495735057351573525735357354573555735657357573585735957360573615736257363573645736557366573675736857369573705737157372573735737457375573765737757378573795738057381573825738357384573855738657387573885738957390573915739257393573945739557396573975739857399574005740157402574035740457405574065740757408574095741057411574125741357414574155741657417574185741957420574215742257423574245742557426574275742857429574305743157432574335743457435574365743757438574395744057441574425744357444574455744657447574485744957450574515745257453574545745557456574575745857459574605746157462574635746457465574665746757468574695747057471574725747357474574755747657477574785747957480574815748257483574845748557486574875748857489574905749157492574935749457495574965749757498574995750057501575025750357504575055750657507575085750957510575115751257513575145751557516575175751857519575205752157522575235752457525575265752757528575295753057531575325753357534575355753657537575385753957540575415754257543575445754557546575475754857549575505755157552575535755457555575565755757558575595756057561575625756357564575655756657567575685756957570575715757257573575745757557576575775757857579575805758157582575835758457585575865758757588575895759057591575925759357594575955759657597575985759957600576015760257603576045760557606576075760857609576105761157612576135761457615576165761757618576195762057621576225762357624576255762657627576285762957630576315763257633576345763557636576375763857639576405764157642576435764457645576465764757648576495765057651576525765357654576555765657657576585765957660576615766257663576645766557666576675766857669576705767157672576735767457675576765767757678576795768057681576825768357684576855768657687576885768957690576915769257693576945769557696576975769857699577005770157702577035770457705577065770757708577095771057711577125771357714577155771657717577185771957720577215772257723577245772557726577275772857729577305773157732577335773457735577365773757738577395774057741577425774357744577455774657747577485774957750577515775257753577545775557756577575775857759577605776157762577635776457765577665776757768577695777057771577725777357774577755777657777577785777957780577815778257783577845778557786577875778857789577905779157792577935779457795577965779757798577995780057801578025780357804578055780657807578085780957810578115781257813578145781557816578175781857819578205782157822578235782457825578265782757828578295783057831578325783357834578355783657837578385783957840578415784257843578445784557846578475784857849578505785157852578535785457855578565785757858578595786057861578625786357864578655786657867578685786957870578715787257873578745787557876578775787857879578805788157882578835788457885578865788757888578895789057891578925789357894578955789657897578985789957900579015790257903579045790557906579075790857909579105791157912579135791457915579165791757918579195792057921579225792357924579255792657927579285792957930579315793257933579345793557936579375793857939579405794157942579435794457945579465794757948579495795057951579525795357954579555795657957579585795957960579615796257963579645796557966579675796857969579705797157972579735797457975579765797757978579795798057981579825798357984579855798657987579885798957990579915799257993579945799557996579975799857999580005800158002580035800458005580065800758008580095801058011580125801358014580155801658017580185801958020580215802258023580245802558026580275802858029580305803158032580335803458035580365803758038580395804058041580425804358044580455804658047580485804958050580515805258053580545805558056580575805858059580605806158062580635806458065580665806758068580695807058071580725807358074580755807658077580785807958080580815808258083580845808558086580875808858089580905809158092580935809458095580965809758098580995810058101581025810358104581055810658107581085810958110581115811258113581145811558116581175811858119581205812158122581235812458125581265812758128581295813058131581325813358134581355813658137581385813958140581415814258143581445814558146581475814858149581505815158152581535815458155581565815758158581595816058161581625816358164581655816658167581685816958170581715817258173581745817558176581775817858179581805818158182581835818458185581865818758188581895819058191581925819358194581955819658197581985819958200582015820258203582045820558206582075820858209582105821158212582135821458215582165821758218582195822058221582225822358224582255822658227582285822958230582315823258233582345823558236582375823858239582405824158242582435824458245582465824758248582495825058251582525825358254582555825658257582585825958260582615826258263582645826558266582675826858269582705827158272582735827458275582765827758278582795828058281582825828358284582855828658287582885828958290582915829258293582945829558296582975829858299583005830158302583035830458305583065830758308583095831058311583125831358314583155831658317583185831958320583215832258323583245832558326583275832858329583305833158332583335833458335583365833758338583395834058341583425834358344583455834658347583485834958350583515835258353583545835558356583575835858359583605836158362583635836458365583665836758368583695837058371583725837358374583755837658377583785837958380583815838258383583845838558386583875838858389583905839158392583935839458395583965839758398583995840058401584025840358404584055840658407584085840958410584115841258413584145841558416584175841858419584205842158422584235842458425584265842758428584295843058431584325843358434584355843658437584385843958440584415844258443584445844558446584475844858449584505845158452584535845458455584565845758458584595846058461584625846358464584655846658467584685846958470584715847258473584745847558476584775847858479584805848158482584835848458485584865848758488584895849058491584925849358494584955849658497584985849958500585015850258503585045850558506585075850858509585105851158512585135851458515585165851758518585195852058521585225852358524585255852658527585285852958530585315853258533585345853558536585375853858539585405854158542585435854458545585465854758548585495855058551585525855358554585555855658557585585855958560585615856258563585645856558566585675856858569585705857158572585735857458575585765857758578585795858058581585825858358584585855858658587585885858958590585915859258593585945859558596585975859858599586005860158602586035860458605586065860758608586095861058611586125861358614586155861658617586185861958620586215862258623586245862558626586275862858629586305863158632586335863458635586365863758638586395864058641586425864358644586455864658647586485864958650586515865258653586545865558656586575865858659586605866158662586635866458665586665866758668586695867058671586725867358674586755867658677586785867958680586815868258683586845868558686586875868858689586905869158692586935869458695586965869758698586995870058701587025870358704587055870658707587085870958710587115871258713587145871558716587175871858719587205872158722587235872458725587265872758728587295873058731587325873358734587355873658737587385873958740587415874258743587445874558746587475874858749587505875158752587535875458755587565875758758587595876058761587625876358764587655876658767587685876958770587715877258773587745877558776587775877858779587805878158782587835878458785587865878758788587895879058791587925879358794587955879658797587985879958800588015880258803588045880558806588075880858809588105881158812588135881458815588165881758818588195882058821588225882358824588255882658827588285882958830588315883258833588345883558836588375883858839588405884158842588435884458845588465884758848588495885058851588525885358854588555885658857588585885958860588615886258863588645886558866588675886858869588705887158872588735887458875588765887758878588795888058881588825888358884588855888658887588885888958890588915889258893588945889558896588975889858899589005890158902589035890458905589065890758908589095891058911589125891358914589155891658917589185891958920589215892258923589245892558926589275892858929589305893158932589335893458935589365893758938589395894058941589425894358944589455894658947589485894958950589515895258953589545895558956589575895858959589605896158962589635896458965589665896758968589695897058971589725897358974589755897658977589785897958980589815898258983589845898558986589875898858989589905899158992589935899458995589965899758998589995900059001590025900359004590055900659007590085900959010590115901259013590145901559016590175901859019590205902159022590235902459025590265902759028590295903059031590325903359034590355903659037590385903959040590415904259043590445904559046590475904859049590505905159052590535905459055590565905759058590595906059061590625906359064590655906659067590685906959070590715907259073590745907559076590775907859079590805908159082590835908459085590865908759088590895909059091590925909359094590955909659097590985909959100591015910259103591045910559106591075910859109591105911159112591135911459115591165911759118591195912059121591225912359124591255912659127591285912959130591315913259133591345913559136591375913859139591405914159142591435914459145591465914759148591495915059151591525915359154591555915659157591585915959160591615916259163591645916559166591675916859169591705917159172591735917459175591765917759178591795918059181591825918359184591855918659187591885918959190591915919259193591945919559196591975919859199592005920159202592035920459205592065920759208592095921059211592125921359214592155921659217592185921959220592215922259223592245922559226592275922859229592305923159232592335923459235592365923759238592395924059241592425924359244592455924659247592485924959250592515925259253592545925559256592575925859259592605926159262592635926459265592665926759268592695927059271592725927359274592755927659277592785927959280592815928259283592845928559286592875928859289592905929159292592935929459295592965929759298592995930059301593025930359304593055930659307593085930959310593115931259313593145931559316593175931859319593205932159322593235932459325593265932759328593295933059331593325933359334593355933659337593385933959340593415934259343593445934559346593475934859349593505935159352593535935459355593565935759358593595936059361593625936359364593655936659367593685936959370593715937259373593745937559376593775937859379593805938159382593835938459385593865938759388593895939059391593925939359394593955939659397593985939959400594015940259403594045940559406594075940859409594105941159412594135941459415594165941759418594195942059421594225942359424594255942659427594285942959430594315943259433594345943559436594375943859439594405944159442594435944459445594465944759448594495945059451594525945359454594555945659457594585945959460594615946259463594645946559466594675946859469594705947159472594735947459475594765947759478594795948059481594825948359484594855948659487594885948959490594915949259493594945949559496594975949859499595005950159502595035950459505595065950759508595095951059511595125951359514595155951659517595185951959520595215952259523595245952559526595275952859529595305953159532595335953459535595365953759538595395954059541595425954359544595455954659547595485954959550595515955259553595545955559556595575955859559595605956159562595635956459565595665956759568595695957059571595725957359574595755957659577595785957959580595815958259583595845958559586595875958859589595905959159592595935959459595595965959759598595995960059601596025960359604596055960659607596085960959610596115961259613596145961559616596175961859619596205962159622596235962459625596265962759628596295963059631596325963359634596355963659637596385963959640596415964259643596445964559646596475964859649596505965159652596535965459655596565965759658596595966059661596625966359664596655966659667596685966959670596715967259673596745967559676596775967859679596805968159682596835968459685596865968759688596895969059691596925969359694596955969659697596985969959700597015970259703597045970559706597075970859709597105971159712597135971459715597165971759718597195972059721597225972359724597255972659727597285972959730597315973259733597345973559736597375973859739597405974159742597435974459745597465974759748597495975059751597525975359754597555975659757597585975959760597615976259763597645976559766597675976859769597705977159772597735977459775597765977759778597795978059781597825978359784597855978659787597885978959790597915979259793597945979559796597975979859799598005980159802598035980459805598065980759808598095981059811598125981359814598155981659817598185981959820598215982259823598245982559826598275982859829598305983159832598335983459835598365983759838598395984059841598425984359844598455984659847598485984959850598515985259853598545985559856598575985859859598605986159862598635986459865598665986759868598695987059871598725987359874598755987659877598785987959880598815988259883598845988559886598875988859889598905989159892598935989459895598965989759898598995990059901599025990359904599055990659907599085990959910599115991259913599145991559916599175991859919599205992159922599235992459925599265992759928599295993059931599325993359934599355993659937599385993959940599415994259943599445994559946599475994859949599505995159952599535995459955599565995759958599595996059961599625996359964599655996659967599685996959970599715997259973599745997559976599775997859979599805998159982599835998459985599865998759988599895999059991599925999359994599955999659997599985999960000600016000260003600046000560006600076000860009600106001160012600136001460015600166001760018600196002060021600226002360024600256002660027600286002960030600316003260033600346003560036600376003860039600406004160042600436004460045600466004760048600496005060051600526005360054600556005660057600586005960060600616006260063600646006560066600676006860069600706007160072600736007460075600766007760078600796008060081600826008360084600856008660087600886008960090600916009260093600946009560096600976009860099601006010160102601036010460105601066010760108601096011060111601126011360114601156011660117601186011960120601216012260123601246012560126601276012860129601306013160132601336013460135601366013760138601396014060141601426014360144601456014660147601486014960150601516015260153601546015560156601576015860159601606016160162601636016460165601666016760168601696017060171601726017360174601756017660177601786017960180601816018260183601846018560186601876018860189601906019160192601936019460195601966019760198601996020060201602026020360204602056020660207602086020960210602116021260213602146021560216602176021860219602206022160222602236022460225602266022760228602296023060231602326023360234602356023660237602386023960240602416024260243602446024560246602476024860249602506025160252602536025460255602566025760258602596026060261602626026360264602656026660267602686026960270602716027260273602746027560276602776027860279602806028160282602836028460285602866028760288602896029060291602926029360294602956029660297602986029960300603016030260303603046030560306603076030860309603106031160312603136031460315603166031760318603196032060321603226032360324603256032660327603286032960330603316033260333603346033560336603376033860339603406034160342603436034460345603466034760348603496035060351603526035360354603556035660357603586035960360603616036260363603646036560366603676036860369603706037160372603736037460375603766037760378603796038060381603826038360384603856038660387603886038960390603916039260393603946039560396603976039860399604006040160402604036040460405604066040760408604096041060411604126041360414604156041660417604186041960420604216042260423604246042560426604276042860429604306043160432604336043460435604366043760438604396044060441604426044360444604456044660447604486044960450604516045260453604546045560456604576045860459604606046160462604636046460465604666046760468604696047060471604726047360474604756047660477604786047960480604816048260483604846048560486604876048860489604906049160492604936049460495604966049760498604996050060501605026050360504605056050660507605086050960510605116051260513605146051560516605176051860519605206052160522605236052460525605266052760528605296053060531605326053360534605356053660537605386053960540605416054260543605446054560546605476054860549605506055160552605536055460555605566055760558605596056060561605626056360564605656056660567605686056960570605716057260573605746057560576605776057860579605806058160582605836058460585605866058760588605896059060591605926059360594605956059660597605986059960600606016060260603606046060560606606076060860609606106061160612606136061460615606166061760618606196062060621606226062360624606256062660627606286062960630606316063260633606346063560636606376063860639606406064160642606436064460645606466064760648606496065060651606526065360654606556065660657606586065960660606616066260663606646066560666606676066860669606706067160672606736067460675606766067760678606796068060681606826068360684606856068660687606886068960690606916069260693606946069560696606976069860699607006070160702607036070460705607066070760708607096071060711607126071360714607156071660717607186071960720607216072260723607246072560726607276072860729607306073160732607336073460735607366073760738607396074060741607426074360744607456074660747607486074960750607516075260753607546075560756607576075860759607606076160762607636076460765607666076760768607696077060771607726077360774607756077660777607786077960780607816078260783607846078560786607876078860789607906079160792607936079460795607966079760798607996080060801608026080360804608056080660807608086080960810608116081260813608146081560816608176081860819608206082160822608236082460825608266082760828608296083060831608326083360834608356083660837608386083960840608416084260843608446084560846608476084860849608506085160852608536085460855608566085760858608596086060861608626086360864608656086660867608686086960870608716087260873608746087560876608776087860879608806088160882608836088460885608866088760888608896089060891608926089360894608956089660897608986089960900609016090260903609046090560906609076090860909609106091160912609136091460915609166091760918609196092060921609226092360924609256092660927609286092960930609316093260933609346093560936609376093860939609406094160942609436094460945609466094760948609496095060951609526095360954609556095660957609586095960960609616096260963609646096560966609676096860969609706097160972609736097460975609766097760978609796098060981609826098360984609856098660987609886098960990609916099260993609946099560996609976099860999610006100161002610036100461005610066100761008610096101061011610126101361014610156101661017610186101961020610216102261023610246102561026610276102861029610306103161032610336103461035610366103761038610396104061041610426104361044610456104661047610486104961050610516105261053610546105561056610576105861059610606106161062610636106461065610666106761068610696107061071610726107361074610756107661077610786107961080610816108261083610846108561086610876108861089610906109161092610936109461095610966109761098610996110061101611026110361104611056110661107611086110961110611116111261113611146111561116611176111861119611206112161122611236112461125611266112761128611296113061131611326113361134611356113661137611386113961140611416114261143611446114561146611476114861149611506115161152611536115461155611566115761158611596116061161611626116361164611656116661167611686116961170611716117261173611746117561176611776117861179611806118161182611836118461185611866118761188611896119061191611926119361194611956119661197611986119961200612016120261203612046120561206612076120861209612106121161212612136121461215612166121761218612196122061221612226122361224612256122661227612286122961230612316123261233612346123561236612376123861239612406124161242612436124461245612466124761248612496125061251612526125361254612556125661257612586125961260612616126261263612646126561266612676126861269612706127161272612736127461275612766127761278612796128061281612826128361284612856128661287612886128961290612916129261293612946129561296612976129861299613006130161302613036130461305613066130761308613096131061311613126131361314613156131661317613186131961320613216132261323613246132561326613276132861329613306133161332613336133461335613366133761338613396134061341613426134361344613456134661347613486134961350613516135261353613546135561356613576135861359613606136161362613636136461365613666136761368613696137061371613726137361374613756137661377613786137961380613816138261383613846138561386613876138861389613906139161392613936139461395613966139761398613996140061401614026140361404614056140661407614086140961410614116141261413614146141561416614176141861419614206142161422614236142461425614266142761428614296143061431614326143361434614356143661437614386143961440614416144261443614446144561446614476144861449614506145161452614536145461455614566145761458614596146061461614626146361464614656146661467614686146961470614716147261473614746147561476614776147861479614806148161482614836148461485614866148761488614896149061491614926149361494614956149661497614986149961500615016150261503615046150561506615076150861509615106151161512615136151461515615166151761518615196152061521615226152361524615256152661527615286152961530615316153261533615346153561536615376153861539615406154161542615436154461545615466154761548615496155061551615526155361554615556155661557615586155961560615616156261563615646156561566615676156861569615706157161572615736157461575615766157761578615796158061581615826158361584615856158661587615886158961590615916159261593615946159561596615976159861599616006160161602616036160461605616066160761608616096161061611616126161361614616156161661617616186161961620616216162261623616246162561626616276162861629616306163161632616336163461635616366163761638616396164061641616426164361644616456164661647616486164961650616516165261653616546165561656616576165861659616606166161662616636166461665616666166761668616696167061671616726167361674616756167661677616786167961680616816168261683616846168561686616876168861689616906169161692616936169461695616966169761698616996170061701617026170361704617056170661707617086170961710617116171261713617146171561716617176171861719617206172161722617236172461725617266172761728617296173061731617326173361734617356173661737617386173961740617416174261743617446174561746617476174861749617506175161752617536175461755617566175761758617596176061761617626176361764617656176661767617686176961770617716177261773617746177561776617776177861779617806178161782617836178461785617866178761788617896179061791617926179361794617956179661797617986179961800618016180261803618046180561806618076180861809618106181161812618136181461815618166181761818618196182061821618226182361824618256182661827618286182961830618316183261833618346183561836618376183861839618406184161842618436184461845618466184761848618496185061851618526185361854618556185661857618586185961860618616186261863618646186561866618676186861869618706187161872618736187461875618766187761878618796188061881618826188361884618856188661887618886188961890618916189261893618946189561896618976189861899619006190161902619036190461905619066190761908619096191061911619126191361914619156191661917619186191961920619216192261923619246192561926619276192861929619306193161932619336193461935619366193761938619396194061941619426194361944619456194661947619486194961950619516195261953619546195561956619576195861959619606196161962619636196461965619666196761968619696197061971619726197361974619756197661977619786197961980619816198261983619846198561986619876198861989619906199161992619936199461995619966199761998619996200062001620026200362004620056200662007620086200962010620116201262013620146201562016620176201862019620206202162022620236202462025620266202762028620296203062031620326203362034620356203662037620386203962040620416204262043620446204562046620476204862049620506205162052620536205462055620566205762058620596206062061620626206362064620656206662067620686206962070620716207262073620746207562076620776207862079620806208162082620836208462085620866208762088620896209062091620926209362094620956209662097620986209962100621016210262103621046210562106621076210862109621106211162112621136211462115621166211762118621196212062121621226212362124621256212662127621286212962130621316213262133621346213562136621376213862139621406214162142621436214462145621466214762148621496215062151621526215362154621556215662157621586215962160621616216262163621646216562166621676216862169621706217162172621736217462175621766217762178621796218062181621826218362184621856218662187621886218962190621916219262193621946219562196621976219862199622006220162202622036220462205622066220762208622096221062211622126221362214622156221662217622186221962220622216222262223622246222562226622276222862229622306223162232622336223462235622366223762238622396224062241622426224362244622456224662247622486224962250622516225262253622546225562256622576225862259622606226162262622636226462265622666226762268622696227062271622726227362274622756227662277622786227962280622816228262283622846228562286622876228862289622906229162292622936229462295622966229762298622996230062301623026230362304623056230662307623086230962310623116231262313623146231562316623176231862319623206232162322623236232462325623266232762328623296233062331623326233362334623356233662337623386233962340623416234262343623446234562346623476234862349623506235162352623536235462355623566235762358623596236062361623626236362364623656236662367623686236962370623716237262373623746237562376623776237862379623806238162382623836238462385623866238762388623896239062391623926239362394623956239662397623986239962400624016240262403624046240562406624076240862409624106241162412624136241462415624166241762418624196242062421624226242362424624256242662427624286242962430624316243262433624346243562436624376243862439624406244162442624436244462445624466244762448624496245062451624526245362454624556245662457624586245962460624616246262463624646246562466624676246862469624706247162472624736247462475624766247762478624796248062481624826248362484624856248662487624886248962490624916249262493624946249562496624976249862499625006250162502625036250462505625066250762508625096251062511625126251362514625156251662517625186251962520625216252262523625246252562526625276252862529625306253162532625336253462535625366253762538625396254062541625426254362544625456254662547625486254962550625516255262553625546255562556625576255862559625606256162562625636256462565625666256762568625696257062571625726257362574625756257662577625786257962580625816258262583625846258562586625876258862589625906259162592625936259462595625966259762598625996260062601626026260362604626056260662607626086260962610626116261262613626146261562616626176261862619626206262162622626236262462625626266262762628626296263062631626326263362634626356263662637626386263962640626416264262643626446264562646626476264862649626506265162652626536265462655626566265762658626596266062661626626266362664626656266662667626686266962670626716267262673626746267562676626776267862679626806268162682626836268462685626866268762688626896269062691626926269362694626956269662697626986269962700627016270262703627046270562706627076270862709627106271162712627136271462715627166271762718627196272062721627226272362724627256272662727627286272962730627316273262733627346273562736627376273862739627406274162742627436274462745627466274762748627496275062751627526275362754627556275662757627586275962760627616276262763627646276562766627676276862769627706277162772627736277462775627766277762778627796278062781627826278362784627856278662787627886278962790627916279262793627946279562796627976279862799628006280162802628036280462805628066280762808628096281062811628126281362814628156281662817628186281962820628216282262823628246282562826628276282862829628306283162832628336283462835628366283762838628396284062841628426284362844628456284662847628486284962850628516285262853628546285562856628576285862859628606286162862628636286462865628666286762868628696287062871628726287362874628756287662877628786287962880628816288262883628846288562886628876288862889628906289162892628936289462895628966289762898628996290062901629026290362904629056290662907629086290962910629116291262913629146291562916629176291862919629206292162922629236292462925629266292762928629296293062931629326293362934629356293662937629386293962940629416294262943629446294562946629476294862949629506295162952629536295462955629566295762958629596296062961629626296362964629656296662967629686296962970629716297262973629746297562976629776297862979629806298162982629836298462985629866298762988629896299062991629926299362994629956299662997629986299963000630016300263003630046300563006630076300863009630106301163012630136301463015630166301763018630196302063021630226302363024630256302663027630286302963030630316303263033630346303563036630376303863039630406304163042630436304463045630466304763048630496305063051630526305363054630556305663057630586305963060630616306263063630646306563066630676306863069630706307163072630736307463075630766307763078630796308063081630826308363084630856308663087630886308963090630916309263093630946309563096630976309863099631006310163102631036310463105631066310763108631096311063111631126311363114631156311663117631186311963120631216312263123631246312563126631276312863129631306313163132631336313463135631366313763138631396314063141631426314363144631456314663147631486314963150631516315263153631546315563156631576315863159631606316163162631636316463165631666316763168631696317063171631726317363174631756317663177631786317963180631816318263183631846318563186631876318863189631906319163192631936319463195631966319763198631996320063201632026320363204632056320663207632086320963210632116321263213632146321563216632176321863219632206322163222632236322463225632266322763228632296323063231632326323363234632356323663237632386323963240632416324263243632446324563246632476324863249632506325163252632536325463255632566325763258632596326063261632626326363264632656326663267632686326963270632716327263273632746327563276632776327863279632806328163282632836328463285632866328763288632896329063291632926329363294632956329663297632986329963300633016330263303633046330563306633076330863309633106331163312633136331463315633166331763318633196332063321633226332363324633256332663327633286332963330633316333263333633346333563336633376333863339633406334163342633436334463345633466334763348633496335063351633526335363354633556335663357633586335963360633616336263363633646336563366633676336863369633706337163372633736337463375633766337763378633796338063381633826338363384633856338663387633886338963390633916339263393633946339563396633976339863399634006340163402634036340463405634066340763408634096341063411634126341363414634156341663417634186341963420634216342263423634246342563426634276342863429634306343163432634336343463435634366343763438634396344063441634426344363444634456344663447634486344963450634516345263453634546345563456634576345863459634606346163462634636346463465634666346763468634696347063471634726347363474634756347663477634786347963480634816348263483634846348563486634876348863489634906349163492634936349463495634966349763498634996350063501635026350363504635056350663507635086350963510635116351263513635146351563516635176351863519635206352163522635236352463525635266352763528635296353063531635326353363534635356353663537635386353963540635416354263543635446354563546635476354863549635506355163552635536355463555635566355763558635596356063561635626356363564635656356663567635686356963570635716357263573635746357563576635776357863579635806358163582635836358463585635866358763588635896359063591635926359363594635956359663597635986359963600636016360263603636046360563606636076360863609636106361163612636136361463615636166361763618636196362063621636226362363624636256362663627636286362963630636316363263633636346363563636636376363863639636406364163642636436364463645636466364763648636496365063651636526365363654636556365663657636586365963660636616366263663636646366563666636676366863669636706367163672636736367463675636766367763678636796368063681636826368363684636856368663687636886368963690636916369263693636946369563696636976369863699637006370163702637036370463705637066370763708637096371063711637126371363714637156371663717637186371963720637216372263723637246372563726637276372863729637306373163732637336373463735637366373763738637396374063741637426374363744637456374663747637486374963750637516375263753637546375563756637576375863759637606376163762637636376463765637666376763768637696377063771637726377363774637756377663777637786377963780637816378263783637846378563786637876378863789637906379163792637936379463795637966379763798637996380063801638026380363804638056380663807638086380963810638116381263813638146381563816638176381863819638206382163822638236382463825638266382763828638296383063831638326383363834638356383663837638386383963840638416384263843638446384563846638476384863849638506385163852638536385463855638566385763858638596386063861638626386363864638656386663867638686386963870638716387263873638746387563876638776387863879638806388163882638836388463885638866388763888638896389063891638926389363894638956389663897638986389963900639016390263903639046390563906639076390863909639106391163912639136391463915639166391763918639196392063921639226392363924639256392663927639286392963930639316393263933639346393563936639376393863939639406394163942639436394463945639466394763948639496395063951639526395363954639556395663957639586395963960639616396263963639646396563966639676396863969639706397163972639736397463975639766397763978639796398063981639826398363984639856398663987639886398963990639916399263993639946399563996639976399863999640006400164002640036400464005640066400764008640096401064011640126401364014640156401664017640186401964020640216402264023640246402564026640276402864029640306403164032640336403464035640366403764038640396404064041640426404364044640456404664047640486404964050640516405264053640546405564056640576405864059640606406164062640636406464065640666406764068640696407064071640726407364074640756407664077640786407964080640816408264083640846408564086640876408864089640906409164092640936409464095640966409764098640996410064101641026410364104641056410664107641086410964110641116411264113641146411564116641176411864119641206412164122641236412464125641266412764128641296413064131641326413364134641356413664137641386413964140641416414264143641446414564146641476414864149641506415164152641536415464155641566415764158641596416064161641626416364164641656416664167641686416964170641716417264173641746417564176641776417864179641806418164182641836418464185641866418764188641896419064191641926419364194641956419664197641986419964200642016420264203642046420564206642076420864209642106421164212642136421464215642166421764218642196422064221642226422364224642256422664227642286422964230642316423264233642346423564236642376423864239642406424164242642436424464245642466424764248642496425064251642526425364254642556425664257642586425964260642616426264263642646426564266642676426864269642706427164272642736427464275642766427764278642796428064281642826428364284642856428664287642886428964290642916429264293642946429564296642976429864299643006430164302643036430464305643066430764308643096431064311643126431364314643156431664317643186431964320643216432264323643246432564326643276432864329643306433164332643336433464335643366433764338643396434064341643426434364344643456434664347643486434964350643516435264353643546435564356643576435864359643606436164362643636436464365643666436764368643696437064371643726437364374643756437664377643786437964380643816438264383643846438564386643876438864389643906439164392643936439464395643966439764398643996440064401644026440364404644056440664407644086440964410644116441264413644146441564416644176441864419644206442164422644236442464425644266442764428644296443064431644326443364434644356443664437644386443964440644416444264443644446444564446644476444864449644506445164452644536445464455644566445764458644596446064461644626446364464644656446664467644686446964470644716447264473644746447564476644776447864479644806448164482644836448464485644866448764488644896449064491644926449364494644956449664497644986449964500645016450264503645046450564506645076450864509645106451164512645136451464515645166451764518645196452064521645226452364524645256452664527645286452964530645316453264533645346453564536645376453864539645406454164542645436454464545645466454764548645496455064551645526455364554645556455664557645586455964560645616456264563645646456564566645676456864569645706457164572645736457464575645766457764578645796458064581645826458364584645856458664587645886458964590645916459264593645946459564596645976459864599646006460164602646036460464605646066460764608646096461064611646126461364614646156461664617646186461964620646216462264623646246462564626646276462864629646306463164632646336463464635646366463764638646396464064641646426464364644646456464664647646486464964650646516465264653646546465564656646576465864659646606466164662646636466464665646666466764668646696467064671646726467364674646756467664677646786467964680646816468264683646846468564686646876468864689646906469164692646936469464695646966469764698646996470064701647026470364704647056470664707647086470964710647116471264713647146471564716647176471864719647206472164722647236472464725647266472764728647296473064731647326473364734647356473664737647386473964740647416474264743647446474564746647476474864749647506475164752647536475464755647566475764758647596476064761647626476364764647656476664767647686476964770647716477264773647746477564776647776477864779647806478164782647836478464785647866478764788647896479064791647926479364794647956479664797647986479964800648016480264803648046480564806648076480864809648106481164812648136481464815648166481764818648196482064821648226482364824648256482664827648286482964830648316483264833648346483564836648376483864839648406484164842648436484464845648466484764848648496485064851648526485364854648556485664857648586485964860648616486264863648646486564866648676486864869648706487164872648736487464875648766487764878648796488064881648826488364884648856488664887648886488964890648916489264893648946489564896648976489864899649006490164902649036490464905649066490764908649096491064911649126491364914649156491664917649186491964920649216492264923649246492564926649276492864929649306493164932649336493464935649366493764938649396494064941649426494364944649456494664947649486494964950649516495264953649546495564956649576495864959649606496164962649636496464965649666496764968649696497064971649726497364974649756497664977649786497964980649816498264983649846498564986649876498864989649906499164992649936499464995649966499764998649996500065001650026500365004650056500665007650086500965010650116501265013650146501565016650176501865019650206502165022650236502465025650266502765028650296503065031650326503365034650356503665037650386503965040650416504265043650446504565046650476504865049650506505165052650536505465055650566505765058650596506065061650626506365064650656506665067650686506965070650716507265073650746507565076650776507865079650806508165082650836508465085650866508765088650896509065091650926509365094650956509665097650986509965100651016510265103651046510565106651076510865109651106511165112651136511465115651166511765118651196512065121651226512365124651256512665127651286512965130651316513265133651346513565136651376513865139651406514165142651436514465145651466514765148651496515065151651526515365154651556515665157651586515965160651616516265163651646516565166651676516865169651706517165172651736517465175651766517765178651796518065181651826518365184651856518665187651886518965190651916519265193651946519565196651976519865199652006520165202652036520465205652066520765208652096521065211652126521365214652156521665217652186521965220652216522265223652246522565226652276522865229652306523165232652336523465235652366523765238652396524065241652426524365244652456524665247652486524965250652516525265253652546525565256652576525865259652606526165262652636526465265652666526765268652696527065271652726527365274652756527665277652786527965280652816528265283652846528565286652876528865289652906529165292652936529465295652966529765298652996530065301653026530365304653056530665307653086530965310653116531265313653146531565316653176531865319653206532165322653236532465325653266532765328653296533065331653326533365334653356533665337653386533965340653416534265343653446534565346653476534865349653506535165352653536535465355653566535765358653596536065361653626536365364653656536665367653686536965370653716537265373653746537565376653776537865379653806538165382653836538465385653866538765388653896539065391653926539365394653956539665397653986539965400654016540265403654046540565406654076540865409654106541165412654136541465415654166541765418654196542065421654226542365424654256542665427654286542965430654316543265433654346543565436654376543865439654406544165442654436544465445654466544765448654496545065451654526545365454654556545665457654586545965460654616546265463654646546565466654676546865469654706547165472654736547465475654766547765478654796548065481654826548365484654856548665487654886548965490654916549265493654946549565496654976549865499655006550165502655036550465505655066550765508655096551065511655126551365514655156551665517655186551965520655216552265523655246552565526655276552865529655306553165532655336553465535655366553765538655396554065541655426554365544655456554665547655486554965550655516555265553655546555565556655576555865559655606556165562655636556465565655666556765568655696557065571655726557365574655756557665577655786557965580655816558265583655846558565586655876558865589655906559165592655936559465595655966559765598655996560065601656026560365604656056560665607656086560965610656116561265613656146561565616656176561865619656206562165622656236562465625656266562765628656296563065631656326563365634656356563665637656386563965640656416564265643656446564565646656476564865649656506565165652656536565465655656566565765658656596566065661656626566365664656656566665667656686566965670656716567265673656746567565676656776567865679656806568165682656836568465685656866568765688656896569065691656926569365694656956569665697656986569965700657016570265703657046570565706657076570865709657106571165712657136571465715657166571765718657196572065721657226572365724657256572665727657286572965730657316573265733657346573565736657376573865739657406574165742657436574465745657466574765748657496575065751657526575365754657556575665757657586575965760657616576265763657646576565766657676576865769657706577165772657736577465775657766577765778657796578065781657826578365784657856578665787657886578965790657916579265793657946579565796657976579865799658006580165802658036580465805658066580765808658096581065811658126581365814658156581665817658186581965820658216582265823658246582565826658276582865829658306583165832658336583465835658366583765838658396584065841658426584365844658456584665847658486584965850658516585265853658546585565856658576585865859658606586165862658636586465865658666586765868658696587065871658726587365874658756587665877658786587965880658816588265883658846588565886658876588865889658906589165892658936589465895658966589765898658996590065901659026590365904659056590665907659086590965910659116591265913659146591565916659176591865919659206592165922659236592465925659266592765928659296593065931659326593365934659356593665937659386593965940659416594265943659446594565946659476594865949659506595165952659536595465955659566595765958659596596065961659626596365964659656596665967659686596965970659716597265973659746597565976659776597865979659806598165982659836598465985659866598765988659896599065991659926599365994659956599665997659986599966000660016600266003660046600566006660076600866009660106601166012660136601466015660166601766018660196602066021660226602366024660256602666027660286602966030660316603266033660346603566036660376603866039660406604166042660436604466045660466604766048660496605066051660526605366054660556605666057660586605966060660616606266063660646606566066660676606866069660706607166072660736607466075660766607766078660796608066081660826608366084660856608666087660886608966090660916609266093660946609566096660976609866099661006610166102661036610466105661066610766108661096611066111661126611366114661156611666117661186611966120661216612266123661246612566126661276612866129661306613166132661336613466135661366613766138661396614066141661426614366144661456614666147661486614966150661516615266153661546615566156661576615866159661606616166162661636616466165661666616766168661696617066171661726617366174661756617666177661786617966180661816618266183661846618566186661876618866189661906619166192661936619466195661966619766198661996620066201662026620366204662056620666207662086620966210662116621266213662146621566216662176621866219662206622166222662236622466225662266622766228662296623066231662326623366234662356623666237662386623966240662416624266243662446624566246662476624866249662506625166252662536625466255662566625766258662596626066261662626626366264662656626666267662686626966270662716627266273662746627566276662776627866279662806628166282662836628466285662866628766288662896629066291662926629366294662956629666297662986629966300663016630266303663046630566306663076630866309663106631166312663136631466315663166631766318663196632066321663226632366324663256632666327663286632966330663316633266333663346633566336663376633866339663406634166342663436634466345663466634766348663496635066351663526635366354663556635666357663586635966360663616636266363663646636566366663676636866369663706637166372663736637466375663766637766378663796638066381663826638366384663856638666387663886638966390663916639266393663946639566396663976639866399664006640166402664036640466405664066640766408664096641066411664126641366414664156641666417664186641966420664216642266423664246642566426664276642866429664306643166432664336643466435664366643766438664396644066441664426644366444664456644666447664486644966450664516645266453664546645566456664576645866459664606646166462664636646466465664666646766468664696647066471664726647366474664756647666477664786647966480664816648266483664846648566486664876648866489664906649166492664936649466495664966649766498664996650066501665026650366504665056650666507665086650966510665116651266513665146651566516665176651866519665206652166522665236652466525665266652766528665296653066531665326653366534665356653666537665386653966540665416654266543665446654566546665476654866549665506655166552665536655466555665566655766558665596656066561665626656366564665656656666567665686656966570665716657266573665746657566576665776657866579665806658166582665836658466585665866658766588665896659066591665926659366594665956659666597665986659966600666016660266603666046660566606666076660866609666106661166612666136661466615666166661766618666196662066621666226662366624666256662666627666286662966630666316663266633666346663566636666376663866639666406664166642666436664466645666466664766648666496665066651666526665366654666556665666657666586665966660666616666266663666646666566666666676666866669666706667166672666736667466675666766667766678666796668066681666826668366684666856668666687666886668966690666916669266693666946669566696666976669866699667006670166702667036670466705667066670766708667096671066711667126671366714667156671666717667186671966720667216672266723667246672566726667276672866729667306673166732667336673466735667366673766738667396674066741667426674366744667456674666747667486674966750667516675266753667546675566756667576675866759667606676166762667636676466765667666676766768667696677066771667726677366774667756677666777667786677966780667816678266783667846678566786667876678866789667906679166792667936679466795667966679766798667996680066801668026680366804668056680666807668086680966810668116681266813668146681566816668176681866819668206682166822668236682466825668266682766828668296683066831668326683366834668356683666837668386683966840668416684266843668446684566846668476684866849668506685166852668536685466855668566685766858668596686066861668626686366864668656686666867668686686966870668716687266873668746687566876668776687866879668806688166882668836688466885668866688766888668896689066891668926689366894668956689666897668986689966900669016690266903669046690566906669076690866909669106691166912669136691466915669166691766918669196692066921669226692366924669256692666927669286692966930669316693266933669346693566936669376693866939669406694166942669436694466945669466694766948669496695066951669526695366954669556695666957669586695966960669616696266963669646696566966669676696866969669706697166972669736697466975669766697766978669796698066981669826698366984669856698666987669886698966990669916699266993669946699566996669976699866999670006700167002670036700467005670066700767008670096701067011670126701367014670156701667017670186701967020670216702267023670246702567026670276702867029670306703167032670336703467035670366703767038670396704067041670426704367044670456704667047670486704967050670516705267053670546705567056670576705867059670606706167062670636706467065670666706767068670696707067071670726707367074670756707667077670786707967080670816708267083670846708567086670876708867089670906709167092670936709467095670966709767098670996710067101671026710367104671056710667107671086710967110671116711267113671146711567116671176711867119671206712167122671236712467125671266712767128671296713067131671326713367134671356713667137671386713967140671416714267143671446714567146671476714867149671506715167152671536715467155671566715767158671596716067161671626716367164671656716667167671686716967170671716717267173671746717567176671776717867179671806718167182671836718467185671866718767188671896719067191671926719367194671956719667197671986719967200672016720267203672046720567206672076720867209672106721167212672136721467215672166721767218672196722067221672226722367224672256722667227672286722967230672316723267233672346723567236672376723867239672406724167242672436724467245672466724767248672496725067251672526725367254672556725667257672586725967260672616726267263672646726567266672676726867269672706727167272672736727467275672766727767278672796728067281672826728367284672856728667287672886728967290672916729267293672946729567296672976729867299673006730167302673036730467305673066730767308673096731067311673126731367314673156731667317673186731967320673216732267323673246732567326673276732867329673306733167332673336733467335673366733767338673396734067341673426734367344673456734667347673486734967350673516735267353673546735567356673576735867359673606736167362673636736467365673666736767368673696737067371673726737367374673756737667377673786737967380673816738267383673846738567386673876738867389673906739167392673936739467395673966739767398673996740067401674026740367404674056740667407674086740967410674116741267413674146741567416674176741867419674206742167422674236742467425674266742767428674296743067431674326743367434674356743667437674386743967440674416744267443674446744567446674476744867449674506745167452674536745467455674566745767458674596746067461674626746367464674656746667467674686746967470674716747267473674746747567476674776747867479674806748167482674836748467485674866748767488674896749067491674926749367494674956749667497674986749967500675016750267503675046750567506675076750867509675106751167512675136751467515675166751767518675196752067521675226752367524675256752667527675286752967530675316753267533675346753567536675376753867539675406754167542675436754467545675466754767548675496755067551675526755367554675556755667557675586755967560675616756267563675646756567566675676756867569675706757167572675736757467575675766757767578675796758067581675826758367584675856758667587675886758967590675916759267593675946759567596675976759867599676006760167602676036760467605676066760767608676096761067611676126761367614676156761667617676186761967620676216762267623676246762567626676276762867629676306763167632676336763467635676366763767638676396764067641676426764367644676456764667647676486764967650676516765267653676546765567656676576765867659676606766167662676636766467665676666766767668676696767067671676726767367674676756767667677676786767967680676816768267683676846768567686676876768867689676906769167692676936769467695676966769767698676996770067701677026770367704677056770667707677086770967710677116771267713677146771567716677176771867719677206772167722677236772467725677266772767728677296773067731677326773367734677356773667737677386773967740677416774267743677446774567746677476774867749677506775167752677536775467755677566775767758677596776067761677626776367764677656776667767677686776967770677716777267773677746777567776677776777867779677806778167782677836778467785677866778767788677896779067791677926779367794677956779667797677986779967800678016780267803678046780567806678076780867809678106781167812678136781467815678166781767818678196782067821678226782367824678256782667827678286782967830678316783267833678346783567836678376783867839678406784167842678436784467845678466784767848678496785067851678526785367854678556785667857678586785967860678616786267863678646786567866678676786867869678706787167872678736787467875678766787767878678796788067881678826788367884678856788667887678886788967890678916789267893678946789567896678976789867899679006790167902679036790467905679066790767908679096791067911679126791367914679156791667917679186791967920679216792267923679246792567926679276792867929679306793167932679336793467935679366793767938679396794067941679426794367944679456794667947679486794967950679516795267953679546795567956679576795867959679606796167962679636796467965679666796767968679696797067971679726797367974679756797667977679786797967980679816798267983679846798567986679876798867989679906799167992679936799467995679966799767998679996800068001680026800368004680056800668007680086800968010680116801268013680146801568016680176801868019680206802168022680236802468025680266802768028680296803068031680326803368034680356803668037680386803968040680416804268043680446804568046680476804868049680506805168052680536805468055680566805768058680596806068061680626806368064680656806668067680686806968070680716807268073680746807568076680776807868079680806808168082680836808468085680866808768088680896809068091680926809368094680956809668097680986809968100681016810268103681046810568106681076810868109681106811168112681136811468115681166811768118681196812068121681226812368124681256812668127681286812968130681316813268133681346813568136681376813868139681406814168142681436814468145681466814768148681496815068151681526815368154681556815668157681586815968160681616816268163681646816568166681676816868169681706817168172681736817468175681766817768178681796818068181681826818368184681856818668187681886818968190681916819268193681946819568196681976819868199682006820168202682036820468205682066820768208682096821068211682126821368214682156821668217682186821968220682216822268223682246822568226682276822868229682306823168232682336823468235682366823768238682396824068241682426824368244682456824668247682486824968250682516825268253682546825568256682576825868259682606826168262682636826468265682666826768268682696827068271682726827368274682756827668277682786827968280682816828268283682846828568286682876828868289682906829168292682936829468295682966829768298682996830068301683026830368304683056830668307683086830968310683116831268313683146831568316683176831868319683206832168322683236832468325683266832768328683296833068331683326833368334683356833668337683386833968340683416834268343683446834568346683476834868349683506835168352683536835468355683566835768358683596836068361683626836368364683656836668367683686836968370683716837268373683746837568376683776837868379683806838168382683836838468385683866838768388683896839068391683926839368394683956839668397683986839968400684016840268403684046840568406684076840868409684106841168412684136841468415684166841768418684196842068421684226842368424684256842668427684286842968430684316843268433684346843568436684376843868439684406844168442684436844468445684466844768448684496845068451684526845368454684556845668457684586845968460684616846268463684646846568466684676846868469684706847168472684736847468475684766847768478684796848068481684826848368484684856848668487684886848968490684916849268493684946849568496684976849868499685006850168502685036850468505685066850768508685096851068511685126851368514685156851668517685186851968520685216852268523685246852568526685276852868529685306853168532685336853468535685366853768538685396854068541685426854368544685456854668547685486854968550685516855268553685546855568556685576855868559685606856168562685636856468565685666856768568685696857068571685726857368574685756857668577685786857968580685816858268583685846858568586685876858868589685906859168592685936859468595685966859768598685996860068601686026860368604686056860668607686086860968610686116861268613686146861568616686176861868619686206862168622686236862468625686266862768628686296863068631686326863368634686356863668637686386863968640686416864268643686446864568646686476864868649686506865168652686536865468655686566865768658686596866068661686626866368664686656866668667686686866968670686716867268673686746867568676686776867868679686806868168682686836868468685686866868768688686896869068691686926869368694686956869668697686986869968700687016870268703687046870568706687076870868709687106871168712687136871468715687166871768718687196872068721687226872368724687256872668727687286872968730687316873268733687346873568736687376873868739687406874168742687436874468745687466874768748687496875068751687526875368754687556875668757687586875968760687616876268763687646876568766687676876868769687706877168772687736877468775687766877768778687796878068781687826878368784687856878668787687886878968790687916879268793687946879568796687976879868799688006880168802688036880468805688066880768808688096881068811688126881368814688156881668817688186881968820688216882268823688246882568826688276882868829688306883168832688336883468835688366883768838688396884068841688426884368844688456884668847688486884968850688516885268853688546885568856688576885868859688606886168862688636886468865688666886768868688696887068871688726887368874688756887668877688786887968880688816888268883688846888568886688876888868889688906889168892688936889468895688966889768898688996890068901689026890368904689056890668907689086890968910689116891268913689146891568916689176891868919689206892168922689236892468925689266892768928689296893068931689326893368934689356893668937689386893968940689416894268943689446894568946689476894868949689506895168952689536895468955689566895768958689596896068961689626896368964689656896668967689686896968970689716897268973689746897568976689776897868979689806898168982689836898468985689866898768988689896899068991689926899368994689956899668997689986899969000690016900269003690046900569006690076900869009690106901169012690136901469015690166901769018690196902069021690226902369024690256902669027690286902969030690316903269033690346903569036690376903869039690406904169042690436904469045690466904769048690496905069051690526905369054690556905669057690586905969060690616906269063690646906569066690676906869069690706907169072690736907469075690766907769078690796908069081690826908369084690856908669087690886908969090690916909269093690946909569096690976909869099691006910169102691036910469105691066910769108691096911069111691126911369114691156911669117691186911969120691216912269123691246912569126691276912869129691306913169132691336913469135691366913769138691396914069141691426914369144691456914669147691486914969150691516915269153691546915569156691576915869159691606916169162691636916469165691666916769168691696917069171691726917369174691756917669177691786917969180691816918269183691846918569186691876918869189691906919169192691936919469195691966919769198691996920069201692026920369204692056920669207692086920969210692116921269213692146921569216692176921869219692206922169222692236922469225692266922769228692296923069231692326923369234692356923669237692386923969240692416924269243692446924569246692476924869249692506925169252692536925469255692566925769258692596926069261692626926369264692656926669267692686926969270692716927269273692746927569276692776927869279692806928169282692836928469285692866928769288692896929069291692926929369294692956929669297692986929969300693016930269303693046930569306693076930869309693106931169312693136931469315693166931769318693196932069321693226932369324693256932669327693286932969330693316933269333693346933569336693376933869339693406934169342693436934469345693466934769348693496935069351693526935369354693556935669357693586935969360693616936269363693646936569366693676936869369693706937169372693736937469375693766937769378693796938069381693826938369384693856938669387693886938969390693916939269393693946939569396693976939869399694006940169402694036940469405694066940769408694096941069411694126941369414694156941669417694186941969420694216942269423694246942569426694276942869429694306943169432694336943469435694366943769438694396944069441694426944369444694456944669447694486944969450694516945269453694546945569456694576945869459694606946169462694636946469465694666946769468694696947069471694726947369474694756947669477694786947969480694816948269483694846948569486694876948869489694906949169492694936949469495694966949769498694996950069501695026950369504695056950669507695086950969510695116951269513695146951569516695176951869519695206952169522695236952469525695266952769528695296953069531695326953369534695356953669537695386953969540695416954269543695446954569546695476954869549695506955169552695536955469555695566955769558695596956069561695626956369564695656956669567695686956969570695716957269573695746957569576695776957869579695806958169582695836958469585695866958769588695896959069591695926959369594695956959669597695986959969600696016960269603696046960569606696076960869609696106961169612696136961469615696166961769618696196962069621696226962369624696256962669627696286962969630696316963269633696346963569636696376963869639696406964169642696436964469645696466964769648696496965069651696526965369654696556965669657696586965969660696616966269663696646966569666696676966869669696706967169672696736967469675696766967769678696796968069681696826968369684696856968669687696886968969690696916969269693696946969569696696976969869699697006970169702697036970469705697066970769708697096971069711697126971369714697156971669717697186971969720697216972269723697246972569726697276972869729697306973169732697336973469735697366973769738697396974069741697426974369744697456974669747697486974969750697516975269753697546975569756697576975869759697606976169762697636976469765697666976769768697696977069771697726977369774697756977669777697786977969780697816978269783697846978569786697876978869789697906979169792697936979469795697966979769798697996980069801698026980369804698056980669807698086980969810698116981269813698146981569816698176981869819698206982169822698236982469825698266982769828698296983069831698326983369834698356983669837698386983969840698416984269843698446984569846698476984869849698506985169852698536985469855698566985769858698596986069861698626986369864698656986669867698686986969870698716987269873698746987569876698776987869879698806988169882698836988469885698866988769888698896989069891698926989369894698956989669897698986989969900699016990269903699046990569906699076990869909699106991169912699136991469915699166991769918699196992069921699226992369924699256992669927699286992969930699316993269933699346993569936699376993869939699406994169942699436994469945699466994769948699496995069951699526995369954699556995669957699586995969960699616996269963699646996569966699676996869969699706997169972699736997469975699766997769978699796998069981699826998369984699856998669987699886998969990699916999269993699946999569996699976999869999700007000170002700037000470005700067000770008700097001070011700127001370014700157001670017700187001970020700217002270023700247002570026700277002870029700307003170032700337003470035700367003770038700397004070041700427004370044700457004670047700487004970050700517005270053700547005570056700577005870059700607006170062700637006470065700667006770068700697007070071700727007370074700757007670077700787007970080700817008270083700847008570086700877008870089700907009170092700937009470095700967009770098700997010070101701027010370104701057010670107701087010970110701117011270113701147011570116701177011870119701207012170122701237012470125701267012770128701297013070131701327013370134701357013670137701387013970140701417014270143701447014570146701477014870149701507015170152701537015470155701567015770158701597016070161701627016370164701657016670167701687016970170701717017270173701747017570176701777017870179701807018170182701837018470185701867018770188701897019070191701927019370194701957019670197701987019970200702017020270203702047020570206702077020870209702107021170212702137021470215702167021770218702197022070221702227022370224702257022670227702287022970230702317023270233702347023570236702377023870239702407024170242702437024470245702467024770248702497025070251702527025370254702557025670257702587025970260702617026270263702647026570266702677026870269702707027170272702737027470275702767027770278702797028070281702827028370284702857028670287702887028970290702917029270293702947029570296702977029870299703007030170302703037030470305703067030770308703097031070311703127031370314703157031670317703187031970320703217032270323703247032570326703277032870329703307033170332703337033470335703367033770338703397034070341703427034370344703457034670347703487034970350703517035270353703547035570356703577035870359703607036170362703637036470365703667036770368703697037070371703727037370374703757037670377703787037970380703817038270383703847038570386703877038870389703907039170392703937039470395703967039770398703997040070401704027040370404704057040670407704087040970410704117041270413704147041570416704177041870419704207042170422704237042470425704267042770428704297043070431704327043370434704357043670437704387043970440704417044270443704447044570446704477044870449704507045170452704537045470455704567045770458704597046070461704627046370464704657046670467704687046970470704717047270473704747047570476704777047870479704807048170482704837048470485704867048770488704897049070491704927049370494704957049670497704987049970500705017050270503705047050570506705077050870509705107051170512705137051470515705167051770518705197052070521705227052370524705257052670527705287052970530705317053270533705347053570536705377053870539705407054170542705437054470545705467054770548705497055070551705527055370554705557055670557705587055970560705617056270563705647056570566705677056870569705707057170572705737057470575705767057770578705797058070581705827058370584705857058670587705887058970590705917059270593705947059570596705977059870599706007060170602706037060470605706067060770608706097061070611706127061370614706157061670617706187061970620706217062270623706247062570626706277062870629706307063170632706337063470635706367063770638706397064070641706427064370644706457064670647706487064970650706517065270653706547065570656706577065870659706607066170662706637066470665706667066770668706697067070671706727067370674706757067670677706787067970680706817068270683706847068570686706877068870689706907069170692706937069470695706967069770698706997070070701707027070370704707057070670707707087070970710707117071270713707147071570716707177071870719707207072170722707237072470725707267072770728707297073070731707327073370734707357073670737707387073970740707417074270743707447074570746707477074870749707507075170752707537075470755707567075770758707597076070761707627076370764707657076670767707687076970770707717077270773707747077570776707777077870779707807078170782707837078470785707867078770788707897079070791707927079370794707957079670797707987079970800708017080270803708047080570806708077080870809708107081170812708137081470815708167081770818708197082070821708227082370824708257082670827708287082970830708317083270833708347083570836708377083870839708407084170842708437084470845708467084770848708497085070851708527085370854708557085670857708587085970860708617086270863708647086570866708677086870869708707087170872708737087470875708767087770878708797088070881708827088370884708857088670887708887088970890708917089270893708947089570896708977089870899709007090170902709037090470905709067090770908709097091070911709127091370914709157091670917709187091970920709217092270923709247092570926709277092870929709307093170932709337093470935709367093770938709397094070941709427094370944709457094670947709487094970950709517095270953709547095570956709577095870959709607096170962709637096470965709667096770968709697097070971709727097370974709757097670977709787097970980709817098270983709847098570986709877098870989709907099170992709937099470995709967099770998709997100071001710027100371004710057100671007710087100971010710117101271013710147101571016710177101871019710207102171022710237102471025710267102771028710297103071031710327103371034710357103671037710387103971040710417104271043710447104571046710477104871049710507105171052710537105471055710567105771058710597106071061710627106371064710657106671067710687106971070710717107271073710747107571076710777107871079710807108171082710837108471085710867108771088710897109071091710927109371094710957109671097710987109971100711017110271103711047110571106711077110871109711107111171112711137111471115711167111771118711197112071121711227112371124711257112671127711287112971130711317113271133711347113571136711377113871139711407114171142711437114471145711467114771148711497115071151711527115371154711557115671157711587115971160711617116271163711647116571166711677116871169711707117171172711737117471175711767117771178711797118071181711827118371184711857118671187711887118971190711917119271193711947119571196711977119871199712007120171202712037120471205712067120771208712097121071211712127121371214712157121671217712187121971220712217122271223712247122571226712277122871229712307123171232712337123471235712367123771238712397124071241712427124371244712457124671247712487124971250712517125271253712547125571256712577125871259712607126171262712637126471265712667126771268712697127071271712727127371274712757127671277712787127971280712817128271283712847128571286712877128871289712907129171292712937129471295712967129771298712997130071301713027130371304713057130671307713087130971310713117131271313713147131571316713177131871319713207132171322713237132471325713267132771328713297133071331713327133371334713357133671337713387133971340713417134271343713447134571346713477134871349713507135171352713537135471355713567135771358713597136071361713627136371364713657136671367713687136971370713717137271373713747137571376713777137871379713807138171382713837138471385713867138771388713897139071391713927139371394713957139671397713987139971400714017140271403714047140571406714077140871409714107141171412714137141471415714167141771418714197142071421714227142371424714257142671427714287142971430714317143271433714347143571436714377143871439714407144171442714437144471445714467144771448714497145071451714527145371454714557145671457714587145971460714617146271463714647146571466714677146871469714707147171472714737147471475714767147771478714797148071481714827148371484714857148671487714887148971490714917149271493714947149571496714977149871499715007150171502715037150471505715067150771508715097151071511715127151371514715157151671517715187151971520715217152271523715247152571526715277152871529715307153171532715337153471535715367153771538715397154071541715427154371544715457154671547715487154971550715517155271553715547155571556715577155871559715607156171562715637156471565715667156771568715697157071571715727157371574715757157671577715787157971580715817158271583715847158571586715877158871589715907159171592715937159471595715967159771598715997160071601716027160371604716057160671607716087160971610716117161271613716147161571616716177161871619716207162171622716237162471625716267162771628716297163071631716327163371634716357163671637716387163971640716417164271643716447164571646716477164871649716507165171652716537165471655716567165771658716597166071661716627166371664716657166671667716687166971670716717167271673716747167571676716777167871679716807168171682716837168471685716867168771688716897169071691716927169371694716957169671697716987169971700717017170271703717047170571706717077170871709717107171171712717137171471715717167171771718717197172071721717227172371724717257172671727717287172971730717317173271733717347173571736717377173871739717407174171742717437174471745717467174771748717497175071751717527175371754717557175671757717587175971760717617176271763717647176571766717677176871769717707177171772717737177471775717767177771778717797178071781717827178371784717857178671787717887178971790717917179271793717947179571796717977179871799718007180171802718037180471805718067180771808718097181071811718127181371814718157181671817718187181971820718217182271823718247182571826718277182871829718307183171832718337183471835718367183771838718397184071841718427184371844718457184671847718487184971850718517185271853718547185571856718577185871859718607186171862718637186471865718667186771868718697187071871718727187371874718757187671877718787187971880718817188271883718847188571886718877188871889718907189171892718937189471895718967189771898718997190071901719027190371904719057190671907719087190971910719117191271913719147191571916719177191871919719207192171922719237192471925719267192771928719297193071931719327193371934719357193671937719387193971940719417194271943719447194571946719477194871949719507195171952719537195471955719567195771958719597196071961719627196371964719657196671967719687196971970719717197271973719747197571976719777197871979719807198171982719837198471985719867198771988719897199071991719927199371994719957199671997719987199972000720017200272003720047200572006720077200872009720107201172012720137201472015720167201772018720197202072021720227202372024720257202672027720287202972030720317203272033720347203572036720377203872039720407204172042720437204472045720467204772048720497205072051720527205372054720557205672057720587205972060720617206272063720647206572066720677206872069720707207172072720737207472075720767207772078720797208072081720827208372084720857208672087720887208972090720917209272093720947209572096720977209872099721007210172102721037210472105721067210772108721097211072111721127211372114721157211672117721187211972120721217212272123721247212572126721277212872129721307213172132721337213472135721367213772138721397214072141721427214372144721457214672147721487214972150721517215272153721547215572156721577215872159721607216172162721637216472165721667216772168721697217072171721727217372174721757217672177721787217972180721817218272183721847218572186721877218872189721907219172192721937219472195721967219772198721997220072201722027220372204722057220672207722087220972210722117221272213722147221572216722177221872219722207222172222722237222472225722267222772228722297223072231722327223372234722357223672237722387223972240722417224272243722447224572246722477224872249722507225172252722537225472255722567225772258722597226072261722627226372264722657226672267722687226972270722717227272273722747227572276722777227872279722807228172282722837228472285722867228772288722897229072291722927229372294722957229672297722987229972300723017230272303723047230572306723077230872309723107231172312723137231472315723167231772318723197232072321723227232372324723257232672327723287232972330723317233272333723347233572336723377233872339723407234172342723437234472345723467234772348723497235072351723527235372354723557235672357723587235972360723617236272363723647236572366723677236872369723707237172372723737237472375723767237772378723797238072381723827238372384723857238672387723887238972390723917239272393723947239572396723977239872399724007240172402724037240472405724067240772408724097241072411724127241372414724157241672417724187241972420724217242272423724247242572426724277242872429724307243172432724337243472435724367243772438724397244072441724427244372444724457244672447724487244972450724517245272453724547245572456724577245872459724607246172462724637246472465724667246772468724697247072471724727247372474724757247672477724787247972480724817248272483724847248572486724877248872489724907249172492724937249472495724967249772498724997250072501725027250372504725057250672507725087250972510725117251272513725147251572516725177251872519725207252172522725237252472525725267252772528725297253072531725327253372534725357253672537725387253972540725417254272543725447254572546725477254872549725507255172552725537255472555725567255772558725597256072561725627256372564725657256672567725687256972570725717257272573725747257572576725777257872579725807258172582725837258472585725867258772588725897259072591725927259372594725957259672597725987259972600726017260272603726047260572606726077260872609726107261172612726137261472615726167261772618726197262072621726227262372624726257262672627726287262972630726317263272633726347263572636726377263872639726407264172642726437264472645726467264772648726497265072651726527265372654726557265672657726587265972660726617266272663726647266572666726677266872669726707267172672726737267472675726767267772678726797268072681726827268372684726857268672687726887268972690726917269272693726947269572696726977269872699727007270172702727037270472705727067270772708727097271072711727127271372714727157271672717727187271972720727217272272723727247272572726727277272872729727307273172732727337273472735727367273772738727397274072741727427274372744727457274672747727487274972750727517275272753727547275572756727577275872759727607276172762727637276472765727667276772768727697277072771727727277372774727757277672777727787277972780727817278272783727847278572786727877278872789727907279172792727937279472795727967279772798727997280072801728027280372804728057280672807728087280972810728117281272813728147281572816728177281872819728207282172822728237282472825728267282772828728297283072831728327283372834728357283672837728387283972840728417284272843728447284572846728477284872849728507285172852728537285472855728567285772858728597286072861728627286372864728657286672867728687286972870728717287272873728747287572876728777287872879728807288172882728837288472885728867288772888728897289072891728927289372894728957289672897728987289972900729017290272903729047290572906729077290872909729107291172912729137291472915729167291772918729197292072921729227292372924729257292672927729287292972930729317293272933729347293572936729377293872939729407294172942729437294472945729467294772948729497295072951729527295372954729557295672957729587295972960729617296272963729647296572966729677296872969729707297172972729737297472975729767297772978729797298072981729827298372984729857298672987729887298972990729917299272993729947299572996729977299872999730007300173002730037300473005730067300773008730097301073011730127301373014730157301673017730187301973020730217302273023730247302573026730277302873029730307303173032730337303473035730367303773038730397304073041730427304373044730457304673047730487304973050730517305273053730547305573056730577305873059730607306173062730637306473065730667306773068730697307073071730727307373074730757307673077730787307973080730817308273083730847308573086730877308873089730907309173092730937309473095730967309773098730997310073101731027310373104731057310673107731087310973110731117311273113731147311573116731177311873119731207312173122731237312473125731267312773128731297313073131731327313373134731357313673137731387313973140731417314273143731447314573146731477314873149731507315173152731537315473155731567315773158731597316073161731627316373164731657316673167731687316973170731717317273173731747317573176731777317873179731807318173182731837318473185731867318773188731897319073191731927319373194731957319673197731987319973200732017320273203732047320573206732077320873209732107321173212732137321473215732167321773218732197322073221732227322373224732257322673227732287322973230732317323273233732347323573236732377323873239732407324173242732437324473245732467324773248732497325073251732527325373254732557325673257732587325973260732617326273263732647326573266732677326873269732707327173272732737327473275732767327773278732797328073281732827328373284732857328673287732887328973290732917329273293732947329573296732977329873299733007330173302733037330473305733067330773308733097331073311733127331373314733157331673317733187331973320733217332273323733247332573326733277332873329733307333173332733337333473335733367333773338733397334073341733427334373344733457334673347733487334973350733517335273353733547335573356733577335873359733607336173362733637336473365733667336773368733697337073371733727337373374733757337673377733787337973380733817338273383733847338573386733877338873389733907339173392733937339473395733967339773398733997340073401734027340373404734057340673407734087340973410734117341273413734147341573416734177341873419734207342173422734237342473425734267342773428734297343073431734327343373434734357343673437734387343973440734417344273443734447344573446734477344873449734507345173452734537345473455734567345773458734597346073461734627346373464734657346673467734687346973470734717347273473734747347573476734777347873479734807348173482734837348473485734867348773488734897349073491734927349373494734957349673497734987349973500735017350273503735047350573506735077350873509735107351173512735137351473515735167351773518735197352073521735227352373524735257352673527735287352973530735317353273533735347353573536735377353873539735407354173542735437354473545735467354773548735497355073551735527355373554735557355673557735587355973560735617356273563735647356573566735677356873569735707357173572735737357473575735767357773578735797358073581735827358373584735857358673587735887358973590735917359273593735947359573596735977359873599736007360173602736037360473605736067360773608736097361073611736127361373614736157361673617736187361973620736217362273623736247362573626736277362873629736307363173632736337363473635736367363773638736397364073641736427364373644736457364673647736487364973650736517365273653736547365573656736577365873659736607366173662736637366473665736667366773668736697367073671736727367373674736757367673677736787367973680736817368273683736847368573686736877368873689736907369173692736937369473695736967369773698736997370073701737027370373704737057370673707737087370973710737117371273713737147371573716737177371873719737207372173722737237372473725737267372773728737297373073731737327373373734737357373673737737387373973740737417374273743737447374573746737477374873749737507375173752737537375473755737567375773758737597376073761737627376373764737657376673767737687376973770737717377273773737747377573776737777377873779737807378173782737837378473785737867378773788737897379073791737927379373794737957379673797737987379973800738017380273803738047380573806738077380873809738107381173812738137381473815738167381773818738197382073821738227382373824738257382673827738287382973830738317383273833738347383573836738377383873839738407384173842738437384473845738467384773848738497385073851738527385373854738557385673857738587385973860738617386273863738647386573866738677386873869738707387173872738737387473875738767387773878738797388073881738827388373884738857388673887738887388973890738917389273893738947389573896738977389873899739007390173902739037390473905739067390773908739097391073911739127391373914739157391673917739187391973920739217392273923739247392573926739277392873929739307393173932739337393473935739367393773938739397394073941739427394373944739457394673947739487394973950739517395273953739547395573956739577395873959739607396173962739637396473965739667396773968739697397073971739727397373974739757397673977739787397973980739817398273983739847398573986739877398873989739907399173992739937399473995739967399773998739997400074001740027400374004740057400674007740087400974010740117401274013740147401574016740177401874019740207402174022740237402474025740267402774028740297403074031740327403374034740357403674037740387403974040740417404274043740447404574046740477404874049740507405174052740537405474055740567405774058740597406074061740627406374064740657406674067740687406974070740717407274073740747407574076740777407874079740807408174082740837408474085740867408774088740897409074091740927409374094740957409674097740987409974100741017410274103741047410574106741077410874109741107411174112741137411474115741167411774118741197412074121741227412374124741257412674127741287412974130741317413274133741347413574136741377413874139741407414174142741437414474145741467414774148741497415074151741527415374154741557415674157741587415974160741617416274163741647416574166741677416874169741707417174172741737417474175741767417774178741797418074181741827418374184741857418674187741887418974190741917419274193741947419574196741977419874199742007420174202742037420474205742067420774208742097421074211742127421374214742157421674217742187421974220742217422274223742247422574226742277422874229742307423174232742337423474235742367423774238742397424074241742427424374244742457424674247742487424974250742517425274253742547425574256742577425874259742607426174262742637426474265742667426774268742697427074271742727427374274742757427674277742787427974280742817428274283742847428574286742877428874289742907429174292742937429474295742967429774298742997430074301743027430374304743057430674307743087430974310743117431274313743147431574316743177431874319743207432174322743237432474325743267432774328743297433074331743327433374334743357433674337743387433974340743417434274343743447434574346743477434874349743507435174352743537435474355743567435774358743597436074361743627436374364743657436674367743687436974370743717437274373743747437574376743777437874379743807438174382743837438474385743867438774388743897439074391743927439374394743957439674397743987439974400744017440274403744047440574406744077440874409744107441174412744137441474415744167441774418744197442074421744227442374424744257442674427744287442974430744317443274433744347443574436744377443874439744407444174442744437444474445744467444774448744497445074451744527445374454744557445674457744587445974460744617446274463744647446574466744677446874469744707447174472744737447474475744767447774478744797448074481744827448374484744857448674487744887448974490744917449274493744947449574496744977449874499745007450174502745037450474505745067450774508745097451074511745127451374514745157451674517745187451974520745217452274523745247452574526745277452874529745307453174532745337453474535745367453774538745397454074541745427454374544745457454674547745487454974550745517455274553745547455574556745577455874559745607456174562745637456474565745667456774568745697457074571745727457374574745757457674577745787457974580745817458274583745847458574586745877458874589745907459174592745937459474595745967459774598745997460074601746027460374604746057460674607746087460974610746117461274613746147461574616746177461874619746207462174622746237462474625746267462774628746297463074631746327463374634746357463674637746387463974640746417464274643746447464574646746477464874649746507465174652746537465474655746567465774658746597466074661746627466374664746657466674667746687466974670746717467274673746747467574676746777467874679746807468174682746837468474685746867468774688746897469074691746927469374694746957469674697746987469974700747017470274703747047470574706747077470874709747107471174712747137471474715747167471774718747197472074721747227472374724747257472674727747287472974730747317473274733747347473574736747377473874739747407474174742747437474474745747467474774748747497475074751747527475374754747557475674757747587475974760747617476274763747647476574766747677476874769747707477174772747737477474775747767477774778747797478074781747827478374784747857478674787747887478974790747917479274793747947479574796747977479874799748007480174802748037480474805748067480774808748097481074811748127481374814748157481674817748187481974820748217482274823748247482574826748277482874829748307483174832748337483474835748367483774838748397484074841748427484374844748457484674847748487484974850748517485274853748547485574856748577485874859748607486174862748637486474865748667486774868748697487074871748727487374874748757487674877748787487974880748817488274883748847488574886748877488874889748907489174892748937489474895748967489774898748997490074901749027490374904749057490674907749087490974910749117491274913749147491574916749177491874919749207492174922749237492474925749267492774928749297493074931749327493374934749357493674937749387493974940749417494274943749447494574946749477494874949749507495174952749537495474955749567495774958749597496074961749627496374964749657496674967749687496974970749717497274973749747497574976749777497874979749807498174982749837498474985749867498774988749897499074991749927499374994749957499674997749987499975000750017500275003750047500575006750077500875009750107501175012750137501475015750167501775018750197502075021750227502375024750257502675027750287502975030750317503275033750347503575036750377503875039750407504175042750437504475045750467504775048750497505075051750527505375054750557505675057750587505975060750617506275063750647506575066750677506875069750707507175072750737507475075750767507775078750797508075081750827508375084750857508675087750887508975090750917509275093750947509575096750977509875099751007510175102751037510475105751067510775108751097511075111751127511375114751157511675117751187511975120751217512275123751247512575126751277512875129751307513175132751337513475135751367513775138751397514075141751427514375144751457514675147751487514975150751517515275153751547515575156751577515875159751607516175162751637516475165751667516775168751697517075171751727517375174751757517675177751787517975180751817518275183751847518575186751877518875189751907519175192751937519475195751967519775198751997520075201752027520375204752057520675207752087520975210752117521275213752147521575216752177521875219752207522175222752237522475225752267522775228752297523075231752327523375234752357523675237752387523975240752417524275243752447524575246752477524875249752507525175252752537525475255752567525775258752597526075261752627526375264752657526675267752687526975270752717527275273752747527575276752777527875279752807528175282752837528475285752867528775288752897529075291752927529375294752957529675297752987529975300753017530275303753047530575306753077530875309753107531175312753137531475315753167531775318753197532075321753227532375324753257532675327753287532975330753317533275333753347533575336753377533875339753407534175342753437534475345753467534775348753497535075351753527535375354753557535675357753587535975360753617536275363753647536575366753677536875369753707537175372753737537475375753767537775378753797538075381753827538375384753857538675387753887538975390753917539275393753947539575396753977539875399754007540175402754037540475405754067540775408754097541075411754127541375414754157541675417754187541975420754217542275423754247542575426754277542875429754307543175432754337543475435754367543775438754397544075441754427544375444754457544675447754487544975450754517545275453754547545575456754577545875459754607546175462754637546475465754667546775468754697547075471754727547375474754757547675477754787547975480754817548275483754847548575486754877548875489754907549175492754937549475495754967549775498754997550075501755027550375504755057550675507755087550975510755117551275513755147551575516755177551875519755207552175522755237552475525755267552775528755297553075531755327553375534755357553675537755387553975540755417554275543755447554575546755477554875549755507555175552755537555475555755567555775558755597556075561755627556375564755657556675567755687556975570755717557275573755747557575576755777557875579755807558175582755837558475585755867558775588755897559075591755927559375594755957559675597755987559975600756017560275603756047560575606756077560875609756107561175612756137561475615756167561775618756197562075621756227562375624756257562675627756287562975630756317563275633756347563575636756377563875639756407564175642756437564475645756467564775648756497565075651756527565375654756557565675657756587565975660756617566275663756647566575666756677566875669756707567175672756737567475675756767567775678756797568075681756827568375684756857568675687756887568975690756917569275693756947569575696756977569875699757007570175702757037570475705757067570775708757097571075711757127571375714757157571675717757187571975720757217572275723757247572575726757277572875729757307573175732757337573475735757367573775738757397574075741757427574375744757457574675747757487574975750757517575275753757547575575756757577575875759757607576175762757637576475765757667576775768757697577075771757727577375774757757577675777757787577975780757817578275783757847578575786757877578875789757907579175792757937579475795757967579775798757997580075801758027580375804758057580675807758087580975810758117581275813758147581575816758177581875819758207582175822758237582475825758267582775828758297583075831758327583375834758357583675837758387583975840758417584275843758447584575846758477584875849758507585175852758537585475855758567585775858758597586075861758627586375864758657586675867758687586975870758717587275873758747587575876758777587875879758807588175882758837588475885758867588775888758897589075891758927589375894758957589675897758987589975900759017590275903759047590575906759077590875909759107591175912759137591475915759167591775918759197592075921759227592375924759257592675927759287592975930759317593275933759347593575936759377593875939759407594175942759437594475945759467594775948759497595075951759527595375954759557595675957759587595975960759617596275963759647596575966759677596875969759707597175972759737597475975759767597775978759797598075981759827598375984759857598675987759887598975990759917599275993759947599575996759977599875999760007600176002760037600476005760067600776008760097601076011760127601376014760157601676017760187601976020760217602276023760247602576026760277602876029760307603176032760337603476035760367603776038760397604076041760427604376044760457604676047760487604976050760517605276053760547605576056760577605876059760607606176062760637606476065760667606776068760697607076071760727607376074760757607676077760787607976080760817608276083760847608576086760877608876089760907609176092760937609476095760967609776098760997610076101761027610376104761057610676107761087610976110761117611276113761147611576116761177611876119761207612176122761237612476125761267612776128761297613076131761327613376134761357613676137761387613976140761417614276143761447614576146761477614876149761507615176152761537615476155761567615776158761597616076161761627616376164761657616676167761687616976170761717617276173761747617576176761777617876179761807618176182761837618476185761867618776188761897619076191761927619376194761957619676197761987619976200762017620276203762047620576206762077620876209762107621176212762137621476215762167621776218762197622076221762227622376224762257622676227762287622976230762317623276233762347623576236762377623876239762407624176242762437624476245762467624776248762497625076251762527625376254762557625676257762587625976260762617626276263762647626576266762677626876269762707627176272762737627476275762767627776278762797628076281762827628376284762857628676287762887628976290762917629276293762947629576296762977629876299763007630176302763037630476305763067630776308763097631076311763127631376314763157631676317763187631976320763217632276323763247632576326763277632876329763307633176332763337633476335763367633776338763397634076341763427634376344763457634676347763487634976350763517635276353763547635576356763577635876359763607636176362763637636476365763667636776368763697637076371763727637376374763757637676377763787637976380763817638276383763847638576386763877638876389763907639176392763937639476395763967639776398763997640076401764027640376404764057640676407764087640976410764117641276413764147641576416764177641876419764207642176422764237642476425764267642776428764297643076431764327643376434764357643676437764387643976440764417644276443764447644576446764477644876449764507645176452764537645476455764567645776458764597646076461764627646376464764657646676467764687646976470764717647276473764747647576476764777647876479764807648176482764837648476485764867648776488764897649076491764927649376494764957649676497764987649976500765017650276503765047650576506765077650876509765107651176512765137651476515765167651776518765197652076521765227652376524765257652676527765287652976530765317653276533765347653576536765377653876539765407654176542765437654476545765467654776548765497655076551765527655376554765557655676557765587655976560765617656276563765647656576566765677656876569765707657176572765737657476575765767657776578765797658076581765827658376584765857658676587765887658976590765917659276593765947659576596765977659876599766007660176602766037660476605766067660776608766097661076611766127661376614766157661676617766187661976620766217662276623766247662576626766277662876629766307663176632766337663476635766367663776638766397664076641766427664376644766457664676647766487664976650766517665276653766547665576656766577665876659766607666176662766637666476665766667666776668766697667076671766727667376674766757667676677766787667976680766817668276683766847668576686766877668876689766907669176692766937669476695766967669776698766997670076701767027670376704767057670676707767087670976710767117671276713767147671576716767177671876719767207672176722767237672476725767267672776728767297673076731767327673376734767357673676737767387673976740767417674276743767447674576746767477674876749767507675176752767537675476755767567675776758767597676076761767627676376764767657676676767767687676976770767717677276773767747677576776767777677876779767807678176782767837678476785767867678776788767897679076791767927679376794767957679676797767987679976800768017680276803768047680576806768077680876809768107681176812768137681476815768167681776818768197682076821768227682376824768257682676827768287682976830768317683276833768347683576836768377683876839768407684176842768437684476845768467684776848768497685076851768527685376854768557685676857768587685976860768617686276863768647686576866768677686876869768707687176872768737687476875768767687776878768797688076881768827688376884768857688676887768887688976890768917689276893768947689576896768977689876899769007690176902769037690476905769067690776908769097691076911769127691376914769157691676917769187691976920769217692276923769247692576926769277692876929769307693176932769337693476935769367693776938769397694076941769427694376944769457694676947769487694976950769517695276953769547695576956769577695876959769607696176962769637696476965769667696776968769697697076971769727697376974769757697676977769787697976980769817698276983769847698576986769877698876989769907699176992769937699476995769967699776998769997700077001770027700377004770057700677007770087700977010770117701277013770147701577016770177701877019770207702177022770237702477025770267702777028770297703077031770327703377034770357703677037770387703977040770417704277043770447704577046770477704877049770507705177052770537705477055770567705777058770597706077061770627706377064770657706677067770687706977070770717707277073770747707577076770777707877079770807708177082770837708477085770867708777088770897709077091770927709377094770957709677097770987709977100771017710277103771047710577106771077710877109771107711177112771137711477115771167711777118771197712077121771227712377124771257712677127771287712977130771317713277133771347713577136771377713877139771407714177142771437714477145771467714777148771497715077151771527715377154771557715677157771587715977160771617716277163771647716577166771677716877169771707717177172771737717477175771767717777178771797718077181771827718377184771857718677187771887718977190771917719277193771947719577196771977719877199772007720177202772037720477205772067720777208772097721077211772127721377214772157721677217772187721977220772217722277223772247722577226772277722877229772307723177232772337723477235772367723777238772397724077241772427724377244772457724677247772487724977250772517725277253772547725577256772577725877259772607726177262772637726477265772667726777268772697727077271772727727377274772757727677277772787727977280772817728277283772847728577286772877728877289772907729177292772937729477295772967729777298772997730077301773027730377304773057730677307773087730977310773117731277313773147731577316773177731877319773207732177322773237732477325773267732777328773297733077331773327733377334773357733677337773387733977340773417734277343773447734577346773477734877349773507735177352773537735477355773567735777358773597736077361773627736377364773657736677367773687736977370773717737277373773747737577376773777737877379773807738177382773837738477385773867738777388773897739077391773927739377394773957739677397773987739977400774017740277403774047740577406774077740877409774107741177412774137741477415774167741777418774197742077421774227742377424774257742677427774287742977430774317743277433774347743577436774377743877439774407744177442774437744477445774467744777448774497745077451774527745377454774557745677457774587745977460774617746277463774647746577466774677746877469774707747177472774737747477475774767747777478774797748077481774827748377484774857748677487774887748977490774917749277493774947749577496774977749877499775007750177502775037750477505775067750777508775097751077511775127751377514775157751677517775187751977520775217752277523775247752577526775277752877529775307753177532775337753477535775367753777538775397754077541775427754377544775457754677547775487754977550775517755277553775547755577556775577755877559775607756177562775637756477565775667756777568775697757077571775727757377574775757757677577775787757977580775817758277583775847758577586775877758877589775907759177592775937759477595775967759777598775997760077601776027760377604776057760677607776087760977610776117761277613776147761577616776177761877619776207762177622776237762477625776267762777628776297763077631776327763377634776357763677637776387763977640776417764277643776447764577646776477764877649776507765177652776537765477655776567765777658776597766077661776627766377664776657766677667776687766977670776717767277673776747767577676776777767877679776807768177682776837768477685776867768777688776897769077691776927769377694776957769677697776987769977700777017770277703777047770577706777077770877709777107771177712777137771477715777167771777718777197772077721777227772377724777257772677727777287772977730777317773277733777347773577736777377773877739777407774177742777437774477745777467774777748777497775077751777527775377754777557775677757777587775977760777617776277763777647776577766777677776877769777707777177772777737777477775777767777777778777797778077781777827778377784777857778677787777887778977790777917779277793777947779577796777977779877799778007780177802778037780477805778067780777808778097781077811778127781377814778157781677817778187781977820778217782277823778247782577826778277782877829778307783177832778337783477835778367783777838778397784077841778427784377844778457784677847778487784977850778517785277853778547785577856778577785877859778607786177862778637786477865778667786777868778697787077871778727787377874778757787677877778787787977880778817788277883778847788577886778877788877889778907789177892778937789477895778967789777898778997790077901779027790377904779057790677907779087790977910779117791277913779147791577916779177791877919779207792177922779237792477925779267792777928779297793077931779327793377934779357793677937779387793977940779417794277943779447794577946779477794877949779507795177952779537795477955779567795777958779597796077961779627796377964779657796677967779687796977970779717797277973779747797577976779777797877979779807798177982779837798477985779867798777988779897799077991779927799377994779957799677997779987799978000780017800278003780047800578006780077800878009780107801178012780137801478015780167801778018780197802078021780227802378024780257802678027780287802978030780317803278033780347803578036780377803878039780407804178042780437804478045780467804778048780497805078051780527805378054780557805678057780587805978060780617806278063780647806578066780677806878069780707807178072780737807478075780767807778078780797808078081780827808378084780857808678087780887808978090780917809278093780947809578096780977809878099781007810178102781037810478105781067810778108781097811078111781127811378114781157811678117781187811978120781217812278123781247812578126781277812878129781307813178132781337813478135781367813778138781397814078141781427814378144781457814678147781487814978150781517815278153781547815578156781577815878159781607816178162781637816478165781667816778168781697817078171781727817378174781757817678177781787817978180781817818278183781847818578186781877818878189781907819178192781937819478195781967819778198781997820078201782027820378204782057820678207782087820978210782117821278213782147821578216782177821878219782207822178222782237822478225782267822778228782297823078231782327823378234782357823678237782387823978240782417824278243782447824578246782477824878249782507825178252782537825478255782567825778258782597826078261782627826378264782657826678267782687826978270782717827278273782747827578276782777827878279782807828178282782837828478285782867828778288782897829078291782927829378294782957829678297782987829978300783017830278303783047830578306783077830878309783107831178312783137831478315783167831778318783197832078321783227832378324783257832678327783287832978330783317833278333783347833578336783377833878339783407834178342783437834478345783467834778348783497835078351783527835378354783557835678357783587835978360783617836278363783647836578366783677836878369783707837178372783737837478375783767837778378783797838078381783827838378384783857838678387783887838978390783917839278393783947839578396783977839878399784007840178402784037840478405784067840778408784097841078411784127841378414784157841678417784187841978420784217842278423784247842578426784277842878429784307843178432784337843478435784367843778438784397844078441784427844378444784457844678447784487844978450784517845278453784547845578456784577845878459784607846178462784637846478465784667846778468784697847078471784727847378474784757847678477784787847978480784817848278483784847848578486784877848878489784907849178492784937849478495784967849778498784997850078501785027850378504785057850678507785087850978510785117851278513785147851578516785177851878519785207852178522785237852478525785267852778528785297853078531785327853378534785357853678537785387853978540785417854278543785447854578546785477854878549785507855178552785537855478555785567855778558785597856078561785627856378564785657856678567785687856978570785717857278573785747857578576785777857878579785807858178582785837858478585785867858778588785897859078591785927859378594785957859678597785987859978600786017860278603786047860578606786077860878609786107861178612786137861478615786167861778618786197862078621786227862378624786257862678627786287862978630786317863278633786347863578636786377863878639786407864178642786437864478645786467864778648786497865078651786527865378654786557865678657786587865978660786617866278663786647866578666786677866878669786707867178672786737867478675786767867778678786797868078681786827868378684786857868678687786887868978690786917869278693786947869578696786977869878699787007870178702787037870478705787067870778708787097871078711787127871378714787157871678717787187871978720787217872278723787247872578726787277872878729787307873178732787337873478735787367873778738787397874078741787427874378744787457874678747787487874978750787517875278753787547875578756787577875878759787607876178762787637876478765787667876778768787697877078771787727877378774787757877678777787787877978780787817878278783787847878578786787877878878789787907879178792787937879478795787967879778798787997880078801788027880378804788057880678807788087880978810788117881278813788147881578816788177881878819788207882178822788237882478825788267882778828788297883078831788327883378834788357883678837788387883978840788417884278843788447884578846788477884878849788507885178852788537885478855788567885778858788597886078861788627886378864788657886678867788687886978870788717887278873788747887578876788777887878879788807888178882788837888478885788867888778888788897889078891788927889378894788957889678897788987889978900789017890278903789047890578906789077890878909789107891178912789137891478915789167891778918789197892078921789227892378924789257892678927789287892978930789317893278933789347893578936789377893878939789407894178942789437894478945789467894778948789497895078951789527895378954789557895678957789587895978960789617896278963789647896578966789677896878969789707897178972789737897478975789767897778978789797898078981789827898378984789857898678987789887898978990789917899278993789947899578996789977899878999790007900179002790037900479005790067900779008790097901079011790127901379014790157901679017790187901979020790217902279023790247902579026790277902879029790307903179032790337903479035790367903779038790397904079041790427904379044790457904679047790487904979050790517905279053790547905579056790577905879059790607906179062790637906479065790667906779068790697907079071790727907379074790757907679077790787907979080790817908279083790847908579086790877908879089790907909179092790937909479095790967909779098790997910079101791027910379104791057910679107791087910979110791117911279113791147911579116791177911879119791207912179122791237912479125791267912779128791297913079131791327913379134791357913679137791387913979140791417914279143791447914579146791477914879149791507915179152791537915479155791567915779158791597916079161791627916379164791657916679167791687916979170791717917279173791747917579176791777917879179791807918179182791837918479185791867918779188791897919079191791927919379194791957919679197791987919979200792017920279203792047920579206792077920879209792107921179212792137921479215792167921779218792197922079221792227922379224792257922679227792287922979230792317923279233792347923579236792377923879239792407924179242792437924479245792467924779248792497925079251792527925379254792557925679257792587925979260792617926279263792647926579266792677926879269792707927179272792737927479275792767927779278792797928079281792827928379284792857928679287792887928979290792917929279293792947929579296792977929879299793007930179302793037930479305793067930779308793097931079311793127931379314793157931679317793187931979320793217932279323793247932579326793277932879329793307933179332793337933479335793367933779338793397934079341793427934379344793457934679347793487934979350793517935279353793547935579356793577935879359793607936179362793637936479365793667936779368793697937079371793727937379374793757937679377793787937979380793817938279383793847938579386793877938879389793907939179392793937939479395793967939779398793997940079401794027940379404794057940679407794087940979410794117941279413794147941579416794177941879419794207942179422794237942479425794267942779428794297943079431794327943379434794357943679437794387943979440794417944279443794447944579446794477944879449794507945179452794537945479455794567945779458794597946079461794627946379464794657946679467794687946979470794717947279473794747947579476794777947879479794807948179482794837948479485794867948779488794897949079491794927949379494794957949679497794987949979500795017950279503795047950579506795077950879509795107951179512795137951479515795167951779518795197952079521795227952379524795257952679527795287952979530795317953279533795347953579536795377953879539795407954179542795437954479545795467954779548795497955079551795527955379554795557955679557795587955979560795617956279563795647956579566795677956879569795707957179572795737957479575795767957779578795797958079581795827958379584795857958679587795887958979590795917959279593795947959579596795977959879599796007960179602796037960479605796067960779608796097961079611796127961379614796157961679617796187961979620796217962279623796247962579626796277962879629796307963179632796337963479635796367963779638796397964079641796427964379644796457964679647796487964979650796517965279653796547965579656796577965879659796607966179662796637966479665796667966779668796697967079671796727967379674796757967679677796787967979680796817968279683796847968579686796877968879689796907969179692796937969479695796967969779698796997970079701797027970379704797057970679707797087970979710797117971279713797147971579716797177971879719797207972179722797237972479725797267972779728797297973079731797327973379734797357973679737797387973979740797417974279743797447974579746797477974879749797507975179752797537975479755797567975779758797597976079761797627976379764797657976679767797687976979770797717977279773797747977579776797777977879779797807978179782797837978479785797867978779788797897979079791797927979379794797957979679797797987979979800798017980279803798047980579806798077980879809798107981179812798137981479815798167981779818798197982079821798227982379824798257982679827798287982979830798317983279833798347983579836798377983879839798407984179842798437984479845798467984779848798497985079851798527985379854798557985679857798587985979860798617986279863798647986579866798677986879869798707987179872798737987479875798767987779878798797988079881798827988379884798857988679887798887988979890798917989279893798947989579896798977989879899799007990179902799037990479905799067990779908799097991079911799127991379914799157991679917799187991979920799217992279923799247992579926799277992879929799307993179932799337993479935799367993779938799397994079941799427994379944799457994679947799487994979950799517995279953799547995579956799577995879959799607996179962799637996479965799667996779968799697997079971799727997379974799757997679977799787997979980799817998279983799847998579986799877998879989799907999179992799937999479995799967999779998799998000080001800028000380004800058000680007800088000980010800118001280013800148001580016800178001880019800208002180022800238002480025800268002780028800298003080031800328003380034800358003680037800388003980040800418004280043800448004580046800478004880049800508005180052800538005480055800568005780058800598006080061800628006380064800658006680067800688006980070800718007280073800748007580076800778007880079800808008180082800838008480085800868008780088800898009080091800928009380094800958009680097800988009980100801018010280103801048010580106801078010880109801108011180112801138011480115801168011780118801198012080121801228012380124801258012680127801288012980130801318013280133801348013580136801378013880139801408014180142801438014480145801468014780148801498015080151801528015380154801558015680157801588015980160801618016280163801648016580166801678016880169801708017180172801738017480175801768017780178801798018080181801828018380184801858018680187801888018980190801918019280193801948019580196801978019880199802008020180202802038020480205802068020780208802098021080211802128021380214802158021680217802188021980220802218022280223802248022580226802278022880229802308023180232802338023480235802368023780238802398024080241802428024380244802458024680247802488024980250802518025280253802548025580256802578025880259802608026180262802638026480265802668026780268802698027080271802728027380274802758027680277802788027980280802818028280283802848028580286802878028880289802908029180292802938029480295802968029780298802998030080301803028030380304803058030680307803088030980310803118031280313803148031580316803178031880319803208032180322803238032480325803268032780328803298033080331803328033380334803358033680337803388033980340803418034280343803448034580346803478034880349803508035180352803538035480355803568035780358803598036080361803628036380364803658036680367803688036980370803718037280373803748037580376803778037880379803808038180382803838038480385803868038780388803898039080391803928039380394803958039680397803988039980400804018040280403804048040580406804078040880409804108041180412804138041480415804168041780418804198042080421804228042380424804258042680427804288042980430804318043280433804348043580436804378043880439804408044180442804438044480445804468044780448804498045080451804528045380454804558045680457804588045980460804618046280463804648046580466804678046880469804708047180472804738047480475804768047780478804798048080481804828048380484804858048680487804888048980490804918049280493804948049580496804978049880499805008050180502805038050480505805068050780508805098051080511805128051380514805158051680517805188051980520805218052280523805248052580526805278052880529805308053180532805338053480535805368053780538805398054080541805428054380544805458054680547805488054980550805518055280553805548055580556805578055880559805608056180562805638056480565805668056780568805698057080571805728057380574805758057680577805788057980580805818058280583805848058580586805878058880589805908059180592805938059480595805968059780598805998060080601806028060380604806058060680607806088060980610806118061280613806148061580616806178061880619806208062180622806238062480625806268062780628806298063080631806328063380634806358063680637806388063980640806418064280643806448064580646806478064880649806508065180652806538065480655806568065780658806598066080661806628066380664806658066680667806688066980670806718067280673806748067580676806778067880679806808068180682806838068480685806868068780688806898069080691806928069380694806958069680697806988069980700807018070280703807048070580706807078070880709807108071180712807138071480715807168071780718807198072080721807228072380724807258072680727807288072980730807318073280733807348073580736807378073880739807408074180742807438074480745807468074780748807498075080751807528075380754807558075680757807588075980760807618076280763807648076580766807678076880769807708077180772807738077480775807768077780778807798078080781807828078380784807858078680787807888078980790807918079280793807948079580796807978079880799808008080180802808038080480805808068080780808808098081080811808128081380814808158081680817808188081980820808218082280823808248082580826808278082880829808308083180832808338083480835808368083780838808398084080841808428084380844808458084680847808488084980850808518085280853808548085580856808578085880859808608086180862808638086480865808668086780868808698087080871808728087380874808758087680877808788087980880808818088280883808848088580886808878088880889808908089180892808938089480895808968089780898808998090080901809028090380904809058090680907809088090980910809118091280913809148091580916809178091880919809208092180922809238092480925809268092780928809298093080931809328093380934809358093680937809388093980940809418094280943809448094580946809478094880949809508095180952809538095480955809568095780958809598096080961809628096380964809658096680967809688096980970809718097280973809748097580976809778097880979809808098180982809838098480985809868098780988809898099080991809928099380994809958099680997809988099981000810018100281003810048100581006810078100881009810108101181012810138101481015810168101781018810198102081021810228102381024810258102681027810288102981030810318103281033810348103581036810378103881039810408104181042810438104481045810468104781048810498105081051810528105381054810558105681057810588105981060810618106281063810648106581066810678106881069810708107181072810738107481075810768107781078810798108081081810828108381084810858108681087810888108981090810918109281093810948109581096810978109881099811008110181102811038110481105811068110781108811098111081111811128111381114811158111681117811188111981120811218112281123811248112581126811278112881129811308113181132811338113481135811368113781138811398114081141811428114381144811458114681147811488114981150811518115281153811548115581156811578115881159811608116181162811638116481165811668116781168811698117081171811728117381174811758117681177811788117981180811818118281183811848118581186811878118881189811908119181192811938119481195811968119781198811998120081201812028120381204812058120681207812088120981210812118121281213812148121581216812178121881219812208122181222812238122481225812268122781228812298123081231812328123381234812358123681237812388123981240812418124281243812448124581246812478124881249812508125181252812538125481255812568125781258812598126081261812628126381264812658126681267812688126981270812718127281273812748127581276812778127881279812808128181282812838128481285812868128781288812898129081291812928129381294812958129681297812988129981300813018130281303813048130581306813078130881309813108131181312813138131481315813168131781318813198132081321813228132381324813258132681327813288132981330813318133281333813348133581336813378133881339813408134181342813438134481345813468134781348813498135081351813528135381354813558135681357813588135981360813618136281363813648136581366813678136881369813708137181372813738137481375813768137781378813798138081381813828138381384813858138681387813888138981390813918139281393813948139581396813978139881399814008140181402814038140481405814068140781408814098141081411814128141381414814158141681417814188141981420814218142281423814248142581426814278142881429814308143181432814338143481435814368143781438814398144081441814428144381444814458144681447814488144981450814518145281453814548145581456814578145881459814608146181462814638146481465814668146781468814698147081471814728147381474814758147681477814788147981480814818148281483814848148581486814878148881489814908149181492814938149481495814968149781498814998150081501815028150381504815058150681507815088150981510815118151281513815148151581516815178151881519815208152181522815238152481525815268152781528815298153081531815328153381534815358153681537815388153981540815418154281543815448154581546815478154881549815508155181552815538155481555815568155781558815598156081561815628156381564815658156681567815688156981570815718157281573815748157581576815778157881579815808158181582815838158481585815868158781588815898159081591815928159381594815958159681597815988159981600816018160281603816048160581606816078160881609816108161181612816138161481615816168161781618816198162081621816228162381624816258162681627816288162981630816318163281633816348163581636816378163881639816408164181642816438164481645816468164781648816498165081651816528165381654816558165681657816588165981660816618166281663816648166581666816678166881669816708167181672816738167481675816768167781678816798168081681816828168381684816858168681687816888168981690816918169281693816948169581696816978169881699817008170181702817038170481705817068170781708817098171081711817128171381714817158171681717817188171981720817218172281723817248172581726817278172881729817308173181732817338173481735817368173781738817398174081741817428174381744817458174681747817488174981750817518175281753817548175581756817578175881759817608176181762817638176481765817668176781768817698177081771817728177381774817758177681777817788177981780817818178281783817848178581786817878178881789817908179181792817938179481795817968179781798817998180081801818028180381804818058180681807818088180981810818118181281813818148181581816818178181881819818208182181822818238182481825818268182781828818298183081831818328183381834818358183681837818388183981840818418184281843818448184581846818478184881849818508185181852818538185481855818568185781858818598186081861818628186381864818658186681867818688186981870818718187281873818748187581876818778187881879818808188181882818838188481885818868188781888818898189081891818928189381894818958189681897818988189981900819018190281903819048190581906819078190881909819108191181912819138191481915819168191781918819198192081921819228192381924819258192681927819288192981930819318193281933819348193581936819378193881939819408194181942819438194481945819468194781948819498195081951819528195381954819558195681957819588195981960819618196281963819648196581966819678196881969819708197181972819738197481975819768197781978819798198081981819828198381984819858198681987819888198981990819918199281993819948199581996819978199881999820008200182002820038200482005820068200782008820098201082011820128201382014820158201682017820188201982020820218202282023820248202582026820278202882029820308203182032820338203482035820368203782038820398204082041820428204382044820458204682047820488204982050820518205282053820548205582056820578205882059820608206182062820638206482065820668206782068820698207082071820728207382074820758207682077820788207982080820818208282083820848208582086820878208882089820908209182092820938209482095820968209782098820998210082101821028210382104821058210682107821088210982110821118211282113821148211582116821178211882119821208212182122821238212482125821268212782128821298213082131821328213382134821358213682137821388213982140821418214282143821448214582146821478214882149821508215182152821538215482155821568215782158821598216082161821628216382164821658216682167821688216982170821718217282173821748217582176821778217882179821808218182182821838218482185821868218782188821898219082191821928219382194821958219682197821988219982200822018220282203822048220582206
  1. 2008-08-10 Dan Bernstein <mitz@apple.com>
  2. Reviewed by Eric Seidel.
  3. - fix https://bugs.webkit.org/show_bug.cgi?id=20339
  4. REGRESSION (r35531-r35615): Acid3 crashes on Windows in CachedFont::getSVGFontById
  5. * dom/make_names.pl: Removed "using namespace WebCore::*Names"
  6. from *ElementFactory.cpp files.
  7. 2008-08-10 Mark Rowe <mrowe@apple.com>
  8. Reviewed by Cameron Zwarich.
  9. Fix crash in Acid3 in Windows and Gtk ports, introduced in r35590.
  10. * bindings/js/ScriptControllerGtk.cpp: Fix the logic.
  11. * bindings/js/ScriptControllerWin.cpp: Ditto.
  12. * bindings/js/ScriptControllerQt.cpp: Switch to isPluginView for consistency with Gtk and Windows.
  13. 2008-08-10 Dan Bernstein <mitz@apple.com>
  14. Reviewed by Darin Adler.
  15. - fix <rdar://problem/6074587> REGRESSION (34722): Unable to view AT&T wireless bill - window title contains markup, window is empty
  16. Test: fast/tokenizer/ampersand-in-special-tag.html
  17. * html/HTMLTokenizer.cpp:
  18. (WebCore::HTMLTokenizer::parseSpecial): Changed to only advance
  19. lastDecodedEntityPosition if an entity was found and decoded.
  20. 2008-08-10 Jan Michael Alonzo <jmalonzo@webkit.org>
  21. Reviewed (and updated) by Alp Toker.
  22. https://bugs.webkit.org/show_bug.cgi?id=16620
  23. [GTK] Autotools make dist and make check support
  24. Get make dist working.
  25. Note that not all possible configurations have been tested yet.
  26. * GNUmakefile.am:
  27. 2008-08-08 Beth Dakin <bdakin@apple.com>
  28. Reviewed by Darin.
  29. This patch makes the findString and markAllMatchesForText functions
  30. work with disconnected frames that are contained within
  31. overflow:hidden blocks.
  32. * editing/Editor.cpp:
  33. (WebCore::Editor::rangeVisibility):
  34. (WebCore::Editor::firstVisibleRange):
  35. (WebCore::Editor::lastVisibleRange):
  36. * editing/Editor.h:
  37. (WebCore::Editor::):
  38. * page/Frame.cpp:
  39. (WebCore::Frame::findString):
  40. (WebCore::Frame::markAllMatchesForText):
  41. 2008-08-08 Maxime Britto <britto@apple.com>
  42. Reviewed by Adele.
  43. Test: fast/events/scroll-to-anchor-in-overflow-hidden.html
  44. https://bugs.webkit.org/show_bug.cgi?id=20270
  45. Jump to an anchor wasn't working when the overflow:hidden CSS attribute was set on the page.
  46. * WebCore.base.exp:
  47. * dom/Element.cpp:
  48. (WebCore::Element::scrollIntoView):
  49. (WebCore::Element::scrollIntoViewIfNeeded):
  50. * loader/FrameLoader.cpp:
  51. (WebCore::FrameLoader::gotoAnchor):
  52. * page/EventHandler.cpp:
  53. (WebCore::EventHandler::handleMousePressEvent):
  54. (WebCore::EventHandler::handleMouseDraggedEvent):
  55. * page/Frame.cpp:
  56. (WebCore::Frame::revealSelection):
  57. (WebCore::Frame::revealCaret):
  58. * rendering/RenderLayer.cpp:
  59. (WebCore::RenderLayer::scrollRectToVisible): Takes a new parameter "scrollToAnchor" since it's a special case of scroll. It passes this new bool to canBeProgrammaticallyScrolled.
  60. (WebCore::RenderLayer::autoscroll):
  61. * rendering/RenderLayer.h:
  62. * rendering/RenderListBox.h:
  63. (WebCore::RenderListBox::canBeProgramaticallyScrolled):
  64. * rendering/RenderObject.cpp:
  65. (WebCore::RenderObject::canBeProgramaticallyScrolled): If the call is coming from a scrollToAnchor we don't need scrollBars to accept.
  66. * rendering/RenderObject.h:
  67. * rendering/RenderTextControl.h:
  68. (WebCore::RenderTextControl::canBeProgramaticallyScrolled):
  69. 2008-08-08 Maxime Britto <britto@apple.com>
  70. Reviewed by Adele.
  71. <rdar://problem/6137022>
  72. <https://bugs.webkit.org/show_bug.cgi?id=20331>
  73. REGRESSION(r35177-r35203): Scrolling slowly over a scrollable field scrolls the page instead of the field (20331)
  74. * page/EventHandler.cpp:
  75. (WebCore::scrollAndAcceptEvent): fixed the wrong cast for the wheel delta which was truncated to 0 on slow wheel scrolls.
  76. 2008-08-08 Dean Jackson <dino@apple.com>
  77. Execute CSS Animations using new AnimationController
  78. https://bugs.webkit.org/show_bug.cgi?id=20119
  79. I still need to file some follow-on bugs that EricS noticed.
  80. Reviewed by Dave Hyatt
  81. Some new tests:
  82. * manual-tests/animate-duration.html: Added.
  83. * manual-tests/animate-left.html: Added.
  84. * manual-tests/animate-none.html: Added.
  85. * css/CSSStyleSelector.cpp:
  86. * dom/Document.cpp:
  87. - don't redo style when page is place into cache
  88. * page/AnimationController.cpp:
  89. * page/AnimationController.h:
  90. - execute the animations
  91. * rendering/RenderObject.cpp:
  92. * rendering/style/RenderStyle.h:
  93. - make border radii const (for blending)
  94. 2008-08-08 Kevin McCullough <kmccullough@apple.com>
  95. Reviewed by Tim.
  96. <rdar://problem/6136326> JSProfiler: Start/stop profiling button in the
  97. Web Inspector does not match the menu.
  98. * page/InspectorController.cpp:
  99. (WebCore::InspectorController::toggleRecordButton): Toggle the record
  100. button in the webInspector.
  101. (WebCore::InspectorController::startUserInitiatedProfiling):
  102. (WebCore::InspectorController::stopUserInitiatedProfiling):
  103. * page/InspectorController.h:
  104. * page/inspector/ProfilesPanel.js: Move the UI part of the record button
  105. into its funtion so that it can be called from the Inspector controller.
  106. * page/inspector/inspector.js:
  107. 2008-08-08 Kevin McCullough <kmccullough@apple.com>
  108. Reviewed by Tim.
  109. <rdar://problem/6131187> Profiles don't show up immediately when run
  110. with the UI.
  111. * page/InspectorController.cpp:
  112. (WebCore::startProfiling): Added so that the inspector's JS code could
  113. call through to the same function used by the Develop menu. This way
  114. both can call didFinishAllExecution() which puts the profile in the
  115. Web Inspector.
  116. (WebCore::stopProfiling): Ditto
  117. (WebCore::InspectorController::windowScriptObjectAvailable):
  118. (WebCore::InspectorController::stopUserInitiatedProfiling): Now calls
  119. didFinishAllExecution() to put the profile in the Web Inspector. This
  120. should be safe since the UIs shouldn't work if JS is still running.
  121. * page/inspector/ProfilesPanel.js: Use the new functions.
  122. 2008-08-08 Dan Bernstein <mitz@apple.com>
  123. Reviewed by Darin Adler.
  124. - fix <rdar://problem/5961260> GDI text: transparent fill color text does not render if it it has a stroke or shadow
  125. * platform/graphics/win/FontCGWin.cpp:
  126. (WebCore::Font::drawGlyphs):
  127. 2008-08-08 Adam Treat <treat@kde.org>
  128. Reviewed by Simon.
  129. Return the canonical file path in Qt's listDirectory as WebCore::PluginDatabase
  130. uses this method to retrieve a list of possible plugins. Many linux systems
  131. have nested symbolic links scattered throughout the plugin directories which
  132. resulted in the PluginDatabase loading the same plugin N times depending on
  133. the number of symbolic links.
  134. * platform/qt/FileSystemQt.cpp:
  135. (WebCore::listDirectory):
  136. 2008-08-07 Anthony Ricaud <rik24d@gmail.com>
  137. Change highlight time from 300ms to 500ms and fade effect from 1s to 2s
  138. https://bugs.webkit.org/show_bug.cgi?id=20055
  139. Reviewed by Timothy Hatcher.
  140. * page/inspector/SourceFrame.js:
  141. 2008-08-07 Anthony Ricaud <rik24d@gmail.com>
  142. The search is only performed if the field contains more than 3
  143. letters or if Enter is pressed.
  144. Search is now performed through a keyup event.
  145. Added a WebInspector.lastQuery to remember the last query and not
  146. perform it again (eg. the user hits a modifier key).
  147. https://bugs.webkit.org/show_bug.cgi?id=18548
  148. Reviewed by Timothy Hatcher.
  149. * page/inspector/inspector.html: Removed the onsearch and incremental
  150. attributes
  151. * page/inspector/inspector.js:
  152. 2008-08-07 Steve Falkenburg <sfalken@apple.com>
  153. Compile derived sources through an all-in-one cpp file.
  154. Fixes Windows release build on non-x64 systems by reducing the size of WebCore.lib from 1.5GB to 1GB.
  155. Reviewed by Mark Rowe.
  156. * DerivedSources.cpp: Added.
  157. * WebCore.vcproj/WebCore.vcproj:
  158. 2008-08-07 Kevin McCullough <kmccullough@apple.com>
  159. Reviewed by Adam.
  160. <rdar://problem/5712917> Confusing console error message clear
  161. behavior (16791)
  162. https://bugs.webkit.org/show_bug.cgi?id=16791
  163. <rdar://problem/5831899> The Web Inspector does not correctly clear the
  164. console messages
  165. * page/InspectorController.cpp: Clear the message so they don't show up
  166. in the inspector after it has cleared them.
  167. (WebCore::clearMessages):
  168. (WebCore::InspectorController::clearConsoleMessages):
  169. (WebCore::InspectorController::windowScriptObjectAvailable):
  170. * page/InspectorController.h:
  171. * page/inspector/Console.js: Tell the InspectorController to clear the
  172. messages it's holding onto.
  173. 2008-08-07 Simon Fraser <simon.fraser@apple.com>
  174. Reviewed by Sam Weinig
  175. Rename Marquee to RenderMarquee and move to its own file.
  176. https://bugs.webkit.org/show_bug.cgi?id=20319
  177. * GNUmakefile.am:
  178. * WebCore.pro:
  179. * WebCore.vcproj/WebCore.vcproj:
  180. * WebCore.xcodeproj/project.pbxproj:
  181. * WebCoreSources.bkl:
  182. * html/HTMLMarqueeElement.cpp:
  183. * rendering/RenderBlock.cpp:
  184. * rendering/RenderLayer.cpp:
  185. (WebCore::RenderLayer::styleChanged):
  186. * rendering/RenderLayer.h:
  187. * rendering/RenderMarquee.cpp: Added.
  188. (WebCore::RenderMarquee::RenderMarquee):
  189. (WebCore::RenderMarquee::marqueeSpeed):
  190. (WebCore::RenderMarquee::direction):
  191. (WebCore::RenderMarquee::isHorizontal):
  192. (WebCore::RenderMarquee::computePosition):
  193. (WebCore::RenderMarquee::start):
  194. (WebCore::RenderMarquee::suspend):
  195. (WebCore::RenderMarquee::stop):
  196. (WebCore::RenderMarquee::updateMarqueePosition):
  197. (WebCore::RenderMarquee::updateMarqueeStyle):
  198. (WebCore::RenderMarquee::timerFired):
  199. * rendering/RenderMarquee.h: Added.
  200. (WebCore::RenderMarquee::speed):
  201. (WebCore::RenderMarquee::reverseDirection):
  202. (WebCore::RenderMarquee::setEnd):
  203. 2008-08-07 Dan Bernstein <mitz@apple.com>
  204. Reviewed by Dave Hyatt.
  205. - fix <rdar://problem/6118816> Initial empty page or bookmarks view window has white strip where vertical scrollbar would be (which vanishes on resize)
  206. * page/Frame.cpp:
  207. (WebCore::Frame::setZoomFactor): If the view has never had a layout with
  208. the old zoom factor, then there is no need to explicitly call layout()
  209. here.
  210. 2008-08-07 Kevin McCullough <kmccullough@apple.com>
  211. Reviewed by Geoff.
  212. <rdar://problem/6115981> Start the profiler in Heavy view
  213. * page/inspector/ProfileView.js:
  214. 2008-08-07 Alp Toker <alp@nuanti.com>
  215. Reviewed by Eric Seidel.
  216. https://bugs.webkit.org/show_bug.cgi?id=20313
  217. Add null check in String::fromUTF8()
  218. Make String::fromUTF8() consistent with other constructors by
  219. returning a null String when the input is null instead of crashing.
  220. * platform/text/String.cpp:
  221. (WebCore::String::fromUTF8):
  222. 2008-08-06 Kevin Ollivier <kevino@theolliviers.com>
  223. wx build fix after Frame -> ScriptController moves.
  224. * platform/wx/TemporaryLinkStubs.cpp:
  225. 2008-08-06 Kevin McCullough <kmccullough@apple.com>
  226. Reviewed by Tim.
  227. - Make XHR console message clearer.
  228. * xml/XMLHttpRequest.cpp:
  229. (WebCore::XMLHttpRequest::didFinishLoading):
  230. 2008-08-06 Kevin McCullough <kmccullough@apple.com>
  231. Reviewed by Tim.
  232. - Created a new function to create DOM links from text without
  233. converting back and forth from HTML and messing with escaping special
  234. characters.
  235. * page/inspector/Console.js:
  236. * page/inspector/inspector.js:
  237. * page/inspector/utilities.js:
  238. 2008-08-06 Eric Seidel <eric@webkit.org>
  239. Reviewed by hyatt.
  240. Fix a large animation leak found on the buildbot
  241. (m_animations and m_transitions were never deleted)
  242. Drag RenderStyle (kicking and screaming) into the 21st century
  243. of memory management with a little application of OwnPtr.
  244. * rendering/style/RenderStyle.cpp:
  245. (WebCore::FillLayer::cullEmptyLayers):
  246. (WebCore::RenderStyle::diff):
  247. (WebCore::RenderStyle::contentDataEquivalent):
  248. (WebCore::RenderStyle::setContent):
  249. (WebCore::BindingURI::BindingURI):
  250. (WebCore::RenderStyle::setBoxShadow):
  251. (WebCore::ShadowData::ShadowData):
  252. (WebCore::RenderStyle::counterDirectives):
  253. (WebCore::RenderStyle::accessCounterDirectives):
  254. (WebCore::RenderStyle::adjustAnimations):
  255. (WebCore::RenderStyle::adjustTransitions):
  256. (WebCore::RenderStyle::accessAnimations):
  257. (WebCore::RenderStyle::accessTransitions):
  258. * rendering/style/RenderStyle.h:
  259. (WebCore::RenderStyle::clearAnimations):
  260. (WebCore::RenderStyle::clearTransitions):
  261. 2008-08-06 Brady Eidson <beidson@apple.com>
  262. Reviewed by MitzPettel
  263. <rdar://problem/6078543> - Many LocalStorageThreads may be started
  264. The original decision to key LocalStorage sets to PageGroups was a poor one.
  265. It seems a much better solution is to key them to the actual path of on-disk storage,
  266. which also solves all of the avenues that could lead to a boundless number of threads.
  267. In this patch, I am not attempting to completely sever the attachment of LocalStorage
  268. to PageGroups as that would require a more substantial re-working of the lifetime
  269. between pages, groups, and local storage threads.
  270. * page/PageGroup.cpp:
  271. (WebCore::PageGroup::addPage):
  272. * storage/LocalStorage.cpp:
  273. (WebCore::localStorageMap): Map paths to LocalStorage objects here.
  274. (WebCore::LocalStorage::localStorage): Return the shared LocalStorage object for this path,
  275. or create a new one if it doesn't yet exist.
  276. (WebCore::LocalStorage::LocalStorage):
  277. (WebCore::LocalStorage::~LocalStorage): Add to remove the path->LocalStorage mapping
  278. * storage/LocalStorage.h:
  279. 2008-08-06 Beth Dakin <bdakin@apple.com>
  280. Reviewed by Adele.
  281. Fix for <rdar://problem/6130724>
  282. Disconnected frames should not be allowed to resize the window.
  283. * page/DOMWindow.cpp:
  284. (WebCore::DOMWindow::resizeBy):
  285. (WebCore::DOMWindow::resizeTo):
  286. 2008-08-05 David D. Kilzer <ddkilzer@apple.com>
  287. Bug 20038: REGRESSION (r35151): Can't post comments on flickr.com
  288. <https://bugs.webkit.org/show_bug.cgi?id=20038>
  289. <rdar://problem/6092270>
  290. Reviewed by Eric Seidel.
  291. Test: fast/forms/submit-to-url-fragment.html
  292. The problem was that isFormSubmission was not being set to true in
  293. FrameLoader::loadWithDocumentLoader() when we were actually
  294. submitting a form, causing the page to scroll instead of the form to
  295. be submitted.
  296. The isFormSubmission variable wasn't set to true because a FormState
  297. object was not being created in
  298. FrameLoader::loadFrameRequestWithFormAndValues().
  299. The FormState object was not being created because
  300. HTMLFormElement::submit(Event*, bool activateSubmitButton) would
  301. only set FrameLoader::m_formAboutToBeSubmitted to the current form
  302. if there was a "text field" element in the form (type = text,
  303. password, search or isindex).
  304. Thus when FrameLoader::submitForm(const FrameLoadRequest&, Event*)
  305. called FrameLoader::loadFrameRequestWithFormAndValues(), a null
  306. HTMLFormElement pointer would be sent and cause the above failures.
  307. * html/HTMLFormElement.cpp:
  308. (WebCore::HTMLFormElement::submit): Call new
  309. FrameLoader::setFormAboutToBeSubmitted() method outside the for
  310. loop so we always set FrameLoader::m_formAboutToBeSubmitted exactly
  311. once for any form submission. The FrameLoader::recordFormValue()
  312. method is only called with the name/value pair of each text field.
  313. * loader/FrameLoader.cpp:
  314. (WebCore::FrameLoader::setFormAboutToBeSubmitted): Added method that
  315. only sets m_formAboutToBeSubmitted.
  316. (WebCore::FrameLoader::recordFormValue): Removed
  317. PassRefPtr<HTMLFormElement> argument since this method only sets
  318. name/value pairs on m_formValuesAboutToBeSubmitted now.
  319. (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): Create a
  320. FormState object as long as submitForm is not null so that other
  321. FrameLoader methods know when a form is being submitted.
  322. * loader/FrameLoader.h:
  323. 2008-08-06 David D. Kilzer <ddkilzer@apple.com>
  324. BUILD FIX: Add HTMLPlugInImageElement.cpp to all other build systems
  325. * GNUmakefile.am:
  326. * WebCore.pro:
  327. * WebCoreSources.bkl:
  328. 2008-08-06 Dan Bernstein <mitz@apple.com>
  329. - Windows build fix
  330. * WebCore.vcproj/WebCore.vcproj: Added PlugInImageElement.*
  331. 2008-08-06 Kevin McCullough <kmccullough@apple.com>
  332. Reviewed by Tim and Darin.
  333. <rdar://problem/6126160> URLs in the console should be clickable.
  334. - Implemented and now use linkifyString() to parse console messages for
  335. URLs.
  336. * page/inspector/Console.js:
  337. * page/inspector/inspector.js:
  338. * page/inspector/utilities.js:
  339. 2008-07-02 David Kilzer <ddkilzer@apple.com>
  340. Images using QT plugin do not display correctly
  341. <https://bugs.webkit.org/show_bug.cgi?id=9214>
  342. <rdar://problem/5683413>
  343. Reviewed by Darin.
  344. Tests: fast/images/embed-image.html
  345. fast/images/object-image.html
  346. Use RenderImage instead of RenderPartObject for a renderer when
  347. the <embed> tag references an image. Extract common code from
  348. HTMLEmbedElement and HTMLObjectElement into HTMLPlugInImageElement.
  349. * WebCore.xcodeproj/project.pbxproj: Added new source files.
  350. * html/HTMLEmbedElement.cpp: Cleaned up #include statements.
  351. (WebCore::HTMLEmbedElement::HTMLEmbedElement): Extend
  352. HTMLPlugInImageElement which extends HTMLPlugInElement.
  353. (WebCore::HTMLEmbedElement::parseMappedAttribute): Split codeAttr
  354. and srcAttr cases. Create or clear HTMLImageLoader as needed for
  355. srcAttr.
  356. (WebCore::HTMLEmbedElement::rendererIsNeeded): Use
  357. HTMLPlugInElement::rendererIsNeeded() for images.
  358. (WebCore::HTMLEmbedElement::createRenderer): Create a
  359. RenderImage instead of a RenderPartObject for images.
  360. (WebCore::HTMLEmbedElement::attach): Create HTMLImageLoader,
  361. load image and populate RenderImage for images.
  362. (WebCore::HTMLEmbedElement::updateWidget): Don't call
  363. RenderPartObject::updateWidget() for images.
  364. (WebCore::HTMLEmbedElement::imageSourceAttributeName): Added.
  365. * html/HTMLEmbedElement.h: Removed unneeded namespace and class
  366. declarations. Extend HTMLPlugInImageElement which extends
  367. HTMLPlugInElement.
  368. (WebCore::HTMLEmbedElement::imageSourceAttributeName): Added.
  369. (WebCore::HTMLEmbedElement::serviceType): Moved to
  370. HTMLPlugInImageElement.
  371. (WebCore::HTMLEmbedElement::url): Ditto.
  372. * html/HTMLObjectElement.cpp: Cleaned up #include statements.
  373. (WebCore::HTMLObjectElement::attach): Removed local variable.
  374. (WebCore::HTMLObjectElement::isImageType): Moved to
  375. HTMLPlugInImageElement.
  376. * html/HTMLObjectElement.h: Extend HTMLPlugInImageElement which
  377. extends HTMLPlugInElement.
  378. (WebCore::HTMLObjectElement::isImageType): Moved to
  379. HTMLPlugInImageElement.
  380. (WebCore::HTMLObjectElement::serviceType): Ditto.
  381. (WebCore::HTMLObjectElement::url): Ditto.
  382. * html/HTMLPlugInImageElement.cpp: Added.
  383. (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Added.
  384. (WebCore::HTMLPlugInImageElement::~HTMLPlugInImageElement): Added.
  385. (WebCore::HTMLPlugInImageElement::isImageType): Moved from
  386. HTMLObjectElement.
  387. * html/HTMLPlugInImageElement.h: Added.
  388. (WebCore::HTMLPlugInImageElement::isImageType): Added from
  389. HTMLObjectElement.
  390. (WebCore::HTMLPlugInImageElement::serviceType): Ditto.
  391. (WebCore::HTMLPlugInImageElement::url): Ditto.
  392. * rendering/HitTestResult.cpp:
  393. (WebCore::HitTestResult::absoluteImageURL): Return urlString
  394. for embed elements with images.
  395. 2008-08-06 Marco Barisione <marco.barisione@collabora.co.uk>
  396. Reviewed by Eric Seidel.
  397. http://bugs.webkit.org/show_bug.cgi?id=20295
  398. RegularExpression::match should not crash when a null string is passed
  399. RegularExpression::match used to pass null subject strings to
  400. jsRegExpExecute causing an ASSERT failure and then a crash.
  401. There is no need to fix also RegularExpression:search and
  402. RegularExpression::searchRev as they just call
  403. RegularExpression::match.
  404. * platform/text/RegularExpression.cpp:
  405. (WebCore::RegularExpression::match): Return -1 if the string is null.
  406. 2008-08-06 Jan Michael Alonzo <jmalonzo@webkit.org>
  407. Gtk build fix only
  408. * bindings/js/ScriptControllerGtk.cpp:
  409. * plugins/gtk/PluginViewGtk.cpp:
  410. (WebCore::PluginView::getValue):
  411. (WebCore::PluginView::~PluginView):
  412. 2008-08-06 Ariya Hidayat <ariya.hidayat@trolltech.com>
  413. Fix the Qt build due to recent ScriptController refactoring.
  414. * plugins/qt/PluginViewQt.cpp:
  415. (WebCore::PluginView::getValue):
  416. (WebCore::PluginView::~PluginView):
  417. 2008-08-06 Eric Seidel <eric@webkit.org>
  418. Reviewed by Cameron Zwarich.
  419. Fix warnings and errors seen on Qt bot.
  420. Including one correctness fix for ThreadingQt.
  421. According to the Qt 4.4 docs, we were always passing
  422. seconds to "wait()" when we should have been passing
  423. milliseconds.
  424. Lots of float <-> int conversion warnings.
  425. * css/CSSCursorImageValue.cpp:
  426. (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
  427. * dom/Element.cpp:
  428. (WebCore::adjustForLocalZoom):
  429. (WebCore::adjustForAbsoluteZoom):
  430. (WebCore::Element::setScrollLeft):
  431. (WebCore::Element::setScrollTop):
  432. * dom/EventTargetNode.cpp:
  433. (WebCore::EventTargetNode::dispatchMouseEvent):
  434. * loader/CachedImage.cpp:
  435. (WebCore::CachedImage::imageRect):
  436. * page/DOMWindow.cpp:
  437. (WebCore::DOMWindow::innerHeight):
  438. (WebCore::DOMWindow::innerWidth):
  439. (WebCore::DOMWindow::scrollX):
  440. (WebCore::DOMWindow::scrollY):
  441. (WebCore::DOMWindow::scrollTo):
  442. * page/EventHandler.cpp:
  443. (WebCore::scrollAndAcceptEvent):
  444. * plugins/npapi.cpp:
  445. * plugins/qt/PluginViewQt.cpp:
  446. (WebCore::PluginView::getValue):
  447. (WebCore::PluginView::~PluginView):
  448. * rendering/RenderReplaced.cpp:
  449. (WebCore::RenderReplaced::intrinsicSizeChanged):
  450. 2008-08-06 Eric Seidel <eric@webkit.org>
  451. Build fix only, no review.
  452. Attempt to fix the Windows and Qt builds.
  453. * bindings/js/ScriptControllerWin.cpp: add runtime.h include
  454. * bindings/js/ScriptControllerQt.cpp: add QWidget include
  455. * page/win/FrameWin.cpp: remove bogus using namespace
  456. * plugins/PluginView.cpp:
  457. (WebCore::PluginView::bindingInstance): use script()
  458. * plugins/win/PluginViewWin.cpp:
  459. (WebCore::PluginView::getValue): use script()
  460. (WebCore::PluginView::~PluginView): use script()
  461. 2008-08-06 Eric Seidel <eric@webkit.org>
  462. Build fix only, no review.
  463. Attempt to fix the Linux and --no-svg builds.
  464. * bindings/js/ScriptController.h: wrap RetainPtr include in PLATFORM(MAC)
  465. * css/CSSComputedStyleDeclaration.cpp:
  466. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): add missing CSSProperties to switch
  467. 2008-08-06 Eric Seidel <eric@webkit.org>
  468. Reviewed by Cameron Zwarich.
  469. Move more methods from Frame into ScriptController
  470. https://bugs.webkit.org/show_bug.cgi?id=20294
  471. Finally finish more of the work which Darin started long ago
  472. Move a few more Frame methods into ScriptController.
  473. I also took this opportunity to clean up some of the plugin
  474. code as well, and moved some of that into ScriptController.
  475. I removed Frame::clearScriptController() and ScriptController::clear() is now clearWindowShell()
  476. No functional changes, thus no test cases.
  477. * GNUmakefile.am:
  478. * WebCore.NPAPI.exp:
  479. * WebCore.base.exp:
  480. * WebCore.pro:
  481. * WebCore.vcproj/WebCore.vcproj:
  482. * WebCore.xcodeproj/project.pbxproj:
  483. * bindings/js/ScriptController.cpp:
  484. (WebCore::ScriptController::ScriptController):
  485. (WebCore::ScriptController::~ScriptController):
  486. (WebCore::ScriptController::bindingRootObject):
  487. (WebCore::ScriptController::createRootObject):
  488. (WebCore::ScriptController::windowScriptNPObject):
  489. (WebCore::ScriptController::createScriptObjectForPluginElement): New method.
  490. (WebCore::ScriptController::clearPlatformScriptObjects):
  491. (WebCore::ScriptController::disconnectPlatformScriptObjects):
  492. (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
  493. (WebCore::ScriptController::clearScriptObjects):
  494. * bindings/js/ScriptController.h:
  495. (WebCore::ScriptController::sourceURL):
  496. (WebCore::ScriptController::clearFormerWindow):
  497. * bindings/js/ScriptControllerGtk.cpp: Copied from WebCore/page/gtk/FrameGtk.cpp.
  498. (WebCore::Frame::createScriptInstanceForWidget):
  499. * bindings/js/ScriptControllerMac.mm: Added.
  500. (WebCore::ScriptController::createScriptInstanceForWidget):
  501. (WebCore::ScriptController::windowScriptObject):
  502. (WebCore::ScriptController::clearPlatformScriptObjects):
  503. (WebCore::ScriptController::disconnectPlatformScriptObjects):
  504. (WebCore::updateRenderingForBindings):
  505. (WebCore::ScriptController::initJavaJSBindings):
  506. * bindings/js/ScriptControllerQt.cpp: Copied from WebCore/page/gtk/FrameGtk.cpp.
  507. (WebCore::ScriptController::createScriptInstanceForWidget):
  508. * bindings/js/ScriptControllerWin.cpp: Copied from WebCore/svg/graphics/cg/SVGResourceMaskerCg.cpp.
  509. (WebCore::ScriptController::createScriptInstanceForWidget):
  510. * bindings/objc/DOM.mm:
  511. (-[DOMNode KJS::Bindings::]):
  512. * bindings/objc/DOMInternal.mm:
  513. (-[WebScriptObject _initializeScriptDOMNodeImp]):
  514. * bridge/jni/jni_jsobject.mm:
  515. (createRootObject):
  516. * html/HTMLAppletElement.cpp:
  517. (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
  518. * html/HTMLAppletElement.h:
  519. * html/HTMLEmbedElement.cpp:
  520. (WebCore::findWidgetRenderer):
  521. (WebCore::HTMLEmbedElement::renderWidgetForJSBindings):
  522. * html/HTMLEmbedElement.h:
  523. * html/HTMLObjectElement.cpp:
  524. (WebCore::HTMLObjectElement::~HTMLObjectElement):
  525. (WebCore::HTMLObjectElement::renderWidgetForJSBindings):
  526. (WebCore::HTMLObjectElement::detach):
  527. * html/HTMLObjectElement.h:
  528. * html/HTMLPlugInElement.cpp:
  529. (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
  530. (WebCore::HTMLPlugInElement::detach):
  531. (WebCore::HTMLPlugInElement::getInstance):
  532. (WebCore::HTMLPlugInElement::parseMappedAttribute):
  533. (WebCore::HTMLPlugInElement::getNPObject):
  534. * html/HTMLPlugInElement.h:
  535. * loader/FrameLoader.cpp:
  536. (WebCore::FrameLoader::clear):
  537. * page/Frame.cpp:
  538. (WebCore::Frame::Frame):
  539. (WebCore::Frame::~Frame):
  540. (WebCore::Frame::pageDestroyed):
  541. (WebCore::FramePrivate::FramePrivate):
  542. * page/Frame.h:
  543. * page/FramePrivate.h:
  544. * page/gtk/FrameGtk.cpp:
  545. * page/mac/FrameMac.mm:
  546. * page/qt/FrameQt.cpp:
  547. * page/win/FrameWin.cpp:
  548. (WebCore::computePageRectsForFrame):
  549. 2008-08-05 Steve Falkenburg <sfalken@apple.com>
  550. Fix last timer fix.
  551. Add null check, clear timer using InterlockedExchange.
  552. Reviewed by Alice Liu.
  553. * platform/win/SharedTimerWin.cpp:
  554. (WebCore::clearTimer):
  555. (WebCore::queueTimerProc):
  556. (WebCore::stopSharedTimer):
  557. 2008-08-05 Steve Falkenburg <sfalken@apple.com>
  558. Fix timer leak, flag.
  559. Timers need to be deleted explicitly, even if they fire.
  560. Also added WT_EXECUTEONLYONCE flag, since this is not a repeating timer.
  561. Reviewed by Ada Chan.
  562. * platform/win/SharedTimerWin.cpp:
  563. (WebCore::queueTimerProc):
  564. 2008-08-05 Anders Carlsson <andersca@apple.com>
  565. Reviewed by Darin.
  566. <rdar://problem/6037398>
  567. ER: Deallocate WebKit objects on the main thread, even if released on secondary thread
  568. Add calls to WebCoreObjCScheduleDeallocateOnMainThread in dealloc methods of objects we expose.
  569. * bindings/objc/DOMRGBColor.mm:
  570. (-[DOMRGBColor dealloc]):
  571. * bindings/objc/WebScriptObject.mm:
  572. (-[WebScriptObject dealloc]):
  573. * platform/mac/SharedBufferMac.mm:
  574. (-[WebCoreSharedBufferData dealloc]):
  575. 2008-08-05 Anders Carlsson <andersca@apple.com>
  576. Reviewed by Darin.
  577. Move the main thread deallocator here from WebKit.
  578. * WebCore.base.exp:
  579. * WebCore.xcodeproj/project.pbxproj:
  580. * platform/mac/WebCoreObjCExtras.c:
  581. (method_getImplementation):
  582. (deallocCallback):
  583. (WebCoreObjCScheduleDeallocateOnMainThread):
  584. * platform/mac/WebCoreObjCExtras.h:
  585. 2008-08-05 Dean Jackson <dino@apple.com>
  586. Parse CSS Animations, including the new
  587. -webkit-animation properties and the @-webkit-keyframes rule.
  588. Adds some new interfaces for the style rules.
  589. https://bugs.webkit.org/show_bug.cgi?id=20088
  590. Reviewed by David Hyatt.
  591. * GNUmakefile.am:
  592. * WebCore.pro:
  593. * WebCore.vcproj/WebCore.vcproj:
  594. * WebCore.xcodeproj/project.pbxproj:
  595. * WebCoreSources.bkl:
  596. build config for new files
  597. * css/tokenizer.flex:
  598. * css/CSSGrammar.y:
  599. * css/CSSParser.cpp:
  600. * css/CSSParser.h:
  601. new @-webkit-keyframes parsing
  602. * css/CSSPropertyNames.in:
  603. -webkit-animation properties
  604. * css/CSSRule.h:
  605. * css/CSSStyleSelector.cpp:
  606. * css/CSSStyleSelector.h:
  607. * css/CSSValueKeywords.in:
  608. * css/StyleBase.h:
  609. * css/WebKitCSSKeyframeRule.cpp: Added.
  610. * css/WebKitCSSKeyframeRule.h: Added.
  611. * css/WebKitCSSKeyframesRule.cpp: Added.
  612. * css/WebKitCSSKeyframesRule.h: Added.
  613. 2008-08-05 Kevin McCullough <kmccullough@apple.com>
  614. Reviewed by Tim.
  615. - LayoutTests fix. Log only to the Inspector because other listeners may not want
  616. XHR notifications, including DRT and the numerous tests that don't expect them.
  617. * xml/XMLHttpRequest.cpp:
  618. (WebCore::XMLHttpRequest::didFinishLoading):
  619. 2008-08-05 Timothy Hatcher <timothy@apple.com>
  620. Makes DOM attribute editing start on double-click to match the styles
  621. pane. Links in attributes are now triggered with a single click again.
  622. https://bugs.webkit.org/show_bug.cgi?id=20281
  623. Reviewed by Adam Roben.
  624. * English.lproj/localizedStrings.js: Removed some strings.
  625. * page/inspector/ElementsPanel.js:
  626. (WebInspector.DOMNodeTreeElement.prototype.onattach): Call
  627. _preventFollowingLinksOnDoubleClick.
  628. (WebInspector.DOMNodeTreeElement.prototype._preventFollowingLinksOnDoubleClick):
  629. Renamed from _makeURLsActivateOnModifiedClick. Simply sets the
  630. preventFollowOnDoubleClick property on all links.
  631. (WebInspector.DOMNodeTreeElement.prototype.onselect): Removed
  632. _selectedByCurrentMouseDown.
  633. (WebInspector.DOMNodeTreeElement.prototype.onmousedown): Moved
  634. editing code to ondblclick.
  635. (WebInspector.DOMNodeTreeElement.prototype.ondblclick): Calls
  636. _startEditing. Removed URL check.
  637. (WebInspector.DOMNodeTreeElement.prototype._updateTitle): Calls
  638. _preventFollowingLinksOnDoubleClick.
  639. * page/inspector/inspector.css:
  640. (.editing): Removed the text-decoration property.
  641. (.editing, .editing *): Added the text-decoration property here
  642. so it removes underlines on child elements.
  643. * page/inspector/inspector.js:
  644. (WebInspector.documentClick): Removed the followOnAltClick code.
  645. Added support for preventFollowOnDoubleClick, which sets a timeout
  646. on the first click where future clicks will cancel it (double click).
  647. If the timeout isn't canceled, the link is followed.
  648. 2008-08-05 Antti Koivisto <antti@apple.com>
  649. Reviewed by Sam Weinig.
  650. <rdar://problem/6112219> Video in standalone media document flashes when navigating away
  651. When navigating out from a page, MediaPlayer was set invisible and then immediately
  652. made visible again causing flicker in some cases.
  653. The document is not yet marked being in page cache when willSaveToCache() is called.
  654. * html/HTMLMediaElement.cpp:
  655. (WebCore::HTMLMediaElement::willSaveToCache):
  656. * rendering/RenderVideo.cpp:
  657. (WebCore::RenderVideo::updatePlayer):
  658. 2008-08-05 Dan Bernstein <mitz@apple.com>
  659. - fix typo
  660. * page/mac/FrameMac.mm:
  661. 2008-08-05 Dan Bernstein <mitz@apple.com>
  662. - try to fix the 64-bit build
  663. * page/mac/FrameMac.mm:
  664. 2008-08-05 Alp Toker <alp@nuanti.com>
  665. Remove leftover mark pragma from r35568 to fix compiler warning spew.
  666. * rendering/style/RenderStyle.h:
  667. 2008-08-05 Kevin McCullough <kmccullough@apple.com>
  668. - Added a test that checks for several edge cases (see description in
  669. test.
  670. * manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html: Added.
  671. 2008-08-05 Dean Jackson <dino@apple.com>
  672. Reviewed by Dave Hyatt
  673. Add support for CSS Animation properties to RenderStyle
  674. https://bugs.webkit.org/show_bug.cgi?id=20068
  675. (also fix some minor whitespace issues and remove debugging code)
  676. * css/CSSComputedStyleDeclaration.cpp:
  677. * css/CSSStyleSelector.cpp:
  678. * page/AnimationController.cpp:
  679. * rendering/style/RenderStyle.cpp:
  680. * rendering/style/RenderStyle.h:
  681. 2008-08-05 Kevin McCullough <kmccullough@apple.com>
  682. - Updated a manual test to be an accurate description of what it is
  683. actually testing.
  684. * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html:
  685. 2008-08-05 Kevin McCullough <kmccullough@apple.com>
  686. Reviewed by Tim.
  687. <rdar://problem/5732836> XMLHttpRequest: Inspector should show network
  688. activity/XHR in Console (17233)
  689. * xml/XMLHttpRequest.cpp:
  690. (WebCore::XMLHttpRequest::didFinishLoading):
  691. 2008-08-05 Dean Jackson <dino@apple.com>
  692. Fix the ChangeLog that was corrupted by r34545.
  693. 2008-08-04 Timothy Hatcher <timothy@apple.com>
  694. Makes the selection surround just the name or value that was
  695. double clicked when editing CSS properties. This regressed when
  696. the Inspector started using focus/blur events, since a focus on
  697. a content editable region changes the selection.
  698. https://bugs.webkit.org/show_bug.cgi?id=20280
  699. Reviewed by Adam Roben.
  700. * page/inspector/StylesSidebarPane.js:
  701. (WebInspector.StylePropertyTreeElement.prototype.startEditing):
  702. Change the selection after calling WebInspector.startEditing,
  703. since WebInspector.startEditing will set an initial selection
  704. due to a focus event.
  705. 2008-08-04 Timothy Hatcher <timothy@apple.com>
  706. Changes the editing behavior in the Inspector to commit changes
  707. when focus is lost, instead of reverting the changes.
  708. https://bugs.webkit.org/show_bug.cgi?id=20279
  709. Reviewed by Adam Roben.
  710. * page/inspector/inspector.js:
  711. (WebInspector.startEditing): Call editingCommitted in blurEventListener
  712. instead of editingCancelled.
  713. 2008-08-04 Timothy Hatcher <timothy@apple.com>
  714. Adds the ability to increment/decrement numbers in editable style
  715. properties with the arrow and page keys.
  716. Reviewed by Adam Roben.
  717. https://bugs.webkit.org/show_bug.cgi?id=20273
  718. * page/inspector/StylesSidebarPane.js:
  719. (WebInspector.StylePropertyTreeElement.prototype.updateAll):
  720. Updates all properties in the current section, or all sections
  721. depending in the argument passed.
  722. (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
  723. Call updateAll instead of having duplicate code.
  724. (WebInspector.StylePropertyTreeElement.prototype.startEditing):
  725. Assign the list element's handleKeyEvent to editingKeyDown.
  726. (WebInspector.StylePropertyTreeElement.prototype.editingKeyDown):
  727. Handles the Up and Down arrows keys. Finds the word based on the
  728. selection and extracts the number, prefix and suffix. Increments
  729. or decrements the number based on the key and modifiers. Replaces
  730. the original word with the new value and selects it. Also applies
  731. the style so the page reflects the changes live.
  732. (WebInspector.StylePropertyTreeElement.prototype.editingEnded):
  733. Delete the handleKeyEvent and originalCSSText properties.
  734. (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
  735. If originalCSSText exists, set the cssText to that value and call
  736. updateAll. Otherwise just call updateTitle like before.
  737. (WebInspector.StylePropertyTreeElement.prototype.editingCommitted):
  738. Factored out the style applying code to applyStyleText.
  739. (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
  740. Factored out from editingCommitted. Takes an argument that specifies
  741. if the interface should be updated when the style is applied.
  742. * page/inspector/inspector.js:
  743. (WebInspector.startEditing): Call the original key handler, if one
  744. existed before interrupting key events.
  745. * page/inspector/utilities.js:
  746. (getStyleTextWithShorthands): Helper to return CSS text that preserves
  747. shorthand values, since the cssText property only outputs longhands.
  748. 2008-08-04 Timothy Hatcher <timothy@apple.com>
  749. Factors out the TextPrompt.scanBackwards function into a generic
  750. helper function on the Node prototype, named rangeOfWord.
  751. Reviewed by Adam Roben.
  752. * page/inspector/Console.js:
  753. (WebInspector.Console.prototype.completions): Use rangeOfWord.
  754. * page/inspector/TextPrompt.js:
  755. (WebInspector.TextPrompt.prototype.complete): Ditto.
  756. (WebInspector.TextPrompt.prototype.scanBackwards): Removed.
  757. * page/inspector/utilities.js:
  758. (Node.prototype.rangeOfWord): Added. Copied from TextPrompt.scanBackwards,
  759. and added a direction argument allowing scanning forward, backward or
  760. both directions from the offset.
  761. 2008-08-04 Timothy Hatcher <timothy@apple.com>
  762. Fixes a bug where the property toggle button would not be hidden
  763. during editing.
  764. Reviewed by Adam Roben.
  765. * page/inspector/inspector.css:
  766. (li.editing .swatch, li.editing .enabled-button):
  767. Make the display !important, since a more specific rule for
  768. .enabledbutton overrides display.
  769. 2008-08-05 Dan Bernstein <mitz@apple.com>
  770. Reviewed by Geoffrey Garen.
  771. - remove redundant #imports from FrameMac.mm
  772. * page/mac/FrameMac.mm:
  773. 2008-08-04 Bernhard Kruepl <kruepl@dbai.tuwien.ac.at>
  774. Reviewed by Dave Hyatt.
  775. Fix for https://bugs.webkit.org/show_bug.cgi?id=19094
  776. Corrected offsetTop for table cells by subtracting borderTopExtra
  777. * rendering/RenderObject.cpp:
  778. (WebCore::RenderObject::offsetTop):
  779. 2008-08-04 Dean Jackson <dino@apple.com>
  780. Reviewed by Dave Hyatt.
  781. Improve AnimationController
  782. https://bugs.webkit.org/show_bug.cgi?id=19938
  783. - Transition class is now called Animation
  784. - new state-based AnimationController that can support CSS Animations
  785. - add support for -webkit-transition-delay
  786. - remove -webkit-transition-repeat-count (since it never existed officially)
  787. - updates the -webkit-transition shorthand to reflect removing repeat count
  788. - updates the Transition class so that properties can be shared with animations
  789. - adds a "now" keyword for -webkit-transition-delay
  790. - adds a new change type for style (changed by animation)
  791. - adds new event names (although they are not dispatched yet)
  792. - makes text stroke and text fill colors returned by RenderStyle const
  793. Tests:
  794. - manual-tests/transition-left.html
  795. - manual-tests/transition-delay.html
  796. - manual-tests/transition-timing-functions.html
  797. * css/CSSComputedStyleDeclaration.cpp:
  798. * css/CSSParser.cpp:
  799. * css/CSSParser.h:
  800. * css/CSSPropertyNames.in:
  801. * css/CSSStyleSelector.cpp:
  802. * css/CSSStyleSelector.h:
  803. * css/CSSTimingFunctionValue.h:
  804. * css/CSSValue.h:
  805. * css/CSSValueKeywords.in:
  806. * css/WebKitCSSTransformValue.cpp:
  807. * dom/Document.cpp:
  808. * dom/Document.h:
  809. * dom/Element.cpp:
  810. * dom/EventNames.h:
  811. * dom/Node.cpp:
  812. * dom/Node.h:
  813. * history/CachedPage.cpp:
  814. * page/AnimationController.cpp:
  815. * page/AnimationController.h:
  816. * page/Frame.cpp:
  817. * rendering/RenderObject.cpp:
  818. * rendering/RenderWidget.cpp:
  819. * rendering/style/RenderStyle.cpp:
  820. * rendering/style/RenderStyle.h:
  821. 2008-08-04 Mike Belshe <mike@belshe.com>
  822. Reviewed by Antti.
  823. Currently we create two copies of script in the HTMLTokenizer.
  824. One copy gets passed into the javascript engine, the other gets
  825. stored in the DOM. Modify the HTMLParser so that it does not
  826. chunk the string into it's normal 64K chunks for script code,
  827. and modify the HTMLTokenizer to pass that same string into the
  828. JS engine. On some sites (e.g. GMail), which have hundreds of
  829. KB of inline JS, this saves more than a MB of RAM to run the page.
  830. (Strings use 16bit strings, so 600KB of JS code == 1.2MB of memory)
  831. * html\HTMLParser.cpp
  832. * html\HTMLTokenizer.cpp
  833. 2008-08-04 Sam Weinig <sam@webkit.org>
  834. Reviewed by Mark Rowe.
  835. Remove extra braces left in from JSLock removal.
  836. * xml/XMLHttpRequest.cpp:
  837. (WebCore::XMLHttpRequest::dropProtection):
  838. 2008-08-02 Sam Weinig <sam@webkit.org>
  839. Reviewed by Dan Bernstein.
  840. Implement the Access-control for Cross Site requests
  841. preflight cache.
  842. Tests: http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-invalidation-by-header.html
  843. http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-invalidation-by-method.html
  844. http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-timeout.html
  845. http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache.html
  846. * WebCore.vcproj/WebCore.vcproj:
  847. * WebCore.xcodeproj/project.pbxproj:
  848. * platform/KURL.h:
  849. (WTF::):
  850. * platform/KURLHash.h: Added.
  851. (WebCore::KURLHash::hash):
  852. (WebCore::KURLHash::equal):
  853. (WTF::):
  854. * xml/XMLHttpRequest.cpp:
  855. (WebCore::PreflightResultCacheItem::PreflightResultCacheItem):
  856. (WebCore::preflightResultCache):
  857. (WebCore::appendPreflightResultCacheEntry):
  858. (WebCore::canSkipPrelight):
  859. (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
  860. (WebCore::parseAccessControlAllowList):
  861. (WebCore::parseAccessControlMaxAge):
  862. (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
  863. 2008-08-04 Eric Seidel <eric@webkit.org>
  864. Reviewed by Adam Roben.
  865. Fix warning seen in MSVC converting ints to floats.
  866. * rendering/Length.h:
  867. (WebCore::Length::calcFloatValue):
  868. 2008-08-04 Eric Seidel <eric@webkit.org>
  869. Reviewed by hyatt.
  870. Clean up Gradient constructors, make sure all members are initialized.
  871. * platform/graphics/Gradient.cpp:
  872. (WebCore::Gradient::Gradient):
  873. 2008-08-02 Maxime Britto <britto@apple.com>
  874. Reviewed by Eric Seidel.
  875. <rdar://problem/6118969>
  876. https://bugs.webkit.org/show_bug.cgi?id=19971
  877. Modifiy the cursor interactively when on panning mode (middle click auto scroll)
  878. When the panning is in progress the cursor is an arrow representing the direction of the current scroll
  879. * page/EventHandler.cpp:
  880. (WebCore::EventHandler::autoscrollTimerFired): Before each scroll we actualize the cursor to match the current direction
  881. (WebCore::EventHandler::setPanScrollCursor): determines the direction of the upcoming scroll.
  882. (WebCore::EventHandler::handleMouseMoveEvent):
  883. * page/EventHandler.h:
  884. * platform/Cursor.h: Add propotypes for the new cursor functions
  885. * platform/gtk/CursorGtk.cpp: to avoid build break
  886. (WebCore::middlePanningCursor):
  887. (WebCore::eastPanningCursor):
  888. (WebCore::northPanningCursor):
  889. (WebCore::northEastPanningCursor):
  890. (WebCore::northWestPanningCursor):
  891. (WebCore::southPanningCursor):
  892. (WebCore::southEastPanningCursor):
  893. (WebCore::southWestPanningCursor):
  894. (WebCore::westPanningCursor):
  895. * platform/mac/CursorMac.mm: to avoid build break
  896. (WebCore::middlePanningCursor):
  897. (WebCore::eastPanningCursor):
  898. (WebCore::northPanningCursor):
  899. (WebCore::northEastPanningCursor):
  900. (WebCore::northWestPanningCursor):
  901. (WebCore::southPanningCursor):
  902. (WebCore::southEastPanningCursor):
  903. (WebCore::southWestPanningCursor):
  904. (WebCore::westPanningCursor):
  905. * platform/qt/CursorQt.cpp: to avoid build break
  906. (WebCore::middlePanningCursor):
  907. (WebCore::eastPanningCursor):
  908. (WebCore::northPanningCursor):
  909. (WebCore::northEastPanningCursor):
  910. (WebCore::northWestPanningCursor):
  911. (WebCore::southPanningCursor):
  912. (WebCore::southEastPanningCursor):
  913. (WebCore::southWestPanningCursor):
  914. (WebCore::westPanningCursor):
  915. * platform/win/CursorWin.cpp: Add specific icons for the panning as windows resizing icons are both sides arrows
  916. (WebCore::middlePanningCursor):
  917. (WebCore::eastPanningCursor):
  918. (WebCore::northPanningCursor):
  919. (WebCore::northEastPanningCursor):
  920. (WebCore::northWestPanningCursor):
  921. (WebCore::southPanningCursor):
  922. (WebCore::southEastPanningCursor):
  923. (WebCore::southWestPanningCursor):
  924. (WebCore::westPanningCursor):
  925. * platform/wx/CursorWx.cpp: to avoid build break
  926. (WebCore::middlePanningCursor):
  927. (WebCore::eastPanningCursor):
  928. (WebCore::northPanningCursor):
  929. (WebCore::northEastPanningCursor):
  930. (WebCore::northWestPanningCursor):
  931. (WebCore::southPanningCursor):
  932. (WebCore::southEastPanningCursor):
  933. (WebCore::southWestPanningCursor):
  934. (WebCore::westPanningCursor):
  935. 2008-08-02 Kevin Ollivier <kevino@theolliviers.com>
  936. Move to using constants in accordance with discussions about wx renderer commit.
  937. * platform/wx/RenderThemeWx.cpp:
  938. (WebCore::RenderThemeWx::minimumMenuListSize):
  939. (WebCore::RenderThemeWx::popupInternalPaddingLeft):
  940. (WebCore::RenderThemeWx::popupInternalPaddingRight):
  941. (WebCore::RenderThemeWx::popupInternalPaddingTop):
  942. (WebCore::RenderThemeWx::popupInternalPaddingBottom):
  943. 2008-08-02 Wouter Bolsterlee <wbolster@svn.gnome.org>
  944. Reviewed by Eric Seidel.
  945. * plugins/gtk/gtk2xtbin.h:
  946. https://bugs.webkit.org/show_bug.cgi?id=20034
  947. Fix malformed Vim modeline.
  948. 2008-08-01 Dan Bernstein <mitz@apple.com>
  949. Reviewed by Dave Hyatt.
  950. - tweak a comment
  951. * platform/graphics/cg/ImageCG.cpp:
  952. (WebCore::BitmapImage::draw):
  953. 2008-08-01 Jan Michael Alonzo <jmalonzo@webkit.org>
  954. * ChangeLog: Fix date of previous commit (r35520)
  955. 2008-08-01 Marco Barisione <marco.barisione@collabora.co.uk>
  956. Reviewed by Eric Seidel.
  957. https://bugs.webkit.org/show_bug.cgi?id=19603
  958. [SOUP] segfault when closing a file using gio
  959. Call client->didFinishLoading() only after releasing all the gio
  960. resources.
  961. * platform/network/soup/ResourceHandleSoup.cpp:
  962. (WebCore::closeCallback):
  963. (WebCore::readCallback):
  964. 2008-08-01 Anders Carlsson <andersca@apple.com>
  965. Reviewed by Jon.
  966. <rdar://problem/6120206>
  967. Crash when plug-in queries for NPPVpluginWantsAllNetworkStreams.
  968. Pass in a pointer to a void* to make sure that plug-ins don't overwrite the stack.
  969. * plugins/PluginStream.cpp:
  970. (WebCore::PluginStream::wantsAllStreams):
  971. 2008-08-01 Robin Dunn <robin@alldunn.com>
  972. Reviewed by Eric Seidel.
  973. Native rendering implementations for form elements in the wx port.
  974. https://bugs.webkit.org/show_bug.cgi?id=19069
  975. * platform/wx/RenderThemeWx.cpp:
  976. (WebCore::RenderThemeWx::adjustRepaintRect):
  977. (WebCore::RenderThemeWx::paintButton):
  978. (WebCore::RenderThemeWx::paintTextField):
  979. (WebCore::RenderThemeWx::minimumMenuListSize):
  980. (WebCore::RenderThemeWx::adjustMenuListStyle):
  981. (WebCore::RenderThemeWx::paintMenuList):
  982. (WebCore::RenderThemeWx::adjustMenuListButtonStyle):
  983. (WebCore::RenderThemeWx::paintMenuListButton):
  984. (WebCore::RenderThemeWx::popupInternalPaddingLeft):
  985. (WebCore::RenderThemeWx::popupInternalPaddingRight):
  986. (WebCore::RenderThemeWx::popupInternalPaddingTop):
  987. (WebCore::RenderThemeWx::popupInternalPaddingBottom):
  988. 2008-07-30 David Hyatt <hyatt@apple.com>
  989. Improvements to selection drawing.
  990. Clip out floating and positioned objects when drawing selection so
  991. that there is no "double painting" of selection when the selection spans both the space behind the positioned/floating
  992. object and the positioned/floating object itself. Improves most Web pages.
  993. Do not paint left/right selection gaps if the object's edge is already outside the boundary (at a negative
  994. position). Significantly improves the look of selections on digg.com, since it uses giant negative text-indent.
  995. Reviewed by Dan
  996. Covered by existing selection pixel tests.
  997. * rendering/RenderBlock.cpp:
  998. (WebCore::RenderBlock::isSelectionRoot):
  999. (WebCore::RenderBlock::paintSelection):
  1000. (WebCore::clipOutPositionedObjects):
  1001. (WebCore::RenderBlock::fillSelectionGaps):
  1002. (WebCore::RenderBlock::fillLeftSelectionGap):
  1003. (WebCore::RenderBlock::fillRightSelectionGap):
  1004. 2008-08-01 Timothy Hatcher <timothy@apple.com>
  1005. Adds the ability to disable individual properties of a CSS rule.
  1006. When hovering over a rule, checkboxes show up to the right of all
  1007. properties and toggling a checkbox disables/enables the property.
  1008. Behind the scenes the property is removed from the rule when disabled,
  1009. but still remains in the list and in the computed style. When disabled
  1010. the property has a line through it, and is faded in computed style.
  1011. <rdar://problem/5712828> Support disabling individual CSS properties
  1012. https://bugs.webkit.org/show_bug.cgi?id=14377
  1013. Reviewed by Adam Roben.
  1014. * page/inspector/StylesSidebarPane.js:
  1015. (WebInspector.StylesSidebarPane.prototype.update): Include the
  1016. inline style when it also has disabled properties. Call
  1017. deleteDisabledProperty for any property that is in the style,
  1018. since it might have been added back by the page. Remember all
  1019. disabled properties so they show up in computed style.
  1020. (deleteDisabledProperty): Helper function to delete all the
  1021. right properties that track disabled properties.
  1022. (WebInspector.StylePropertiesSection): Add the computed-style
  1023. class when the section is Computed Style.
  1024. (WebInspector.StylePropertiesSection.prototype.onpopulate):
  1025. Include disabled properties.
  1026. (WebInspector.StylePropertyTreeElement): Added a disabled argument.
  1027. (WebInspector.StylePropertyTreeElement.prototype.get/set disabled):
  1028. Sets the _disabled property and calls updateState.
  1029. (WebInspector.StylePropertyTreeElement.prototype.get priority):
  1030. Return the priority of enabled or disabled properties.
  1031. (WebInspector.StylePropertyTreeElement.prototype.get value):
  1032. Return the value of enabled or disabled properties.
  1033. (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Use the
  1034. priority and value getter. Append the checkbox for root elements of
  1035. an editable section.
  1036. (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
  1037. Add or remove properties from the rule and remember removed ones
  1038. by adding three objects to the style: __disabledProperties,
  1039. __disabledPropertyValues and __disabledPropertyPriorities.
  1040. The __disabledProperties object will include all longhand
  1041. properties of a shorthand for use by Computed Style.
  1042. (WebInspector.StylePropertyTreeElement.prototype.updateState):
  1043. Use the value getter. Update the disabled state.
  1044. * page/inspector/inspector.css:
  1045. * page/inspector/utilities.js:
  1046. (Object.hasProperties): Added. Helper to test if an object
  1047. has any properties.
  1048. 2008-07-31 Anders Carlsson <andersca@apple.com>
  1049. Reviewed by Darin.
  1050. <rdar://problem/5949410>
  1051. Add the ability to transfer a given application cache to a new database.
  1052. * WebCore.base.exp:
  1053. Export ApplicationCacheStorage::storeCopyOfCache.
  1054. * loader/appcache/ApplicationCache.cpp:
  1055. (WebCore::ApplicationCache::~ApplicationCache):
  1056. Don't call cacheDestroyed for our special "copy" groups.
  1057. * loader/appcache/ApplicationCacheGroup.cpp:
  1058. (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
  1059. (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
  1060. Add a "copy" flag to the ApplicationCacheGroup constructor. A "copied" group is special
  1061. and can only be stored to disk.
  1062. * loader/appcache/ApplicationCacheGroup.h:
  1063. (WebCore::ApplicationCacheGroup::isCopy):
  1064. New getter.
  1065. * loader/appcache/ApplicationCacheStorage.cpp:
  1066. (WebCore::ApplicationCacheStorage::store):
  1067. Make sure to set the storageID when storing an application resource.
  1068. (WebCore::ApplicationCacheStorage::storeNewestCache):
  1069. Change this to return true/false depending on whether storing the cache succeeded or not.
  1070. (WebCore::ApplicationCacheStorage::storeCopyOfCache):
  1071. New method which stores a given cache in a new storage (database file).
  1072. * loader/appcache/ApplicationCacheStorage.h:
  1073. Add new methods.
  1074. 2008-07-31 John Sullivan <sullivan@apple.com>
  1075. WebCore part of <rdar://problem/6116650> Text-only zoom setting should be stored in WebKit prefs
  1076. Reviewed by Hyatt
  1077. * WebCore.base.exp:
  1078. export symbol for WebCoreSettings::setZoomsTextOnly()
  1079. * page/Frame.cpp:
  1080. (WebCore::Frame::isZoomFactorTextOnly):
  1081. use value from Settings instead of data member
  1082. (WebCore::Frame::shouldApplyTextZoom):
  1083. call isZoomFactorTextOnly() to get value instead of accessing now-removed data member
  1084. (WebCore::Frame::shouldApplyPageZoom):
  1085. ditto
  1086. (WebCore::Frame::setZoomFactor):
  1087. set value into Settings rather than into data member
  1088. (WebCore::FramePrivate::FramePrivate):
  1089. don't set initial value of now-removed data member; this is managed by Settings now
  1090. * page/FramePrivate.h:
  1091. removed m_zoomFactorIsTextOnly
  1092. * page/Settings.cpp:
  1093. (WebCore::Settings::setZoomsTextOnly):
  1094. new function, sets values and reapplies styles in all frames
  1095. * page/Settings.h:
  1096. (WebCore::Settings::zoomsTextOnly):
  1097. new function, returns value of new data member
  1098. 2008-07-31 Simon Fraser <simon.fraser@apple.com>
  1099. Reviewed by Dave Hyatt
  1100. Null-check parent clip rects, because they may not have been
  1101. set up yet.
  1102. https://bugs.webkit.org/show_bug.cgi?id=20243
  1103. * rendering/RenderLayer.cpp:
  1104. (WebCore::RenderLayer::calculateClipRects):
  1105. 2008-07-31 Dan Bernstein <mitz@apple.com>
  1106. Reviewed by Dave Hyatt.
  1107. - fix <rdar://problem/6058958> REGRESSION (r34210): Seams are visible in border-image
  1108. * platform/graphics/cg/ImageCG.cpp:
  1109. (WebCore::BitmapImage::draw): To work around a Core Graphics
  1110. interpolation issue, reverted to using a temporary subimage for drawing
  1111. a portion of the image with scaling and high-quality interpolation in
  1112. effect.
  1113. 2008-07-31 chris fleizach <cfleizach@apple.com>
  1114. Reviewed by Alice Liu
  1115. <rdar://problem/3563671> VO doesn't highlight characters when interacting when static text in web areas
  1116. Need to expose the AXBoundsForRange parameter which allows an AX client to get the visible bounds
  1117. for individual characters on a webpage.
  1118. Test: accessibility/bounds-for-range.html
  1119. * ChangeLog:
  1120. * page/AccessibilityRenderObject.cpp:
  1121. (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
  1122. * page/mac/AccessibilityObjectWrapper.mm:
  1123. (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
  1124. (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
  1125. 2008-07-31 Kevin Ollivier <kevino@theolliviers.com>
  1126. Second attempt at Windows/wx build fix. Instead of avoiding inclusion of windows.h,
  1127. use defines, etc. to avoid conflicts in each affected file.
  1128. * config.h:
  1129. * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
  1130. * platform/wx/PopupMenuWx.cpp:
  1131. 2008-07-31 Erik Bunce <elbunce@thehive.com>
  1132. Reviewed by Simon.
  1133. https://bugs.webkit.org/show_bug.cgi?id=20224
  1134. Include the Writing Direction sub-menu in the context menu of all
  1135. platforms but GTK. This fixes a regression introduced by revision
  1136. 34426.
  1137. * platform/ContextMenu.cpp:
  1138. (WebCore::ContextMenu::populate):
  1139. 2008-07-31 Brady Eidson <beidson@apple.com>
  1140. Reviewed by Adam and Hyatt
  1141. Fix for <rdar://problem/6099748>
  1142. Adds a "don't enforce CSS mime type in strict mode" quirk for iWeb 2
  1143. * WebCore.base.exp:
  1144. * html/HTMLLinkElement.cpp:
  1145. (WebCore::HTMLLinkElement::setCSSStyleSheet):
  1146. * loader/CachedCSSStyleSheet.cpp:
  1147. (WebCore::CachedCSSStyleSheet::canUseSheet):
  1148. * loader/CachedCSSStyleSheet.h:
  1149. (WebCore::CachedCSSStyleSheet::sheetText):
  1150. * page/Settings.cpp:
  1151. (WebCore::Settings::Settings):
  1152. (WebCore::Settings::setEnforceCSSMIMETypeInStrictMode):
  1153. * page/Settings.h:
  1154. (WebCore::Settings::enforceCSSMIMETypeInStrictMode):
  1155. 2008-07-31 Erik Bunce <elbunce@thehive.com>
  1156. Reviewed by Simon.
  1157. Added the ability to get SQLite headers and source from the location
  1158. specified via the SQLITE3SRCDIR environtment variable.
  1159. * WebCore.pro:
  1160. 2008-07-31 Alexey Proskuryakov <ap@webkit.org>
  1161. Rubber-stamped by Maciej.
  1162. Eliminate JSLock (it was already disabled, removing the stub implementaion and all
  1163. call sites now).
  1164. * ForwardingHeaders/kjs/JSLock.h: Removed.
  1165. * WebCore.vcproj/WebCore.vcproj:
  1166. * bindings/js/GCController.cpp:
  1167. (WebCore::collect):
  1168. (WebCore::GCController::gcTimerFired):
  1169. (WebCore::GCController::garbageCollectNow):
  1170. * bindings/js/JSCustomSQLStatementCallback.cpp:
  1171. (WebCore::JSCustomSQLStatementCallback::handleEvent):
  1172. * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
  1173. (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
  1174. * bindings/js/JSCustomSQLTransactionCallback.cpp:
  1175. (WebCore::JSCustomSQLTransactionCallback::handleEvent):
  1176. * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
  1177. (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
  1178. * bindings/js/JSCustomVoidCallback.cpp:
  1179. (WebCore::JSCustomVoidCallback::handleEvent):
  1180. * bindings/js/JSCustomXPathNSResolver.cpp:
  1181. (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
  1182. * bindings/js/JSDOMWindowBase.cpp:
  1183. (WebCore::DOMWindowTimer::~DOMWindowTimer):
  1184. (WebCore::JSDOMWindowBase::clear):
  1185. (WebCore::JSDOMWindowBase::timerFired):
  1186. * bindings/js/JSEventCustom.cpp:
  1187. (WebCore::toJS):
  1188. * bindings/js/JSEventListener.cpp:
  1189. (WebCore::JSAbstractEventListener::handleEvent):
  1190. (WebCore::JSLazyEventListener::parseCode):
  1191. * bindings/js/JSNSResolver.cpp:
  1192. (WebCore::JSNSResolver::lookupNamespaceURI):
  1193. * bindings/js/JSNodeFilterCondition.cpp:
  1194. (WebCore::JSNodeFilterCondition::acceptNode):
  1195. * bindings/js/ScheduledAction.cpp:
  1196. (WebCore::ScheduledAction::execute):
  1197. * bindings/js/ScriptController.cpp:
  1198. (WebCore::ScriptController::evaluate):
  1199. (WebCore::ScriptController::clear):
  1200. (WebCore::ScriptController::createHTMLEventHandler):
  1201. (WebCore::ScriptController::createSVGEventHandler):
  1202. (WebCore::ScriptController::initScript):
  1203. (WebCore::ScriptController::updateDocument):
  1204. * bindings/objc/WebScriptObject.mm:
  1205. (_didExecute):
  1206. (-[WebScriptObject callWebScriptMethod:withArguments:]):
  1207. (-[WebScriptObject evaluateWebScript:]):
  1208. (-[WebScriptObject setValue:forKey:]):
  1209. (-[WebScriptObject valueForKey:]):
  1210. (-[WebScriptObject removeWebScriptKey:]):
  1211. (-[WebScriptObject stringRepresentation]):
  1212. (-[WebScriptObject webScriptValueAtIndex:]):
  1213. (-[WebScriptObject setWebScriptValueAtIndex:value:]):
  1214. (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
  1215. * bridge/NP_jsobject.cpp:
  1216. (_NPN_InvokeDefault):
  1217. (_NPN_Invoke):
  1218. (_NPN_Evaluate):
  1219. (_NPN_GetProperty):
  1220. (_NPN_SetProperty):
  1221. (_NPN_RemoveProperty):
  1222. (_NPN_HasProperty):
  1223. (_NPN_HasMethod):
  1224. (_NPN_Enumerate):
  1225. * bridge/c/c_class.cpp:
  1226. (KJS::Bindings::CClass::~CClass):
  1227. (KJS::Bindings::CClass::methodsNamed):
  1228. (KJS::Bindings::CClass::fieldNamed):
  1229. * bridge/c/c_instance.cpp:
  1230. (KJS::Bindings::CInstance::invokeMethod):
  1231. (KJS::Bindings::CInstance::invokeDefaultMethod):
  1232. (KJS::Bindings::CInstance::getPropertyNames):
  1233. * bridge/c/c_runtime.cpp:
  1234. (KJS::Bindings::CField::valueFromInstance):
  1235. (KJS::Bindings::CField::setValueToInstance):
  1236. * bridge/c/c_utility.cpp:
  1237. (KJS::Bindings::convertValueToNPVariant):
  1238. (KJS::Bindings::convertNPVariantToValue):
  1239. * bridge/jni/jni_class.cpp:
  1240. (JavaClass::JavaClass):
  1241. (JavaClass::~JavaClass):
  1242. * bridge/jni/jni_instance.cpp:
  1243. (JavaInstance::stringValue):
  1244. * bridge/jni/jni_jsobject.mm:
  1245. (JavaJSObject::call):
  1246. (JavaJSObject::eval):
  1247. (JavaJSObject::getMember):
  1248. (JavaJSObject::setMember):
  1249. (JavaJSObject::removeMember):
  1250. (JavaJSObject::getSlot):
  1251. (JavaJSObject::setSlot):
  1252. (JavaJSObject::toString):
  1253. (JavaJSObject::convertValueToJObject):
  1254. (JavaJSObject::convertJObjectToValue):
  1255. * bridge/jni/jni_objc.mm:
  1256. (KJS::Bindings::dispatchJNICall):
  1257. * bridge/jni/jni_runtime.cpp:
  1258. (appendClassName):
  1259. (JavaMethod::signature):
  1260. * bridge/jni/jni_runtime.h:
  1261. (KJS::Bindings::JavaString::JavaString):
  1262. (KJS::Bindings::JavaString::_commonInit):
  1263. (KJS::Bindings::JavaString::~JavaString):
  1264. (KJS::Bindings::JavaString::UTF8String):
  1265. * bridge/jni/jni_utility.cpp:
  1266. (KJS::Bindings::convertValueToJValue):
  1267. * bridge/npruntime.cpp:
  1268. (_NPN_GetStringIdentifier):
  1269. * bridge/objc/objc_instance.mm:
  1270. (ObjcInstance::moveGlobalExceptionToExecState):
  1271. (ObjcInstance::invokeMethod):
  1272. (ObjcInstance::invokeDefaultMethod):
  1273. (ObjcInstance::setValueOfUndefinedField):
  1274. (ObjcInstance::getValueOfUndefinedField):
  1275. * bridge/objc/objc_runtime.mm:
  1276. (ObjcField::valueFromInstance):
  1277. (ObjcField::setValueToInstance):
  1278. * bridge/objc/objc_utility.mm:
  1279. (KJS::Bindings::convertValueToObjcValue):
  1280. (KJS::Bindings::convertNSStringToString):
  1281. (KJS::Bindings::convertObjcValueToValue):
  1282. * bridge/qt/qt_instance.cpp:
  1283. (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
  1284. (KJS::Bindings::QtInstance::~QtInstance):
  1285. (KJS::Bindings::QtInstance::getQtInstance):
  1286. (KJS::Bindings::QtInstance::getRuntimeObject):
  1287. * bridge/qt/qt_runtime.cpp:
  1288. (KJS::Bindings::convertValueToQVariant):
  1289. (KJS::Bindings::convertQVariantToValue):
  1290. (KJS::Bindings::QtRuntimeMetaMethod::call):
  1291. (KJS::Bindings::QtRuntimeConnectionMethod::call):
  1292. (KJS::Bindings::QtConnectionObject::QtConnectionObject):
  1293. (KJS::Bindings::QtConnectionObject::execute):
  1294. * bridge/runtime.cpp:
  1295. (KJS::Bindings::Instance::createRuntimeObject):
  1296. * bridge/testbindings.cpp:
  1297. (main):
  1298. * bridge/testbindings.mm:
  1299. (main):
  1300. * bridge/testqtbindings.cpp:
  1301. (main):
  1302. * dom/Document.cpp:
  1303. (WebCore::Document::~Document):
  1304. * dom/Node.cpp:
  1305. (WebCore::Node::setDocument):
  1306. * history/CachedPage.cpp:
  1307. (WebCore::CachedPage::CachedPage):
  1308. (WebCore::CachedPage::restore):
  1309. (WebCore::CachedPage::clear):
  1310. * html/HTMLPlugInElement.cpp:
  1311. (WebCore::HTMLPlugInElement::createNPObject):
  1312. * loader/FrameLoader.cpp:
  1313. (WebCore::getString):
  1314. * page/Frame.cpp:
  1315. (WebCore::Frame::bindingRootObject):
  1316. (WebCore::Frame::windowScriptNPObject):
  1317. (WebCore::Frame::clearScriptObjects):
  1318. * page/InspectorController.cpp:
  1319. (WebCore::jsStringRef):
  1320. (WebCore::ConsoleMessage::ConsoleMessage):
  1321. (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
  1322. (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
  1323. (WebCore::getResourceDocumentNode):
  1324. (WebCore::search):
  1325. (WebCore::inspectedWindow):
  1326. (WebCore::wrapCallback):
  1327. (WebCore::currentCallFrame):
  1328. (WebCore::profiles):
  1329. (WebCore::InspectorController::focusNode):
  1330. (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
  1331. (WebCore::InspectorController::addDatabaseScriptResource):
  1332. (WebCore::InspectorController::addScriptProfile):
  1333. * page/JavaScriptCallFrame.cpp:
  1334. (WebCore::JavaScriptCallFrame::evaluate):
  1335. * page/JavaScriptProfileNode.cpp:
  1336. (WebCore::getTotalTime):
  1337. (WebCore::getSelfTime):
  1338. (WebCore::getTotalPercent):
  1339. (WebCore::getSelfPercent):
  1340. (WebCore::getNumberOfCalls):
  1341. (WebCore::getChildren):
  1342. (WebCore::getVisible):
  1343. * page/Page.cpp:
  1344. * page/mac/FrameMac.mm:
  1345. (WebCore::Frame::windowScriptObject):
  1346. * page/qt/FrameQt.cpp:
  1347. * plugins/PluginView.cpp:
  1348. (WebCore::PluginView::start):
  1349. (WebCore::getString):
  1350. (WebCore::PluginView::performRequest):
  1351. (WebCore::PluginView::bindingInstance):
  1352. * plugins/gtk/PluginViewGtk.cpp:
  1353. (WebCore::PluginView::paint):
  1354. (WebCore::PluginView::handleKeyboardEvent):
  1355. (WebCore::PluginView::handleMouseEvent):
  1356. (WebCore::PluginView::setNPWindowRect):
  1357. (WebCore::PluginView::stop):
  1358. (WebCore::PluginView::init):
  1359. * plugins/qt/PluginViewQt.cpp:
  1360. (WebCore::PluginView::setNPWindowRect):
  1361. (WebCore::PluginView::stop):
  1362. (WebCore::PluginView::init):
  1363. * plugins/win/PluginViewWin.cpp:
  1364. (WebCore::PluginView::dispatchNPEvent):
  1365. (WebCore::PluginView::handleKeyboardEvent):
  1366. (WebCore::PluginView::handleMouseEvent):
  1367. (WebCore::PluginView::setNPWindowRect):
  1368. (WebCore::PluginView::stop):
  1369. * xml/XMLHttpRequest.cpp:
  1370. (WebCore::XMLHttpRequest::clearResponse):
  1371. (WebCore::XMLHttpRequest::didFinishLoading):
  1372. (WebCore::XMLHttpRequest::didReceiveData):
  1373. 2008-07-30 Timothy Hatcher <timothy@apple.com>
  1374. Fix various minor bugs with style editing in the Inspector.
  1375. - Restores the scroll position to 0,0 when finished editing a
  1376. string that was longer than the editing input area.
  1377. - Adjusts the margin of the list item to ensure the text does
  1378. not shift when entering and exiting editing mode.
  1379. - Reliably remembers if a shorthand has children when the
  1380. children haven't been populated yet.
  1381. - Reliably remembers if a shorthand was expanded, and expands
  1382. if needed after editing finishes.
  1383. - Hides color swatches when editing.
  1384. https://bugs.webkit.org/show_bug.cgi?id=20238
  1385. Reviewed by Adam Roben.
  1386. * page/inspector/StylesSidebarPane.js:
  1387. (WebInspector.StylePropertyTreeElement.prototype.startEditing):
  1388. Store the expanded state and children state in wasExpanded and
  1389. reallyHasChildren properties.
  1390. (WebInspector.StylePropertyTreeElement.prototype.editingEnded):
  1391. Removed the wasExpanded argument and use the reallyHasChildren and
  1392. wasExpanded properties to restore state. Deletes the state properties.
  1393. (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
  1394. Removed the wasExpanded argument.
  1395. (WebInspector.StylePropertyTreeElement.prototype.editingCommitted):
  1396. Removed the wasExpanded argument.
  1397. * page/inspector/inspector.css: Tweak the margin and hides the color
  1398. swatches. ALso removes a rule that was not needed.
  1399. * page/inspector/inspector.js:
  1400. (WebInspector.startEditing): Restore the scrollLeft and scrollTop
  1401. to zero when editing finishes.
  1402. 2008-07-30 Alice Liu <alice.liu@apple.com>
  1403. Implement userIdleTime() for Windows, and place a band-aid over other
  1404. platform implementations of userIdleTime(). This will fix the issue
  1405. of indefinitely postposing releasing pages from the PageCache
  1406. on non-Mac platforms, causing us to hang onto just about everything
  1407. else about a web page.
  1408. Reviewed by Sam Weinig.
  1409. * platform/gtk/TemporaryLinkStubs.cpp:
  1410. * platform/wx/TemporaryLinkStubs.cpp:
  1411. * platform/qt/TemporaryLinkStubs.cpp:
  1412. (WebCore::userIdleTime): set to FLT_MAX
  1413. * platform/win/SystemTimeWin.cpp:
  1414. (WebCore::userIdleTime): implemented
  1415. 2008-07-30 Beth Dakin <bdakin@apple.com>
  1416. Reviewed by Anders Carlsson.
  1417. Fixes <rdar://problem/6041390>
  1418. Adds the ability to have a frame that is "disconnected" from the
  1419. main frame from the perspective of top and parent in
  1420. Javascript.
  1421. * WebCore.base.exp:
  1422. * page/DOMWindow.cpp:
  1423. (WebCore::DOMWindow::parent):
  1424. (WebCore::DOMWindow::top):
  1425. * page/Frame.cpp:
  1426. (WebCore::Frame::isDisconnectedFrame):
  1427. (WebCore::Frame::setIsDisconnectedFrame):
  1428. (WebCore::FramePrivate::FramePrivate):
  1429. * page/Frame.h:
  1430. * page/FramePrivate.h:
  1431. * page/FrameTree.cpp:
  1432. (WebCore::FrameTree::parent):
  1433. (WebCore::FrameTree::top):
  1434. * page/FrameTree.h:
  1435. 2008-07-25 Eric Seidel <eric@webkit.org>
  1436. Reviewed by Justin.
  1437. Crash Safari when dragging images into Google presentations
  1438. https://bugs.webkit.org/show_bug.cgi?id=20161
  1439. Test: manual-tests/remove-on-drop-crash.html
  1440. * editing/ReplaceSelectionCommand.cpp:
  1441. (WebCore::ReplaceSelectionCommand::doApply):
  1442. * manual-tests/remove-on-drop-crash.html: Added.
  1443. 2008-07-30 Christian Dywan <christian@twotoasts.de>
  1444. Reviewed by Mark.
  1445. Build fix for Cairo < 1.6
  1446. * platform/graphics/cairo/PathCairo.cpp:
  1447. (WebCore::Path::boundingRect): use cairo_stroke_extends for < 1.6
  1448. 2008-07-29 Kevin McCullough <kmccullough@apple.com>
  1449. Reviewed by Geoff.
  1450. <rdar://problem/6110314> Crash in profiler dereferencing null frame or
  1451. page (20214)
  1452. - Null check.
  1453. * page/Console.cpp:
  1454. (WebCore::Console::finishedProfiling):
  1455. 2008-07-30 David Hyatt <hyatt@apple.com>
  1456. https://bugs.webkit.org/show_bug.cgi?id=18070
  1457. Full page zoom needs to work properly with JS mouse events. Make sure to adjust the coordinates of the
  1458. JS mouse event to account for zoom.
  1459. Reviewed by olliej
  1460. * dom/EventTargetNode.cpp:
  1461. (WebCore::EventTargetNode::dispatchMouseEvent):
  1462. 2008-07-29 Sam Weinig <sam@webkit.org>
  1463. Reviewed by Darin Adler.
  1464. Update Cross-site XMLHttpRequests using Access control to
  1465. the latest spec. (Editor's Draft 8 July 2008)
  1466. - This leaves us at about the same place as we previously were
  1467. still needing preflight caching and better redirect support.
  1468. * GNUmakefile.am:
  1469. * WebCore.pro:
  1470. * WebCore.vcproj/WebCore.vcproj:
  1471. * WebCore.xcodeproj/project.pbxproj:
  1472. * WebCoreSources.bkl:
  1473. * xml/AccessControlList.cpp: Removed.
  1474. * xml/AccessControlList.h: Removed.
  1475. * xml/AccessItem.cpp: Removed.
  1476. * xml/AccessItem.h: Removed.
  1477. * xml/AccessItemRule.cpp: Removed.
  1478. * xml/AccessItemRule.h: Removed.
  1479. * xml/XMLHttpRequest.cpp:
  1480. (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
  1481. (WebCore::XMLHttpRequest::XMLHttpRequest):
  1482. (WebCore::XMLHttpRequest::isSimpleCrossSiteAccessRequest):
  1483. (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
  1484. (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
  1485. (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
  1486. (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
  1487. (WebCore::XMLHttpRequest::abort):
  1488. (WebCore::XMLHttpRequest::clearRequest):
  1489. (WebCore::XMLHttpRequest::didFinishLoading):
  1490. (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
  1491. (WebCore::XMLHttpRequest::accessControlCheck):
  1492. (WebCore::XMLHttpRequest::didReceiveResponse):
  1493. (WebCore::parseAccessControlAllowList):
  1494. (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
  1495. * xml/XMLHttpRequest.h:
  1496. 2008-07-29 Kevin Calhoun <kcalhoun@apple.com>
  1497. Reviewed by Adele.
  1498. Fix for <rdar://problem/6060647> Adopt QTMovieOpenForPlaybackAttribute flag
  1499. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie):
  1500. 2008-07-29 Kevin Calhoun <kcalhoun@apple.com>
  1501. Reviewed by Adele.
  1502. Fix for <rdar://problem/6031021> Make standalone video render more like the quicktime plugin to improve performance
  1503. For standalone video, use QTMovieView to draw.
  1504. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  1505. (WebCore::MediaPlayerPrivate::createQTMovieView): Moved nil checks to setUpVideoRendering.
  1506. Associate the QTMovieView with the WebCoreMovieObserver.
  1507. If we're in a media document, allow QTMovieView to render in its default mode; otherwise tell it to draw synchronously.
  1508. (WebCore::MediaPlayerPrivate::detachQTMovieView): Set the WebCoreMovieObserver's view to nil.
  1509. (WebCore::MediaPlayerPrivate::createQTVideoRenderer): Nil check is now in setUpVideoRendering, which is the only caller of this.
  1510. (WebCore::MediaPlayerPrivate::setUpVideoRendering): Added nil checks. Call createQTMovieView for media documents.
  1511. (WebCore::MediaPlayerPrivate::tearDownVideoRendering): Call detachQTMovieView if a QTMovieView exists.
  1512. (WebCore::MediaPlayerPrivate::setRect): Call setFrame on the QTMovieView if necessary.
  1513. (-[WebCoreMovieObserver menuForEventDelegate:]): Added. Returns the frame view's menu.
  1514. (-[WebCoreMovieObserver setView:]): Added.
  1515. 2008-07-29 Adele Peterson <adele@apple.com>
  1516. Reviewed by Dan Bernstein.
  1517. Fix for <rdar://problem/6073372> Move built-in controls below <video> element for standalone media documents
  1518. * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added -webkit-full-page-media pseudo class.
  1519. * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoFullPageMedia.
  1520. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added case to
  1521. apply PseudoFullPageMedia for elements in a full page media document.
  1522. * css/html4.css: Added rule to shift control panel down for video in standalone media documents.
  1523. * rendering/RenderMedia.cpp:
  1524. (WebCore::RenderMedia::lowestPosition): Added implementation that takes the controls into account.
  1525. This makes sure that scrollbars on the page will account for controls not directly contained in the RenderMedia.
  1526. (WebCore::RenderMedia::rightmostPosition): ditto.
  1527. (WebCore::RenderMedia::leftmostPosition): ditto.
  1528. * rendering/RenderMedia.h:
  1529. 2008-07-29 Sam Weinig <sam@webkit.org>
  1530. Reviewed by Anders Carlsson.
  1531. <rdar://problem/6084585> Investigate upload progress events.
  1532. - Add progress notifications for data being sent via a ResourceHandle.
  1533. - Add XMLHttpRequestUpload support.
  1534. Upload notifications only work on the Mac right now as the CFNetwork API
  1535. on windows does not expose enough information.
  1536. Tests: http/tests/xmlhttprequest/upload-onload-event.html
  1537. http/tests/xmlhttprequest/upload-onloadstart-event.html
  1538. http/tests/xmlhttprequest/upload-onprogress-event.html
  1539. http/tests/xmlhttprequest/upload-progress-events.html
  1540. * DerivedSources.make:
  1541. * GNUmakefile.am:
  1542. * WebCore.pro:
  1543. * WebCore.vcproj/WebCore.vcproj:
  1544. * WebCore.xcodeproj/project.pbxproj:
  1545. * WebCoreSources.bkl:
  1546. * bindings/js/JSEventTargetBase.cpp:
  1547. (WebCore::toJS):
  1548. * bindings/js/JSXMLHttpRequestCustom.cpp:
  1549. (WebCore::JSXMLHttpRequest::mark):
  1550. * bindings/js/JSXMLHttpRequestUploadCustom.cpp: Added.
  1551. (WebCore::JSXMLHttpRequestUpload::mark):
  1552. (WebCore::JSXMLHttpRequestUpload::onabort):
  1553. (WebCore::JSXMLHttpRequestUpload::setOnabort):
  1554. (WebCore::JSXMLHttpRequestUpload::onerror):
  1555. (WebCore::JSXMLHttpRequestUpload::setOnerror):
  1556. (WebCore::JSXMLHttpRequestUpload::onload):
  1557. (WebCore::JSXMLHttpRequestUpload::setOnload):
  1558. (WebCore::JSXMLHttpRequestUpload::onloadstart):
  1559. (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
  1560. (WebCore::JSXMLHttpRequestUpload::onprogress):
  1561. (WebCore::JSXMLHttpRequestUpload::setOnprogress):
  1562. (WebCore::JSXMLHttpRequestUpload::addEventListener):
  1563. (WebCore::JSXMLHttpRequestUpload::removeEventListener):
  1564. (WebCore::JSXMLHttpRequestUpload::dispatchEvent):
  1565. * dom/EventTarget.cpp:
  1566. (WebCore::EventTarget::toXMLHttpRequestUpload):
  1567. * dom/EventTarget.h:
  1568. * loader/ResourceLoader.cpp:
  1569. (WebCore::ResourceLoader::didSendData):
  1570. * loader/ResourceLoader.h:
  1571. * loader/SubresourceLoader.cpp:
  1572. (WebCore::SubresourceLoader::didSendData):
  1573. * loader/SubresourceLoader.h:
  1574. * loader/SubresourceLoaderClient.h:
  1575. (WebCore::SubresourceLoaderClient::didSendData):
  1576. * page/DOMWindow.idl:
  1577. * platform/network/FormData.cpp:
  1578. (WebCore::FormData::FormData):
  1579. * platform/network/FormData.h:
  1580. (WebCore::FormData::alwaysStream):
  1581. (WebCore::FormData::setAlwaysStream):
  1582. * platform/network/ResourceHandleClient.h:
  1583. (WebCore::ResourceHandleClient::didSendData):
  1584. * platform/network/mac/FormDataStreamMac.h:
  1585. * platform/network/mac/FormDataStreamMac.mm:
  1586. (WebCore::getStreamFormDataMap):
  1587. (WebCore::getStreamResourceHandleMap):
  1588. (WebCore::associateStreamWithResourceHandle):
  1589. (WebCore::disassociateStreamWithResourceHandle):
  1590. (WebCore::DidSendDataCallbackData::DidSendDataCallbackData):
  1591. (WebCore::performDidSendDataCallback):
  1592. (WebCore::formCreate):
  1593. (WebCore::formFinalize):
  1594. (WebCore::formRead):
  1595. (WebCore::setHTTPBody):
  1596. (WebCore::httpBodyFromStream):
  1597. * platform/network/mac/ResourceHandleMac.mm:
  1598. (WebCore::ResourceHandle::start):
  1599. (WebCore::ResourceHandle::cancel):
  1600. (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
  1601. (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
  1602. (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
  1603. * xml/XMLHttpRequest.cpp:
  1604. (WebCore::XMLHttpRequest::XMLHttpRequest):
  1605. (WebCore::XMLHttpRequest::~XMLHttpRequest):
  1606. (WebCore::XMLHttpRequest::upload):
  1607. (WebCore::XMLHttpRequest::open):
  1608. (WebCore::XMLHttpRequest::send):
  1609. (WebCore::XMLHttpRequest::createRequest):
  1610. (WebCore::XMLHttpRequest::abort):
  1611. (WebCore::XMLHttpRequest::networkError):
  1612. (WebCore::XMLHttpRequest::abortError):
  1613. (WebCore::XMLHttpRequest::didSendData):
  1614. * xml/XMLHttpRequest.h:
  1615. (WebCore::XMLHttpRequest::optionalUpload):
  1616. * xml/XMLHttpRequest.idl:
  1617. * xml/XMLHttpRequestUpload.cpp: Added.
  1618. (WebCore::XMLHttpRequestUpload::XMLHttpRequestUpload):
  1619. (WebCore::XMLHttpRequestUpload::addEventListener):
  1620. (WebCore::XMLHttpRequestUpload::removeEventListener):
  1621. (WebCore::XMLHttpRequestUpload::dispatchEvent):
  1622. (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent):
  1623. (WebCore::XMLHttpRequestUpload::dispatchAbortEvent):
  1624. (WebCore::XMLHttpRequestUpload::dispatchErrorEvent):
  1625. (WebCore::XMLHttpRequestUpload::dispatchLoadEvent):
  1626. (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent):
  1627. (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
  1628. * xml/XMLHttpRequestUpload.h: Added.
  1629. (WebCore::XMLHttpRequestUpload::create):
  1630. (WebCore::XMLHttpRequestUpload::toXMLHttpRequestUpload):
  1631. (WebCore::XMLHttpRequestUpload::associatedXMLHttpRequest):
  1632. (WebCore::XMLHttpRequestUpload::disconnectXMLHttpRequest):
  1633. (WebCore::XMLHttpRequestUpload::setOnAbortListener):
  1634. (WebCore::XMLHttpRequestUpload::onAbortListener):
  1635. (WebCore::XMLHttpRequestUpload::setOnErrorListener):
  1636. (WebCore::XMLHttpRequestUpload::onErrorListener):
  1637. (WebCore::XMLHttpRequestUpload::setOnLoadListener):
  1638. (WebCore::XMLHttpRequestUpload::onLoadListener):
  1639. (WebCore::XMLHttpRequestUpload::setOnLoadStartListener):
  1640. (WebCore::XMLHttpRequestUpload::onLoadStartListener):
  1641. (WebCore::XMLHttpRequestUpload::setOnProgressListener):
  1642. (WebCore::XMLHttpRequestUpload::onProgressListener):
  1643. (WebCore::XMLHttpRequestUpload::eventListeners):
  1644. (WebCore::XMLHttpRequestUpload::refEventTarget):
  1645. (WebCore::XMLHttpRequestUpload::derefEventTarget):
  1646. * xml/XMLHttpRequestUpload.idl: Added.
  1647. 2008-07-29 Maxime Britto <britto@apple.com>
  1648. Reviewed by Darin.
  1649. <rdar://problem/6095023> "When pan-scrolling, mouse click on hyperlink stop the pan-Scroll but follow the link after that."
  1650. With this patch we now stop the pan scroll and swallow the event to prevent any following action.
  1651. * page/EventHandler.cpp:
  1652. (WebCore::EventHandler::handleMousePressEvent): If we were in pan scrolling mode we no longer just stop the pan scroll and continue with the function, we now stop and return true to attest that we swallowed the event.
  1653. 2008-07-29 Maxime Britto <britto@apple.com>
  1654. Reviewed by adele.
  1655. Test: fast/events/autoscroll-in-textfield.html
  1656. * rendering/RenderObject.cpp:
  1657. (WebCore::RenderObject::canBeProgramaticallyScrolled): reverted a bad change introduced in r35244
  1658. nb:the test case introduced in r35244 is still working.
  1659. 2008-07-29 Maxime Britto <britto@apple.com>
  1660. Reviewed by adele.
  1661. This test verifies that the autoscroll works within textfields.
  1662. * fast/events/autoscroll-in-textfield-expected.txt: Added.
  1663. * fast/events/autoscroll-in-textfield.html: Added.
  1664. 2008-07-29 Adele Peterson <adele@apple.com>
  1665. Reviewed by Sammy Weinig.
  1666. Fix for <rdar://problem/6103024>
  1667. When a QT movie is loaded directly in the browser, I can't pause it by single-clicking on the video
  1668. Test: media/video-click-dlbclick-standalone.html
  1669. * loader/MediaDocument.cpp: (WebCore::MediaDocument::defaultEventHandler): For standalone media documents,
  1670. match the default Quicktime plugin behavior to allow clicking and double-clicking to pause and play the media.
  1671. * loader/MediaDocument.h: Added defaultEventHandler.
  1672. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::defaultEventHandler): Return early if the event has been handled.
  1673. * rendering/MediaControlElements.cpp:
  1674. (WebCore::MediaControlMuteButtonElement::defaultEventHandler): Correct what was probably a typo. Instead of "event->defaultHandled()",
  1675. it is supposed to be "event->setDefaultHandled()".
  1676. (WebCore::MediaControlPlayButtonElement::defaultEventHandler): ditto.
  1677. (WebCore::MediaControlSeekButtonElement::defaultEventHandler): ditto.
  1678. (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): ditto.
  1679. 2008-07-29 Dan Bernstein <mitz@apple.com>
  1680. Reviewed by Dave Hyatt.
  1681. - fix <rdar://problem/6059648> Some content not visible when the window is short at courtneyalbright.com
  1682. Test: fast/overflow/float-in-relpositioned.html
  1683. * rendering/RenderBlock.cpp:
  1684. (WebCore::RenderBlock::lowestPosition): Add this block's relative offset
  1685. to floats' and positioned objects' lowest position.
  1686. (WebCore::RenderBlock::rightmostPosition): Ditto.
  1687. (WebCore::RenderBlock::leftmostPosition): Ditto.
  1688. * rendering/RenderBox.cpp:
  1689. (WebCore::RenderBox::lowestPosition): Removed redundant test.
  1690. (WebCore::RenderBox::rightmostPosition): Ditto.
  1691. (WebCore::RenderBox::leftmostPosition): Ditto.
  1692. 2008-07-29 Dan Bernstein <mitz@apple.com>
  1693. Reviewed by Dave Hyatt.
  1694. - fix <rdar://problem/6048566> Repaint original element's position, not its offset position
  1695. Test: fast/repaint/layout-state-relative.html
  1696. * rendering/RenderBox.cpp:
  1697. (WebCore::RenderBox::absolutePosition): Changed the LayoutState-enabled
  1698. code path to account for the object's relative offset.
  1699. (WebCore::RenderBox::computeAbsoluteRepaintRect): Ditto.
  1700. 2008-07-29 Keishi Hattori <casey.hattori@gmail.com>
  1701. Fixed Bug 19158: Inspector should support console.group/console.groupEnd
  1702. <https://bugs.webkit.org/show_bug.cgi?id=19158>
  1703. Reviewed by Tim Hatcher and Adam Roben.
  1704. * bindings/js/JSConsoleCustom.cpp:
  1705. (WebCore::JSConsole::group): Added.
  1706. * page/Console.cpp:
  1707. (WebCore::Console::group): Added.
  1708. (WebCore::Console::groupEnd): Added.
  1709. * page/Console.h:
  1710. (WebCore::):
  1711. * page/Console.idl: Added group/groupEnd.
  1712. * page/InspectorController.cpp:
  1713. (WebCore::ConsoleMessage::ConsoleMessage):
  1714. (WebCore::InspectorController::InspectorController): Added m_groupLevel.
  1715. (WebCore::InspectorController::addMessageToConsole): Added groupLevel argument.
  1716. (WebCore::InspectorController::startGroup): Increments m_groupLevel by one and calls js function if needed.
  1717. (WebCore::InspectorController::endGroup): Decrements m_groupLevel by one and calls js function if needed.
  1718. (WebCore::InspectorController::addScriptConsoleMessage): Added groupLevel argument.
  1719. (WebCore::InspectorController::didCommitLoad): Resets m_groupLevel.
  1720. * page/InspectorController.h:
  1721. * page/inspector/Console.js:
  1722. (WebInspector.Console): Added groupLevel and currentGroup topGroup.
  1723. (WebInspector.Console.addMessage): Calls addMessage method in the currentGroup.
  1724. (WebInspector.Console.startGroup): Added.
  1725. (WebInspector.Console.endGroup): Added.
  1726. (WebInspector.Console.clearMessages): Resets groupLevel and currentGroup.
  1727. (WebInspector.ConsoleMessage): Added groupLevel property.
  1728. (WebInspector.ConsoleMessage.MessageLevel.GroupTitle): Added.
  1729. (WebInspector.ConsoleGroup): Added.
  1730. (WebInspector.ConsoleGroup.addMessage): Adds console message to group.
  1731. (WebInspector.ConsoleGroup._titleClicked): Adds "collapsed" style class.
  1732. * page/inspector/inspector.css:
  1733. * page/inspector/inspector.js:
  1734. (WebInspector.startGroupInConsole): Calls console.startGroup
  1735. (WebInspector.endGroupInConsole): Calls console.endGroup
  1736. 2008-07-29 Adam Roben <aroben@apple.com>
  1737. Add names for WebCore's threads
  1738. Reviewed by Anders Carlsson.
  1739. * loader/icon/IconDatabase.cpp:
  1740. (WebCore::IconDatabase::open):
  1741. * storage/DatabaseThread.cpp:
  1742. (WebCore::DatabaseThread::start):
  1743. * storage/LocalStorageThread.cpp:
  1744. (WebCore::LocalStorageThread::start):
  1745. Pass in names to createThread.
  1746. * platform/network/cf/ResourceHandleCFNet.cpp:
  1747. (WebCore::runLoaderThread):
  1748. (WebCore::ResourceHandle::loaderRunLoop):
  1749. Changed to use WTF::createThread.
  1750. 2008-07-28 Anders Carlsson <andersca@apple.com>
  1751. Reviewed by Kevin Decker.
  1752. Based on a patch from Dimcho Balev.
  1753. Windows part of
  1754. https://bugs.webkit.org/show_bug.cgi?id=18676
  1755. <rdar://problem/6106578>
  1756. Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs
  1757. * plugins/PluginStream.cpp:
  1758. (WebCore::PluginStream::wantsAllStreams):
  1759. * plugins/PluginStream.h:
  1760. 2008-07-28 Brady Eidson <beidson@apple.com>
  1761. Reviewed by Sam Weinig
  1762. Test: security/autocomplete-cleared-on-back.html
  1763. <rdar://problem/6093281> - autocomplete="off" should work when going back
  1764. Taken care of in two ways:
  1765. 1 - Listening for the page cache notification to clear the form, in cases where the page
  1766. is being restored from the page cache
  1767. 2 - Not saving such form elements when doing the normal "save state" to a history item,
  1768. for cases with no page cache
  1769. * html/HTMLFormElement.cpp:
  1770. (WebCore::HTMLFormElement::~HTMLFormElement):
  1771. (WebCore::HTMLFormElement::parseMappedAttribute):
  1772. (WebCore::HTMLFormElement::didRestoreFromCache):
  1773. (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
  1774. (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
  1775. * html/HTMLFormElement.h:
  1776. * html/HTMLInputElement.cpp:
  1777. (WebCore::HTMLInputElement::~HTMLInputElement):
  1778. (WebCore::HTMLInputElement::setInputType):
  1779. (WebCore::HTMLInputElement::saveState):
  1780. (WebCore::HTMLInputElement::parseMappedAttribute):
  1781. (WebCore::HTMLInputElement::needsCacheCallback):
  1782. (WebCore::HTMLInputElement::registerForCacheCallbackIfNeeded): Only register if the type or attribute
  1783. indicate we should.
  1784. (WebCore::HTMLInputElement::unregisterForCacheCallbackIfNeeded): Only unregister if both the type
  1785. and attribute are clear of needing registration.
  1786. (WebCore::HTMLInputElement::didRestoreFromCache):
  1787. (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
  1788. (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
  1789. * html/HTMLInputElement.h:
  1790. 2008-07-28 David Hyatt <hyatt@apple.com>
  1791. Add support for CSS variable declaration blocks.
  1792. Reviewed by Sam
  1793. Added tests in fast/css/variables.
  1794. * css/CSSGrammar.y:
  1795. * css/CSSMutableStyleDeclaration.h:
  1796. (WebCore::CSSMutableStyleDeclaration::isMutableStyleDeclaration):
  1797. * css/CSSParser.cpp:
  1798. (WebCore::CSSParser::addVariableDeclarationBlock):
  1799. * css/CSSParser.h:
  1800. * css/CSSProperty.cpp:
  1801. (WebCore::CSSProperty::cssText):
  1802. * css/CSSPropertyNames.in:
  1803. * css/CSSStyleSelector.cpp:
  1804. (WebCore::CSSStyleSelector::addMatchedDeclaration):
  1805. (WebCore::CSSStyleSelector::resolveVariablesForDeclaration):
  1806. * css/CSSStyleSelector.h:
  1807. * css/CSSValueList.h:
  1808. (WebCore::CSSValueList::isValueList):
  1809. * css/CSSVariablesDeclaration.cpp:
  1810. (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
  1811. (WebCore::CSSVariablesDeclaration::getVariableValue):
  1812. (WebCore::CSSVariablesDeclaration::removeVariable):
  1813. (WebCore::CSSVariablesDeclaration::addParsedVariable):
  1814. (WebCore::CSSVariablesDeclaration::getParsedSimpleVariable):
  1815. (WebCore::CSSVariablesDeclaration::getParsedComplexVariable):
  1816. * css/CSSVariablesDeclaration.h:
  1817. (WebCore::CSSVariablesDeclaration::create):
  1818. * css/StyleBase.cpp:
  1819. (WebCore::StyleBase::cssText):
  1820. * css/StyleBase.h:
  1821. (WebCore::StyleBase::isValueList):
  1822. (WebCore::StyleBase::isMutableStyleDeclaration):
  1823. 2008-07-28 Anders Carlsson <andersca@apple.com>
  1824. Reviewed by Sam.
  1825. <rdar://problem/6098335>
  1826. https://bugs.webkit.org/show_bug.cgi?id=20150
  1827. Handle willSendRequest correctly.
  1828. * loader/SubresourceLoader.cpp:
  1829. (WebCore::SubresourceLoader::willSendRequest):
  1830. Make sure to keep the previous URL around so we know when to call willSendRequest.
  1831. * xml/XMLHttpRequest.cpp:
  1832. (WebCore::XMLHttpRequest::processSyncLoadResults):
  1833. Abort if we don't have access to the response URL.
  1834. (WebCore::XMLHttpRequest::willSendRequest):
  1835. Dispatch a network error if we can't access the new URL.
  1836. 2008-07-28 Geoffrey Garen <ggaren@apple.com>
  1837. Reviewed by Sam Weinig.
  1838. Renamed "ConstructTypeNative" => "ConstructTypeHost".
  1839. 2008-07-28 Anders Carlsson <andersca@apple.com>
  1840. Reviewed by Kevin Decker.
  1841. Based on a patch by Dimcho Balev.
  1842. https://bugs.webkit.org/show_bug.cgi?id=18676
  1843. <rdar://problem/6106578>
  1844. Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs
  1845. * bridge/npapi.h:
  1846. Add new enum values.
  1847. * loader/NetscapePlugInStreamLoader.cpp:
  1848. (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
  1849. When the plug-in indicates that it wants all streams to be delivered, don't cancel the stream
  1850. if an error occurs.
  1851. * loader/NetscapePlugInStreamLoader.h:
  1852. (WebCore::NetscapePlugInStreamLoaderClient::wantsAllStreams):
  1853. Add new client method.
  1854. 2008-07-27 Sam Weinig <sam@webkit.org>
  1855. Reviewed by Oliver Hunt.
  1856. Fix for https://bugs.webkit.org/show_bug.cgi?id=20176
  1857. querySelectorAll id optimization no longer working
  1858. Turn the querySelector/querySelectorAll id optimization back on
  1859. for only strict and almost strict mode. In quirks mode, the optimiztion
  1860. won't work as the id match is not case sensitive.
  1861. Tests: fast/dom/SelectorAPI/caseID-almost-strict.html
  1862. fast/dom/SelectorAPI/caseID-strict.html
  1863. fast/dom/SelectorAPI/caseID.html
  1864. * dom/Node.cpp:
  1865. (WebCore::Node::querySelector):
  1866. (WebCore::Node::querySelectorAll):
  1867. * dom/SelectorNodeList.cpp:
  1868. (WebCore::createSelectorNodeList):
  1869. * dom/SelectorNodeList.h:
  1870. 2008-07-27 Anatoli Papirovski <apapirovski@mac.com>
  1871. Reviewed by Dave Hyatt.
  1872. Fix for https://bugs.webkit.org/show_bug.cgi?id=14346
  1873. Modified the css parser:
  1874. - not to fail when closing braces are not found for
  1875. a declaration at the end of the file
  1876. - not to accept "!important fail" as valid
  1877. - to keep accepting @import when it comes after invalid @ rules
  1878. - not to drop the whole @media block when there's an error before the
  1879. closing brace
  1880. + some other minor css parsing revisions.
  1881. CSSGrammar.y tweaked by David Kilzer to fix Tiger builds.
  1882. * css/CSSGrammar.y:
  1883. 2008-07-27 Jan Michael Alonzo <jmalonzo@webkit.org>
  1884. Reviewed by Eric Seidel.
  1885. Use --outputDir instead of --output when invoking make_names.pl
  1886. There's no option named "output" in make_names.pl
  1887. * GNUmakefile.am:
  1888. * WebCore.pro:
  1889. * DerivedSources.make: Remove --output. Not necessary here.
  1890. * bindings/scripts/generate-bindings.pl: Rename --outputdir to
  1891. --outputDir for consistency with make_names.pl
  1892. 2008-07-26 Dirk Schulze <vbs85@gmx.de>
  1893. Reviewed by Eric Seidel.
  1894. http://bugs.webkit.org/show_bug.cgi?id=18694
  1895. [CAIRO] Problem with rotation in a given matrix in SVG
  1896. Changed values given to AffineTransform.
  1897. * platform/graphics/cairo/AffineTransformCairo.cpp:
  1898. (WebCore::AffineTransform::AffineTransform):
  1899. (WebCore::AffineTransform::setMatrix):
  1900. 2008-07-26 Jan Michael Alonzo <jmalonzo@webkit.org>
  1901. Reviewed by Mark Rowe.
  1902. Call curl_global_cleanup() to release resources acquired by curl_global_init()
  1903. * platform/network/curl/ResourceHandleManager.cpp:
  1904. (WebCore::ResourceHandleManager::~ResourceHandleManager):
  1905. 2008-07-26 Marc Ordinas i Llopis <marc.ordinasillopis@collabora.co.uk>
  1906. Reviewed by Simon Hausmann.
  1907. Bug 18938: [GTK] Plugins not resized
  1908. https://bugs.webkit.org/show_bug.cgi?id=18938
  1909. * plugins/PluginView.cpp:
  1910. (WebCore::PluginView::setFrameGeometry): When viewing a full-page
  1911. plugin in unix, geometry changes have to be passed to the plugin.
  1912. 2008-07-26 Keishi Hattori <casey.hattori@gmail.com>
  1913. Reviewed by Adam Roben.
  1914. Add console.time/timeEnd.
  1915. https://bugs.webkit.org/show_bug.cgi?id=19159
  1916. * manual-tests/inspector/console-time.html: Added. Test cases for console.time/timeEnd.
  1917. * page/Console.cpp:
  1918. (WebCore::Console::time): Added.
  1919. (WebCore::Console::timeEnd): Added.
  1920. * page/Console.h:
  1921. * page/Console.idl: Added console.time/timeEnd.
  1922. * page/InspectorController.cpp:
  1923. (WebCore::InspectorController::startTiming): Added.
  1924. (WebCore::InspectorController::stopTiming): Added.
  1925. * page/InspectorController.h:
  1926. 2008-07-26 Dirk Schulze <vbs85@gmx.de>
  1927. Reviewed by Nikolas Zimmermann.
  1928. Fixes rendering issues with gradients in SVG/Cairo.
  1929. * platform/graphics/cairo/PathCairo.cpp:
  1930. (WebCore::Path::boundingRect):
  1931. * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
  1932. (WebCore::applyStrokeStyleToContext):
  1933. (WebCore::SVGPaintServerGradient::setup):
  1934. 2008-07-26 Dirk Schulze <vbs85@gmx.de>
  1935. Reviewed by Nikolas Zimmermann.
  1936. Added pattern-support for SVG in Cairo.
  1937. * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
  1938. (WebCore::applyStrokeStyleToContext):
  1939. (WebCore::SVGPaintServerPattern::setup):
  1940. 2008-07-26 Keishi Hattori <casey.hattori@gmail.com>
  1941. Reviewed by Adam Roben.
  1942. Fixed bug 18540: console.log('multiple', 'strings') quotes all strings after the first
  1943. <https://bugs.webkit.org/show_bug.cgi?id=18540>
  1944. * page/inspector/Console.js:
  1945. (WebInspector.ConsoleMessage.prototype._format): String arguments are appended without formatting.
  1946. 2008-07-26 Anthony Ricaud <rik24d@gmail.com>
  1947. Reviewed by Tim Hatcher.
  1948. <https://bugs.webkit.org/show_bug.cgi?id=20055> Line highlighting should last longer
  1949. Restore the fade out effect after highlighting.
  1950. * page/inspector/SourceFrame.js: Add a class for fade-out effects and sets it at the end of highlighting time.
  1951. 2008-07-26 Michelangelo De Simone <michelangelo@me.com>
  1952. Reviewed by Adele Petersen.
  1953. Added the simple willValidate attribute to form controls according to
  1954. WebForms 2 spec.
  1955. URL: http://www.w3.org/TR/web-forms-2/#willvalidate
  1956. Tests: fast/forms/willvalidate-000.html
  1957. fast/forms/willvalidate-001.html
  1958. fast/forms/willvalidate-002.html
  1959. fast/forms/willvalidate-003.html
  1960. fast/forms/willvalidate-004.html
  1961. fast/forms/willvalidate-005.html
  1962. fast/forms/willvalidate-006.html
  1963. fast/forms/willvalidate-007.html
  1964. fast/forms/willvalidate-008.html
  1965. fast/forms/willvalidate-009.html
  1966. * html/HTMLButtonElement.h: Added willValidate(), always false.
  1967. * html/HTMLButtonElement.idl: willValidate attribute exposed.
  1968. * html/HTMLFieldSetElement.h: Added willValidate(), always false.
  1969. * html/HTMLFieldSetElement.idl: willValidate attribute exposed.
  1970. * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::willValidate):
  1971. Added base willValidate() implementation.
  1972. * html/HTMLFormControlElement.h: Added willValidate().
  1973. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::willValidate):
  1974. Added willValidate(), checks for input type.
  1975. * html/HTMLInputElement.h: Added willValidate()
  1976. * html/HTMLInputElement.idl: willValidate attribute exposed.
  1977. * html/HTMLSelectElement.idl: willValidate attribute exposed.
  1978. * html/HTMLTextAreaElement.idl: willValidate attribute exposed.
  1979. 2008-07-26 Mark Rowe <mrowe@apple.com>
  1980. Build fix.
  1981. * loader/FrameLoader.cpp:
  1982. (WebCore::FrameLoader::load): Use 0 rather than nil as this is a C++ file.
  1983. 2008-07-26 Mark Rowe <mrowe@apple.com>
  1984. Build fix.
  1985. * loader/FrameLoader.h: Use 0 rather than nil as this is a C++ header.
  1986. 2008-07-26 Daniel Jalkut <jalkut@red-sweater.com>
  1987. Reviewed by Geoff Garen.
  1988. Revised the FrameLoader class to clean up a variety of load methods, and hopefully
  1989. move things closer to integrating into a smaller set of load methods. To this
  1990. end, I renamed many of the overloaded load() methods to have more meaningful and
  1991. easier to search names. I added comments to the header file to provide clues as
  1992. to how many of the load methods are being used, and how they fit into the loading
  1993. process. I suspect that the renamed methods and comments indicating their present
  1994. usage will facilitate easier cleanup by myself and others as inspiration strikes.
  1995. Updated clients of FrameLoader where necessary to adapt to the new method names and signatures.
  1996. Combined the 3 canLoad() methods into a single canLoad which expresses the
  1997. intended logic of the 3 with a single method interface.
  1998. Removed unnecessary "treatAsLocal" attribute of CachedResource. It was only called from
  1999. one place in FrameLoader.cpp, and it derived at initialization time by calling back to FrameLoader.
  2000. Removed unused userGesture parameter to one variant of the urlSelected method, and
  2001. moved one of the urlSelected methods so that it lives nearer to its overloaded
  2002. sibling.
  2003. * WebCore.base.exp:
  2004. * loader/Cache.cpp:
  2005. (WebCore::Cache::requestResource):
  2006. * loader/CachedResource.cpp:
  2007. (WebCore::CachedResource::CachedResource):
  2008. * loader/CachedResource.h:
  2009. (WebCore::CachedResource::errorOccurred):
  2010. * loader/FrameLoader.cpp:
  2011. (WebCore::FrameLoader::createWindow):
  2012. (WebCore::FrameLoader::urlSelected):
  2013. (WebCore::FrameLoader::loadURLIntoChildFrame):
  2014. (WebCore::FrameLoader::loadPlugin):
  2015. (WebCore::FrameLoader::loadFrameRequestWithFormState):
  2016. (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
  2017. (WebCore::FrameLoader::loadURL):
  2018. (WebCore::FrameLoader::loadWithNavigationAction):
  2019. (WebCore::FrameLoader::load):
  2020. (WebCore::FrameLoader::loadWithDocumentLoader):
  2021. (WebCore::FrameLoader::canLoad):
  2022. (WebCore::FrameLoader::reloadAllowingStaleData):
  2023. (WebCore::FrameLoader::reload):
  2024. (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
  2025. (WebCore::FrameLoader::submitForm):
  2026. (WebCore::FrameLoader::loadPostRequest):
  2027. (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
  2028. (WebCore::FrameLoader::loadItem):
  2029. * loader/FrameLoader.h:
  2030. * loader/SubresourceLoader.cpp:
  2031. (WebCore::SubresourceLoader::create):
  2032. * page/ContextMenuController.cpp:
  2033. (WebCore::ContextMenuController::contextMenuItemSelected):
  2034. 2008-07-26 Sam Weinig <sam@webkit.org>
  2035. Reviewed by Dan Bernstein.
  2036. Fix https://bugs.webkit.org/show_bug.cgi?id=20122
  2037. <rdar://problem/6089522>
  2038. REGRESSION (r35075-r35110): Cannot enlarge images at Apple Store product page
  2039. Use strict parsing when in AlmostStrict mode.
  2040. Tests: fast/dom/SelectorAPI/dumpNodeList-almost-strict.html
  2041. fast/dom/SelectorAPI/id-fastpath-almost-strict.html
  2042. fast/dom/SelectorAPI/id-fastpath-strict.html
  2043. * dom/Node.cpp:
  2044. (WebCore::Node::querySelector):
  2045. (WebCore::Node::querySelectorAll):
  2046. 2008-07-25 Ariya Hidayat <ariya.hidayat@trolltech.com>
  2047. Reviewed by Simon.
  2048. Switch off QPainter's anti aliasing when painting the widgets using QStyle
  2049. because otherwise the widgets will look blurry and not crisp.
  2050. * platform/qt/RenderThemeQt.cpp:
  2051. (WebCore::StylePainter::StylePainter):
  2052. (WebCore::StylePainter::~StylePainter):
  2053. * platform/qt/RenderThemeQt.h:
  2054. 2008-07-25 Dan Bernstein <mitz@apple.com>
  2055. Reviewed by Anders Carlsson.
  2056. - fix crash due to re-entering purgeInactiveFontData() now that it is
  2057. called by releaseFontData()
  2058. Not testable in DumpRenderTree
  2059. * platform/graphics/FontCache.cpp:
  2060. (WebCore::FontCache::purgeInactiveFontData): Added a reentry guard.
  2061. 2008-07-25 Brady Eidson <beidson@apple.com>
  2062. Reviewed by Sam
  2063. Test: security/set-form-autocomplete-attribute.html
  2064. Part of the fix for <rdar://problem/6093281> - Improper handling of autocomplete
  2065. The autocomplete attribute works on both <form> and <input> elements, but was not
  2066. inherited properly when someone asked an <input> if it should autocomplete.
  2067. I fixed this up based on the rules in the current WF2 spec so if the <input> element
  2068. has its own autocomplete attribute set, it will follow that but otherwise it will
  2069. inherit from its parent <form>
  2070. * WebCore.base.exp:
  2071. * html/HTMLInputElement.cpp:
  2072. (WebCore::HTMLInputElement::init):
  2073. (WebCore::HTMLInputElement::autoComplete):
  2074. (WebCore::HTMLInputElement::parseMappedAttribute):
  2075. * html/HTMLInputElement.h:
  2076. (WebCore::HTMLInputElement::):
  2077. 2008-07-25 Wouter Bolsterlee <uws+webkit@xs4all.nl>
  2078. Reviewed by Holger Freyther.
  2079. https://bugs.webkit.org/show_bug.cgi?id=20078
  2080. [GTK] Use G_* macros instead of deprecated GTK_* macros in gtk2xtbin.h
  2081. * plugins/gtk/gtk2xtbin.h:
  2082. 2008-07-25 Anders Carlsson <andersca@apple.com>
  2083. Reviewed by Sam.
  2084. Add workaround for a Leopard bug which causes webarchive/test-xml-stylesheet.xml to fail.
  2085. * platform/network/mac/WebCoreURLResponse.mm:
  2086. (-[NSURLResponse _webcore_MIMEType]):
  2087. 2008-07-25 chris fleizach <cfleizach@apple.com>
  2088. Reviewed by Beth Dakin
  2089. <rdar://problem/6084806> AX: REGRESSION: returned line number from TextArea is incorrect
  2090. Tests: accessibility/textarea-insertion-point-line-number.html
  2091. accessibility/textarea-line-for-index.html
  2092. * page/AccessibilityObject.cpp:
  2093. (WebCore::AccessibilityObject::lineForPosition):
  2094. * page/AccessibilityObject.h:
  2095. * page/mac/AccessibilityObjectWrapper.mm:
  2096. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  2097. (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
  2098. 2008-07-25 Jacob Refstrup <jacob.refstrup@hp.com>
  2099. Reviewed by mitz.
  2100. - fix https://bugs.webkit.org/show_bug.cgi?id=17906
  2101. <rdar://problem/5805741> white-space: pre-wrap or -webkit-line-break: after-white-space text can overlap float at end of line
  2102. Test: fast/block/float/editable-text-overlapping-float.html
  2103. * rendering/RenderBlock.h:
  2104. * rendering/bidi.cpp:
  2105. (WebCore::RenderBlock::skipTrailingWhitespace):
  2106. - renamed to reflect usage and removed call to position floats;
  2107. they only get added
  2108. (WebCore::RenderBlock::skipLeadingWhitespace):
  2109. - renamed to reflect usage
  2110. (WebCore::RenderBlock::findNextLineBreak):
  2111. - use skipTrailingWhitespace at end of line (as before but with new
  2112. name)
  2113. 2008-07-25 Dan Bernstein <mitz@apple.com>
  2114. Reviewed by Sam Weinig.
  2115. - Finish fixing https://bugs.webkit.org/show_bug.cgi?id=17097
  2116. <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound
  2117. * platform/graphics/FontCache.cpp:
  2118. (WebCore::FontDataCacheKeyTraits): Changed needsDestruction to true because FontPlatformData
  2119. instances hold references to the platform resources and release them in the destructor.
  2120. (WebCore::cTargetInactiveFontData): Added, replacing cInactiveFontDataPurgeRatio with the
  2121. number of inactive FontData instances to leave in the cache when automatically purging.
  2122. (WebCore::FontCache::getCachedFontData): Moved the code that checks if there are too many
  2123. inactive FontData instances and if so calls purgeInactiveFontData() from here...
  2124. (WebCore::FontCache::releaseFontData): ... to here.
  2125. (WebCore::FontCache::purgeInactiveFontData): Added code to also purge the platform font data
  2126. cache. All FontPlatformData instances that do not have entries in the font data cache are
  2127. removed, thus releasing the platform resources (such as HFONTs and NSFonts).
  2128. 2008-07-24 David Hyatt <hyatt@apple.com>
  2129. Add support for an alternate syntax for CSS variables. Testers on www-style will be able to try out
  2130. both versions of the syntax in WebKit to help us make a decision regarding which one to go with.
  2131. Reviewed by Dan
  2132. Added fast/css/variables/alternate-syntax/ (duplicated all existing CSS variables tests)
  2133. * css/CSSGrammar.y:
  2134. * css/CSSParser.cpp:
  2135. (WebCore::CSSParser::createVariablesRule):
  2136. (WebCore::CSSParser::checkForVariables):
  2137. * css/CSSParser.h:
  2138. * css/CSSParserValues.cpp:
  2139. (WebCore::CSSParserValue::isVariable):
  2140. (WebCore::CSSParserValueList::addValue):
  2141. (WebCore::CSSParserValueList::deleteValueAt):
  2142. (WebCore::CSSParserValue::createCSSValue):
  2143. * css/CSSParserValues.h:
  2144. * css/CSSPrimitiveValue.cpp:
  2145. (WebCore::CSSPrimitiveValue::cleanup):
  2146. (WebCore::CSSPrimitiveValue::getStringValue):
  2147. (WebCore::CSSPrimitiveValue::cssText):
  2148. (WebCore::CSSPrimitiveValue::parserValue):
  2149. * css/CSSPrimitiveValue.h:
  2150. (WebCore::CSSPrimitiveValue::):
  2151. (WebCore::CSSPrimitiveValue::isVariable):
  2152. * css/CSSStyleSelector.cpp:
  2153. (WebCore::CSSStyleSelector::addMatchedDeclaration):
  2154. * css/CSSVariablesRule.cpp:
  2155. (WebCore::CSSVariablesRule::CSSVariablesRule):
  2156. (WebCore::CSSVariablesRule::cssText):
  2157. * css/CSSVariablesRule.h:
  2158. (WebCore::CSSVariablesRule::create):
  2159. * css/maketokenizer:
  2160. * css/tokenizer.flex:
  2161. 2008-07-25 Maxime Britto <britto@apple.com>
  2162. Reviewed by Anders Carlsson.
  2163. <rdar://6102387> "REGRESSION: horizontal scroll with the mouse wheel is inverted on some subframes"
  2164. * page/EventHandler.cpp:
  2165. (WebCore::EventHandler::handleWheelEvent): Inverted the scroll direction relative to the delta value (positive scrolls left,negative scrolls right)
  2166. 2008-07-25 Adele Peterson <adele@apple.com>
  2167. Another build fix.
  2168. * platform/win/PlatformScrollBarSafari.cpp:
  2169. (WebCore::PlatformScrollbar::paint):
  2170. 2008-07-25 Adele Peterson <adele@apple.com>
  2171. More build fixes.
  2172. * platform/win/PlatformScrollBarSafari.cpp:
  2173. (WebCore::PlatformScrollbar::paint):
  2174. 2008-07-25 Adele Peterson <adele@apple.com>
  2175. Build fix.
  2176. * platform/win/PlatformScrollBarSafari.cpp:
  2177. 2008-07-24 Tor Arne Vestbø <tavestbo@trolltech.com>
  2178. Reviewed by Simon
  2179. Provide access to the underlying QKeyEvent in PlatformKeyboardEvent.
  2180. * platform/PlatformKeyboardEvent.h: add accessor and member.
  2181. * platform/qt/PlatformKeyboardEventQt.cpp: copy pointer in ctor.
  2182. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
  2183. 2008-07-25 Simon Hausmann <hausmann@webkit.org>
  2184. Fix linking of QtWebKit against the statically built JavaScriptCore
  2185. library, under Windows/Mac we may need _d/_debug suffixes.
  2186. * WebCore.pro:
  2187. 2008-07-25 Simon Hausmann <hausmann@webkit.org>
  2188. Rubber-stamped by Lars.
  2189. Fix the Qt build by adapting to the latest ArgList API changes and
  2190. replacing the inclusion of npapi.h in MainThreadScheduler with a forward
  2191. declaration of NPP to avoid an include conflict. npapi.h on X11 includes
  2192. X headers, which include wonderful defines such as "#define Status" that
  2193. cause conflicts.
  2194. * bridge/qt/qt_runtime.cpp:
  2195. (KJS::Bindings::findMethodIndex):
  2196. (KJS::Bindings::QtRuntimeConnectionMethod::call):
  2197. * plugins/PluginMainThreadScheduler.h:
  2198. 2008-07-25 Simon Hausmann <hausmann@webkit.org>
  2199. Discussed with and rubber-stamped by Lars.
  2200. Fix the build system for the Qt port.
  2201. Recent JavaScriptCore changes require the addition of JavaScriptCore/API to the
  2202. include search path. With a build process that combines JavaScriptCore and
  2203. WebCore in one build process/Makefile the existance of
  2204. JavaScriptCore/API/Node.h and WebCore/dom/Node.h causes include conflicts.
  2205. This commit solves this by introducing a separate build of JavaScriptCore into
  2206. a static library.
  2207. As a result of the split-up a race-condition due to broken dependencies of
  2208. regular source files to header files of generated sources showed up very
  2209. frequently when doing parallel builds (which the buildbot does). This commit at
  2210. the same time tries to address the dependency problem by making the
  2211. addExtraCompiler() function also generate a pseudo extra compiler that
  2212. represents the header file output, so that qmake is aware of the creation of
  2213. the header file for dependency calculation.
  2214. At the same time I removed a lot of cruft from the pro files to ease maintenance.
  2215. * WebCore.pro:
  2216. 2008-07-24 kevino <kevino@theolliviers.com>
  2217. wx build fix on Win for plugins coode.
  2218. * plugins/PluginDatabase.cpp:
  2219. * plugins/PluginView.cpp:
  2220. (WebCore::PluginView::PluginView):
  2221. * plugins/PluginView.h:
  2222. 2008-07-24 Sam Weinig <sam@webkit.org>
  2223. Reviewed by Anders Carlsson.
  2224. Make isElementNode() non-virtual for a speedup on many benchmarks
  2225. including 20% on http://ejohn.org/apps/fragment/.
  2226. - Replace Node::m_attrWasSpecifiedOrElementHasRareData with bits in
  2227. Element and Attr where space was available. Use the new free bit
  2228. to represent if an node is an element or not.
  2229. * dom/Attr.cpp:
  2230. (WebCore::Attr::Attr):
  2231. * dom/Attr.h:
  2232. (WebCore::Attr::specified):
  2233. (WebCore::Attr::setSpecified):
  2234. * dom/ContainerNode.cpp:
  2235. (WebCore::ContainerNode::ContainerNode):
  2236. * dom/ContainerNode.h:
  2237. * dom/Element.cpp:
  2238. (WebCore::Element::Element):
  2239. * dom/Element.h:
  2240. (WebCore::Element::hasRareData):
  2241. (WebCore::Element::setHasRareData):
  2242. * dom/EventTargetNode.cpp:
  2243. (WebCore::EventTargetNode::EventTargetNode):
  2244. * dom/EventTargetNode.h:
  2245. * dom/Node.cpp:
  2246. (WebCore::Node::Node):
  2247. * dom/Node.h:
  2248. (WebCore::Node::isElementNode):
  2249. 2008-07-24 Dan Bernstein <mitz@apple.com>
  2250. Reviewed by Dave Hyatt.
  2251. - fix <rdar://problem/6082111> REGRESSION (r31876): Root element with percent height does not resize when resizing the window vertically
  2252. Not testable in DumpRenderTree
  2253. * rendering/RenderView.cpp:
  2254. (WebCore::RenderView::layout): Ensured that all children with percentage
  2255. heights get laid out again if the height changes.
  2256. 2008-07-24 kevino <kevino@theolliviers.com>
  2257. Windows build fix for wx. wx doesn't implement pan scrolling yet.
  2258. * page/EventHandler.cpp:
  2259. (WebCore::EventHandler::handleAutoscroll):
  2260. (WebCore::EventHandler::autoscrollTimerFired):
  2261. (WebCore::EventHandler::stopAutoscrollTimer):
  2262. (WebCore::EventHandler::handleMousePressEvent):
  2263. 2008-07-24 David Hyatt <hyatt@apple.com>
  2264. Fix for bug 18673, crash when using full page zoom on generated content. Don't call
  2265. intrinsicSizeChanged when we are first setting our style.
  2266. Reviewed by olliej
  2267. * ChangeLog:
  2268. * rendering/RenderReplaced.cpp:
  2269. (WebCore::RenderReplaced::setStyle):
  2270. 2008-07-24 Julien Chaffraix <jchaffraix@webkit.org>
  2271. Reviewed by Eric.
  2272. Bug 20053: .in files should use a custom format instead of XML
  2273. - Remove our XML parser perl module (XML::Tiny)
  2274. - Add a custom perl parser
  2275. - Move XML files to the new format
  2276. * bindings/scripts/InFilesParser.pm: Added.
  2277. * bindings/scripts/XMLTiny.pm: Removed.
  2278. * dom/make_names.pl: Switched to our new
  2279. parser.
  2280. * html/HTMLAttributeNames.in: Switched to
  2281. our custom format.
  2282. * html/HTMLTagNames.in: Ditto.
  2283. * svg/svgattrs.in: Ditto.
  2284. * svg/svgtags.in: Ditto.
  2285. * svg/xlinkattrs.in: Ditto.
  2286. * xml/xmlattrs.in: Ditto.
  2287. 2008-07-23 Julien Chaffraix <jchaffraix@webkit.org>
  2288. Reviewed by Eric.
  2289. Bug 19588: CRASH doing open() on destroyed window
  2290. https://bugs.webkit.org/show_bug.cgi?id=19588
  2291. Add frame's page null check as it could have been
  2292. detached from the page.
  2293. Test: fast/frames/crash-removed-iframe.html
  2294. * bindings/js/JSDOMWindowBase.cpp:
  2295. (WebCore::windowProtoFuncOpen):
  2296. * page/FrameTree.cpp:
  2297. (WebCore::FrameTree::find):
  2298. 2008-07-23 Dan Bernstein <mitz@apple.com>
  2299. Reviewed by Alexey Proskuryakov.
  2300. - fix a leak when using hex color values in CSS variables
  2301. - fix CSSOM access to hex color values in variables declarations
  2302. Test: fast/css/variables/color-hex-test.html
  2303. Added a new unit/type, CSS_PARSER_HEXCOLOR, which serves as the unit for
  2304. CSSParserValues coming from colors in hex notation. CSSParserValues can
  2305. no longer have CSS_RGBCOLOR as their unit. CSS_PARSER_HEXCOLOR is also
  2306. used as the type for CSSValues in CSS variables declarations where the
  2307. parser value was a hex color. However the type of all other color
  2308. CSSValues remains CSS_RGBCOLOR.
  2309. * css/CSSGrammar.y: Changed to use the new CSS_PARSER_HEXCOLOR value
  2310. for color values in hex notation.
  2311. * css/CSSParser.cpp:
  2312. (WebCore::CSSParser::parseColorFromValue): Updated for the new unit.
  2313. * css/CSSParserValues.cpp:
  2314. (WebCore::CSSParserValue::createCSSValue): Ditto.
  2315. * css/CSSPrimitiveValue.cpp:
  2316. (WebCore::CSSPrimitiveValue::cleanup): Fixed the leak by deref()ing the
  2317. string containing the color.
  2318. (WebCore::CSSPrimitiveValue::cssText): Added support for
  2319. CSS_PARSER_HEXCOLOR for when serializing variable values.
  2320. (WebCore::CSSPrimitiveValue::parserValue): Updated for the new unit.
  2321. * css/CSSPrimitiveValue.h:
  2322. (WebCore::CSSPrimitiveValue::): Added a new unti, CSS_PARSER_HEXCOLOR.
  2323. 2008-07-23 Beth Dakin <bdakin@apple.com>
  2324. Reviewed by Dan Bernstein.
  2325. Fix for <rdar://problem/5997215> display: table-row-group
  2326. for :before content causes a crash
  2327. The actual bug fix here is to ddd the generated content container
  2328. as a child before adding any of the generated content to the
  2329. container. There are two correctness fixes as well that deal with
  2330. style changes and correctly.
  2331. This patch also makes Node::diff() a static function.
  2332. * dom/Node.cpp:
  2333. (WebCore::Node::diff):
  2334. * dom/Node.h:
  2335. (WebCore::Node::):
  2336. (WebCore::Node::recalcStyle):
  2337. * rendering/RenderContainer.cpp:
  2338. (WebCore::findBeforeAfterParent):
  2339. (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
  2340. * svg/SVGUseElement.cpp:
  2341. (WebCore::SVGUseElement::recalcStyle):
  2342. 2008-07-23 Timothy Hatcher <timothy@apple.com>
  2343. Updates the elements DOM tree when nodes are added or removed from
  2344. the inspected document.
  2345. https://bugs.webkit.org/show_bug.cgi?id=6590
  2346. <rdar://problem/5712921>
  2347. Reviewed by Adam Roben.
  2348. * loader/FrameLoader.cpp:
  2349. (WebCore::FrameLoader::dispatchWindowObjectAvailable): Added a call to
  2350. InspectorController::inspectedWindowScriptObjectCleared.
  2351. * page/InspectorController.cpp:
  2352. (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
  2353. Calls the WebInspector.inspectedWindowCleared script function.
  2354. * page/InspectorController.h:
  2355. * page/inspector/ElementsPanel.js:
  2356. (WebInspector.ElementsPanel): Create the event listener callback wrappers.
  2357. (WebInspector.ElementsPanel.prototype.show): Call _updateModifiedNodes if
  2358. there are any recently modified nodes.
  2359. (WebInspector.ElementsPanel.prototype.reset): Remove previous mutation event listeners.
  2360. Adds a check for InspectorController.isWindowVisible to prevent adding
  2361. event listeners when the window isn't visible.
  2362. (WebInspector.ElementsPanel.prototype.inspectedWindowCleared):
  2363. (WebInspector.ElementsPanel.prototype._addMutationEventListeners): Add DOMNodeInserted,
  2364. DOMNodeRemoved and DOMContentLoaded event listeners to the passed in window or window's document.
  2365. (WebInspector.ElementsPanel.prototype._removeMutationEventListeners): Removes the event listeners
  2366. added in _addMutationEventListeners.
  2367. (WebInspector.ElementsPanel.prototype.updateMutationEventListeners): Call _addMutationEventListeners
  2368. again to reinstate the listners if the document changed or window cleared them.
  2369. (WebInspector.ElementsPanel.prototype.registerMutationEventListeners): Append the window to
  2370. _mutationMonitoredWindows and call _addMutationEventListeners.
  2371. (WebInspector.ElementsPanel.prototype.unregisterMutationEventListeners): Remove the window from
  2372. _mutationMonitoredWindows and call _removeMutationEventListeners.
  2373. (WebInspector.ElementsPanel.prototype.unregisterAllMutationEventListeners): Call
  2374. _removeMutationEventListeners for all windows in _mutationMonitoredWindows and
  2375. clear _mutationMonitoredWindows.
  2376. (WebInspector.ElementsPanel.prototype._contentLoaded): Append the node and parent
  2377. to the recentlyModifiedNodes array. Call _updateModifiedNodesSoon if visible.
  2378. (WebInspector.ElementsPanel.prototype._nodeInserted): Ditto.
  2379. (WebInspector.ElementsPanel.prototype._nodeRemoved): Ditto.
  2380. (WebInspector.ElementsPanel.prototype._updateModifiedNodesSoon): Call
  2381. _updateModifiedNodes on a zero timeout.
  2382. (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Iterate over
  2383. the recentlyModifiedNodes array and call updateChildren on all the parent
  2384. elements that had changes. Only calls updateChildren once per parent element.
  2385. (WebInspector.ElementsPanel.prototype._isAncestorIncludingParentFrames): Return
  2386. false if the nodes are the same. Return true if the nodes are the same while
  2387. looking at ancestor frame elements. THis use to return false, which was incorrect.
  2388. (WebInspector.DOMNodeTreeElement.prototype.onpopulate): Call updateChildren.
  2389. (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Copied from
  2390. onpopulate and changed to rebuild the children elements by adding new children,
  2391. moving existing children and removed old children.
  2392. (WebInspector.DOMNodeTreeElement.prototype.onexpand): If the node has a contentDocument
  2393. call registerMutationEventListeners to track any mutations.
  2394. * page/inspector/inspector.js:
  2395. (WebInspector.inspectedWindowCleared): Call ElementsPanel.inspectedWindowCleared.
  2396. * page/inspector/treeoutline.js:
  2397. (TreeElement.prototype.get hasChildren): Return _hasChildren.
  2398. (TreeElement.prototype.set hasChildren): Set _hasChildren and update the className.
  2399. (TreeElement.prototype.hasAncestor): Return true if the element has the passed in ancestor.
  2400. (TreeElement.prototype.expand): Fix an exception that can happen if expand is
  2401. called before _attach.
  2402. * WebCore/manual-tests/inspector/dom-mutation.html: Added.
  2403. * WebCore/manual-tests/inspector/resources/mutate-frame-2.html: Added.
  2404. * WebCore/manual-tests/inspector/resources/mutate-frame.html: Added.
  2405. 2008-07-22 Timothy Hatcher <timothy@apple.com>
  2406. Fix an exception that occurred when double clicking the closing tag
  2407. of an element in the DOM tree.
  2408. Reviewed by Anders Carlsson.
  2409. * page/inspector/ElementsPanel.js:
  2410. (WebInspector.ElementsPanel.prototype._ondblclick): Null check
  2411. element.ondblclick.
  2412. 2008-07-22 Timothy Hatcher <timothy@apple.com>
  2413. Fix a regression where elements in subframes would not be revealed
  2414. or selected when inspected from the context menu. This was caused by
  2415. JavaScript equality is not being true for JSInspectedObjectWrappers
  2416. of the same node wrapped with different global ExecStates. This change
  2417. adds a helper function that uses isSameNode to compare wrapped nodes.
  2418. https://bugs.webkit.org/show_bug.cgi?id=19377
  2419. Reviewed by Adam Roben.
  2420. * page/inspector/ElementsPanel.js:
  2421. (WebInspector.ElementsPanel.prototype.set rootDOMNode): Use objectsAreSame
  2422. to compare nodes.
  2423. (WebInspector.ElementsPanel.prototype.set focusedDOMNode): Ditto.
  2424. (WebInspector.ElementsPanel.prototype.set hoveredDOMNode): Ditto.
  2425. (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Ditto.
  2426. (WebInspector.ElementsPanel.prototype.revealNode): Ditto.
  2427. (WebInspector.ElementsPanel.prototype.updateBreadcrumb): Ditto.
  2428. (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Ditto.
  2429. * page/inspector/treeoutline.js:
  2430. (TreeOutline.prototype.findTreeElement): Add an equal argument
  2431. to accept a functions to compare two representedObjects. Defaults
  2432. to strict equal if not supplied. All current clients pass objectsAreSame.
  2433. * page/inspector/utilities.js:
  2434. (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Use objectsAreSame
  2435. to compare nodes.
  2436. (Node.prototype.enclosingNodeOrSelfWithClass): Ditto.
  2437. (Element.prototype.query): Use the ownerDocument of the node, not document.
  2438. (objectsAreSame): Added. Compares strict equal first, then uses isSameNode if
  2439. it exists on both objects.
  2440. (isAncestorNode): Use objectsAreSame to compare nodes.
  2441. (firstCommonNodeAncestor): Ditto.
  2442. (traverseNextNode): Ditto.
  2443. 2008-07-21 Timothy Hatcher <timothy@apple.com>
  2444. Added InspectorController.isWindowVisible to the JavaScript class
  2445. for use in an upcoming change. This will allow the Inspector to not
  2446. perform selective actions while the window is hidden.
  2447. Reviewed by Adam Roben.
  2448. * page/InspectorController.cpp:
  2449. (WebCore::isWindowVisible): Call InspectorController::windowVisible.
  2450. (WebCore::InspectorController::windowScriptObjectAvailable): Add
  2451. the isWindowVisible function to the JavaScript class.
  2452. 2008-07-21 Timothy Hatcher <timothy@apple.com>
  2453. Added TreeOutline.removeChildAtIndex and TreeElement.removeChildAtIndex
  2454. for efficiency of callers that know the index of the child. This
  2455. will be used in an upcoming change.
  2456. Reviewed by Adam Roben.
  2457. * page/inspector/treeoutline.js:
  2458. (TreeOutline._removeChildAtIndex): Renamed from _removeChild
  2459. and modified to take an index.
  2460. (TreeOutline._removeChild): Call _removeChildAtIndex with the
  2461. child index found using indexOf.
  2462. (TreeOutline.prototype.removeChildAtIndex): Added. Calls
  2463. TreeOutline._removeChildAtIndex.
  2464. (TreeElement.prototype.removeChildAtIndex): Ditto.
  2465. 2008-07-21 Timothy Hatcher <timothy@apple.com>
  2466. Fixes a regression where TreeOutline.findTreeElement would
  2467. return the parent TreeElement of the representedObject instead
  2468. of the TreeElement for the representedObject. Regressed with the
  2469. fix for bug 19164.
  2470. Reviewed by Adam Roben.
  2471. * page/inspector/treeoutline.js:
  2472. (TreeOutline.prototype.findTreeElement): When performing a slow search,
  2473. do a final search for representedObject instead of returning item, which
  2474. is the parent of representedObject.
  2475. 2008-07-23 Adele Peterson <adele@apple.com>
  2476. Reviewed by Adam.
  2477. WebCore part of fix for <rdar://problem/5698672> Add drawing callback for a WebKit app to draw its own scrollbars
  2478. * WebCore.base.exp: Added symbols.
  2479. * page/Chrome.cpp:
  2480. (WebCore::ChromeClient::paintCustomScrollbar): Added. Calls up to WebKit, which will call a new delegate method.
  2481. (WebCore::ChromeClient::paintCustomScrollCorner): ditto.
  2482. * page/ChromeClient.h:
  2483. * page/Settings.cpp:
  2484. (WebCore::Settings::Settings): Added the ability to store whether or not the application has decided to draw its own scrollbars.
  2485. (WebCore::Settings::setShouldPaintCustomScrollbars):
  2486. * page/Settings.h: (WebCore::Settings::shouldPaintCustomScrollbars):
  2487. * platform/ScrollBar.h: Moved ScrollbarControlSize enum to ScrollTypes.h
  2488. * platform/ScrollTypes.h: (WebCore::): Moved some existing types, and added new ones to be used in WebCore in WebKit.
  2489. * platform/win/PlatformScrollBar.h: Moved ScrollbarPart enum to ScrollTypes.h
  2490. * platform/win/PlatformScrollBarSafari.cpp:
  2491. (WebCore::ScrollbarPartToScrollBarPiece): Added helper function.
  2492. (WebCore::ScrollBarPieceMaskToScrollbarControlPartMask): ditto.
  2493. (WebCore::ScrollbarControlStateFromThemeState): ditto.
  2494. (WebCore::PlatformScrollbar::paint): Consolidated painting so the logic for the individual pieces is all in one place.
  2495. Added new code to paint the custom scrollbars if necessary.
  2496. * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::paint): Added code to paint the custom scroll corner if necessary.
  2497. 2008-07-23 Sam Weinig <sam@webkit.org>
  2498. Reviewed by Anders Carlsson.
  2499. Cleanup and pack the member variables in Node.
  2500. * bindings/js/JSNodeCustom.cpp:
  2501. (WebCore::JSNode::mark):
  2502. * dom/Attr.cpp:
  2503. (WebCore::Attr::Attr):
  2504. * dom/Attr.h:
  2505. (WebCore::Attr::specified):
  2506. (WebCore::Attr::setSpecified):
  2507. * dom/ContainerNode.cpp:
  2508. (WebCore::ContainerNode::setFocus):
  2509. * dom/Document.cpp:
  2510. (WebCore::Document::adoptNode):
  2511. * dom/Element.cpp:
  2512. (WebCore::Element::~Element):
  2513. (WebCore::Element::rareData):
  2514. (WebCore::Element::createRareData):
  2515. * dom/Element.h:
  2516. (WebCore::Element::hasRareData):
  2517. (WebCore::Element::setHasRareData):
  2518. * dom/Node.h:
  2519. (WebCore::Node::setIsLink):
  2520. (WebCore::Node::inSubtreeMark):
  2521. (WebCore::Node::setInSubtreeMark):
  2522. (WebCore::Node::attrWasSpecifiedOrElementHasRareData):
  2523. (WebCore::Node::setAttrWasSpecifiedOrElementHasRareData):
  2524. * html/HTMLAnchorElement.cpp:
  2525. (WebCore::HTMLAnchorElement::supportsFocus):
  2526. (WebCore::HTMLAnchorElement::isFocusable):
  2527. (WebCore::HTMLAnchorElement::defaultEventHandler):
  2528. (WebCore::HTMLAnchorElement::parseMappedAttribute):
  2529. (WebCore::HTMLAnchorElement::isLiveLink):
  2530. * html/HTMLImageElement.cpp:
  2531. (WebCore::HTMLImageElement::parseMappedAttribute):
  2532. * html/HTMLInputElement.cpp:
  2533. (WebCore::HTMLInputElement::setInputType):
  2534. * html/HTMLTableElement.cpp:
  2535. (WebCore::HTMLTableElement::attach):
  2536. * svg/SVGAElement.cpp:
  2537. (WebCore::SVGAElement::svgAttributeChanged):
  2538. (WebCore::SVGAElement::defaultEventHandler):
  2539. 2008-07-23 Kevin Calhoun <kcalhoun@apple.com>
  2540. Reviewed by Adele.
  2541. Follow-up fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
  2542. Associate MovieControllers with Movies to support all of the media types QuickTime is able to play in standalone media documents.
  2543. * platform/graphics/win/QTMovieWin.cpp:
  2544. (QTMovieWinPrivate::QTMovieWinPrivate):
  2545. (QTMovieWinPrivate::~QTMovieWinPrivate):
  2546. (QTMovieWinPrivate::task):
  2547. (QTMovieWinPrivate::createMovieController):
  2548. (QTMovieWinPrivate::createGWorld):
  2549. (QTMovieWinPrivate::setSize):
  2550. (QTMovieWinPrivate::deleteGWorld):
  2551. (QTMovieWin::play):
  2552. (QTMovieWin::pause):
  2553. (QTMovieWin::setRate):
  2554. (QTMovieWin::setCurrentTime):
  2555. (QTMovieWin::load):
  2556. 2008-07-23 Kevin Calhoun <kcalhoun@apple.com>
  2557. Reviewed by Adele.
  2558. Added a debug mode for viewing frames per second for videos. This is controlled by two
  2559. independent compiler flags DRAW_FRAME_RATE in MediaPlayerPrivateQTKit.h and MediaPlayerPrivateQuickTimeWin.h.
  2560. Unless either flags is turned on there is no change to the code for video frame drawing.
  2561. * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  2562. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  2563. (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
  2564. (WebCore::MediaPlayerPrivate::play):
  2565. (WebCore::MediaPlayerPrivate::pause):
  2566. (WebCore::MediaPlayerPrivate::didEnd):
  2567. (WebCore::MediaPlayerPrivate::repaint):
  2568. (WebCore::MediaPlayerPrivate::paint):
  2569. * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
  2570. (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
  2571. (WebCore::MediaPlayerPrivate::play):
  2572. (WebCore::MediaPlayerPrivate::pause):
  2573. (WebCore::MediaPlayerPrivate::didEnd):
  2574. (WebCore::MediaPlayerPrivate::paint):
  2575. (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
  2576. * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
  2577. 2008-07-23 Adele Peterson <adele@apple.com>
  2578. Reviewed by Sam.
  2579. Fix for <rdar://problem/6080634> use lower quality CG interpolation in MediaPlayerPrivateQTKit to improve performance
  2580. * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawImage):
  2581. Call setImageInterpolationQuality(InterpolationNone) instead of setUseLowQualityImageInterpolation(true).
  2582. * platform/graphics/GraphicsContext.h:
  2583. (WebCore::): Added InterpolationQuality enum.
  2584. (WebCore::GraphicsContext::setImageInterpolationQuality): Renamed from setUseLowQualityImageInterpolation.
  2585. The implementation was always setting the quality to "none", and now we want to distinguish between "none" and "low".
  2586. (WebCore::GraphicsContext::imageInterpolationQuality): Renamed from useLowQualityImageInterpolation.
  2587. * platform/graphics/cg/GraphicsContextCG.cpp:
  2588. (WebCore::GraphicsContext::setImageInterpolationQuality): Added.
  2589. (WebCore::GraphicsContext::imageInterpolationQuality): Added.
  2590. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::paint):
  2591. Calls setImageInterpolationQuality(InterpolationLow) which will improve the painting performance without degrading quality too much.
  2592. 2008-07-23 Sam Weinig <sam@webkit.org>
  2593. Reviewed by Anders Carlsson.
  2594. Remove extraneous allocations by using equalIgnoringCase rather than
  2595. String::lower.
  2596. * dom/StyledElement.cpp:
  2597. (WebCore::StyledElement::addCSSColor):
  2598. * html/HTMLCollection.cpp:
  2599. (WebCore::HTMLCollection::checkForNameMatch):
  2600. * html/HTMLFormCollection.cpp:
  2601. (WebCore::HTMLFormCollection::getNamedFormItem):
  2602. * html/HTMLLinkElement.cpp:
  2603. (WebCore::HTMLLinkElement::tokenizeRelAttribute):
  2604. * html/HTMLObjectElement.cpp:
  2605. (WebCore::HTMLObjectElement::containsJavaApplet):
  2606. * html/PreloadScanner.cpp:
  2607. (WebCore::PreloadScanner::emitCSSRule):
  2608. * loader/FrameLoader.cpp:
  2609. (WebCore::FrameLoader::createJavaAppletWidget):
  2610. * page/DOMSelection.cpp:
  2611. (WebCore::DOMSelection::modify):
  2612. * rendering/RenderPartObject.cpp:
  2613. (WebCore::RenderPartObject::updateWidget):
  2614. 2008-07-23 Maxime Britto <britto@apple.com>
  2615. Reviewed by Adam Roben.
  2616. <rdar://6092952> "REGRESSION: Crash beneath EventHandler::stopAutoscrollTimer() when closing Gmail"
  2617. Add a check for the m_page member value before asking for page()->mainFrame()
  2618. * page/EventHandler.cpp:
  2619. (WebCore::EventHandler::stopAutoscrollTimer):
  2620. 2008-07-23 Kevin Calhoun <kcalhoun@apple.com>
  2621. Reviewed by Adele.
  2622. Fix for <rdar://problem/5710065> QT movies should be inactive when opened
  2623. Implemented deferral of set-up of video rendering on Mac until the ready state is Loaded and
  2624. until after movie tracks of unsupported types have been disabled, to make sure they never draw.
  2625. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  2626. (WebCore::MediaPlayerPrivate::load):
  2627. (WebCore::MediaPlayerPrivate::updateStates):
  2628. (WebCore::MediaPlayerPrivate::setVisible):
  2629. 2008-07-22 Maxime Britto <britto@apple.com>
  2630. Reviewed by John Sullivan.
  2631. <rdar://problem/6083116>
  2632. When pan-scrolling, Back then Forward causes pan-scrolling to start again
  2633. * page/Frame.cpp:
  2634. (WebCore::Frame::clearTimers): Ask to stop the autoscroll timer when we clear the timers from the frame
  2635. * loader/FrameLoader.cpp:
  2636. (WebCore::FrameLoader::scrollToAnchor): When the link is an anchor we Frame::clearTimers() isn't called since we're only scrolling the page so we need to ask to stop the autoscroll timer here too.
  2637. 2008-07-22 Geoffrey Garen <ggaren@apple.com>
  2638. Reviewed by Oliver Hunt and Sam Weinig.
  2639. Next step toward putting doubles in registers: Prepare the Register class
  2640. and its clients for registers that don't contain JSValue*s.
  2641. 2008-07-22 Sam Weinig <sam@webkit.org>
  2642. Reviewed by Mark Rowe.
  2643. <rdar://problem/5788451> toDataURL not implemented for Windows (need mapping of MIME type to UTI)
  2644. Add additional support for JPEG and GIF for toDataURL encoding canvases.
  2645. * platform/MIMETypeRegistry.cpp:
  2646. (WebCore::initializeSupportedImageMIMETypesForEncoding):
  2647. * platform/graphics/cg/ImageBufferCG.cpp:
  2648. (WebCore::utiFromMIMEType):
  2649. 2008-07-22 Chris Fleizach <cfleizach@apple.com>
  2650. Reviewed by Dave Hyatt.
  2651. <rdar://problem/6004877> internal anchors on this page are not showing up in the AXLinkedUIElements
  2652. Test: accessibility/internal-link-anchors2.html
  2653. * page/AccessibilityRenderObject.cpp:
  2654. (WebCore::AccessibilityRenderObject::internalLinkElement):
  2655. 2008-07-22 Anders Carlsson <andersca@apple.com>
  2656. Reviewed by Adam.
  2657. Allocate the empty StringImpl from the heap.
  2658. * platform/text/StringImpl.cpp:
  2659. (WebCore::StringImpl::empty):
  2660. 2008-07-21 Kevin McCullough <kmccullough@apple.com>
  2661. Reviewed by Tim.
  2662. <rdar://problem/5951532> JSProfiler: Implement heavy (or bottom-up)
  2663. view (19228)
  2664. - Implement UI for Heavy (Bottom Up) view.
  2665. * English.lproj/localizedStrings.js:
  2666. * page/JavaScriptProfile.cpp: Expose the ability to get a heavy/tree
  2667. profile from a profile to the Web Inspector's JavaScript.
  2668. (WebCore::getHeavyProfileCallback):
  2669. (WebCore::getTreeProfileCallback):
  2670. (WebCore::ProfileClass):
  2671. * page/inspector/ProfileView.js: Implement the dropdown for changing
  2672. profile views.
  2673. * page/inspector/inspector.css:
  2674. 2008-07-22 Alexey Proskuryakov <ap@webkit.org>
  2675. Reviewed by Adam Roben.
  2676. <rdar://problem/5955602> WebKit should support charset name x-windows-949
  2677. Test: fast/encoding/char-decoding.html
  2678. * platform/text/TextCodecICU.cpp:
  2679. (WebCore::TextCodecICU::registerExtendedEncodingNames): Added support for this name for
  2680. Firefox compatibility.
  2681. 2008-07-22 Gavin Barraclough <barraclough@apple.com>
  2682. Reviewed by Alexey Proskuryakov.
  2683. New test to check that arrays fail gracefully (throw an out of memory exception)
  2684. when the vector grows to large.
  2685. * manual-tests/array-out-of-memory.html: Added.
  2686. 2008-07-21 Alexey Proskuryakov <ap@webkit.org>
  2687. Reviewed by Dan Bernstein.
  2688. https://bugs.webkit.org/show_bug.cgi?id=20117
  2689. setBaseAndExtent fails to reverse the current selection
  2690. Test: editing/selection/setBaseAndExtent-revert-selection.html
  2691. * editing/Selection.h: (WebCore::operator==): Compare direction, too.
  2692. 2008-07-21 Julien Chaffraix <jchaffraix@webkit.org>
  2693. Reviewed by Sam Weinig.
  2694. Bug 19919: Add selectors' string parsing in CSSParser
  2695. https://bugs.webkit.org/show_bug.cgi?id=19919
  2696. No functional change.
  2697. * css/CSSGrammar.y: Added entry for parsing only a selector.
  2698. * css/CSSParser.cpp:
  2699. (WebCore::CSSParser::CSSParser):
  2700. (WebCore::CSSParser::parseSelector):
  2701. * css/CSSParser.h: Added m_floatingSelector to hold the
  2702. Selector parsed in parseSelector.
  2703. * css/tokenizer.flex: Added "@-webkit-selector" token.
  2704. * dom/Node.cpp:
  2705. (WebCore::Node::querySelector):
  2706. (WebCore::Node::querySelectorAll): Switched to parseSelector
  2707. method.
  2708. 2008-07-21 Kevin Calhoun <kcalhoun@apple.com>
  2709. Reviewed by Adele.
  2710. Fix for <rdar://problem/6081160> REGRESSION: Hang loading many pages if QuickTime isn't installed
  2711. * platform/graphics/win/QTMovieWin.cpp:
  2712. (initializeSupportedTypes): Do a Quicktime version minimum version check.
  2713. (QTMovieWin::initializeQuickTime): Store the Quicktime version globally so in can be used in initializeSupportedTypes as well.
  2714. 2008-07-21 Kevin Calhoun <kcalhoun@apple.com>
  2715. Reviewed by Adele.
  2716. Fix for <rdar://problem/5713336> <video> and <audio> elements that use a autoplay attribute fail to start playing when returning back to page
  2717. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::willSaveToCache): Reset the ready state to DATA_UNAVAILABLE when saving to the cache
  2718. so that everything starts back up normally when the page is retrieved from the cache.
  2719. 2008-07-21 Sam Weinig <sam@webkit.org>
  2720. Reviewed by Mark Rowe.
  2721. Remove unused interface declaration.
  2722. * platform/network/mac/ResourceHandleMac.mm:
  2723. 2008-07-21 Mark Rowe <mrowe@apple.com>
  2724. Reviewed by Sam Weinig.
  2725. <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
  2726. * Configurations/Version.xcconfig:
  2727. * Info.plist:
  2728. 2008-07-21 Kevin Calhoun <kcalhoun@apple.com>
  2729. Reviewed by Adele.
  2730. Fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
  2731. * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::inMediaDocument): Added.
  2732. * platform/graphics/MediaPlayer.h:
  2733. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::updateStates):
  2734. * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::updateStates):
  2735. 2008-07-21 Anders Carlsson <andersca@apple.com>
  2736. Reviewed by Jon.
  2737. Don't allow requests to be made when the document loader is stopping all loaders.
  2738. * plugins/PluginView.cpp:
  2739. (WebCore::PluginView::load):
  2740. 2008-07-20 Maxime Britto <britto@apple.com>
  2741. Reviewed by John Sullivan.
  2742. [PFR] <rdar://problem/6080639> New middle click scrolling speed seems much slower than in FF
  2743. Accelerate and enhance the smoothness of the pan scrollling.
  2744. * page/EventHandler.cpp: Changed the TimerInterval from 0.1 to 0.05. The scrolling is way more fluid like this.
  2745. * rendering/RenderLayer.cpp:
  2746. (WebCore::RenderLayer::panScrollFromPoint): Differentiate the speed within a 200 pixel side square, around the original click location to the speed for farther distances. This way we allow easyier handle when we are close to the center and very fast scrolling when we go far from the original point.
  2747. 2008-07-18 David Hyatt <hyatt@apple.com>
  2748. Change the cached clip rects to not assume they should be infinite when the root layer has been
  2749. shifted as the result of a transformation.
  2750. Reviewed by Maciej
  2751. Added fast/transforms/overflow-with-transform.html
  2752. * rendering/RenderLayer.cpp:
  2753. (WebCore::RenderLayer::calculateClipRects):
  2754. 2008-07-21 Rob Buis <buis@kde.org>
  2755. Reviewed by Mitz.
  2756. https://bugs.webkit.org/show_bug.cgi?id=19966
  2757. CSS variables crash when using hex notation for colors
  2758. Support hex colors as values for the css variables.
  2759. Test: fast/css/variables/color-hex-test.html
  2760. * css/CSSParserValues.cpp:
  2761. (WebCore::CSSParserValue::createCSSValue):
  2762. * css/CSSPrimitiveValue.cpp:
  2763. (WebCore::CSSPrimitiveValue::parserValue):
  2764. * css/CSSVariablesRule.cpp:
  2765. 2008-07-21 Simon Hausmann <hausmann@webkit.org>
  2766. Reviewed by Holger.
  2767. Fix drawing of windowless plugins on Windows with the Qt port by
  2768. avoiding the reset of the translation of the HDC to 0, 0.
  2769. * plugins/win/PluginViewWin.cpp:
  2770. (WebCore::PluginView::paint):
  2771. 2008-07-21 Simon Hausmann <hausmann@webkit.org>
  2772. Reviewed by Holger.
  2773. Fix rendering of transparent windowless netscape plugins by passing
  2774. the right conversion parameter to QPixmap::fromWinHBITMAP when
  2775. converting from HBITMAP to QPixmap.
  2776. * platform/graphics/qt/GraphicsContextQt.cpp:
  2777. (WebCore::GraphicsContext::releaseWindowsContext):
  2778. 2008-07-21 Simon Hausmann <hausmann@webkit.org>
  2779. Reviewed by Holger.
  2780. In the implementation of getValue for NPNVnetscapeWindow treat
  2781. windowHandleForPlatformWidget on the return value of
  2782. containingWindow() to receive the correct HWND for the Qt port.
  2783. * plugins/win/PluginViewWin.cpp:
  2784. (WebCore::PluginView::getValue):
  2785. 2008-07-21 Simon Hausmann <hausmann@webkit.org>
  2786. Reviewed by Holger.
  2787. Fix windowHandleForPlatformWidget to return 0 as HWND if we don't have
  2788. a QWidget. This can happen on page/view destruction for example.
  2789. * plugins/win/PluginViewWin.cpp:
  2790. (windowHandleForPlatformWidget):
  2791. 2008-07-20 Steve Falkenburg <sfalken@apple.com>
  2792. Touch file to force rebuild for vsprops change.
  2793. * WebCorePrefix.h:
  2794. 2008-07-20 Sam Weinig <sam@webkit.org>
  2795. Remove extra space Oliver Hunt left in.
  2796. * page/Console.cpp:
  2797. (WebCore::Console::reportException):
  2798. (WebCore::Console::reportCurrentException):
  2799. 2008-07-20 Oliver Hunt <oliver@apple.com>
  2800. Reviewed by Dan Bernstein.
  2801. Bug 19757: Crash when an ondragstart handler hides the element
  2802. <https://bugs.webkit.org/show_bug.cgi?id=19757>
  2803. The solution to this is problem is just to null check the renderer
  2804. immediately before launching the system drag, and terminate the
  2805. drag if the renderer is gone.
  2806. * page/EventHandler.cpp:
  2807. (WebCore::EventHandler::handleDrag):
  2808. 2008-07-20 Nikolas Zimmermann <zimmermann@kde.org>
  2809. Reviewed by Oliver.
  2810. Fixes: https://bugs.webkit.org/show_bug.cgi?id=12171
  2811. Remove manual SVG property <-> XML attribute synchronization in SVGPolyElement.
  2812. Added svg/custom/poly-points-attribute-changes.svg (testcase from Rob)
  2813. * svg/SVGPointList.cpp:
  2814. (WebCore::SVGPointList::valueAsString):
  2815. * svg/SVGPointList.h:
  2816. (WebCore::SVGPointList::create):
  2817. * svg/SVGPolyElement.cpp:
  2818. (WebCore::SVGPolyElement::SVGPolyElement):
  2819. (WebCore::SVGPolyElement::svgAttributeChanged):
  2820. (WebCore::SVGPolyElement::updateAnimatedSVGAttribute):
  2821. * svg/SVGPolyElement.h:
  2822. 2008-07-20 Nikolas Zimmermann <zimmermann@kde.org>
  2823. Reviewed by Oliver.
  2824. Cleanup JSSVGPODTypeWrapper code.
  2825. Rename: JSSVGPODTypeWrapperCreatorReadOnly -> JSSVGStaticPODTypeWrapper
  2826. JSSVGPODTypeWrapperReadWrite -> JSSVGDynamicPODTypeWrapper
  2827. JSSVGPODTypeWrapperCache -> JSSVGDynamicPODTypeWrapperCacheCache
  2828. No functional changes.
  2829. * bindings/js/JSSVGMatrixCustom.cpp:
  2830. (WebCore::JSSVGMatrix::multiply):
  2831. (WebCore::JSSVGMatrix::inverse):
  2832. (WebCore::JSSVGMatrix::translate):
  2833. (WebCore::JSSVGMatrix::scale):
  2834. (WebCore::JSSVGMatrix::scaleNonUniform):
  2835. (WebCore::JSSVGMatrix::rotate):
  2836. (WebCore::JSSVGMatrix::rotateFromVector):
  2837. (WebCore::JSSVGMatrix::flipX):
  2838. (WebCore::JSSVGMatrix::flipY):
  2839. (WebCore::JSSVGMatrix::skewX):
  2840. (WebCore::JSSVGMatrix::skewY):
  2841. * bindings/js/JSSVGPODTypeWrapper.h:
  2842. (WebCore::JSSVGDynamicPODTypeWrapper::create):
  2843. (WebCore::JSSVGDynamicPODTypeWrapper::operator PODType):
  2844. (WebCore::JSSVGDynamicPODTypeWrapper::JSSVGDynamicPODTypeWrapper):
  2845. (WebCore::JSSVGStaticPODTypeWrapper::create):
  2846. (WebCore::JSSVGStaticPODTypeWrapper::operator PODType):
  2847. (WebCore::JSSVGStaticPODTypeWrapper::JSSVGStaticPODTypeWrapper):
  2848. (WebCore::JSSVGPODTypeWrapperCreatorForList::create):
  2849. (WebCore::JSSVGPODTypeWrapperCreatorForList::operator PODType):
  2850. (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
  2851. (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
  2852. (WebCore::PODTypeWrapperCacheInfo::operator==):
  2853. (WebCore::PODTypeWrapperCacheInfoHash::hash):
  2854. (WebCore::PODTypeWrapperCacheInfoHash::equal):
  2855. (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue):
  2856. (WebCore::PODTypeWrapperCacheInfoTraits::constructDeletedValue):
  2857. (WebCore::PODTypeWrapperCacheInfoTraits::isDeletedValue):
  2858. (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap):
  2859. (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
  2860. (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper):
  2861. * bindings/js/JSSVGPointListCustom.cpp:
  2862. (WebCore::finishGetter):
  2863. (WebCore::finishSetter):
  2864. (WebCore::finishSetterReadOnlyResult):
  2865. (WebCore::JSSVGPointList::initialize):
  2866. (WebCore::JSSVGPointList::insertItemBefore):
  2867. (WebCore::JSSVGPointList::replaceItem):
  2868. (WebCore::JSSVGPointList::appendItem):
  2869. * bindings/js/JSSVGTransformListCustom.cpp:
  2870. (WebCore::finishGetter):
  2871. (WebCore::finishSetter):
  2872. (WebCore::finishSetterReadOnlyResult):
  2873. (WebCore::JSSVGTransformList::initialize):
  2874. (WebCore::JSSVGTransformList::getItem):
  2875. (WebCore::JSSVGTransformList::insertItemBefore):
  2876. (WebCore::JSSVGTransformList::replaceItem):
  2877. (WebCore::JSSVGTransformList::removeItem):
  2878. (WebCore::JSSVGTransformList::appendItem):
  2879. * bindings/scripts/CodeGeneratorJS.pm:
  2880. 2008-07-19 Oliver Hunt <oliver@apple.com>
  2881. Reviewed by Mark Rowe.
  2882. Bug 15979: Console logs in a database callback lose line number information
  2883. <https://bugs.webkit.org/show_bug.cgi?id=15979>
  2884. The problem was that there were multiple versions of the logic to
  2885. log an exception to the console, many of which were incorrect. We
  2886. resolve this by making one single shared reportException method,
  2887. which handles the exceptions correctly.
  2888. This improves fidelity of callback errors, and ensures that
  2889. exceptions thrown in timer callbacks correctly report line numbers,
  2890. etc.
  2891. Test: fast/js/exceptions-thrown-in-callbacks.html
  2892. * bindings/js/JSCustomSQLStatementCallback.cpp:
  2893. (WebCore::JSCustomSQLStatementCallback::handleEvent):
  2894. * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
  2895. (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
  2896. * bindings/js/JSCustomSQLTransactionCallback.cpp:
  2897. (WebCore::JSCustomSQLTransactionCallback::handleEvent):
  2898. * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
  2899. (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
  2900. * bindings/js/JSCustomVoidCallback.cpp:
  2901. (WebCore::JSCustomVoidCallback::handleEvent):
  2902. * bindings/js/JSCustomXPathNSResolver.cpp:
  2903. (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
  2904. * bindings/js/JSEventListener.cpp:
  2905. (WebCore::JSAbstractEventListener::handleEvent):
  2906. * bindings/js/ScheduledAction.cpp:
  2907. (WebCore::ScheduledAction::execute):
  2908. * bindings/js/ScriptController.cpp:
  2909. (WebCore::ScriptController::evaluate):
  2910. * bindings/objc/WebScriptObject.mm:
  2911. (WebCore::addExceptionToConsole):
  2912. * page/Console.cpp:
  2913. (WebCore::Console::reportException):
  2914. * page/Console.h:
  2915. 2008-07-20 Nikolas Zimmermann <zimmermann@kde.org>
  2916. Rubber stamped by Oliver.
  2917. Another attempt to fix the win build.
  2918. * svg/SVGAnimatedProperty.h:
  2919. 2008-07-20 Alexey Proskuryakov <ap@webkit.org>
  2920. Reviewed by David Kilzer.
  2921. Fix high CPU usage on testmyiphone.com.
  2922. - Made the logic for determining when to stop looking for meta charset more strainghtforward.
  2923. Previously, this happened if a tag that's disallowed in HEAD was seen past the first 512
  2924. bytes. Now, the algorithm bails out at the boundary if we are lo longer in HEAD (i.e, an
  2925. offending tag was seen at any point before).
  2926. - The above change made one of our regression tests fail, because it had its <meta>
  2927. declaration past the 512 byte boundary. Fixed it by raising the boundary to 1024 bytes.
  2928. - Made the algorithm bail out quickly if a comment that's not in HEAD crosses the boundary.
  2929. - Moved a check for XML content type out of the loop.
  2930. * loader/TextResourceDecoder.cpp:
  2931. (WebCore::TextResourceDecoder::checkForHeadCharset):
  2932. 2008-07-20 Oliver Hunt <oliver@apple.com>
  2933. Reviewed by NOBODY (build fix).
  2934. Attempt to fix windows build
  2935. * svg/SVGAnimatedProperty.h:
  2936. 2008-07-19 Nikolas Zimmermann <zimmermann@kde.org>
  2937. Reviewed by Oliver & parts by Eric.
  2938. Fixes: https://bugs.webkit.org/show_bug.cgi?id=20051
  2939. Rewrite animated property concept without heavy macro usage, replace by a templatified solution.
  2940. Fewer virtual function calls, no more usage of the tear-off's within internal code (synchronization needed it before.)
  2941. * dom/Element.cpp:
  2942. (WebCore::Element::attributes):
  2943. (WebCore::Element::getAttribute):
  2944. (WebCore::Element::hasAttributes):
  2945. * dom/Element.h:
  2946. (WebCore::Element::updateAnimatedSVGAttribute): Take const String&, not StringImpl*.
  2947. * svg/SVGAElement.cpp:
  2948. (WebCore::SVGAElement::SVGAElement):
  2949. * svg/SVGAElement.h:
  2950. * svg/SVGAltGlyphElement.h:
  2951. * svg/SVGAnimatedProperty.h: Added.
  2952. * svg/SVGAnimatedTemplate.h:
  2953. (WebCore::lookupOrCreateWrapper):
  2954. * svg/SVGAnimationElement.h:
  2955. * svg/SVGCircleElement.cpp:
  2956. (WebCore::SVGCircleElement::SVGCircleElement):
  2957. * svg/SVGCircleElement.h:
  2958. * svg/SVGClipPathElement.cpp:
  2959. (WebCore::SVGClipPathElement::SVGClipPathElement):
  2960. * svg/SVGClipPathElement.h:
  2961. * svg/SVGComponentTransferFunctionElement.cpp:
  2962. (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
  2963. * svg/SVGComponentTransferFunctionElement.h:
  2964. * svg/SVGCursorElement.cpp:
  2965. (WebCore::SVGCursorElement::SVGCursorElement):
  2966. * svg/SVGCursorElement.h:
  2967. * svg/SVGDefsElement.h:
  2968. (WebCore::SVGDefsElement::contextElement):
  2969. * svg/SVGElement.cpp:
  2970. (WebCore::SVGElement::updateAnimatedSVGAttribute):
  2971. * svg/SVGElement.h:
  2972. (WebCore::SVGElement::supplementalTransform):
  2973. (WebCore::SVGElement::invokeSVGPropertySynchronizer):
  2974. (WebCore::SVGElement::invokeAllSVGPropertySynchronizers):
  2975. (WebCore::SVGElement::addSVGPropertySynchronizer):
  2976. * svg/SVGEllipseElement.cpp:
  2977. (WebCore::SVGEllipseElement::SVGEllipseElement):
  2978. * svg/SVGEllipseElement.h:
  2979. * svg/SVGExternalResourcesRequired.cpp:
  2980. (WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired):
  2981. * svg/SVGExternalResourcesRequired.h:
  2982. * svg/SVGFEBlendElement.cpp:
  2983. (WebCore::SVGFEBlendElement::SVGFEBlendElement):
  2984. * svg/SVGFEBlendElement.h:
  2985. * svg/SVGFEColorMatrixElement.cpp:
  2986. (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
  2987. * svg/SVGFEColorMatrixElement.h:
  2988. * svg/SVGFEComponentTransferElement.cpp:
  2989. (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
  2990. * svg/SVGFEComponentTransferElement.h:
  2991. * svg/SVGFECompositeElement.cpp:
  2992. (WebCore::SVGFECompositeElement::SVGFECompositeElement):
  2993. * svg/SVGFECompositeElement.h:
  2994. * svg/SVGFEDiffuseLightingElement.cpp:
  2995. (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
  2996. * svg/SVGFEDiffuseLightingElement.h:
  2997. * svg/SVGFEDisplacementMapElement.cpp:
  2998. (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
  2999. * svg/SVGFEDisplacementMapElement.h:
  3000. * svg/SVGFEFloodElement.h:
  3001. * svg/SVGFEGaussianBlurElement.cpp:
  3002. (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
  3003. * svg/SVGFEGaussianBlurElement.h:
  3004. * svg/SVGFEImageElement.cpp:
  3005. (WebCore::SVGFEImageElement::SVGFEImageElement):
  3006. * svg/SVGFEImageElement.h:
  3007. * svg/SVGFELightElement.cpp:
  3008. (WebCore::SVGFELightElement::SVGFELightElement):
  3009. * svg/SVGFELightElement.h:
  3010. (WebCore::SVGFELightElement::contextElement):
  3011. * svg/SVGFEMergeElement.h:
  3012. * svg/SVGFEMergeNodeElement.cpp:
  3013. (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
  3014. * svg/SVGFEMergeNodeElement.h:
  3015. * svg/SVGFEOffsetElement.cpp:
  3016. (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
  3017. * svg/SVGFEOffsetElement.h:
  3018. * svg/SVGFESpecularLightingElement.cpp:
  3019. (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
  3020. * svg/SVGFESpecularLightingElement.h:
  3021. * svg/SVGFETileElement.cpp:
  3022. (WebCore::SVGFETileElement::SVGFETileElement):
  3023. * svg/SVGFETileElement.h:
  3024. * svg/SVGFETurbulenceElement.cpp:
  3025. (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
  3026. * svg/SVGFETurbulenceElement.h:
  3027. * svg/SVGFilterElement.cpp:
  3028. (WebCore::SVGFilterElement::SVGFilterElement):
  3029. * svg/SVGFilterElement.h:
  3030. * svg/SVGFilterPrimitiveStandardAttributes.cpp:
  3031. (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
  3032. * svg/SVGFilterPrimitiveStandardAttributes.h:
  3033. * svg/SVGFitToViewBox.cpp:
  3034. (WebCore::SVGFitToViewBox::SVGFitToViewBox):
  3035. * svg/SVGFitToViewBox.h:
  3036. * svg/SVGFontElement.h:
  3037. (WebCore::SVGFontElement::rendererIsNeeded):
  3038. (WebCore::SVGFontElement::contextElement):
  3039. * svg/SVGForeignObjectElement.cpp:
  3040. (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
  3041. * svg/SVGForeignObjectElement.h:
  3042. * svg/SVGGElement.h:
  3043. * svg/SVGGradientElement.cpp:
  3044. (WebCore::SVGGradientElement::SVGGradientElement):
  3045. * svg/SVGGradientElement.h:
  3046. (WebCore::SVGGradientElement::contextElement):
  3047. * svg/SVGImageElement.cpp:
  3048. (WebCore::SVGImageElement::SVGImageElement):
  3049. * svg/SVGImageElement.h:
  3050. * svg/SVGLineElement.cpp:
  3051. (WebCore::SVGLineElement::SVGLineElement):
  3052. * svg/SVGLineElement.h:
  3053. * svg/SVGLinearGradientElement.cpp:
  3054. (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
  3055. * svg/SVGLinearGradientElement.h:
  3056. * svg/SVGMarkerElement.cpp:
  3057. (WebCore::SVGMarkerElement::SVGMarkerElement):
  3058. (WebCore::SVGMarkerElement::canvasResource):
  3059. * svg/SVGMarkerElement.h:
  3060. * svg/SVGMaskElement.cpp:
  3061. (WebCore::SVGMaskElement::SVGMaskElement):
  3062. * svg/SVGMaskElement.h:
  3063. * svg/SVGPathElement.cpp:
  3064. (WebCore::SVGPathElement::SVGPathElement):
  3065. (WebCore::SVGPathElement::parseMappedAttribute):
  3066. * svg/SVGPathElement.h:
  3067. * svg/SVGPatternElement.cpp:
  3068. (WebCore::SVGPatternElement::SVGPatternElement):
  3069. * svg/SVGPatternElement.h:
  3070. (WebCore::SVGPatternElement::contextElement):
  3071. * svg/SVGPolyElement.h:
  3072. * svg/SVGPreserveAspectRatio.cpp:
  3073. * svg/SVGRadialGradientElement.cpp:
  3074. (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
  3075. * svg/SVGRadialGradientElement.h:
  3076. * svg/SVGRectElement.cpp:
  3077. (WebCore::SVGRectElement::SVGRectElement):
  3078. * svg/SVGRectElement.h:
  3079. * svg/SVGSVGElement.cpp:
  3080. (WebCore::SVGSVGElement::SVGSVGElement):
  3081. * svg/SVGSVGElement.h:
  3082. * svg/SVGScriptElement.cpp:
  3083. * svg/SVGScriptElement.h:
  3084. * svg/SVGStopElement.cpp:
  3085. (WebCore::SVGStopElement::SVGStopElement):
  3086. * svg/SVGStopElement.h:
  3087. * svg/SVGStyledElement.cpp:
  3088. (WebCore::SVGStyledElement::SVGStyledElement):
  3089. * svg/SVGStyledElement.h:
  3090. * svg/SVGStyledTransformableElement.cpp:
  3091. (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
  3092. * svg/SVGStyledTransformableElement.h:
  3093. * svg/SVGSwitchElement.h:
  3094. * svg/SVGSymbolElement.h:
  3095. (WebCore::SVGSymbolElement::contextElement):
  3096. * svg/SVGTRefElement.h:
  3097. * svg/SVGTSpanElement.h:
  3098. * svg/SVGTextContentElement.cpp:
  3099. (WebCore::SVGTextContentElement::SVGTextContentElement):
  3100. * svg/SVGTextContentElement.h:
  3101. (WebCore::SVGTextContentElement::contextElement):
  3102. * svg/SVGTextElement.cpp:
  3103. (WebCore::SVGTextElement::SVGTextElement):
  3104. * svg/SVGTextElement.h:
  3105. * svg/SVGTextPathElement.cpp:
  3106. (WebCore::SVGTextPathElement::SVGTextPathElement):
  3107. * svg/SVGTextPathElement.h:
  3108. * svg/SVGTextPositioningElement.cpp:
  3109. (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
  3110. * svg/SVGTextPositioningElement.h:
  3111. * svg/SVGTransformable.h:
  3112. * svg/SVGURIReference.cpp:
  3113. (WebCore::SVGURIReference::SVGURIReference):
  3114. * svg/SVGURIReference.h:
  3115. * svg/SVGUseElement.cpp:
  3116. (WebCore::SVGUseElement::SVGUseElement):
  3117. * svg/SVGUseElement.h:
  3118. * svg/SVGViewElement.h:
  3119. * svg/SVGViewSpec.h:
  3120. 2008-07-18 Maxime Britto <britto@apple.com>
  3121. Reviewed by Adele.
  3122. Fixed <rdar://problem/6049803>
  3123. Prevent the autoscroll to trigger in WebClips when starting or hovering on an editable field.
  3124. Test: fast/events/autoscroll-with-non-scrollable-parent.html
  3125. * ChangeLog:
  3126. * page/EventHandler.cpp: Edited
  3127. (WebCore::EventHandler::handleMousePressEvent): changed the name of the funtion called to canBeProgramaticallyScrolled()
  3128. (WebCore::EventHandler::handleMouseDraggedEvent): prevent the autoscroll to keep looking for a renderer when it's already triggered
  3129. * rendering/RenderLayer.cpp:
  3130. (WebCore::RenderLayer::scrollRectToVisible): verifies that the top layer can be programmatically scrolled before asking him to make the rect visible
  3131. * rendering/RenderListBox.h:
  3132. (WebCore::RenderListBox::canBeProgramaticallyScrolled):
  3133. * rendering/RenderObject.cpp:
  3134. (WebCore::RenderObject::canBeProgramaticallyScrolled): Edited : For the 3rd case we want document's renderer to have scrollbar as it's the top layer
  3135. (WebCore::RenderObject::hasScrollableView): Verifies that the Object has a view with scrollBars
  3136. * rendering/RenderObject.h: Renamed shouldAutosroll() for canBeProgramaticallyScrolled()
  3137. * rendering/RenderTextControl.h:
  3138. (WebCore::RenderTextControl::canBeProgramaticallyScrolled):
  3139. 2008-07-18 Sam Weinig <sam@webkit.org>
  3140. Reviewed by Anders Carlsson.
  3141. <rdar://problem/6087283> Add support for uploading files via XMLHttpRequest
  3142. - Overload XMLHttpRequests send() method to accept File tokens.
  3143. * bindings/js/JSXMLHttpRequestCustom.cpp:
  3144. (WebCore::JSXMLHttpRequest::send):
  3145. * xml/XMLHttpRequest.cpp:
  3146. (WebCore::XMLHttpRequest::send):
  3147. * xml/XMLHttpRequest.h:
  3148. 2008-07-18 Geoffrey Garen <ggaren@apple.com>
  3149. Reviewed by Cameron Zwarich.
  3150. Three renames:
  3151. "CallTypeNative" => "CallTypeHost"
  3152. "code" => "byteCode"
  3153. "generatedCode" => "generatedByteCode"
  3154. 2008-07-18 Adele Peterson <adele@apple.com>
  3155. Reviewed by Dan Bernstein.
  3156. I recently made a change to avoid fading media controls in and out if a video element actually only contains audio,
  3157. which broke the code that did the same thing for audio elements that contain video (but don't actually display that video).
  3158. This change will now check both the media element and the player to decide whether or not to make the controls persistent.
  3159. * rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControlVisibility):
  3160. 2008-07-18 Simon Fraser <simon.fraser@apple.com>
  3161. Reviewed by mitz
  3162. Remove braces around single-line conditional.
  3163. * css/CSSComputedStyleDeclaration.cpp:
  3164. (WebCore::computedTransform):
  3165. 2008-07-18 Simon Fraser <simon.fraser@apple.com>
  3166. Reviewed by Dave Hyatt
  3167. getComputedStyle() for -webkit-transform should return
  3168. 'none' for elements with no renderer, or those with no
  3169. transform.
  3170. https://bugs.webkit.org/show_bug.cgi?id=20008
  3171. Testcase: LayoutTests/fast/css/computed-style-without-renderer
  3172. LayoutTests/fast/css/computed-style-expected.txt
  3173. * css/CSSComputedStyleDeclaration.cpp:
  3174. (WebCore::computedTransform):
  3175. 2008-07-18 Simon Fraser <simon.fraser@apple.com>
  3176. Reviewed by Dave Hyatt
  3177. Fix assertion about creating Length values with percentage types
  3178. when blending transforms.
  3179. https://bugs.webkit.org/show_bug.cgi?id=20086
  3180. * rendering/style/RenderStyle.cpp:
  3181. (WebCore::TranslateTransformOperation::blend):
  3182. 2008-07-17 Jacob Refstrup <jacob.refstrup@hp.com>
  3183. Reviewed by rwlbuis@gmail.com
  3184. https://bugs.webkit.org/show_bug.cgi?id=19965
  3185. - Added "@"{ident} rule (below other @-rules) to use flex for longest match
  3186. (if an earlier rule - e.g. @media - also matches then flex chooses that one
  3187. however, if a longer match - e.g. @mediaall matches flex will choose that)
  3188. - Updated grammar to defined ATKEYWORD token and to use that instead of '@'
  3189. in the error recovery grammar.
  3190. Test: css2.1/atrule_longest_match.html
  3191. * ChangeLog:
  3192. * css/CSSGrammar.y:
  3193. * css/tokenizer.flex:
  3194. 2008-07-17 David Hyatt <hyatt@apple.com>
  3195. Make sure the check to see if a frame/iframe is being rendered inside a transparency layer is
  3196. recursive (and checks for transparency layers all the way up the ancestor document chain back to
  3197. the top-level frame).
  3198. Reviewed by Dan
  3199. * rendering/RenderView.cpp:
  3200. (WebCore::RenderView::paintBoxDecorations):
  3201. 2008-07-16 Jon Honeycutt <jhoneycutt@apple.com>
  3202. REGRESSION: Can't create windowless plug-in with Flash 9
  3203. https://bugs.webkit.org/show_bug.cgi?id=20070
  3204. Reviewed by Mark Rowe.
  3205. * plugins/win/PluginPackageWin.cpp:
  3206. (WebCore::PluginPackage::determineQuirks): Reverse argument order;
  3207. PlatformModuleVersion constructor takes leastSig, mostSig.
  3208. 2008-07-16 Eric Seidel <eric@webkit.org>
  3209. Reviewed by mitz.
  3210. Attempt to make initializeATSUStyle human-readable by
  3211. splitting it out into better-named static inline functions.
  3212. No functional changes, thus no tests.
  3213. * platform/graphics/mac/FontMac.mm:
  3214. (WebCore::fontHasMirroringInfo):
  3215. (WebCore::disableLigatures):
  3216. (WebCore::initializeATSUStyle):
  3217. 2008-07-16 Eric Seidel <eric@webkit.org>
  3218. No review, build fix only.
  3219. Attempt to fix Mac build
  3220. * WebCore.xcodeproj/project.pbxproj: Make TextRun.h a private header.
  3221. 2008-07-16 Eric Seidel <eric@webkit.org>
  3222. Reviewed by mitz.
  3223. Make ATSULayoutParameters a real C++ class
  3224. (Give it a destructor to clean up after itself)
  3225. (Also use OwnArrayPtr instead of manual member cleanup)
  3226. * platform/graphics/mac/FontMac.mm:
  3227. (WebCore::ATSULayoutParameters::ATSULayoutParameters):
  3228. (WebCore::ATSULayoutParameters::~ATSULayoutParameters):
  3229. (WebCore::overrideLayoutOperation):
  3230. (WebCore::ATSULayoutParameters::initialize):
  3231. (WebCore::Font::selectionRectForComplexText):
  3232. (WebCore::Font::drawComplexText):
  3233. (WebCore::Font::floatWidthForComplexText):
  3234. (WebCore::Font::offsetForPositionForComplexText):
  3235. 2008-07-16 Eric Seidel <eric@webkit.org>
  3236. Reviewed by mitz.
  3237. Make ownership of copied UChar buffer clearer
  3238. (and more leak-proof) by using a OwnArrayPtr.
  3239. No functional changes, thus no tests.
  3240. * platform/graphics/mac/FontMac.mm:
  3241. (WebCore::copyRunForDirectionalOverrideIfNecessary):
  3242. (WebCore::Font::selectionRectForComplexText):
  3243. (WebCore::Font::drawComplexText):
  3244. (WebCore::Font::offsetForPositionForComplexText):
  3245. 2008-07-16 Eric Seidel <eric@webkit.org>
  3246. Reviewed by Sam.
  3247. Split out TextRun into its own header file.
  3248. Re-order members to place all bools together
  3249. (to allow compilers to better pack the struct)
  3250. No functional changes, thus no tests.
  3251. * WebCore.vcproj/WebCore.vcproj:
  3252. * WebCore.xcodeproj/project.pbxproj:
  3253. * platform/graphics/Font.h: Moved TextRun into its own file.
  3254. * platform/graphics/TextRun.h: Split out from Font.h
  3255. 2008-07-16 Simon Fraser <simon.fraser@apple.com>
  3256. Reviewed by Dave Hyatt
  3257. AnimationController needs to adjust z-index in the blended
  3258. style in case opacity or transform were changed by blending.
  3259. https://bugs.webkit.org/show_bug.cgi?id=20047
  3260. Test: transitions/opacity-transition-zindex.html
  3261. * page/AnimationController.cpp:
  3262. (WebCore::AnimationController::updateImplicitAnimations):
  3263. 2008-07-16 Nikolas Zimmermann <zimmermann@kde.org>
  3264. Reviewed by Sam.
  3265. Fixes: https://bugs.webkit.org/show_bug.cgi?id=20052
  3266. Prepare SVGAnimatedProperty introduction.
  3267. Export the tag & attribute names as string literals for SVGNames/XLinkNames and one property in HTMLNames. SVGAnimatedProperty
  3268. contains two string literal template parameters, and we're using these exported string literals from {SVG,HTML,XLink}Names as input paramters.
  3269. See https://bugs.webkit.org/show_bug.cgi?id=20051 for details.
  3270. * dom/make_names.pl: Handle new params "exportString" / "exportStrings".
  3271. * html/HTMLAttributeNames.in: Expose just the single "class" attribute, as string.
  3272. * svg/svgattrs.in: Export all SVG attributes as strings.
  3273. * svg/svgtags.in: Export all SVG tags as strings.
  3274. * svg/xlinkattrs.in: Expose all XLink attributes as strings.
  3275. 2008-07-16 Nikolas Zimmermann <zimmermann@kde.org>
  3276. Reviewed by Eric.
  3277. Fixes: https://bugs.webkit.org/show_bug.cgi?id=10745 (SVGLength object needs some weight loss)
  3278. Don't store a context pointer in SVGLength, saving memory. Let the caller of the value() & convertToSpecifiedUnits() pass it.
  3279. Remove some uneeded contextElement() functions, by moving into approriate shared base classes.
  3280. * GNUmakefile.am:
  3281. * WebCore.pro:
  3282. * WebCore.vcproj/WebCore.vcproj:
  3283. * WebCore.xcodeproj/project.pbxproj:
  3284. * bindings/js/JSSVGLengthCustom.cpp: Added.
  3285. (WebCore::JSSVGLength::value):
  3286. (WebCore::JSSVGLength::convertToSpecifiedUnits):
  3287. * bindings/scripts/CodeGeneratorObjC.pm:
  3288. * css/CSSCursorImageValue.cpp:
  3289. (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
  3290. * rendering/RenderForeignObject.cpp:
  3291. (WebCore::RenderForeignObject::translationForAttributes):
  3292. * rendering/RenderSVGImage.cpp:
  3293. (WebCore::RenderSVGImage::layout):
  3294. * rendering/RenderSVGRoot.cpp:
  3295. (WebCore::RenderSVGRoot::calcViewport):
  3296. * rendering/RenderSVGText.cpp:
  3297. (WebCore::RenderSVGText::layout):
  3298. * rendering/RenderSVGViewportContainer.cpp:
  3299. (WebCore::RenderSVGViewportContainer::calcViewport):
  3300. * rendering/SVGCharacterLayoutInfo.cpp:
  3301. (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
  3302. (WebCore::SVGCharacterLayoutInfo::addStackContent):
  3303. * rendering/SVGCharacterLayoutInfo.h:
  3304. * rendering/SVGRootInlineBox.cpp:
  3305. (WebCore::SVGRootInlineBox::buildTextChunks):
  3306. * svg/SVGAnimateElement.h:
  3307. * svg/SVGAnimateMotionElement.h:
  3308. * svg/SVGAnimateTransformElement.h:
  3309. * svg/SVGAnimationElement.h:
  3310. (WebCore::SVGAnimationElement::contextElement):
  3311. * svg/SVGCircleElement.cpp:
  3312. (WebCore::SVGCircleElement::SVGCircleElement):
  3313. (WebCore::SVGCircleElement::parseMappedAttribute):
  3314. (WebCore::SVGCircleElement::toPathData):
  3315. * svg/SVGCursorElement.cpp:
  3316. (WebCore::SVGCursorElement::SVGCursorElement):
  3317. (WebCore::SVGCursorElement::parseMappedAttribute):
  3318. * svg/SVGEllipseElement.cpp:
  3319. (WebCore::SVGEllipseElement::SVGEllipseElement):
  3320. (WebCore::SVGEllipseElement::parseMappedAttribute):
  3321. (WebCore::SVGEllipseElement::toPathData):
  3322. * svg/SVGFilterElement.cpp:
  3323. (WebCore::SVGFilterElement::SVGFilterElement):
  3324. (WebCore::SVGFilterElement::parseMappedAttribute):
  3325. (WebCore::SVGFilterElement::canvasResource):
  3326. * svg/SVGFilterPrimitiveStandardAttributes.cpp:
  3327. (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
  3328. (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
  3329. (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
  3330. * svg/SVGForeignObjectElement.cpp:
  3331. (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
  3332. (WebCore::SVGForeignObjectElement::parseMappedAttribute):
  3333. * svg/SVGImageElement.cpp:
  3334. (WebCore::SVGImageElement::SVGImageElement):
  3335. (WebCore::SVGImageElement::parseMappedAttribute):
  3336. * svg/SVGLength.cpp:
  3337. (WebCore::SVGLength::SVGLength):
  3338. (WebCore::SVGLength::value):
  3339. (WebCore::SVGLength::convertToSpecifiedUnits):
  3340. (WebCore::SVGLength::PercentageOfViewport):
  3341. * svg/SVGLength.h:
  3342. * svg/SVGLength.idl:
  3343. * svg/SVGLengthList.cpp:
  3344. (WebCore::SVGLengthList::parse):
  3345. * svg/SVGLengthList.h:
  3346. * svg/SVGLineElement.cpp:
  3347. (WebCore::SVGLineElement::SVGLineElement):
  3348. (WebCore::SVGLineElement::parseMappedAttribute):
  3349. (WebCore::SVGLineElement::toPathData):
  3350. * svg/SVGLinearGradientElement.cpp:
  3351. (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
  3352. (WebCore::SVGLinearGradientElement::parseMappedAttribute):
  3353. * svg/SVGMarkerElement.cpp:
  3354. (WebCore::SVGMarkerElement::SVGMarkerElement):
  3355. (WebCore::SVGMarkerElement::parseMappedAttribute):
  3356. (WebCore::SVGMarkerElement::canvasResource):
  3357. * svg/SVGMaskElement.cpp:
  3358. (WebCore::SVGMaskElement::SVGMaskElement):
  3359. (WebCore::SVGMaskElement::parseMappedAttribute):
  3360. (WebCore::SVGMaskElement::drawMaskerContent):
  3361. * svg/SVGPatternElement.cpp:
  3362. (WebCore::SVGPatternElement::SVGPatternElement):
  3363. (WebCore::SVGPatternElement::parseMappedAttribute):
  3364. (WebCore::SVGPatternElement::buildPattern):
  3365. * svg/SVGRadialGradientElement.cpp:
  3366. (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
  3367. (WebCore::SVGRadialGradientElement::parseMappedAttribute):
  3368. * svg/SVGRectElement.cpp:
  3369. (WebCore::SVGRectElement::SVGRectElement):
  3370. (WebCore::SVGRectElement::parseMappedAttribute):
  3371. (WebCore::SVGRectElement::toPathData):
  3372. * svg/SVGSVGElement.cpp:
  3373. (WebCore::SVGSVGElement::SVGSVGElement):
  3374. (WebCore::SVGSVGElement::viewport):
  3375. (WebCore::SVGSVGElement::parseMappedAttribute):
  3376. (WebCore::SVGSVGElement::getCTM):
  3377. (WebCore::SVGSVGElement::getScreenCTM):
  3378. * svg/SVGTextContentElement.cpp:
  3379. (WebCore::SVGTextContentElement::SVGTextContentElement):
  3380. (WebCore::SVGTextContentElement::parseMappedAttribute):
  3381. * svg/SVGTextPathElement.cpp:
  3382. (WebCore::SVGTextPathElement::SVGTextPathElement):
  3383. (WebCore::SVGTextPathElement::parseMappedAttribute):
  3384. * svg/SVGTextPositioningElement.cpp:
  3385. (WebCore::SVGTextPositioningElement::parseMappedAttribute):
  3386. * svg/SVGUseElement.cpp:
  3387. (WebCore::SVGUseElement::SVGUseElement):
  3388. (WebCore::SVGUseElement::parseMappedAttribute):
  3389. (WebCore::SVGUseElement::buildPendingResource):
  3390. (WebCore::SVGUseElement::buildInstanceTree):
  3391. (WebCore::SVGUseElement::handleDeepUseReferencing):
  3392. (WebCore::SVGUseElement::alterShadowTreeForSVGTag):
  3393. (WebCore::SVGUseElement::expandUseElementsInShadowTree):
  3394. (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
  3395. * svg/SVGUseElement.h:
  3396. * svg/SynchronizableTypeWrapper.h:
  3397. * svg/graphics/SVGImage.cpp:
  3398. (WebCore::SVGImage::size):
  3399. 2008-07-16 Geoffrey Garen <ggaren@apple.com>
  3400. Reviewed by Oliver Hunt.
  3401. Support for JavaScriptCore's first step toward putting doubles in
  3402. registers: Treat ArgList iterators as Register*'s, not JSValue*'s.
  3403. * bindings/js/ScheduledAction.cpp:
  3404. (WebCore::ScheduledAction::ScheduledAction):
  3405. 2008-07-15 Maxime Britto <britto@apple.com>
  3406. Reviewed by Eric.
  3407. https://bugs.webkit.org/show_bug.cgi?id=17589
  3408. <rdar://problem/5770893>
  3409. Retrieve the wheel sensitivity setting from windows system settings for the horizontal and the vertical scrolling.
  3410. Allows the page scrolling with the wheel (if activated in windows settings) on both horizontal and vertical ways
  3411. For the other platforms, nothing is changed but if someone want to activate this feature
  3412. he/she has to retrieve the settings and fill out the m_lineScrollSensitivity and/or m_charScrollSensitivity in his/her PlatformWheelEvent constructor.
  3413. * ChangeLog:
  3414. * page/EventHandler.cpp:
  3415. (WebCore::scrollAndAcceptEvent): static inline function to avoid copy/paste in the member functions
  3416. (WebCore::EventHandler::handleWheelEvent): Call to the above mentionned static inline function with the right parameters
  3417. * platform/PlatformWheelEvent.h:
  3418. (WebCore::PlatformWheelEvent::deltaX): Now returns the delta multiplied by the user settings for the number of lines to scroll
  3419. (WebCore::PlatformWheelEvent::deltaY): Now returns the delta multiplied by the user settings for the number of chars to scroll
  3420. (WebCore::PlatformWheelEvent::isPageXScrollModeEnabled):
  3421. (WebCore::PlatformWheelEvent::isPageYScrollModeEnabled):
  3422. * platform/gtk/WheelEventGtk.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
  3423. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  3424. * platform/mac/WheelEventMac.mm: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
  3425. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  3426. * platform/qt/WheelEventQt.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
  3427. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  3428. * platform/win/ScrollViewWin.cpp: Added the page scroll (horiz/vertical) and reduced the number of pixels to scroll per line to keep the standard behavior with the factor
  3429. (WebCore::adjustDeltaForPageScrollMode): static inline function to avoid copy/paste in the member functions
  3430. (WebCore::ScrollView::updateScrollbars):
  3431. (WebCore::ScrollView::wheelEvent):
  3432. * platform/win/WheelEventWin.cpp: Retrieves the new values by using the win32 API.
  3433. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  3434. * platform/wx/MouseWheelEventWx.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
  3435. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  3436. 2008-07-15 Kevin Ollivier <kevino@theolliviers.com>
  3437. wx build fix - adding AccessibilityImageMapLink.cpp to the wx build.
  3438. * WebCoreSources.bkl:
  3439. 2008-07-15 Kevin McCullough <kmccullough@apple.com>
  3440. Reviewed by Dan.
  3441. <rdar://problem/5620273> REGRESSION: Apparent caching between form
  3442. submits twice (on Maconomy) (18401)
  3443. Frames did not set the createdByParser flag even when they were.
  3444. * html/HTMLElementFactory.cpp:
  3445. (WebCore::frameConstructor):
  3446. (WebCore::iframeConstructor):
  3447. 2008-07-15 Dan Bernstein <mitz@apple.com>
  3448. Reviewed by Dave Hyatt.
  3449. - fix https://bugs.webkit.org/show_bug.cgi?id=19525
  3450. <rdar://problem/5961768> -webkit-box-reflect in hyperlink causes webkit to crash
  3451. Test: fast/reflections/inline-crash.html
  3452. * rendering/RenderInline.cpp:
  3453. (WebCore::RenderInline::setStyle): Added setHasReflection(false).
  3454. Inline flows never have reflections.
  3455. 2008-07-14 David Hyatt <hyatt@apple.com>
  3456. Allow <style> and <link> pretty much anywhere. They will still be moved to the <head> if
  3457. no <body> exists yet though.
  3458. Reviewed by Sam
  3459. Added fast/css/style-parsed-outside-of-head.html
  3460. * html/HTMLElement.cpp:
  3461. (WebCore::inlineTagList):
  3462. 2008-07-15 Kevin McCullough <kmccullough@apple.com>
  3463. Reviewed by Geoff.
  3464. Rename pageGroupIdentifier to profileGroup to keep mention of a
  3465. pageGroup out of JavaScriptCore.
  3466. * bindings/js/JSQuarantinedObjectWrapper.cpp:
  3467. (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
  3468. * bindings/js/ScriptController.cpp:
  3469. (WebCore::ScriptController::clear):
  3470. (WebCore::ScriptController::initScript):
  3471. * history/CachedPage.cpp:
  3472. (WebCore::CachedPage::restore):
  3473. 2008-07-15 Adam Roben <aroben@apple.com>
  3474. WebCore part of adding WebKit[Set]ShouldUseFontSmoothing functions
  3475. <rdar://6059127>
  3476. Reviewed by John Sullivan.
  3477. * platform/graphics/win/FontCGWin.cpp:
  3478. (WebCore::Font::drawGlyphs): Pass the result of
  3479. WebCoreShouldUseFontSmoothing() into wkSetFontSmoothingStyle.
  3480. * platform/win/WebCoreTextRenderer.cpp:
  3481. (WebCore::WebCoreSetShouldUseFontSmoothing):
  3482. (WebCore::WebCoreShouldUseFontSmoothing):
  3483. Added.
  3484. * platform/win/WebCoreTextRenderer.h:
  3485. 2008-07-15 Adam Roben <aroben@apple.com>
  3486. Windows build fix
  3487. * WebCore.vcproj/WebCore.vcproj: Add AccessibilityImageMapLink.{cpp,h}
  3488. to the project.
  3489. 2008-07-15 Holger Hans Peter Freyther <zecke@selfish.org>
  3490. Build fix for the Gtk+ and Qt platform.
  3491. * GNUmakefile.am: Add AccessibilityImageMapLink.cpp to the build
  3492. * WebCore.pro: Add AccessibilityImageMapLink.cpp to the build
  3493. 2008-07-14 Dan Bernstein <mitz@apple.com>
  3494. - Tiger build fix
  3495. * platform/mac/WidgetMac.mm:
  3496. (WebCore::Widget::paint):
  3497. 2008-07-14 Dan Bernstein <mitz@apple.com>
  3498. Reviewed by John Sullivan.
  3499. - WebCore part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep:
  3500. * platform/mac/WidgetMac.mm:
  3501. (WebCore::Widget::paint): Changed to account for the case of drawing
  3502. into a bitmap context that is not a window's backing store. In that
  3503. case, -displayRectIgnoringOpacity:inContext: is used to redirect the
  3504. drawing to the correct context, after setting up the right transform
  3505. on it. For subframes, additional code ensures that the scroll view will
  3506. not paint the background behind a transparent frame.
  3507. 2008-07-14 chris fleizach <cfleizach@apple.com>
  3508. Reviewed by Beth Dakin
  3509. <rdar://problem/6038106> AXChildren returned for this web area is null
  3510. Accessibility of image maps needed to be updated
  3511. Tests: accessibility/image-map1.html
  3512. accessibility/image-map2.html
  3513. * WebCore.xcodeproj/project.pbxproj:
  3514. * page/AXObjectCache.cpp:
  3515. (WebCore::AXObjectCache::get):
  3516. * page/AccessibilityImageMapLink.cpp: Added.
  3517. (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
  3518. (WebCore::AccessibilityImageMapLink::~AccessibilityImageMapLink):
  3519. (WebCore::AccessibilityImageMapLink::create):
  3520. (WebCore::AccessibilityImageMapLink::parentObject):
  3521. (WebCore::AccessibilityImageMapLink::anchorElement):
  3522. (WebCore::AccessibilityImageMapLink::accessibilityDescription):
  3523. (WebCore::AccessibilityImageMapLink::title):
  3524. (WebCore::AccessibilityImageMapLink::elementRect):
  3525. (WebCore::AccessibilityImageMapLink::size):
  3526. * page/AccessibilityImageMapLink.h: Added.
  3527. (WebCore::AccessibilityImageMapLink::setHTMLAreaElement):
  3528. (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
  3529. (WebCore::AccessibilityImageMapLink::roleValue):
  3530. (WebCore::AccessibilityImageMapLink::accessibilityIsIgnored):
  3531. (WebCore::AccessibilityImageMapLink::isLink):
  3532. * page/AccessibilityListBoxOption.h:
  3533. * page/AccessibilityObject.cpp:
  3534. (WebCore::AccessibilityObject::selectedChildren):
  3535. (WebCore::AccessibilityObject::visibleChildren):
  3536. * page/AccessibilityObject.h:
  3537. (WebCore::):
  3538. * page/AccessibilityRenderObject.cpp:
  3539. (WebCore::AccessibilityRenderObject::parentObject):
  3540. (WebCore::AccessibilityRenderObject::isAnchor):
  3541. (WebCore::AccessibilityRenderObject::anchorElement):
  3542. (WebCore::AccessibilityRenderObject::helpText):
  3543. (WebCore::AccessibilityRenderObject::intValue):
  3544. (WebCore::AccessibilityRenderObject::stringValue):
  3545. (WebCore::AccessibilityRenderObject::title):
  3546. (WebCore::AccessibilityRenderObject::accessibilityDescription):
  3547. (WebCore::AccessibilityRenderObject::elementRect):
  3548. (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
  3549. (WebCore::AccessibilityRenderObject::roleValue):
  3550. (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
  3551. (WebCore::AccessibilityRenderObject::addChildren):
  3552. * page/AccessibilityRenderObject.h:
  3553. * page/mac/AccessibilityObjectWrapper.mm:
  3554. (convertToNSArray):
  3555. (RoleEntry::):
  3556. 2008-07-14 Sam Weinig <sam@webkit.org>
  3557. Rubber-stamped by David Hyatt.
  3558. Remove unused ExceptionCode parameter from compareDocumentPosition.
  3559. * dom/Document.cpp:
  3560. (WebCore::Document::addStyleSheetCandidateNode):
  3561. * dom/Node.cpp:
  3562. (WebCore::Node::compareDocumentPosition):
  3563. * dom/Node.h:
  3564. * dom/Node.idl:
  3565. 2008-07-14 David Hyatt <hyatt@apple.com>
  3566. Fix for bugzilla bug 5476, link and style elements should be allowed outside the <head>.
  3567. Reviewed by Sam
  3568. Added fast/css/style-outside-head.html
  3569. Added fast/css/link-outside-head.html
  3570. * dom/Document.cpp:
  3571. (WebCore::Document::addStyleSheetCandidateNode):
  3572. (WebCore::Document::removeStyleSheetCandidateNode):
  3573. (WebCore::Document::recalcStyleSelector):
  3574. * dom/Document.h:
  3575. * dom/Node.cpp:
  3576. (WebCore::Node::compareDocumentPosition):
  3577. * dom/ProcessingInstruction.cpp:
  3578. (WebCore::ProcessingInstruction::checkStyleSheet):
  3579. (WebCore::ProcessingInstruction::insertedIntoDocument):
  3580. (WebCore::ProcessingInstruction::removedFromDocument):
  3581. (WebCore::ProcessingInstruction::finishParsingChildren):
  3582. * dom/ProcessingInstruction.h:
  3583. (WebCore::ProcessingInstruction::setCreatedByParser):
  3584. * dom/StyleElement.cpp:
  3585. (WebCore::StyleElement::removedFromDocument):
  3586. * dom/XMLTokenizer.cpp:
  3587. (WebCore::XMLTokenizer::startElementNs):
  3588. (WebCore::XMLTokenizer::processingInstruction):
  3589. (WebCore::):
  3590. * html/HTMLElementFactory.cpp:
  3591. (WebCore::linkConstructor):
  3592. * html/HTMLLinkElement.cpp:
  3593. (WebCore::HTMLLinkElement::HTMLLinkElement):
  3594. (WebCore::HTMLLinkElement::insertedIntoDocument):
  3595. (WebCore::HTMLLinkElement::removedFromDocument):
  3596. (WebCore::HTMLLinkElement::finishParsingChildren):
  3597. * html/HTMLLinkElement.h:
  3598. (WebCore::HTMLLinkElement::setCreatedByParser):
  3599. * html/HTMLStyleElement.cpp:
  3600. (WebCore::HTMLStyleElement::insertedIntoDocument):
  3601. (WebCore::HTMLStyleElement::removedFromDocument):
  3602. * svg/SVGStyleElement.cpp:
  3603. (WebCore::SVGStyleElement::insertedIntoDocument):
  3604. (WebCore::SVGStyleElement::removedFromDocument):
  3605. 2008-07-14 Sam Weinig <sam@webkit.org>
  3606. Reviewed by Mark Rowe.
  3607. Sort interface extended attributes to appease *the* Mark Rowe.
  3608. * page/DOMWindow.idl:
  3609. 2008-07-14 Anders Carlsson <andersca@apple.com>
  3610. Reviewed by Geoff.
  3611. <rdar://problem/6073974>
  3612. https://bugs.webkit.org/show_bug.cgi?id=18106
  3613. The "onscroll" event bubbles, which is inconsistent with Firefox and IE
  3614. Don't bubble the scroll event.
  3615. * rendering/RenderLayer.cpp:
  3616. (WebCore::RenderLayer::scrollToOffset):
  3617. * rendering/RenderListBox.cpp:
  3618. (WebCore::RenderListBox::valueChanged):
  3619. 2008-07-14 Adele Peterson <adele@apple.com>
  3620. Reviewed by Geoff.
  3621. Fix for <rdar://problem/5784890> REGRESSION (Safari 3): Can't edit SpeedStream 4100 DSL modem settings
  3622. The web server on this particular piece of hardware doesn't handle "text/xml" in the
  3623. Accept header if the headers are sent in a certain order. Safari 2 used to send "*/*" in
  3624. the Accept header. Firefox 2 sent "text/xml" but in an acceptable order for the web
  3625. server. And Firefox 3 doesn't send "text/xml" at all in the Accept header since it
  3626. is being deprecated in favor of "application/xml". We decided that the best solution is
  3627. to match Firefox 3 and stop sending "text/xml" in the Accept header.
  3628. No test. There appears to be no way to get the raw headers in the original order in perl/php.
  3629. * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest):
  3630. 2008-07-14 Sam Weinig <sam@webkit.org>
  3631. Reviewed by Adele Peterson.
  3632. Fix for <rdar://problem/5769819>
  3633. Test: http/tests/security/cross-frame-access-object-prototype.html
  3634. * bindings/js/JSDOMWindowCustom.cpp:
  3635. (WebCore::JSDOMWindow::getPropertyAttributes): Perform security check.
  3636. (WebCore::JSDOMWindow::defineGetter): Ditto.
  3637. (WebCore::JSDOMWindow::defineSetter): Ditto.
  3638. (WebCore::JSDOMWindow::lookupGetter): Ditto.
  3639. (WebCore::JSDOMWindow::lookupSetter): Ditto.
  3640. * bindings/scripts/CodeGeneratorJS.pm: Add support for custom versions
  3641. of all the core JSObject functionality.
  3642. * page/DOMWindow.idl: Override remaining core JSObject functionality,
  3643. to inject security checks.
  3644. 2008-07-14 Adam Roben <aroben@apple.com>
  3645. Windows build fixes
  3646. * WebCore.vcproj/WebCore.vcproj: Add include/pthreads to the include
  3647. path.
  3648. * bindings/scripts/CodeGeneratorCOM.pm: Touched this to force COM
  3649. bindings to regenerate.
  3650. * loader/FTPDirectoryDocument.cpp:
  3651. * loader/FTPDirectoryParser.cpp:
  3652. Fixed some duplicate macro definitions now that we're including
  3653. pthread.h again.
  3654. 2008-07-14 Alexey Proskuryakov <ap@webkit.org>
  3655. Reviewed by Kevin McCullough.
  3656. Make JSGlobalData refcounted in preparation to adding a way to create contexts that share
  3657. global data.
  3658. * bindings/js/JSDOMWindowBase.cpp:
  3659. (WebCore::JSDOMWindowBase::commonJSGlobalData): Create JSGlobalData with create() method.
  3660. 2008-07-14 Simon Hausmann <hausmann@webkit.org>
  3661. Reviewed by Holger.
  3662. Make listDirectory() in the Qt port work with empty namefilters.
  3663. Don't include . and .. to avoid scanning the parent directory.
  3664. * platform/qt/FileSystemQt.cpp:
  3665. (WebCore::listDirectory):
  3666. 2008-07-14 Alexey Proskuryakov <ap@webkit.org>
  3667. Reviewed by Geoff Garen.
  3668. Eliminate per-thread JavaScript global data instance support and make arbitrary
  3669. global data/global object combinations possible.
  3670. * bindings/js/JSDOMWindowBase.h:
  3671. * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::commonJSGlobalData): Added.
  3672. WebCore uses its own instance of JSGlobalData, as JSC no longer provides a per-thread one.
  3673. * bindings/js/JSDOMWindowShell.cpp:
  3674. (WebCore::JSDOMWindowShell::JSDOMWindowShell):
  3675. (WebCore::JSDOMWindowShell::operator new):
  3676. * bindings/js/ScriptController.cpp:
  3677. (WebCore::ScriptController::clear):
  3678. * bindings/scripts/CodeGeneratorJS.pm:
  3679. Pass commonJSGlobalData() as an allocator.
  3680. * bridge/c/c_utility.cpp:
  3681. (KJS::Bindings::identifierFromNPIdentifier):
  3682. * bridge/jni/jni_class.cpp:
  3683. (JavaClass::JavaClass):
  3684. * history/CachedPage.cpp:
  3685. (WebCore::CachedPage::restore):
  3686. * storage/Database.cpp:
  3687. (WebCore::Database::Database):
  3688. * bindings/js/GCController.cpp:
  3689. (WebCore::collect):
  3690. (WebCore::GCController::gcTimerFired):
  3691. (WebCore::GCController::garbageCollectNow):
  3692. Use JSDOMWindow::commonJSGlobalData().
  3693. * ForwardingHeaders/wtf/ThreadSpecific.h: Added (collector.h now includes this header, so
  3694. it need to be accesible outside of JSC).
  3695. * WebCore.base.exp: Export JSDOMWindowBase::commonJSGlobalData().
  3696. 2008-07-14 Ariya Hidayat <ariya.hidayat@trolltech.com>
  3697. Reviewed by Simon.
  3698. MinGW build fixes
  3699. * plugins/win/PluginDatabaseWin.cpp:
  3700. * plugins/win/PluginViewWin.cpp:
  3701. (WebCore::PluginView::handleKeyboardEvent):
  3702. (WebCore::PluginView::handleMouseEvent):
  3703. * svg/SynchronizableTypeWrapper.h:
  3704. (WebCore::::SynchronizableTypeWrapper):
  3705. 2008-07-13 Sam Weinig <sam@webkit.org>
  3706. Reviewed by Oliver Hunt and Dan Bernstein.
  3707. Fix for <rdar://problem/5888127>
  3708. https://bugs.webkit.org/show_bug.cgi?id=18699
  3709. - Match Firefox in restricting the size of custom cursor to images to
  3710. 128x128 px.
  3711. - Restrict custom cursor hotspots to values within the bounds of the
  3712. cursor image.
  3713. * manual-tests/cursor-max-size.html: Added.
  3714. * page/EventHandler.cpp:
  3715. (WebCore::EventHandler::selectCursor):
  3716. 2008-07-13 Kevin Ollivier <kevino@theolliviers.com>
  3717. wx build fix.
  3718. * platform/graphics/wx/AffineTransformWx.cpp:
  3719. (WebCore::AffineTransform::a):
  3720. (WebCore::AffineTransform::b):
  3721. (WebCore::AffineTransform::c):
  3722. (WebCore::AffineTransform::d):
  3723. (WebCore::AffineTransform::e):
  3724. (WebCore::AffineTransform::f):
  3725. 2008-07-12 Dan Bernstein <mitz@apple.com>
  3726. Reviewed by Oliver Hunt.
  3727. - fix https://bugs.webkit.org/show_bug.cgi?id=18088
  3728. <rdar://problem/6036232> white-space:nowrap; float:left; causing the misalignment issue
  3729. Test: fast/block/basic/min-pref-width-nowrap-floats.html
  3730. * rendering/RenderBlock.cpp:
  3731. (WebCore::RenderBlock::calcInlinePrefWidths): Fixed a case where a
  3732. float's width was added to the minimum preferred widths instead of just
  3733. acting as a lower bound on the minimum preferred width (since the float
  3734. can always be pushed down to be the only thing on the line).
  3735. 2008-07-12 David D. Kilzer <ddkilzer@webkit.org>
  3736. Bug 13067: Manually adding #hash to URL reloads entire page instead of jumping to #hash location in cached page
  3737. <https://bugs.webkit.org/show_bug.cgi?id=13067>
  3738. Reviewed by Darin.
  3739. Test: WebCore/manual-tests/hash-ref.html
  3740. * loader/FrameLoader.cpp:
  3741. (WebCore::FrameLoader::load(const KURL& newURL, const String& referrer,
  3742. FrameLoadType newLoadType, const String& frameName, Event* event,
  3743. PassRefPtr<FormState> formState)): Extracted logic into
  3744. shouldScrollToAnchor() for determining when to scroll to an anchor.
  3745. (WebCore::FrameLoader::load(DocumentLoader* loader, FrameLoadType type,
  3746. PassRefPtr<FormState> formState)): Added check for
  3747. shouldScrollToAnchor() to catch cases when the user manually added a
  3748. hash ref to the URL in the address bar. This is the bug fix.
  3749. (WebCore::FrameLoader::shouldReload): Simplified early return logic.
  3750. We only need to check if the destinationURL has a hash ref, not the
  3751. currentURL, per the comment in the method.
  3752. (WebCore::FrameLoader::shouldScrollToAnchor): Added. Logic extracted
  3753. from the FrameLoader::load(const KURL& newURL, ...) method. Fixed order
  3754. of arguments to shouldReload() since they were backwards, although the
  3755. previous logic in the method made this irrelevant.
  3756. (WebCore::FrameLoader::loadItem): Removed call to shouldReload(). Since
  3757. we're navigating to a HistoryItem, it doesn't make sense to ask whether
  3758. we need to reload the page or not. Additionally, the logic at the end
  3759. of shouldReload() is also checked in urlsMatchItem(), so there's no need
  3760. to call the method. This fixed the fast/css/target-fragment-match.html
  3761. test from continuously reloading after the other changes.
  3762. * loader/FrameLoader.h:
  3763. (WebCore::FrameLoader::shouldScrollToAnchor): Added.
  3764. * manual-tests/hash-ref.html: Added.
  3765. * manual-tests/resources/hash-ref-test.html: Added.
  3766. 2008-07-11 Stephanie Lewis <slewis@apple.com>
  3767. Reviewed by Darin Adler.
  3768. No Functionality Changed. Change all the leak counting code to use the new WTF leak counter class.
  3769. * bindings/js/JSCustomSQLTransactionCallback.cpp:
  3770. (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
  3771. (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
  3772. * bindings/js/JSEventListener.cpp:
  3773. (WebCore::JSEventListener::JSEventListener):
  3774. (WebCore::JSEventListener::~JSEventListener):
  3775. * dom/Node.cpp:
  3776. (WebCore::Node::Node):
  3777. (WebCore::Node::~Node):
  3778. * dom/Range.cpp:
  3779. (WebCore::Range::Range):
  3780. (WebCore::Range::~Range):
  3781. * history/CachedPage.cpp:
  3782. (WebCore::CachedPage::CachedPage):
  3783. (WebCore::CachedPage::~CachedPage):
  3784. * loader/SubresourceLoader.cpp:
  3785. (WebCore::SubresourceLoader::SubresourceLoader):
  3786. (WebCore::SubresourceLoader::~SubresourceLoader):
  3787. * page/Frame.cpp:
  3788. (WebCore::Frame::Frame):
  3789. (WebCore::Frame::~Frame):
  3790. * page/Page.cpp:
  3791. (WebCore::Page::Page):
  3792. (WebCore::Page::~Page):
  3793. * rendering/RenderObject.cpp:
  3794. (WebCore::RenderObject::RenderObject):
  3795. (WebCore::RenderObject::~RenderObject):
  3796. * rendering/bidi.cpp:
  3797. (WebCore::throw):
  3798. (WebCore::BidiRun::operator delete):
  3799. 2008-07-11 Sam Weinig <sam@webkit.org>
  3800. Reviewed by Mark Rowe.
  3801. Update getSubStringLength and selectSubString methods exception throwing conditions
  3802. based on SVG working group errata.
  3803. Test: svg/custom/selectSubString.html
  3804. * svg/SVGTextContentElement.cpp:
  3805. (WebCore::SVGTextContentElement::getSubStringLength):
  3806. (WebCore::SVGTextContentElement::selectSubString):
  3807. 2008-07-11 Sam Weinig <sam@webkit.org>
  3808. Reviewed by Mark Rowe.
  3809. We can only use the Id fast path for querySelector and querySelectorAll
  3810. if the selector is purely an Id selector.
  3811. Test: fast/dom/SelectorAPI/id-fastpath.html
  3812. * dom/Node.cpp:
  3813. (WebCore::Node::querySelector):
  3814. * dom/SelectorNodeList.cpp:
  3815. (WebCore::createSelectorNodeList):
  3816. 2008-07-11 David Hyatt <hyatt@apple.com>
  3817. Implement the DOM level 3 compareDocumentPosition method on Node.
  3818. Reviewed by Darin
  3819. * dom/Node.cpp:
  3820. (WebCore::Node::compareDocumentPosition):
  3821. * dom/Node.h:
  3822. * dom/Node.idl:
  3823. 2008-07-11 Brady Eidson <beidson@apple.com>
  3824. Rubberstamped by Sam
  3825. Removed unneeded export
  3826. * WebCore.base.exp:
  3827. 2008-07-11 Kevin McCullough <kmccullough@apple.com>
  3828. Reviewed by Geoff.
  3829. <rdar://problem/6067178> REGRESSION: Start profile button in profiler
  3830. now profiles inspector rather than actual page (19833)
  3831. - The JSQuarantinedObjectWrapper should use the wrapped exec state
  3832. so that calls to it execute in its quarantined world.
  3833. * bindings/js/JSQuarantinedObjectWrapper.cpp:
  3834. (WebCore::JSQuarantinedObjectWrapper::construct):
  3835. (WebCore::JSQuarantinedObjectWrapper::call):
  3836. 2008-07-11 Simon Fraser <simon.fraser@apple.com>
  3837. Reviewed by Dave Hyatt
  3838. StyleRareNonInheritedData needs to initialize and compare
  3839. m_maskBoxImage.
  3840. <https://bugs.webkit.org/show_bug.cgi?id=20005>
  3841. * rendering/style/RenderStyle.cpp:
  3842. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  3843. (WebCore::StyleRareNonInheritedData::operator==):
  3844. 2008-07-11 Simon Fraser <simon.fraser@apple.com>
  3845. Reviewed by Dave Hyatt
  3846. Bug 18885: RenderLayer::enclosingPositionedAncestor() should
  3847. look for transforms, since transforms create containing
  3848. blocks.
  3849. <https://bugs.webkit.org/show_bug.cgi?id=18885>
  3850. Test: fast/transforms/transform-positioned-ancestor.html
  3851. * rendering/RenderLayer.cpp:
  3852. (WebCore::RenderLayer::stackingContext):
  3853. (WebCore::RenderLayer::enclosingPositionedAncestor):
  3854. (WebCore::RenderLayer::enclosingTransformedAncestor):
  3855. 2008-07-11 Jacob Refstrup <jacob.refstrup@hp.com>
  3856. Reviewed by Darin Adler
  3857. http://bugs.webkit.org/show_bug.cgi?id=19978
  3858. GTK port always ends up with # at the end of resource URLs (and hence can't load files)
  3859. - Optimized KURL::removeRef() and used it rather than setRef("")
  3860. which after r35040 does the wrong thing.
  3861. * platform/KURL.cpp:
  3862. (WebCore::KURL::removeRef):
  3863. * platform/network/curl/ResourceHandleManager.cpp:
  3864. (WebCore::ResourceHandleManager::initializeHandle):
  3865. 2008-07-11 Simon Hausmann <hausmann@webkit.org>
  3866. Fix the Qt/Windows build, include windows.h for HWND directly
  3867. instead of implicit inclusion through Timer.h.
  3868. * plugins/win/PluginMessageThrottlerWin.h:
  3869. 2008-07-11 Dan Bernstein <mitz@apple.com>
  3870. Reviewed by Darin Adler.
  3871. - fix popularity tracking for cached resources, which regressed in r23923
  3872. * loader/Cache.cpp:
  3873. (WebCore::Cache::requestResource): Changed to increase the access count
  3874. whenever this function returns a CachedResource and the cache is
  3875. enabled, instead of only when creating a new CachedResources. The
  3876. incorrect behavior resulted in all resources in the cache having an
  3877. access count of exactly 1 at all times.
  3878. (WebCore::Cache::requestUserCSSStyleSheet): Ditto.
  3879. 2008-07-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
  3880. Reviewed by Simon.
  3881. Enable Netscape plugins for the Qt/Windows build.
  3882. This required various smaller fixes across a wider set of
  3883. files described below.
  3884. * WebCore.pro: Add various windows specific files to the build.
  3885. * page/Page.h: Extend the #ifdeffery for windows types to include the
  3886. Qt/Windows build.
  3887. * platform/graphics/GraphicsContext.h: Added inTransparencyLayer() for
  3888. the Qt port, as PluginViewWin.cpp uses it.
  3889. * platform/graphics/qt/GraphicsContextQt.cpp:
  3890. (WebCore::GraphicsContext::inTransparencyLayer): Implemented function.
  3891. * platform/qt/TemporaryLinkStubs.cpp: Mask out some stubs as they
  3892. are now implemented through *Win.cpp files.
  3893. * plugins/PluginDatabase.cpp: Change PLATFORM(WIN) to WIN_OS.
  3894. * plugins/PluginView.cpp: Change PLATFORM(WIN) to WIN_OS.
  3895. (WebCore::PluginView::setFrameGeometry): Ditto.
  3896. (WebCore::PluginView::PluginView): Ditto.
  3897. * plugins/PluginView.h: Introduce the PlatformPluginWidget typedef,
  3898. which expands to HWND directly for the Qt/Windows build and
  3899. PlatformWidget for the remaining platforms. That is because
  3900. PlatformWidget is QWidget* for the Qt build but for the plugin
  3901. window we need a native window, aka HWND.
  3902. * plugins/win/PluginPackageWin.cpp: Fix compilation, include shlwapi.h
  3903. after config.h.
  3904. * plugins/win/PluginViewWin.cpp:
  3905. (windowHandleForPlatformWidget): Added a little helper function to
  3906. determine the HWND from a PlatformWidget.
  3907. (WebCore::registerPluginView): For the Qt port we need to set the
  3908. global application instance handle here in the library, as the
  3909. browser doesn't do it.
  3910. (WebCore::PluginView::handleMouseEvent): Mask out
  3911. ignoreNextSetCursor/lastSetCursor for the Qt port, it's not used.
  3912. (WebCore::PluginView::invalidateRect): Convert from IntRect to RECT
  3913. manually just here to avoid compiling in IntRectWin.cpp.
  3914. (WebCore::PluginView::invalidateRegion): Ditto.
  3915. (WebCore::PluginView::forceRedraw): Call windowHandleForPlatformWidget
  3916. on containingWindow() to get the correct HWND for the Qt port.
  3917. (WebCore::PluginView::init): Determine the parent HWND for m_window
  3918. using windowHandleForPlatformWidget.
  3919. 2008-07-11 Simon Hausmann <hausmann@webkit.org>
  3920. Rubber-stamped by Holger.
  3921. Enable Database and Icondatabase functionality for the Qt/Windows
  3922. build when building inside Qt, as we can use the builtin copy of
  3923. sqlite then.
  3924. * WebCore.pro:
  3925. 2008-07-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
  3926. Reviewed by Adam Roben.
  3927. Fix compile with MinGW since it does not like friend static function.
  3928. * plugins/PluginView.h:
  3929. * plugins/win/PluginViewWin.cpp:
  3930. 2008-07-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
  3931. Reviewed by Simon.
  3932. Fix Qt/Win32 build.
  3933. * platform/graphics/qt/GraphicsContextQt.cpp:
  3934. 2008-07-10 Sam Weinig <sam@webkit.org>
  3935. Reviewed by Oliver Hunt.
  3936. Add support for NSResolver to resolve namespaces for querySelector
  3937. and querySelectorAll.
  3938. - Namespace resolution is done after parsing by iterating over all the
  3939. parts of the CSSSelector.
  3940. Tests: fast/dom/SelectorAPI/NSResolver-basic.xhtml
  3941. fast/dom/SelectorAPI/NSResolver-exceptions.xhtml
  3942. * GNUmakefile.am: Updated with new files.
  3943. * WebCore.pro: Ditto.
  3944. * WebCore.vcproj/WebCore.vcproj: Ditto.
  3945. * WebCore.xcodeproj/project.pbxproj: Ditto.
  3946. * WebCoreSources.bkl: Ditto.
  3947. * bindings/js/JSDOMBinding.cpp:
  3948. (WebCore::execStateFromNode):
  3949. * bindings/js/JSDOMBinding.h:
  3950. Move execStateFromNode here from NodeFilter.
  3951. * bindings/js/JSDocumentCustom.cpp:
  3952. (WebCore::JSDocument::querySelector): Don't throw a NOT_SUPPORTED_ERR for NSResolver
  3953. and instead create one if the argument is not undefined or null.
  3954. (WebCore::JSDocument::querySelectorAll): Ditto.
  3955. * bindings/js/JSDocumentFragmentCustom.cpp:
  3956. (WebCore::JSDocumentFragment::querySelector): Ditto.
  3957. (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
  3958. * bindings/js/JSElementCustom.cpp:
  3959. (WebCore::JSElement::querySelector): Ditto.
  3960. (WebCore::JSElement::querySelectorAll): Ditto.
  3961. * bindings/js/JSNSResolver.cpp: Added.
  3962. (WebCore::JSNSResolver::JSNSResolver):
  3963. (WebCore::JSNSResolver::mark):
  3964. (WebCore::JSNSResolver::lookupNamespaceURI): Try and get the function
  3965. from the passed in argument, either the value itself, or the result of
  3966. getting the lookupNamespaceURI property, and call it.
  3967. (WebCore::toNSResolver):
  3968. * bindings/js/JSNSResolver.h: Added.
  3969. (WebCore::JSNSResolver::create):
  3970. * dom/Document.idl: Update with NSResolver parameter.
  3971. * dom/DocumentFragment.idl: Ditto.
  3972. * dom/Element.idl: Ditto.
  3973. * dom/NSResolver.h: Added.
  3974. (WebCore::NSResolver::~NSResolver):
  3975. (WebCore::NSResolver::mark):
  3976. Abstract base class.
  3977. * dom/NSResolver.idl: Added.
  3978. * dom/Node.cpp:
  3979. (WebCore::forEachTagSelector):
  3980. (WebCore::forEachSelector):
  3981. Functions to iterate over all parts of the selector.
  3982. (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
  3983. Functor to be passed to forEachSelector to determine if a selector
  3984. needs namespace resolution, for the case when no NSResolver is passed
  3985. and we need to determine whether to throw a NAMESPACE_ERR.
  3986. (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
  3987. (WebCore::ResolveNamespaceFunctor::operator()):
  3988. Functor to resolve namespaces for the selector.
  3989. (WebCore::selectorNeedsNamespaceResolution):
  3990. (WebCore::resolveNamespacesForSelector):
  3991. (WebCore::Node::querySelector): Resolve namepspaces, including the defaultNamespace
  3992. if a NSResolver is passed in.
  3993. (WebCore::Node::querySelectorAll): Ditto.
  3994. * dom/Node.h:
  3995. * dom/NodeFilter.cpp:
  3996. * dom/NodeFilter.h:
  3997. * dom/NodeIterator.h:
  3998. (WebCore::NodeIterator::nextNode):
  3999. (WebCore::NodeIterator::previousNode):
  4000. * dom/TreeWalker.h:
  4001. (WebCore::TreeWalker::parentNode):
  4002. (WebCore::TreeWalker::firstChild):
  4003. (WebCore::TreeWalker::lastChild):
  4004. (WebCore::TreeWalker::previousSibling):
  4005. (WebCore::TreeWalker::nextSibling):
  4006. (WebCore::TreeWalker::previousNode):
  4007. (WebCore::TreeWalker::nextNode):
  4008. Use the version of execStateFromNode in JSDOMBinding.
  4009. 2008-07-10 Mark Rowe <mrowe@apple.com>
  4010. Reviewed by Sam Weinig.
  4011. Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
  4012. * Configurations/WebCore.xcconfig:
  4013. 2008-07-10 Dean Jackson <dino@apple.com>
  4014. Reviewed by hyatt.
  4015. Calculate computed style for -webkit-transform property
  4016. https://bugs.webkit.org/show_bug.cgi?id=19864
  4017. Test: css3/transform-computed-style-001.html
  4018. * css/CSSComputedStyleDeclaration.cpp:
  4019. (WebCore::computedTransform):
  4020. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  4021. handles -webkit-transform property now
  4022. * manual-tests/computed-transform-value.html: Added.
  4023. 2008-07-10 Dan Bernstein <mitz@apple.com>
  4024. Reviewed by Adam Roben.
  4025. - fix a parse error in inspector.js
  4026. * page/inspector/inspector.js: Added missing brace.
  4027. 2008-07-10 Adam Roben <aroben@apple.com>
  4028. Build fix
  4029. * WebCore.vcproj/QTMovieWin.vcproj: Add
  4030. OSXCompatibilityHeaders[/GNUCompatibility] to the include path.
  4031. 2008-07-10 Chris Fleizach <cfleizach@apple.com>
  4032. Reviewed by Dan Bernstein
  4033. <rdar://problem/6067408> AX: internal anchors broken
  4034. * page/AccessibilityRenderObject.cpp:
  4035. (WebCore::AccessibilityRenderObject::internalLinkElement):
  4036. * platform/KURL.cpp:
  4037. (WebCore::KURL::removeRef):
  4038. * platform/KURL.h:
  4039. 2008-07-10 Mark Rowe <mrowe@apple.com>
  4040. Build fix.
  4041. * bridge/npapi.h: Remove extra comma.
  4042. 2008-07-10 Sam Weinig <sam@webkit.org>
  4043. Reviewed by Mark Rowe.
  4044. Remove no-op debug method.
  4045. * css/CSSSelector.cpp:
  4046. * css/CSSSelector.h:
  4047. 2008-07-10 Sam Weinig <sam@webkit.org>
  4048. Reviewed by Dave Hyatt and Darin Adler.
  4049. Add support for calling querySelector and querySelectorAll on DocumentFragments
  4050. - Fixes bug where nodes not in the document tree would not match based on ID due
  4051. to over optimization.
  4052. Test: fast/dom/SelectorAPI/detached-element.html
  4053. * GNUmakefile.am:
  4054. * WebCore.pro:
  4055. * WebCore.vcproj/WebCore.vcproj:
  4056. * WebCore.xcodeproj/project.pbxproj:
  4057. * WebCoreSources.bkl:
  4058. * bindings/js/JSDocumentFragmentCustom.cpp: Added.
  4059. (WebCore::JSDocumentFragment::querySelector): Add custom code matching JSElement
  4060. and JSDocument that checks for a 2nd arguments and throws an exception indicating
  4061. we do not currently support the optional NSResolver part of the Selectors API spec.
  4062. (WebCore::JSDocumentFragment::querySelectorAll): Ditto.
  4063. * dom/DocumentFragment.idl: Add querySelector and querySelectorAll declarations.
  4064. * dom/Node.cpp:
  4065. (WebCore::Node::querySelector): Make the CSS parser parse the selector
  4066. according to the strictness of the document so that mixed case ID selectors
  4067. match in quirks mode. Also, don't use the fast ID path if the root is not
  4068. in the DOM tree, as it won't work.
  4069. (WebCore::Node::querySelectorAll): Ditto.
  4070. * dom/SelectorNodeList.cpp:
  4071. (WebCore::createSelectorNodeList): Don't use the fast ID path if the root is not
  4072. in the DOM tree, as it won't work.
  4073. 2008-07-10 Anthony Ricaud <rik24d@gmail.com>
  4074. Bug 19389: querySelectorAll exception while searching invalid CSS selector
  4075. <https://bugs.webkit.org/show_bug.cgi?id=19389>
  4076. Reviewed by Tim Hatcher.
  4077. * page/inspector/inspector.js: Added a try/catch block.
  4078. 2008-07-10 Brent Fulgham <bfulgham@gmail.com>
  4079. Correct a build regression due to an uninitialized variable.
  4080. <https://bugs.webkit.org/show_bug.cgi?id=19976>
  4081. Reviewed by Darin.
  4082. * platform/graphics/cairo/FontCairo.cpp:
  4083. (WebCore::Font::drawGlyphs):
  4084. 2008-07-10 Adam Roben <aroben@apple.com>
  4085. Fix Bug 19580: REGRESSION (r34432): PGO-only crash in
  4086. HTMLCollection::resetCollectionInfo (codegen issue?)
  4087. <https://bugs.webkit.org/show_bug.cgi?id=19580>
  4088. <rdar://6029794>
  4089. Reviewed by Cameron Zwarich.
  4090. * WebCore.vcproj/WebCore.vcproj: Disable LTCG for HTMLFormElement.cpp,
  4091. which was causing some bad codegen in HTMLFormElement::elements.
  4092. * html/HTMLFormElement.cpp: Touched this file to force it to rebuild.
  4093. 2008-07-10 Anders Carlsson <andersca@apple.com>
  4094. Reviewed by Jon.
  4095. <rdar://problem/6067135>
  4096. WebKit should respond true to a query for NPNVSupportsWindowless.
  4097. Handle NPNVSupportsWindowless and return true.
  4098. * bridge/npapi.h:
  4099. * plugins/win/PluginViewWin.cpp:
  4100. (WebCore::PluginView::getValue):
  4101. 2008-07-10 Kevin McCullough <kmccullough@apple.com>
  4102. Reviewed by Darin.
  4103. -Minor cleanup. Renamed callTree() to head() and no longer use m_head
  4104. directly but instead keep it private and access via a method().
  4105. * page/JavaScriptProfile.cpp:
  4106. (WebCore::getHeadCallback):
  4107. 2008-07-10 Simon Fraser <simon.fraser@apple.com>
  4108. When a mask image changes, ensure that elements
  4109. that use that mask image are repainted correctly.
  4110. <https://bugs.webkit.org/show_bug.cgi?id=19954>
  4111. Reviewed by Dave Hyatt
  4112. * manual-tests/canvas-mask-redraw.html
  4113. Manual testcase
  4114. * rendering/RenderBox.cpp:
  4115. (WebCore::RenderBox::imageChanged):
  4116. (WebCore::RenderBox::repaintLayerRectsForImage):
  4117. * rendering/RenderBox.h:
  4118. Loop through background layers and mask layers, and
  4119. if this image is used in a layer, compute a repaint
  4120. rect and repaint.
  4121. * rendering/RenderImage.cpp:
  4122. (WebCore::RenderImage::imageChanged):
  4123. If this image has a mask, call the base class method.
  4124. * rendering/RenderObject.cpp:
  4125. Remove a bogus 'return'.
  4126. 2008-07-10 Simon Fraser <simon.fraser@apple.com>
  4127. Transforms create a containing block, so
  4128. RenderLayer::shouldBeOverflowOnly() needs to look for transforms.
  4129. <https://bugs.webkit.org/show_bug.cgi?id=18886>
  4130. Reviewed by Dave Hyatt
  4131. Test: fast/transforms/transform-overflow.html
  4132. * rendering/RenderLayer.cpp:
  4133. (WebCore::RenderLayer::shouldBeOverflowOnly):
  4134. 2008-07-09 Alex Mathews <possessedpenguinbob@gmail.com>
  4135. Reviewed by Oliver Hunt.
  4136. bug 19835: WebKit needs cross-platform filter system
  4137. <https://bugs.webkit.org/show_bug.cgi?id=19835>
  4138. More class refactoring in preparation for cross-platform filter
  4139. implementation.
  4140. * WebCore.xcodeproj/project.pbxproj:
  4141. * rendering/SVGRenderTreeAsText.h:
  4142. (WebCore::operator<<):
  4143. * svg/FilterEffect.cpp:
  4144. (WebCore::FilterEffect::externalRepresentation):
  4145. * svg/FilterEffect.h:
  4146. * svg/SVGFEBlendElement.cpp:
  4147. (WebCore::SVGFEBlendElement::build):
  4148. * svg/SVGFEBlendElement.h:
  4149. * svg/SVGFEColorMatrixElement.cpp:
  4150. (WebCore::SVGFEColorMatrixElement::build):
  4151. * svg/SVGFEColorMatrixElement.h:
  4152. * svg/SVGFEComponentTransferElement.cpp:
  4153. (WebCore::SVGFEComponentTransferElement::build):
  4154. * svg/SVGFEComponentTransferElement.h:
  4155. * svg/SVGFECompositeElement.cpp:
  4156. (WebCore::SVGFECompositeElement::build):
  4157. * svg/SVGFECompositeElement.h:
  4158. * svg/SVGFEDiffuseLightingElement.cpp:
  4159. (WebCore::SVGFEDiffuseLightingElement::filterEffect):
  4160. (WebCore::SVGFEDiffuseLightingElement::build):
  4161. (WebCore::SVGFEDiffuseLightingElement::findLights):
  4162. * svg/SVGFEDiffuseLightingElement.h:
  4163. * svg/SVGFEDisplacementMapElement.cpp:
  4164. (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
  4165. (WebCore::SVGFEDisplacementMapElement::stringToChannel):
  4166. (WebCore::SVGFEDisplacementMapElement::filterEffect):
  4167. (WebCore::SVGFEDisplacementMapElement::build):
  4168. * svg/SVGFEDisplacementMapElement.h:
  4169. * svg/SVGFEFloodElement.cpp:
  4170. (WebCore::SVGFEFloodElement::filterEffect):
  4171. (WebCore::SVGFEFloodElement::build):
  4172. * svg/SVGFEFloodElement.h:
  4173. (WebCore::SVGFEFloodElement::contextElement):
  4174. * svg/SVGFEGaussianBlurElement.cpp:
  4175. (WebCore::SVGFEGaussianBlurElement::filterEffect):
  4176. (WebCore::SVGFEGaussianBlurElement::build):
  4177. * svg/SVGFEGaussianBlurElement.h:
  4178. * svg/SVGFEImageElement.cpp:
  4179. (WebCore::SVGFEImageElement::filterEffect):
  4180. (WebCore::SVGFEImageElement::build):
  4181. * svg/SVGFEImageElement.h:
  4182. * svg/SVGFEMergeElement.cpp:
  4183. (WebCore::SVGFEMergeElement::filterEffect):
  4184. (WebCore::SVGFEMergeElement::build):
  4185. * svg/SVGFEMergeElement.h:
  4186. (WebCore::SVGFEMergeElement::contextElement):
  4187. * svg/SVGFEOffsetElement.cpp:
  4188. (WebCore::SVGFEOffsetElement::filterEffect):
  4189. (WebCore::SVGFEOffsetElement::build):
  4190. * svg/SVGFEOffsetElement.h:
  4191. * svg/SVGFESpecularLightingElement.cpp:
  4192. (WebCore::SVGFESpecularLightingElement::filterEffect):
  4193. (WebCore::SVGFESpecularLightingElement::findLights):
  4194. (WebCore::SVGFESpecularLightingElement::build):
  4195. * svg/SVGFESpecularLightingElement.h:
  4196. * svg/SVGFETileElement.cpp:
  4197. (WebCore::SVGFETileElement::filterEffect):
  4198. (WebCore::SVGFETileElement::build):
  4199. * svg/SVGFETileElement.h:
  4200. * svg/SVGFETurbulenceElement.cpp:
  4201. (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
  4202. (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
  4203. (WebCore::SVGFETurbulenceElement::filterEffect):
  4204. (WebCore::SVGFETurbulenceElement::build):
  4205. * svg/SVGFETurbulenceElement.h:
  4206. * svg/SVGFilterPrimitiveStandardAttributes.h:
  4207. * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
  4208. (WebCore::FEConvolveMatrix::FEConvolveMatrix):
  4209. (WebCore::FEConvolveMatrix::create):
  4210. (WebCore::FEConvolveMatrix::kernelSize):
  4211. (WebCore::FEConvolveMatrix::setKernelSize):
  4212. (WebCore::FEConvolveMatrix::kernel):
  4213. (WebCore::FEConvolveMatrix::setKernel):
  4214. (WebCore::FEConvolveMatrix::divisor):
  4215. (WebCore::FEConvolveMatrix::setDivisor):
  4216. (WebCore::FEConvolveMatrix::bias):
  4217. (WebCore::FEConvolveMatrix::setBias):
  4218. (WebCore::FEConvolveMatrix::targetOffset):
  4219. (WebCore::FEConvolveMatrix::setTargetOffset):
  4220. (WebCore::FEConvolveMatrix::edgeMode):
  4221. (WebCore::FEConvolveMatrix::setEdgeMode):
  4222. (WebCore::FEConvolveMatrix::kernelUnitLength):
  4223. (WebCore::FEConvolveMatrix::setKernelUnitLength):
  4224. (WebCore::FEConvolveMatrix::preserveAlpha):
  4225. (WebCore::FEConvolveMatrix::setPreserveAlpha):
  4226. (WebCore::FEConvolveMatrix::apply):
  4227. (WebCore::FEConvolveMatrix::dump):
  4228. (WebCore::operator<<):
  4229. (WebCore::FEConvolveMatrix::externalRepresentation):
  4230. * svg/graphics/filters/SVGFEConvolveMatrix.h:
  4231. (WebCore::):
  4232. * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
  4233. (WebCore::FEDiffuseLighting::FEDiffuseLighting):
  4234. (WebCore::FEDiffuseLighting::create):
  4235. (WebCore::FEDiffuseLighting::~FEDiffuseLighting):
  4236. (WebCore::FEDiffuseLighting::lightingColor):
  4237. (WebCore::FEDiffuseLighting::setLightingColor):
  4238. (WebCore::FEDiffuseLighting::surfaceScale):
  4239. (WebCore::FEDiffuseLighting::setSurfaceScale):
  4240. (WebCore::FEDiffuseLighting::diffuseConstant):
  4241. (WebCore::FEDiffuseLighting::setDiffuseConstant):
  4242. (WebCore::FEDiffuseLighting::kernelUnitLengthX):
  4243. (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
  4244. (WebCore::FEDiffuseLighting::kernelUnitLengthY):
  4245. (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
  4246. (WebCore::FEDiffuseLighting::lightSource):
  4247. (WebCore::FEDiffuseLighting::setLightSource):
  4248. (WebCore::FEDiffuseLighting::apply):
  4249. (WebCore::FEDiffuseLighting::dump):
  4250. (WebCore::FEDiffuseLighting::externalRepresentation):
  4251. * svg/graphics/filters/SVGFEDiffuseLighting.h:
  4252. * svg/graphics/filters/SVGFEDisplacementMap.cpp:
  4253. (WebCore::FEDisplacementMap::FEDisplacementMap):
  4254. (WebCore::FEDisplacementMap::create):
  4255. (WebCore::FEDisplacementMap::xChannelSelector):
  4256. (WebCore::FEDisplacementMap::setXChannelSelector):
  4257. (WebCore::FEDisplacementMap::yChannelSelector):
  4258. (WebCore::FEDisplacementMap::setYChannelSelector):
  4259. (WebCore::FEDisplacementMap::scale):
  4260. (WebCore::FEDisplacementMap::setScale):
  4261. (WebCore::FEDisplacementMap::apply):
  4262. (WebCore::FEDisplacementMap::dump):
  4263. (WebCore::operator<<):
  4264. (WebCore::FEDisplacementMap::externalRepresentation):
  4265. * svg/graphics/filters/SVGFEDisplacementMap.h:
  4266. (WebCore::):
  4267. * svg/graphics/filters/SVGFEFlood.cpp:
  4268. (WebCore::FEFlood::FEFlood):
  4269. (WebCore::FEFlood::create):
  4270. (WebCore::FEFlood::floodColor):
  4271. (WebCore::FEFlood::setFloodColor):
  4272. (WebCore::FEFlood::floodOpacity):
  4273. (WebCore::FEFlood::setFloodOpacity):
  4274. (WebCore::FEFlood::apply):
  4275. (WebCore::FEFlood::dump):
  4276. (WebCore::FEFlood::externalRepresentation):
  4277. * svg/graphics/filters/SVGFEFlood.h:
  4278. * svg/graphics/filters/SVGFEGaussianBlur.cpp:
  4279. (WebCore::FEGaussianBlur::FEGaussianBlur):
  4280. (WebCore::FEGaussianBlur::create):
  4281. (WebCore::FEGaussianBlur::stdDeviationX):
  4282. (WebCore::FEGaussianBlur::setStdDeviationX):
  4283. (WebCore::FEGaussianBlur::stdDeviationY):
  4284. (WebCore::FEGaussianBlur::setStdDeviationY):
  4285. (WebCore::FEGaussianBlur::apply):
  4286. (WebCore::FEGaussianBlur::dump):
  4287. (WebCore::FEGaussianBlur::externalRepresentation):
  4288. * svg/graphics/filters/SVGFEGaussianBlur.h:
  4289. * svg/graphics/filters/SVGFEImage.cpp:
  4290. (WebCore::FEImage::FEImage):
  4291. (WebCore::FEImage::create):
  4292. (WebCore::FEImage::~FEImage):
  4293. (WebCore::FEImage::cachedImage):
  4294. (WebCore::FEImage::apply):
  4295. (WebCore::FEImage::dump):
  4296. (WebCore::FEImage::externalRepresentation):
  4297. * svg/graphics/filters/SVGFEImage.h:
  4298. * svg/graphics/filters/SVGFEMerge.cpp:
  4299. (WebCore::FEMerge::FEMerge):
  4300. (WebCore::FEMerge::create):
  4301. (WebCore::FEMerge::mergeInputs):
  4302. (WebCore::FEMerge::setMergeInputs):
  4303. (WebCore::FEMerge::apply):
  4304. (WebCore::FEMerge::dump):
  4305. (WebCore::FEMerge::externalRepresentation):
  4306. * svg/graphics/filters/SVGFEMerge.h:
  4307. * svg/graphics/filters/SVGFEMorphology.cpp:
  4308. (WebCore::FEMorphology::FEMorphology):
  4309. (WebCore::FEMorphology::create):
  4310. (WebCore::FEMorphology::morphologyOperator):
  4311. (WebCore::FEMorphology::setMorphologyOperator):
  4312. (WebCore::FEMorphology::radiusX):
  4313. (WebCore::FEMorphology::setRadiusX):
  4314. (WebCore::FEMorphology::radiusY):
  4315. (WebCore::FEMorphology::setRadiusY):
  4316. (WebCore::FEMorphology::apply):
  4317. (WebCore::FEMorphology::dump):
  4318. (WebCore::operator<<):
  4319. (WebCore::FEMorphology::externalRepresentation):
  4320. * svg/graphics/filters/SVGFEMorphology.h:
  4321. (WebCore::):
  4322. * svg/graphics/filters/SVGFEOffset.cpp:
  4323. (WebCore::FEOffset::FEOffset):
  4324. (WebCore::FEOffset::create):
  4325. (WebCore::FEOffset::dx):
  4326. (WebCore::FEOffset::setDx):
  4327. (WebCore::FEOffset::dy):
  4328. (WebCore::FEOffset::setDy):
  4329. (WebCore::FEOffset::apply):
  4330. (WebCore::FEOffset::dump):
  4331. (WebCore::FEOffset::externalRepresentation):
  4332. * svg/graphics/filters/SVGFEOffset.h:
  4333. * svg/graphics/filters/SVGFESpecularLighting.cpp:
  4334. (WebCore::FESpecularLighting::FESpecularLighting):
  4335. (WebCore::FESpecularLighting::create):
  4336. (WebCore::FESpecularLighting::~FESpecularLighting):
  4337. (WebCore::FESpecularLighting::lightingColor):
  4338. (WebCore::FESpecularLighting::setLightingColor):
  4339. (WebCore::FESpecularLighting::surfaceScale):
  4340. (WebCore::FESpecularLighting::setSurfaceScale):
  4341. (WebCore::FESpecularLighting::specularConstant):
  4342. (WebCore::FESpecularLighting::setSpecularConstant):
  4343. (WebCore::FESpecularLighting::specularExponent):
  4344. (WebCore::FESpecularLighting::setSpecularExponent):
  4345. (WebCore::FESpecularLighting::kernelUnitLengthX):
  4346. (WebCore::FESpecularLighting::setKernelUnitLengthX):
  4347. (WebCore::FESpecularLighting::kernelUnitLengthY):
  4348. (WebCore::FESpecularLighting::setKernelUnitLengthY):
  4349. (WebCore::FESpecularLighting::lightSource):
  4350. (WebCore::FESpecularLighting::setLightSource):
  4351. (WebCore::FESpecularLighting::apply):
  4352. (WebCore::FESpecularLighting::dump):
  4353. (WebCore::FESpecularLighting::externalRepresentation):
  4354. * svg/graphics/filters/SVGFESpecularLighting.h:
  4355. * svg/graphics/filters/SVGFETile.cpp:
  4356. (WebCore::FETile::FETile):
  4357. (WebCore::FETile::create):
  4358. (WebCore::FETile::apply):
  4359. (WebCore::FETile::dump):
  4360. (WebCore::FETile::externalRepresentation):
  4361. * svg/graphics/filters/SVGFETile.h:
  4362. * svg/graphics/filters/SVGFETurbulence.cpp:
  4363. (WebCore::FETurbulence::FETurbulence):
  4364. (WebCore::FETurbulence::create):
  4365. (WebCore::FETurbulence::type):
  4366. (WebCore::FETurbulence::setType):
  4367. (WebCore::FETurbulence::baseFrequencyY):
  4368. (WebCore::FETurbulence::setBaseFrequencyY):
  4369. (WebCore::FETurbulence::baseFrequencyX):
  4370. (WebCore::FETurbulence::setBaseFrequencyX):
  4371. (WebCore::FETurbulence::seed):
  4372. (WebCore::FETurbulence::setSeed):
  4373. (WebCore::FETurbulence::numOctaves):
  4374. (WebCore::FETurbulence::setNumOctaves):
  4375. (WebCore::FETurbulence::stitchTiles):
  4376. (WebCore::FETurbulence::setStitchTiles):
  4377. (WebCore::FETurbulence::apply):
  4378. (WebCore::FETurbulence::dump):
  4379. (WebCore::operator<<):
  4380. (WebCore::FETurbulence::externalRepresentation):
  4381. * svg/graphics/filters/SVGFETurbulence.h:
  4382. (WebCore::):
  4383. * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
  4384. * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
  4385. * svg/graphics/filters/cg/SVGFEFloodCg.mm:
  4386. * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
  4387. * svg/graphics/filters/cg/SVGFEHelpersCg.h:
  4388. * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
  4389. (WebCore::getVectorForChannel):
  4390. * svg/graphics/filters/cg/SVGFEImageCg.mm:
  4391. * svg/graphics/filters/cg/SVGFEMergeCg.mm:
  4392. * svg/graphics/filters/cg/SVGFEOffsetCg.mm:
  4393. * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
  4394. * svg/graphics/filters/cg/SVGFETileCg.mm:
  4395. 2008-07-09 Mark Rowe <mrowe@apple.com>
  4396. Reviewed by Geoff Garen.
  4397. Don't warn about deprecated functions in production builds.
  4398. * Configurations/Base.xcconfig:
  4399. * Configurations/DebugRelease.xcconfig:
  4400. 2008-07-09 Brady Eidson <beidson@apple.com>
  4401. Reviewed by Darin
  4402. <rdar://problem/5823684> - Crash manipulating frame tree of a new frame before the new frame
  4403. has been installed in a frame tree.
  4404. The root of this problem was that calling init() on a new frame could end up calling arbitrary
  4405. javascript that might end up removing the frame from the tree. This opened up a small can of worms
  4406. such as the frame not having yet been installed in its frame tree, and other assumed behavior while
  4407. destroying the frame.
  4408. Test: fast/loader/frame-creation-removal.html
  4409. * loader/FrameLoader.cpp:
  4410. (WebCore::FrameLoader::endIfNotLoadingMainResource): If the frame doesn't have a page, don't close up
  4411. the document and parser because they don't exist, and this frame is on its way out.
  4412. (WebCore::FrameLoader::finishedParsing): We can't rely on the refCount check to discover "am I being deleted?"
  4413. because we no longer store refCounts of 0. The new check is "do I have a FrameView?" while will always be
  4414. false if the Frame is being destroyed.
  4415. 2008-07-09 Dean Jackson <dino@apple.com>
  4416. Changed to use the correct license in header comment (via Darin)
  4417. * css/WebKitCSSTransformValue.idl:
  4418. 2008-07-09 Dean Jackson <dino@apple.com>
  4419. Add DOM interface for WebKitCSSTransformValue.
  4420. https://bugs.webkit.org/show_bug.cgi?id=19863
  4421. Reviewed by Hyatt.
  4422. * bindings/objc/DOMInternal.h:
  4423. * css/WebKitCSSTransformValue.idl: Added.
  4424. * bindings/scripts/CodeGeneratorObjC.pm:
  4425. make sure new class inherits from CSSValue not Node
  4426. * DerivedSources.make:
  4427. * GNUmakefile.am:
  4428. * WebCore.pro:
  4429. * WebCore.vcproj/WebCore.vcproj:
  4430. * WebCore.xcodeproj/project.pbxproj:
  4431. * WebCoreSources.bkl:
  4432. Adding new generated files
  4433. 2008-07-09 Maxime Britto <britto@apple.com>
  4434. Reviewed by Adele.
  4435. http://bugs.webkit.org/show_bug.cgi?id=14227
  4436. Add the middle click panning feature to the windows release.
  4437. Details on almost each method below.
  4438. Manual test is included in the patch.
  4439. * ChangeLog:
  4440. * WebCore.vcproj/WebCore.vcproj:
  4441. * manual-tests/panScroll.html: Added.
  4442. * manual-tests/resources/big-page.html: Added.
  4443. * page/EventHandler.cpp: Added the panScroll start/stop handlers and adapted the autoscroll for both to share some functions.
  4444. (WebCore::EventHandler::EventHandler): Initialize the new class members for the panScroll
  4445. (WebCore::EventHandler::handleMouseDraggedEvent): Prevent the autoscroll to trigger if the panScroll is in progress
  4446. (WebCore::EventHandler::handleMouseReleaseEvent): Prevent the autoscroll to stop the panScroll on mouse release
  4447. (WebCore::EventHandler::handleAutoscroll): Added the specific calls for the panScroll (save mouse position, draw the panScroll icon) to the shared code
  4448. (WebCore::EventHandler::autoscrollTimerFired): Specify the calls to perform for each function (autoscroll and panScroll)
  4449. (WebCore::EventHandler::stopAutoscrollTimer): Specify the calls to perform for each function (autoscroll and panScroll)
  4450. (WebCore::EventHandler::handleMousePressEvent): Trigger for the panScroll. Test is the button is the middle button and try to find a renderer where the panScroll is possible. If it finds one, it calls the handleAutoscroll method.
  4451. * page/EventHandler.h:
  4452. (WebCore::EventHandler::panScrollInProgress): Getter used by the sub frames's EventHandler to notice the main frame EventHandler
  4453. (WebCore::EventHandler::setPanScrollInProgress): Setter used by the sub frames's EventHandler to notice the main frame EventHandler
  4454. * platform/ScrollView.h: Added a method used by the RenderObject to test if the view can be scrolled. Added the print/remove panScroll icon methods between the windows platform flags
  4455. * platform/gtk/ScrollViewGtk.cpp:
  4456. (WebCore::ScrollView::isScrollable): Not implemented : returns true
  4457. * platform/mac/ScrollViewMac.mm: Implemented because it was useful for the autoscroll feature.
  4458. (WebCore::ScrollView::isScrollable):
  4459. * platform/qt/ScrollViewQt.cpp:
  4460. (WebCore::ScrollView::isScrollable): Not implemented : returns true
  4461. * platform/win/ScrollViewWin.cpp:
  4462. (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): Added a boolean and an IntPoint to draw the icon.
  4463. (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): If the icon must be drawn, define the rect to invalidate to erase the previous icon and to display the new one.
  4464. (WebCore::ScrollView::updateContents): I split this method to be able to invalidate a rect with window coordinates instead of contents coordinates. This function now converts the contents coord in window coord and calls the new updateWindowRect() method
  4465. (WebCore::ScrollView::updateWindowRect): New method which performs the work that was doing the end of the old updateContents : invalidate a rect with window coordinates
  4466. (WebCore::ScrollView::isScrollable): checks is the view has scrollbars
  4467. (WebCore::ScrollView::printPanScrollIcon): sets the boolean and the IntPoint for the icon. Invalidate his rect and ask for repaint.
  4468. (WebCore::ScrollView::removePanScrollIcon): sets the boolean to false. Invalidate his rect and ask for repaint.
  4469. (WebCore::ScrollView::paint): Modified to draw the icon if needed.
  4470. * platform/wx/ScrollViewWx.cpp:
  4471. (WebCore::ScrollView::isScrollable): Not implemented : returns true
  4472. * rendering/RenderLayer.cpp:
  4473. (WebCore::RenderLayer::panScrollFromPoint): Receives the Middle click location and retrieves the currentMouse position from the EventHandler. With these informations it computes the direction to scroll to and the speed then calls for the final scroll.
  4474. * rendering/RenderLayer.h:
  4475. * rendering/RenderListBox.cpp: Adapt the panScroll to the ListBox object to scroll by lines instead of pixels
  4476. (WebCore::RenderListBox::panScroll):
  4477. (WebCore::RenderListBox::scrollToward):
  4478. (WebCore::RenderListBox::autoscroll):
  4479. * rendering/RenderListBox.h:
  4480. (WebCore::RenderListBox::shouldPanScroll):
  4481. * rendering/RenderObject.cpp:
  4482. (WebCore::RenderObject::shouldAutoscroll): Improved the verification to avoid triggering the autoscroll/panScroll when the root object can't scroll
  4483. (WebCore::RenderObject::panScroll): Calls the RenderLayer's panScrollFromPoint() method
  4484. * rendering/RenderObject.h:
  4485. (WebCore::RenderObject::stopPanScroll):
  4486. 2008-07-09 Dean Jackson <dino@apple.com>
  4487. Rename CSSTransformValue to WebKitCSSTransformValue as it is non-standard for
  4488. the moment. Also, WebKitCSSTransformValue is a CSSValueList (comma sep)
  4489. https://bugs.webkit.org/show_bug.cgi?id=19861
  4490. Reviewed by Hyatt
  4491. * css/CSSParser.cpp:
  4492. * css/CSSStyleSelector.cpp:
  4493. * css/CSSTransformValue.cpp: Removed.
  4494. * css/CSSTransformValue.h: Removed.
  4495. * css/CSSValueList.h:
  4496. * css/WebKitCSSTransformValue.cpp: Added.
  4497. * css/WebKitCSSTransformValue.h: Added.
  4498. * GNUmakefile.am:
  4499. * WebCore.order:
  4500. * WebCore.pro:
  4501. * WebCore.vcproj/WebCore.vcproj:
  4502. * WebCore.xcodeproj/project.pbxproj:
  4503. * WebCoreSources.bkl:
  4504. updated for new file names
  4505. 2008-07-09 David Hyatt <hyatt@apple.com>
  4506. Switch transitions back to a "destination" model as far as choosing which transitions should apply on a style
  4507. change. Preserve the behavior of allowing stale transitions (in the absence of property changes) to run to
  4508. completion.
  4509. Reviewed by Dean
  4510. * manual-tests/transitions.html:
  4511. * manual-tests/transitions2.html:
  4512. * page/AnimationController.cpp:
  4513. (WebCore::ImplicitAnimation::reset):
  4514. (WebCore::CompositeImplicitAnimation::animate):
  4515. (WebCore::AnimationControllerPrivate::get):
  4516. (WebCore::AnimationController::updateImplicitAnimations):
  4517. 2008-07-09 Michelangelo De Simone <m.des@mac.com>
  4518. Reviewed by Adele.
  4519. Added the virtual function Node::isTextControl() in order to simplify text field and textarea checks.
  4520. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
  4521. Clean up in PseudoReadOnly and PseudoReadWrite cases removing unnecessary checks and casts in favor of the sole isTextControl() check.
  4522. * dom/Node.h: Added base isTextControl().
  4523. * html/HTMLInputElement.h: Added isTextControl() which wraps HTMLInputElement::isTextField().
  4524. * html/HTMLTextAreaElement.h: Added isTextControl().
  4525. 2008-07-09 Rob Buis <buis@kde.org>
  4526. Reviewed by Eric.
  4527. https://bugs.webkit.org/show_bug.cgi?id=15431
  4528. SVGRenderStyle should store pre-modified resource URIs
  4529. Store pre-modified resource URIs to decrease string
  4530. operations during layout/rendering.
  4531. * css/SVGCSSStyleSelector.cpp:
  4532. (WebCore::CSSStyleSelector::applySVGProperty):
  4533. * rendering/RenderPath.cpp:
  4534. (WebCore::RenderPath::absoluteClippedOverflowRect):
  4535. (WebCore::RenderPath::drawMarkersIfNeeded):
  4536. * rendering/RenderSVGContainer.cpp:
  4537. (WebCore::RenderSVGContainer::selfWillPaint):
  4538. (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
  4539. * rendering/RenderSVGImage.cpp:
  4540. (WebCore::RenderSVGImage::calculateAbsoluteBounds):
  4541. * rendering/RenderSVGRoot.cpp:
  4542. (WebCore::RenderSVGRoot::paint):
  4543. (WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
  4544. * rendering/RenderSVGText.cpp:
  4545. (WebCore::RenderSVGText::absoluteClippedOverflowRect):
  4546. * rendering/SVGRenderSupport.cpp:
  4547. (WebCore::prepareToRenderSVGContent):
  4548. 2008-07-09 Anders Carlsson <andersca@apple.com>
  4549. Reviewed by Mitz.
  4550. Remove an unused instance variable.
  4551. * loader/DocumentLoader.h:
  4552. 2008-07-09 Dan Bernstein <mitz@apple.com>
  4553. Reviewed by Anders Carlsson.
  4554. - remove unused #includes
  4555. * dom/XMLTokenizer.cpp:
  4556. * html/PreloadScanner.cpp:
  4557. * loader/CachedCSSStyleSheet.cpp:
  4558. * loader/CachedScript.cpp:
  4559. * loader/CachedXBLDocument.cpp:
  4560. * loader/CachedXSLStyleSheet.cpp:
  4561. * page/mac/FrameMac.mm:
  4562. * xml/XSLTProcessor.cpp:
  4563. 2008-07-08 Geoffrey Garen <ggaren@apple.com>
  4564. Reviewed by Oliver Hunt.
  4565. Only artificially mark JS DOM wrappers if they have custom properties.
  4566. 21X speedup on http://nerget.com/jstests/dom-mandelbrot.html.
  4567. No, that is not a typo.
  4568. * bindings/js/JSDOMBinding.cpp:
  4569. (WebCore::ScriptInterpreter::markDOMNodesForDocument):
  4570. 2008-07-08 Kevin Watters <kevinwatters@gmail.com>
  4571. Reviewed by Kevin Ollivier.
  4572. Fix to previous patch for handling mouse up events.
  4573. https://bugs.webkit.org/show_bug.cgi?id=18464
  4574. * platform/wx/MouseEventWx.cpp:
  4575. (WebCore::PlatformMouseEvent::PlatformMouseEvent):
  4576. 2008-07-08 Dan Bernstein <mitz@apple.com>
  4577. Reviewed by Brady Eidson.
  4578. - initialize the Archives log channel's state
  4579. * platform/mac/LoggingMac.mm:
  4580. (WebCore::InitializeLoggingChannelsIfNecessary):
  4581. 2008-07-08 Kevin McCullough <kmccullough@apple.com>
  4582. Added manual test for the new heavy view.
  4583. * manual-tests/inspector/profiler-test-heavy-view.html: Added.
  4584. 2008-07-08 Darin Adler <darin@apple.com>
  4585. Reviewed by Mitz.
  4586. - fix <rdar://problem/6043731> REGRESSION (3-4): RedEnvelope.com
  4587. looks wrong due to OpenCube QuickMenu appVersion check
  4588. * page/Navigator.cpp:
  4589. (WebCore::shouldHideFourDot): Add dqm_loader.js as another filename.
  4590. 2008-07-08 Dan Bernstein <mitz@apple.com>
  4591. Reviewed by John Sullivan.
  4592. - WebCore part of <rdar://problem/6008409> Need a way to disable updates in offscreen views
  4593. Added a setting, updatesWhenOffscreen(), which controls whether an
  4594. offscreen web view gets marked as needing update when its contents
  4595. change (the existing behavior) or not (a new behavior), in which case it
  4596. will be marked as needing update just before it goes on screen. The
  4597. existing behavior (updating while offscreen) remains the default.
  4598. * WebCore.base.exp: Added Settings::setUpdatesWhenOffscreen().
  4599. * page/FrameView.cpp:
  4600. (WebCore::FrameView::shouldUpdateWhenOffscreen): Added. Returns the
  4601. value from settings.
  4602. * page/FrameView.h:
  4603. * page/Settings.cpp:
  4604. (WebCore::Settings::setUpdatesWhenOffscreen): Added.
  4605. * page/Settings.h:
  4606. (WebCore::Settings::updatesWhenOffscreen): Added.
  4607. * platform/ScrollView.h:
  4608. * platform/mac/ScrollViewMac.mm:
  4609. (WebCore::ScrollView::updateContents): Added code to return early and
  4610. not call -setNeedsDisplayInRect: if the view is not in a visible window
  4611. and the setting is not to update when offscreen.
  4612. 2008-07-08 Simon Hausmann <hausmann@webkit.org>
  4613. Fix the build with enabled SVG filters.
  4614. * svg/SVGFESpecularLightingElement.cpp: The last argument to
  4615. ANIMATED_PROPERTY_DEFINITIONS has to be full class name, including
  4616. the attr suffix.
  4617. 2008-07-07 Sam Weinig <sam@webkit.org>
  4618. Reviewed by Anders Carlsson.
  4619. Remove extraneous null check.
  4620. * dom/Node.cpp:
  4621. (WebCore::Node::querySelector):
  4622. (WebCore::Node::querySelectorAll):
  4623. 2008-07-07 Sam Weinig <sam@webkit.org>
  4624. Reviewed by Anders Carlsson.
  4625. Fix for https://bugs.webkit.org/show_bug.cgi?id=19928
  4626. Use of CSS3 Namespaces syntax in Selectors API should throw an exception
  4627. - Throw an NAMESPACE_ERR exception if a non-null or "*" namespace is
  4628. used in a selector passed to querySelector or querySelectorAll.
  4629. Test: fast/dom/SelectorAPI/not-supported-namespace-in-selector.html
  4630. * dom/Node.cpp:
  4631. (WebCore::selectorNeedsNamespaceResolution):
  4632. (WebCore::Node::querySelector):
  4633. (WebCore::Node::querySelectorAll):
  4634. 2008-07-07 Simon Fraser <simon.fraser@apple.com>
  4635. Reviewed by Darin.
  4636. Fix for https://bugs.webkit.org/show_bug.cgi?id=19933
  4637. nodeIterator with filter fails on documents not in a frame
  4638. Tests: traversal/node-iterator-009.html
  4639. traversal/tree-walker-006.html
  4640. * bindings/js/JSNodeFilterCondition.cpp:
  4641. * bindings/js/JSNodeFilterCondition.h:
  4642. * bindings/js/JSNodeFilterCustom.cpp:
  4643. * bindings/js/JSNodeIteratorCustom.cpp:
  4644. * bindings/js/JSTreeWalkerCustom.cpp:
  4645. * bindings/objc/DOM.mm:
  4646. * dom/NodeFilter.cpp:
  4647. * dom/NodeFilter.h:
  4648. * dom/NodeFilterCondition.cpp:
  4649. * dom/NodeFilterCondition.h:
  4650. * dom/NodeIterator.cpp:
  4651. * dom/NodeIterator.h:
  4652. * dom/Traversal.cpp:
  4653. * dom/Traversal.h:
  4654. * dom/TreeWalker.cpp:
  4655. * dom/TreeWalker.h:
  4656. 2008-07-07 Adele Peterson <adele@apple.com>
  4657. Reviewed by Dan Bernstein.
  4658. Fix for https://bugs.webkit.org/show_bug.cgi?id=19924
  4659. <rdar://problem/6057160> Disabled file input element updates its displayed file info when a file is dropped from the Finder.
  4660. * page/DragController.cpp: (WebCore::DragController::concludeDrag):
  4661. Check that the file control is enabled before taking dropped files.
  4662. 2008-07-07 Adele Peterson <adele@apple.com>
  4663. Reviewed by Beth.
  4664. Fix for <rdar://problem/5860507> <AUDIO> playback noticeably more quiet than QuickTime
  4665. Change default volume setting to 1.0.
  4666. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement):
  4667. * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::MediaPlayer):
  4668. 2008-07-07 Darin Adler <darin@apple.com>
  4669. Reviewed by Mark Rowe.
  4670. - fix <rdar://problem/6020441> REGRESSION: Layers on NWA.com render ugly
  4671. The old version of the OpenCube QuickMenu library used on this site still has code
  4672. that detects Netscape 4 by checking appVersion to see if it has the substring "4."
  4673. in it. We decided to special-case the filename of the script and tweak the appVersion
  4674. for files with that name.
  4675. * bindings/js/ScriptController.cpp:
  4676. (WebCore::ScriptController::ScriptController): Replace m_processingInlineCode with
  4677. m_sourceURL. Use false instead of 0 to initialize a boolean.
  4678. (WebCore::ScriptController::evaluate): Call argument sourceURL, not filename.
  4679. Store current sourceURL in m_sourceURL. This fixes a mistake in the code that
  4680. maintained the value of m_processingInlineCode, since the old code set it to
  4681. false rather than restoring it. Renamed a local variable named sourceURL to
  4682. exceptionSourceURL for clarity.
  4683. (WebCore::ScriptController::processingUserGesture): Code that formerly used
  4684. m_processingInlineCode to detect that it was evaluating code with no URL now
  4685. uses m_sourceURL to do the same check.
  4686. * bindings/js/ScriptController.h: Renamed filename argument to sourceURL; it has always
  4687. been a URL, not a file path. Added a public sourceURL function and m_sourceURL and
  4688. removed m_processingInlineCode.
  4689. * page/Navigator.cpp:
  4690. (WebCore::shouldHideFourDot): Added. Returns true if the currently running script has
  4691. a source URL ending in "/dqm_script.js" and if the settings say we should do
  4692. site-specific quirks (really JavaScript-library-specific in this case).
  4693. (WebCore::Navigator::appVersion): Replace "4." with "4_" if shouldHideFourDot is true.
  4694. 2008-07-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
  4695. Reviewed by Geoff.
  4696. Bug 19907: REGRESSION(r34824-r34941): Reproducible crash trying to log in to MediaTemple.net Account Center
  4697. <https://bugs.webkit.org/show_bug.cgi?id=19907>
  4698. Clear exceptions set on ExecStates before returning from NPAPI
  4699. callbacks, in order to avoid causing problems for the next script that
  4700. executes.
  4701. While fixing this bug, the question was raised of whether we are
  4702. correctly propagating exception information back to the caller:
  4703. Bug 19936: Correctly propagate exception information from NPAPI callbacks
  4704. <https://bugs.webkit.org/show_bug.cgi?id=19936>
  4705. * bridge/NP_jsobject.cpp:
  4706. (_NPN_InvokeDefault):
  4707. (_NPN_Invoke):
  4708. (_NPN_Evaluate):
  4709. (_NPN_GetProperty):
  4710. (_NPN_SetProperty):
  4711. (_NPN_RemoveProperty):
  4712. (_NPN_HasProperty):
  4713. (_NPN_HasMethod):
  4714. (_NPN_Enumerate):
  4715. 2008-07-07 Dan Bernstein <mitz@apple.com>
  4716. Reviewed by Darin Adler.
  4717. - fix <rdar://problem/6057650> REGRESSION (r35025): Crash beneath FontCache::invalidate() when activating Safari with no windows open
  4718. * css/CSSFontFaceSource.cpp:
  4719. (WebCore::CSSFontFaceSource::getFontData): Added a null check because
  4720. docLoader() can return 0 now.
  4721. * css/CSSFontSelector.cpp:
  4722. (WebCore::CSSFontSelector::docLoader): Added a null check of m_document.
  4723. (WebCore::CSSFontSelector::addFontFaceRule): Ditto.
  4724. (WebCore::CSSFontSelector::fontLoaded): Ditto.
  4725. (WebCore::CSSFontSelector::fontCacheInvalidated): Ditto.
  4726. (WebCore::fontDataForGenericFamily): Added a null check of document.
  4727. * css/CSSFontSelector.h:
  4728. (WebCore::CSSFontSelector::clearDocument): Added.
  4729. * css/CSSStyleSelector.cpp:
  4730. (WebCore::CSSStyleSelector::~CSSStyleSelector): Added a call to
  4731. CSSFontSelector::clearDocument(). When the style selector is destroyed,
  4732. there is no guarantee that the document will continue to exist.
  4733. 2008-07-07 Julien Chaffraix <jchaffraix@webkit.org>
  4734. Not reviewed.
  4735. No svg build fix.
  4736. * DerivedSources.make: Add JSSVGElementWrapperFactory.cpp target.
  4737. * svg/animation/SMILTimeContainer.cpp: Add ENABLE(SVG) guard.
  4738. 2008-07-07 Michelangelo De Simone <m.des@mac.com>
  4739. Reviewed by Adele.
  4740. Support for CSS3 :read-only and :read-write pseudoclasses for readonly text controls.
  4741. URL: http://www.w3.org/TR/web-forms-2/#relation
  4742. Tests: fast/css/readonly-pseudoclass-opera-001.html
  4743. fast/css/readonly-pseudoclass-opera-002.html
  4744. fast/css/readonly-pseudoclass-opera-003.html
  4745. fast/css/readonly-pseudoclass-opera-004.html
  4746. fast/css/readonly-pseudoclass-opera-005.html
  4747. * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
  4748. Added "read-only" and "read-write" values for PseudoType extraction.
  4749. * css/CSSSelector.h: (WebCore::CSSSelector::):
  4750. Added PseudoReadOnly and PseudoReadWrite entries in PseudoType enum.
  4751. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
  4752. Checks to determine whether to match :read-only and :read-write pseudoclasses on
  4753. text controls.
  4754. 2008-07-07 Sam Weinig <sam@webkit.org>
  4755. Reviewed by Geoffrey Garen.
  4756. Fix for https://bugs.webkit.org/show_bug.cgi?id=19928
  4757. querySelectorAll should throw an exception if a NSResolver is passed in.
  4758. - Throw an NOT_SUPPORTED_ERR if a non-null or undefined parameter is passed
  4759. as the second argument to querySelector or querySelectorAll.
  4760. Test: fast/dom/SelectorAPI/not-supported-NSResolver.html
  4761. * bindings/js/JSDocumentCustom.cpp:
  4762. (WebCore::JSDocument::querySelector):
  4763. (WebCore::JSDocument::querySelectorAll):
  4764. * bindings/js/JSElementCustom.cpp:
  4765. (WebCore::JSElement::querySelector):
  4766. (WebCore::JSElement::querySelectorAll):
  4767. * dom/Document.idl:
  4768. * dom/Element.idl:
  4769. 2008-07-07 Brady Eidson <beidson@apple.com>
  4770. Reviewed by Mitz and Geoff
  4771. Test: fast/loader/empty-ref-versus-no-ref.html
  4772. Fix for https://bugs.webkit.org/show_bug.cgi?id=18951 and <rdar://problem/5921760>
  4773. "all DOM operations stop working when location.hash set to '#'"
  4774. The underlying problem is that KURL didn't really know the difference between "empty ref"
  4775. and "no ref at all" when changing the ref. So changing to the empty ref in JS ended up
  4776. affecting removal of the ref, which ended up causing an infinite load load, also killing
  4777. javascript.
  4778. * platform/KURL.cpp:
  4779. (WebCore::KURL::setRef): Changed "isEmpty()" to "isNull()", since NULL has the special
  4780. meaning of "no ref at all" while empty means "empty ref"
  4781. 2008-07-07 Kevin McCullough <kmccullough@apple.com>
  4782. Reviewed by Darin.
  4783. Because profiler.h no longer #includes profile.h we need to explicitly
  4784. include it in console.cpp.
  4785. * page/Console.cpp:
  4786. 2008-07-07 Nikolas Zimmermann <zimmermann@kde.org>
  4787. Not reviewed. Build fix.
  4788. Fix --svg-filters build (affects Qt build, mac/win don't have it on by default)
  4789. * svg/SVGFEColorMatrixElement.cpp:
  4790. * svg/SVGFEDiffuseLightingElement.cpp:
  4791. * svg/SVGFEImageElement.cpp:
  4792. * svg/SVGFELightElement.cpp:
  4793. * svg/SVGFESpecularLightingElement.cpp:
  4794. 2008-07-07 Nikolas Zimmermann <zimmermann@kde.org>
  4795. Reviewed by Antti.
  4796. Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
  4797. Revised version of the patch, not using pointer-to-member function callbacks anymore - after discussion with Adam Roben.
  4798. Remove unneccessary parameters of all macros.
  4799. SVG Errata states: "All SVG DOM objects that directly correspond to an
  4800. attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
  4801. means that any changes made to the attribute are immediately reflected in the
  4802. corresponding SVG DOM object." (see linked URL on bug report)
  4803. Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
  4804. element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).
  4805. Add a new synchronization layer to handle SVG DOM -> XML changes.
  4806. Added test: svg/custom/svg-xml-dom-sync.html
  4807. Fixed test: svg/hixie/dynamic/005-broken.xml (renamed to 005.xml)
  4808. * dom/Element.cpp:
  4809. (WebCore::Element::Element): Initialize the two new bits.
  4810. (WebCore::Element::attributes): Add hooks to call into SVG attribute synchronization code, wrapped in ENABLE(SVG) blocks.
  4811. (WebCore::Element::getAttribute): Ditto.
  4812. (WebCore::Element::hasAttributes): Ditto.
  4813. * dom/Element.h: Add two bits: m_areSVGAttributesValid/m_synchronizingSVGAttributes, to track synchronization status.
  4814. (WebCore::Element::updateAnimatedSVGAttribute): New virtual function, handling the synronication, similar to updateStyleAttribute.
  4815. * dom/NamedAttrMap.h: Make addAttribute/removeAttribute protected, from use within the ANIMATED_* macros.
  4816. * svg/SVGAElement.cpp:
  4817. * svg/SVGAElement.h:
  4818. * svg/SVGAnimatedTemplate.h:
  4819. (WebCore::lookupOrCreateWrapper): Take new AnimatedPropertySynchronizer callback as parameter, and associate it with the wrappers.
  4820. * svg/SVGCircleElement.cpp:
  4821. (WebCore::SVGCircleElement::SVGCircleElement):
  4822. * svg/SVGCircleElement.h:
  4823. * svg/SVGClipPathElement.cpp:
  4824. * svg/SVGClipPathElement.h:
  4825. * svg/SVGComponentTransferFunctionElement.cpp:
  4826. * svg/SVGComponentTransferFunctionElement.h:
  4827. * svg/SVGCursorElement.cpp:
  4828. (WebCore::SVGCursorElement::SVGCursorElement):
  4829. * svg/SVGCursorElement.h:
  4830. * svg/SVGElement.cpp:
  4831. (WebCore::SVGElement::updateAnimatedSVGAttribute): Override virtual function from Element, to handle SVG<->XML DOM synchronization.
  4832. (WebCore::SVGElement::setSynchronizedSVGAttributes):
  4833. * svg/SVGElement.h:
  4834. (WebCore::SVGElement::invokeSVGPropertySynchronizer):
  4835. (WebCore::SVGElement::invokeAllSVGPropertySynchronizers):
  4836. (WebCore::SVGElement::addSVGPropertySynchronizer):
  4837. * svg/SVGEllipseElement.cpp:
  4838. * svg/SVGEllipseElement.h:
  4839. * svg/SVGExternalResourcesRequired.cpp:
  4840. * svg/SVGExternalResourcesRequired.h:
  4841. * svg/SVGFEBlendElement.cpp:
  4842. * svg/SVGFEBlendElement.h:
  4843. * svg/SVGFEColorMatrixElement.cpp:
  4844. * svg/SVGFEColorMatrixElement.h:
  4845. * svg/SVGFEComponentTransferElement.cpp:
  4846. * svg/SVGFEComponentTransferElement.h:
  4847. * svg/SVGFECompositeElement.cpp:
  4848. * svg/SVGFECompositeElement.h:
  4849. * svg/SVGFEDiffuseLightingElement.cpp:
  4850. * svg/SVGFEDiffuseLightingElement.h:
  4851. * svg/SVGFEDisplacementMapElement.cpp:
  4852. * svg/SVGFEDisplacementMapElement.h:
  4853. * svg/SVGFEGaussianBlurElement.cpp:
  4854. * svg/SVGFEGaussianBlurElement.h:
  4855. * svg/SVGFEImageElement.cpp:
  4856. * svg/SVGFEImageElement.h:
  4857. * svg/SVGFELightElement.cpp:
  4858. * svg/SVGFELightElement.h:
  4859. * svg/SVGFEMergeNodeElement.cpp:
  4860. * svg/SVGFEMergeNodeElement.h:
  4861. * svg/SVGFEOffsetElement.cpp:
  4862. * svg/SVGFEOffsetElement.h:
  4863. * svg/SVGFESpecularLightingElement.cpp:
  4864. * svg/SVGFESpecularLightingElement.h:
  4865. * svg/SVGFETileElement.cpp:
  4866. * svg/SVGFETileElement.h:
  4867. * svg/SVGFETurbulenceElement.cpp:
  4868. * svg/SVGFETurbulenceElement.h:
  4869. * svg/SVGFilterElement.cpp:
  4870. * svg/SVGFilterElement.h:
  4871. * svg/SVGFilterPrimitiveStandardAttributes.cpp:
  4872. * svg/SVGFilterPrimitiveStandardAttributes.h:
  4873. * svg/SVGFitToViewBox.cpp:
  4874. * svg/SVGFitToViewBox.h:
  4875. * svg/SVGForeignObjectElement.cpp:
  4876. * svg/SVGForeignObjectElement.h:
  4877. * svg/SVGGradientElement.cpp:
  4878. * svg/SVGGradientElement.h:
  4879. * svg/SVGImageElement.cpp:
  4880. * svg/SVGImageElement.h:
  4881. * svg/SVGLineElement.cpp:
  4882. * svg/SVGLineElement.h:
  4883. * svg/SVGLinearGradientElement.cpp:
  4884. * svg/SVGLinearGradientElement.h:
  4885. * svg/SVGMarkerElement.cpp:
  4886. * svg/SVGMarkerElement.h:
  4887. * svg/SVGMaskElement.cpp:
  4888. * svg/SVGMaskElement.h:
  4889. * svg/SVGPathElement.cpp:
  4890. * svg/SVGPathElement.h:
  4891. * svg/SVGPatternElement.cpp:
  4892. * svg/SVGPatternElement.h:
  4893. * svg/SVGRadialGradientElement.cpp:
  4894. * svg/SVGRadialGradientElement.h:
  4895. * svg/SVGRectElement.cpp:
  4896. * svg/SVGRectElement.h:
  4897. * svg/SVGSVGElement.cpp:
  4898. * svg/SVGSVGElement.h:
  4899. * svg/SVGScriptElement.h:
  4900. * svg/SVGStopElement.cpp:
  4901. * svg/SVGStopElement.h:
  4902. * svg/SVGStyledElement.cpp:
  4903. * svg/SVGStyledElement.h:
  4904. * svg/SVGStyledTransformableElement.cpp:
  4905. * svg/SVGStyledTransformableElement.h:
  4906. * svg/SVGSymbolElement.h:
  4907. * svg/SVGTextContentElement.cpp:
  4908. * svg/SVGTextContentElement.h:
  4909. * svg/SVGTextElement.cpp:
  4910. * svg/SVGTextElement.h:
  4911. * svg/SVGTextPathElement.cpp:
  4912. * svg/SVGTextPathElement.h:
  4913. * svg/SVGTextPositioningElement.cpp:
  4914. * svg/SVGTextPositioningElement.h:
  4915. * svg/SVGURIReference.cpp:
  4916. * svg/SVGURIReference.h:
  4917. * svg/SVGUseElement.cpp:
  4918. * svg/SVGUseElement.h:
  4919. * svg/SVGViewElement.h:
  4920. * svg/SynchronizableTypeWrapper.h: Added.
  4921. 2008-07-07 Nikolas Zimmermann <zimmermann@kde.org>
  4922. Reviewed by Oliver.
  4923. Working on: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
  4924. Splitting up large patch in small chunk: Land valueAsString() implementation on it's own.
  4925. Added valueAsString() conversion for all SVG primitive types, needed by the SVG<->XML synchronization layer.
  4926. Unify "null value for a SVG animated type" concept, which was implemented in SVGDocumentExtensions before,
  4927. in SVGAnimatedTemplate.
  4928. * svg/SVGAnimatedTemplate.h:
  4929. (WebCore::SVGAnimatedTemplate::associatedAttributeName):
  4930. (WebCore::lookupOrCreateWrapper):
  4931. (WebCore::SVGAnimatedTypeValue::null):
  4932. (WebCore::SVGAnimatedTypeValue::toString):
  4933. (WebCore::):
  4934. * svg/SVGDocumentExtensions.h:
  4935. (WebCore::SVGDocumentExtensions::baseValue):
  4936. * svg/SVGLengthList.cpp:
  4937. (WebCore::SVGLengthList::valueAsString):
  4938. * svg/SVGLengthList.h:
  4939. * svg/SVGNumberList.cpp:
  4940. (WebCore::SVGNumberList::valueAsString):
  4941. * svg/SVGNumberList.h:
  4942. * svg/SVGPreserveAspectRatio.cpp:
  4943. (WebCore::SVGPreserveAspectRatio::valueAsString):
  4944. * svg/SVGPreserveAspectRatio.h:
  4945. * svg/SVGTransformList.cpp:
  4946. (SVGTransformList::valueAsString):
  4947. * svg/SVGTransformList.h:
  4948. 2008-07-06 Sam Weinig <sam@webkit.org>
  4949. Reviewed by Dan Bernstein.
  4950. Rename "Access-Contol-Origin" to "Origin" to match the latest
  4951. Access Control for Cross-Site Request draft. (Editor's Draft 25 May 2008)
  4952. * xml/XMLHttpRequest.cpp:
  4953. (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
  4954. (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
  4955. (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
  4956. 2008-07-06 Dan Bernstein <mitz@apple.com>
  4957. - try to fix the Windows build
  4958. * WebCore.vcproj/WebCore.vcproj:
  4959. 2008-07-06 Dan Bernstein <mitz@apple.com>
  4960. - add missing brace
  4961. * platform/graphics/qt/FontCacheQt.cpp:
  4962. 2008-07-06 Dan Bernstein <mitz@apple.com>
  4963. - try to fix the Qt build
  4964. * platform/graphics/qt/FontCacheQt.cpp:
  4965. (WebCore::FontCache::addClient):
  4966. (WebCore::FontCache::removeClient):
  4967. 2008-07-06 Sam Weinig <sam@webkit.org>
  4968. Reviewed by Cameron Zwarich.
  4969. Add #include for kjs/protect.h.
  4970. * xml/XMLHttpRequest.cpp:
  4971. (WebCore::XMLHttpRequest::loadRequestAsynchronously):
  4972. 2008-07-06 David Kilzer <ddkilzer@apple.com>
  4973. Save a few more bits in RenderStyle
  4974. Reviewed by Darin.
  4975. No test cases added since there is no change in behavior.
  4976. This changes WebCore::StyleMarqueeData from using 6 bits to 5 bits,
  4977. WebCore::RenderStyle::inherited_flags from using 36 bits to 35 bits,
  4978. and WebCore::RenderStyle::noninherited_flags from using 49 bits to
  4979. 47 bits.
  4980. * rendering/style/RenderStyle.h:
  4981. (WebCore::StyleMarqueeData::behavior): Reduce from 3 bits to 2 bits
  4982. since EMarqueeBehavior has 4 items.
  4983. (WebCore::RenderStyle::inherited_flags._text_align): Reduce from
  4984. 4 bits to 3 bits since ETextAlign has 8 items.
  4985. (WebCore::RenderStyle::noninherited_flags._overflowX): Reduce from
  4986. 4 bits to 3 bits since EOverflow has 6 items.
  4987. (WebCore::RenderStyle::noninherited_flags._overflowY): Ditto.
  4988. 2008-07-06 Dan Bernstein <mitz@apple.com>
  4989. Reviewed by Darin Adler.
  4990. - fix <rdar://problem/5735163> WebCore caching makes text look wrong after font changes; need to respond appropriately instead
  4991. * css/CSSFontSelector.cpp:
  4992. (WebCore::CSSFontSelector::CSSFontSelector): Added a call to
  4993. FontCache::addClient().
  4994. (WebCore::CSSFontSelector::~CSSFontSelector): Added a call to
  4995. FontCache::removeClient().
  4996. (WebCore::CSSFontSelector::fontCacheInvalidated): Added. Called by the
  4997. font cache when it is invalidated, and ensures that the document is
  4998. updated.
  4999. * css/CSSFontSelector.h:
  5000. * platform/graphics/Font.cpp:
  5001. (WebCore::Font::operator==): Added code to compare the font fallback
  5002. lists' font cache generations.
  5003. * platform/graphics/FontCache.cpp:
  5004. (WebCore::FontCache::addClient): Added.
  5005. (WebCore::FontCache::removeClient): Added.
  5006. (WebCore::FontCache::generation): Added.
  5007. (WebCore::FontCache::invalidate): Added. Deletes the platform data
  5008. cache, increments the generation counter, and notifies all clients.
  5009. * platform/graphics/FontCache.h:
  5010. * platform/graphics/FontFallbackList.cpp:
  5011. (WebCore::FontFallbackList::FontFallbackList): Added initialization of
  5012. m_generation.
  5013. (WebCore::FontFallbackList::invalidate): Added code to reset
  5014. m_generation.
  5015. (WebCore::FontFallbackList::fontDataAt): Added an assertion.
  5016. (WebCore::FontFallbackList::fontDataForCharacters): Ditto.
  5017. (WebCore::FontFallbackList::setPlatformFont): Ditto.
  5018. * platform/graphics/FontFallbackList.h:
  5019. (WebCore::FontFallbackList::generation): Added. Returns the font cache
  5020. generation used to populate the list.
  5021. * platform/graphics/FontSelector.h:
  5022. (WebCore::FontSelector::fontCacheInvalidated): Added.
  5023. * platform/graphics/mac/FontCacheMac.mm:
  5024. (WebCore::fontCacheATSNotificationCallback): Added. Calls
  5025. FontCache::invalidate().
  5026. (WebCore::FontCache::platformInit): Added code to register for ATS
  5027. notifications.
  5028. * svg/SVGFontFaceElement.cpp: Removed unneeded #inlcudes.
  5029. 2008-07-05 Sam Weinig <sam@webkit.org>
  5030. Rubber-stamped by Cameron Zwarich.
  5031. Rename list.h/cpp to ArgList.h/cpp.
  5032. * ForwardingHeaders/kjs/ArgList.h: Copied from WebCore/ForwardingHeaders/kjs/list.h.
  5033. * ForwardingHeaders/kjs/list.h: Removed.
  5034. * WebCore.vcproj/WebCore.vcproj:
  5035. * bridge/qt/qt_instance.cpp:
  5036. * page/Console.cpp:
  5037. 2008-07-05 Sam Weinig <sam@webkit.org>
  5038. Rubber-stamped by Cameron Zwarich.
  5039. Split Arguments, IndexToNameMap, PrototypeFunction, GlobalEvalFunction and
  5040. the functions on the global object out of JSFunction.h/cpp.
  5041. * ForwardingHeaders/kjs/PrototypeFunction.h: Added.
  5042. * bindings/js/JSDOMBinding.cpp:
  5043. 2008-07-05 Dan Bernstein <mitz@apple.com>
  5044. Rubber-stamped by Sam Weinig.
  5045. - rename BidiIterator and BidiState
  5046. Renamed BidiIterator to InlineIterator and BidiState
  5047. to InlineBidiResolver. Renamed variables of type InlineBidiResolver{*,&}
  5048. to "resolver".
  5049. * rendering/RenderBlock.h:
  5050. * rendering/RootInlineBox.h:
  5051. * rendering/bidi.cpp:
  5052. (WebCore::InlineIterator::InlineIterator):
  5053. (WebCore::operator==):
  5054. (WebCore::operator!=):
  5055. (WebCore::bidiNext):
  5056. (WebCore::bidiFirst):
  5057. (WebCore::InlineIterator::increment):
  5058. (WebCore::InlineBidiResolver::increment):
  5059. (WebCore::InlineIterator::atEnd):
  5060. (WebCore::InlineIterator::current):
  5061. (WebCore::InlineIterator::direction):
  5062. (WebCore::chopMidpointsAt):
  5063. (WebCore::checkMidpoints):
  5064. (WebCore::addMidpoint):
  5065. (WebCore::appendRunsForObject):
  5066. (WebCore::InlineBidiResolver::appendRun):
  5067. (WebCore::RenderBlock::bidiReorderLine):
  5068. (WebCore::buildCompactRuns):
  5069. (WebCore::RenderBlock::layoutInlineChildren):
  5070. (WebCore::RenderBlock::determineStartPosition):
  5071. (WebCore::RenderBlock::determineEndPosition):
  5072. (WebCore::RenderBlock::matchedEndLine):
  5073. (WebCore::skipNonBreakingSpace):
  5074. (WebCore::requiresLineBox):
  5075. (WebCore::RenderBlock::generatesLineBoxesForInlineChild):
  5076. (WebCore::RenderBlock::skipWhitespace):
  5077. (WebCore::shouldSkipWhitespaceAfterStartObject):
  5078. (WebCore::RenderBlock::findNextLineBreak):
  5079. 2008-07-05 Jan Michael Alonzo <jmalonzo@webkit.org>
  5080. Rubber-stamped by Oliver Hunt
  5081. Coding style fix
  5082. * html/CanvasRenderingContext2D.cpp: Indentation fix
  5083. 2008-07-04 Oliver Hunt <oliver@apple.com>
  5084. Fix windows build
  5085. * WebCore.vcproj/WebCore.vcproj:
  5086. 2008-07-04 Sam Weinig <sam@webkit.org>
  5087. Fix Qt build.
  5088. * bridge/qt/qt_instance.cpp:
  5089. 2008-07-04 Sam Weinig <sam@webkit.org>
  5090. Rubber-stamped by Dan Bernstein.
  5091. Split Error and GetterSetter out of JSObject.h.
  5092. * ForwardingHeaders/kjs/Error.h: Added.
  5093. * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
  5094. * bindings/js/JSClipboardCustom.cpp:
  5095. * bindings/js/JSDOMWindowBase.cpp:
  5096. * bindings/js/JSEventTargetBase.cpp:
  5097. * bindings/js/JSHTMLDocumentCustom.cpp:
  5098. * bindings/js/JSXMLHttpRequestCustom.cpp:
  5099. * bindings/scripts/CodeGeneratorJS.pm:
  5100. * bridge/NP_jsobject.cpp:
  5101. * bridge/jni/jni_instance.cpp:
  5102. * bridge/jni/jni_runtime.cpp:
  5103. * bridge/objc/objc_instance.mm:
  5104. * bridge/objc/objc_runtime.mm:
  5105. * bridge/objc/objc_utility.h:
  5106. * bridge/runtime_array.cpp:
  5107. * bridge/runtime_method.cpp:
  5108. * bridge/runtime_object.cpp:
  5109. 2008-07-04 David D. Kilzer <ddkilzer@webkit.org>
  5110. Bug 15290: REGRESSION (r14184-r14216): Duplicate DOCTYPE definitions when saving files as webarchives
  5111. <https://bugs.webkit.org/show_bug.cgi?id=15290>
  5112. <rdar://problem/5509173>
  5113. Reviewed by Dan Bernstein.
  5114. Tests: webarchive/archive-empty-frame-dom.html
  5115. webarchive/doctype.html
  5116. * editing/markup.cpp:
  5117. (WebCore::createFullMarkup): If the Node is a Document or a
  5118. DocumentType, don't prepend the <!DOCTYPE> tag since that will
  5119. cause it to be duplicated.
  5120. * loader/archive/cf/LegacyWebArchive.cpp:
  5121. (WebCore::LegacyWebArchive::create): Ditto.
  5122. 2008-07-04 Jan Michael Alonzo <jmalonzo@webkit.org>
  5123. Gtk build fix
  5124. * GNUmakefile.am:
  5125. 2008-07-04 Cameron Zwarich <cwzwarich@uwaterloo.ca>
  5126. Reviewed by Eric Seidel.
  5127. Bring our implementation of the Netscape plugin API closer to current
  5128. code style guidelines.
  5129. * bridge/NP_jsobject.cpp:
  5130. (getListFromVariantArgs):
  5131. (jsAllocate):
  5132. (jsDeallocate):
  5133. (_NPN_CreateScriptObject):
  5134. (_NPN_CreateNoScriptObject):
  5135. (_NPN_InvokeDefault):
  5136. (_NPN_Invoke):
  5137. (_NPN_Evaluate):
  5138. (_NPN_GetProperty):
  5139. (_NPN_SetProperty):
  5140. (_NPN_RemoveProperty):
  5141. (_NPN_HasProperty):
  5142. (_NPN_HasMethod):
  5143. (_NPN_Enumerate):
  5144. * bridge/npruntime_impl.h:
  5145. 2008-07-04 Simon Hausmann <hausmann@webkit.org>
  5146. Fix the Qt/Windows build.
  5147. * WebCore.pro: Moved PluginMainThreadScheduler.cpp to the main
  5148. sources, so that it is always compiled.
  5149. * platform/qt/CursorQt.cpp: #undef CopyCursor, as it's defined by some
  5150. Windows header.
  5151. * platform/qt/KeyboardCodes.h: Don't re-define some of the keycodes
  5152. that are defined by Windows already.
  5153. * platform/qt/TemporaryLinkStubs.cpp: Removed the PluginDatabase stubs
  5154. that are now platform-independent in plugin/PluginDatabase.cpp.
  5155. 2008-07-04 Simon Hausmann <hausmann@webkit.org>
  5156. Fix the Mac build for real, don't define listDirectory() twice.
  5157. * platform/mac/FileSystemMac.mm:
  5158. 2008-07-04 Simon Hausmann <hausmann@webkit.org>
  5159. Prospective Mac build fix.
  5160. * platform/mac/FileSystemMac.mm: Include NotImplemented.h.
  5161. * platform/posix/FileSystemPOSIX.cpp: Ditto.
  5162. 2008-07-04 Tor Arne Vestbø <tavestbo@trolltech.com>
  5163. Reviewed by Simon.
  5164. Move duplicated code from each PluginDatabaseXX-implementation
  5165. to PluginDabase.cpp -- ifdefed based on the XP_PLATFORM we are
  5166. compiling plugins for.
  5167. This make the code cleaner and we can share common patterns.
  5168. The only implementation left which is specific is the Win
  5169. implementation (also used by QtWebKit/Win), but we might
  5170. want to move that too.
  5171. * GNUmakefile.am: Removed PluginDatabaseGtk.cpp from the build.
  5172. * WebCore.pro: Removed PluginDatabaseQt.cpp from the build.
  5173. * plugins/PluginDatabase.cpp:
  5174. (WebCore::PluginDatabase::defaultPluginDirectories):
  5175. (WebCore::PluginDatabase::isPreferredPluginDirectory):
  5176. (WebCore::PluginDatabase::getPluginPathsInDirectories):
  5177. * plugins/gtk/PluginDatabaseGtk.cpp: Removed.
  5178. * plugins/qt/PluginDatabaseQt.cpp: Removed.
  5179. * plugins/wx/PluginDatabaseWx.cpp: Removed.
  5180. * webcore-wx.bkl: Removed PluginDatabaseWx.cpp from the build.
  5181. 2008-07-04 Simon Hausmann <hausmann@webkit.org>
  5182. Fix the Wx build.
  5183. * WebCoreSources.bkl: Add plugins/PluginMainThreadScheduler.cpp to the
  5184. build.
  5185. * page/FocusController.cpp:
  5186. (WebCore::FocusController::setActive): Extend MAC #ifdef to WX as
  5187. layoutIfNeededRecursive does not exist for the Wx port.
  5188. 2008-07-04 Simon Hausmann <hausmann@webkit.org>
  5189. Fix the Gtk build, adapt to renamed files.
  5190. * GNUmakefile.am:
  5191. 2008-07-04 Simon Hausmann <hausmann@webkit.org>
  5192. Fix the Qt build, adapt to renamed files.
  5193. * WebCore.pro:
  5194. 2008-07-03 Oliver Hunt <oliver@apple.com>
  5195. Reviewed by Eric Seidel.
  5196. Move filter implementations to platform directory.
  5197. * WebCore.vcproj/WebCore.vcproj
  5198. * WebCore.xcodeproj/project.pbxproj:
  5199. * svg/SVGComponentTransferFunctionElement.h:
  5200. * svg/SVGFEBlendElement.h:
  5201. * svg/SVGFEColorMatrixElement.h:
  5202. * svg/SVGFEComponentTransferElement.h:
  5203. * svg/SVGFECompositeElement.h:
  5204. * platform/graphics/filters/FEBlend.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEBlend.cpp.
  5205. * platform/graphics/filters/FEBlend.h: Renamed from WebCore/svg/graphics/filters/SVGFEBlend.h.
  5206. * platform/graphics/filters/FEColorMatrix.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEColorMatrix.cpp.
  5207. * platform/graphics/filters/FEColorMatrix.h: Renamed from WebCore/svg/graphics/filters/SVGFEColorMatrix.h.
  5208. * platform/graphics/filters/FEComponentTransfer.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEComponentTransfer.cpp.
  5209. * platform/graphics/filters/FEComponentTransfer.h: Renamed from WebCore/svg/graphics/filters/SVGFEComponentTransfer.h.
  5210. * platform/graphics/filters/FEComposite.cpp: Renamed from WebCore/svg/graphics/filters/SVGFEComposite.cpp.
  5211. * platform/graphics/filters/FEComposite.h: Renamed from WebCore/svg/graphics/filters/SVGFEComposite.h.
  5212. 2008-07-03 Alex Mathews <possessedpenguinbob@gmail.com>
  5213. Reviewed by Oliver Hunt.
  5214. Bug 19835: WebKit needs cross-platform filter system
  5215. <https://bugs.webkit.org/show_bug.cgi?id=19835>
  5216. More class refactoring in preparation for cross-platform filter
  5217. implementation.
  5218. * WebCore.xcodeproj/project.pbxproj:
  5219. * svg/FilterEffect.h:
  5220. * svg/SVGComponentTransferFunctionElement.cpp:
  5221. (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
  5222. (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
  5223. (WebCore::SVGComponentTransferFunctionElement::transferFunction):
  5224. * svg/SVGComponentTransferFunctionElement.h:
  5225. * svg/SVGFEColorMatrixElement.cpp:
  5226. (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
  5227. (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
  5228. (WebCore::SVGFEColorMatrixElement::filterEffect):
  5229. (WebCore::SVGFEColorMatrixElement::build):
  5230. * svg/SVGFEColorMatrixElement.h:
  5231. * svg/SVGFEComponentTransferElement.cpp:
  5232. (WebCore::SVGFEComponentTransferElement::filterEffect):
  5233. (WebCore::SVGFEComponentTransferElement::build):
  5234. * svg/SVGFEComponentTransferElement.h:
  5235. * svg/SVGFECompositeElement.cpp:
  5236. (WebCore::SVGFECompositeElement::SVGFECompositeElement):
  5237. (WebCore::SVGFECompositeElement::parseMappedAttribute):
  5238. (WebCore::SVGFECompositeElement::filterEffect):
  5239. (WebCore::SVGFECompositeElement::build):
  5240. * svg/SVGFECompositeElement.h:
  5241. * svg/graphics/filters/SVGFEBlend.cpp:
  5242. * svg/graphics/filters/SVGFEBlend.h:
  5243. * svg/graphics/filters/SVGFEColorMatrix.cpp:
  5244. (WebCore::FEColorMatrix::FEColorMatrix):
  5245. (WebCore::FEColorMatrix::create):
  5246. (WebCore::FEColorMatrix::type):
  5247. (WebCore::FEColorMatrix::setType):
  5248. (WebCore::FEColorMatrix::values):
  5249. (WebCore::FEColorMatrix::setValues):
  5250. (WebCore::FEColorMatrix::apply):
  5251. (WebCore::FEColorMatrix::dump):
  5252. * svg/graphics/filters/SVGFEColorMatrix.h:
  5253. (WebCore::):
  5254. * svg/graphics/filters/SVGFEComponentTransfer.cpp:
  5255. (WebCore::FEComponentTransfer::FEComponentTransfer):
  5256. (WebCore::FEComponentTransfer::create):
  5257. (WebCore::FEComponentTransfer::redFunction):
  5258. (WebCore::FEComponentTransfer::setRedFunction):
  5259. (WebCore::FEComponentTransfer::greenFunction):
  5260. (WebCore::FEComponentTransfer::setGreenFunction):
  5261. (WebCore::FEComponentTransfer::blueFunction):
  5262. (WebCore::FEComponentTransfer::setBlueFunction):
  5263. (WebCore::FEComponentTransfer::alphaFunction):
  5264. (WebCore::FEComponentTransfer::setAlphaFunction):
  5265. (WebCore::FEComponentTransfer::apply):
  5266. (WebCore::FEComponentTransfer::dump):
  5267. * svg/graphics/filters/SVGFEComponentTransfer.h:
  5268. (WebCore::):
  5269. (WebCore::ComponentTransferFunction::ComponentTransferFunction):
  5270. * svg/graphics/filters/SVGFEComposite.cpp:
  5271. (WebCore::FEComposite::FEComposite):
  5272. (WebCore::FEComposite::create):
  5273. (WebCore::FEComposite::operation):
  5274. (WebCore::FEComposite::setOperation):
  5275. (WebCore::FEComposite::k1):
  5276. (WebCore::FEComposite::setK1):
  5277. (WebCore::FEComposite::k2):
  5278. (WebCore::FEComposite::setK2):
  5279. (WebCore::FEComposite::k3):
  5280. (WebCore::FEComposite::setK3):
  5281. (WebCore::FEComposite::k4):
  5282. (WebCore::FEComposite::setK4):
  5283. (WebCore::FEComposite::apply):
  5284. (WebCore::FEComposite::dump):
  5285. * svg/graphics/filters/SVGFEComposite.h:
  5286. (WebCore::):
  5287. * svg/graphics/filters/cg/SVGFEColorMatrixCg.mm: Removed.
  5288. * svg/graphics/filters/cg/SVGFEComponentTransferCg.mm: Removed.
  5289. * svg/graphics/filters/cg/SVGFECompositeCg.mm: Removed.
  5290. 2008-07-03 Dan Bernstein <mitz@apple.com>
  5291. Reviewed by John Sullivan.
  5292. - fix <rdar://problem/6020930> Bidi Problem When Resizing Window
  5293. Test: fast/text/international/bidi-AN-after-empty-run.html
  5294. * platform/text/BidiResolver.h:
  5295. (WebCore::::appendRun): Changed to reset the current direction and
  5296. "end of run" direction even in the empty run case.
  5297. * rendering/bidi.cpp:
  5298. (WebCore::BidiState::appendRun): Ditto.
  5299. 2008-07-02 Jon Honeycutt <jhoneycutt@apple.com>
  5300. <rdar://5983747> Safari crashes trying to load the SilverLight plugin
  5301. If a plug-in returned an error code from NPP_NewStream, we would call
  5302. NPP_DestroyStream while cleaning up the request. We now only call
  5303. NPP_DestroyStream if NPP_NewStream was successful, matching Firefox.
  5304. Reviewed by Anders.
  5305. * plugins/PluginStream.cpp:
  5306. (WebCore::PluginStream::startStream): If NPP_NewStream returns an error,
  5307. don't set m_streamState to StreamStarted, and return after calling
  5308. cancelAndDestroyStream.
  5309. (WebCore::PluginStream::destroyStream): Don't call NPP_DestroyStream if
  5310. the stream didn't start successfully.
  5311. 2008-07-03 David Hyatt <hyatt@apple.com>
  5312. Revise Dan's fix for an assert on Windows, since layoutIfNeededRecursive doesn't exist on the
  5313. Mac. Revert updateControlTints and add the layout call outside of it in the already-existing
  5314. !PLATFORM(MAC) ifdef in FocusController's setActive method.
  5315. Reviewed by ggaren, weinig
  5316. * page/FocusController.cpp:
  5317. (WebCore::FocusController::setActive):
  5318. * page/FrameView.cpp:
  5319. (WebCore::FrameView::updateControlTints):
  5320. 2008-07-03 Alexey Proskuryakov <ap@webkit.org>
  5321. Reviewed by Darin.
  5322. https://bugs.webkit.org/show_bug.cgi?id=19884
  5323. Locating a store at www.366.ru doesn't work
  5324. Test: fast/forms/submit-with-base.html
  5325. * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): Treat empty action the same
  5326. as missing one - ignore base URL.
  5327. 2008-07-03 Dan Bernstein <mitz@apple.com>
  5328. Reviewed by John Sullivan.
  5329. - fix <rdar://problem/6048904> Assert in WebCore::Frame::paint in Windows
  5330. * page/FrameView.cpp:
  5331. (WebCore::FrameView::updateControlTints): Changed to update layout
  5332. recursively and not just for the top-level frame.
  5333. 2008-07-03 Cameron Zwarich <cwzwarich@uwaterloo.ca>
  5334. Reviewed by Geoff.
  5335. Bug 19853: REGRESSION (r34838): Crash when visiting http://www.thewebsiteisdown.com/salesguy.html
  5336. https://bugs.webkit.org/show_bug.cgi?id=19853
  5337. Remove the body of _NPN_SetException(), because it was simply calling
  5338. throwError(), which sets an exception on an ExecState but does not
  5339. actually handle it. The presence of an exception on the global ExecState
  5340. causes assertions that there is no exception set on that ExecState to
  5341. fail, as well as causing Machine::execute() to mistakingly return 0 in
  5342. some cases, as it assumes the presence of an exception implies that it
  5343. has run out of memory.
  5344. * bridge/NP_jsobject.cpp:
  5345. (_NPN_SetException):
  5346. 2008-07-03 Maciej Katafiasz <mathrick@gmail.com>
  5347. Gtk build fix with SVG filters enabled
  5348. * GNUmakefile.am: Include missing SVG filter sources
  5349. 2008-07-03 Simon Hausmann <hausmann@webkit.org>
  5350. Fix the Qt build, added FilterEffect to the build.
  5351. * WebCore.pro:
  5352. 2008-07-02 Brady Eidson <beidson@apple.com>
  5353. Reviewed by Mitz Pettel and John Sullivan
  5354. Fix for <rdar://problem/5549871> - Crash when calling [WebView stopLoading:] or [WebFrame stopLoading]
  5355. inside of the frame load delegate method -webView:didStartProvisionalLoadForFrame:.
  5356. Test: fast/loader/stop-provisional-loads.html
  5357. * loader/FrameLoader.cpp:
  5358. (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Since the provisionalDocumentLoader may have been cleared
  5359. by the prepareForLoadStart() call, null check it again.
  5360. 2008-07-01 Alex Mathews <possessedpenguinbob@gmail.com>
  5361. Reviewed by Oliver Hunt.
  5362. Renaming of class SVGFEBlend to FEBlend as well as removing
  5363. a little bit of antiquated code. This includes the removal of
  5364. SVGFEBlendCg.mm; the feBlend element will now no longer
  5365. render.
  5366. * WebCore.xcodeproj/project.pbxproj:
  5367. * svg/FilterBuilder.h:
  5368. (WebCore::FilterBuilder::add):
  5369. (WebCore::FilterBuilder::getEffectById):
  5370. * svg/SVGFEBlendElement.cpp:
  5371. (WebCore::SVGFEBlendElement::SVGFEBlendElement):
  5372. (WebCore::SVGFEBlendElement::parseMappedAttribute):
  5373. (WebCore::SVGFEBlendElement::filterEffect):
  5374. (WebCore::SVGFEBlendElement::build):
  5375. * svg/SVGFEBlendElement.h:
  5376. * svg/SVGFilterPrimitiveStandardAttributes.h:
  5377. * svg/graphics/filters/SVGFEBlend.cpp:
  5378. (WebCore::FEBlend::FEBlend):
  5379. (WebCore::FEBlend::create):
  5380. (WebCore::FEBlend::in2):
  5381. (WebCore::FEBlend::setIn2):
  5382. (WebCore::FEBlend::blendMode):
  5383. (WebCore::FEBlend::setBlendMode):
  5384. (WebCore::FEBlend::apply):
  5385. (WebCore::FEBlend::dump):
  5386. * svg/graphics/filters/SVGFEBlend.h:
  5387. (WebCore::):
  5388. * svg/graphics/filters/cg/SVGFEBlendCg.mm: Removed.
  5389. 2008-07-02 Beth Dakin <bdakin@apple.com>
  5390. Reviewed by Darin.
  5391. Fix for <rdar://problem/6015523> Implement ARIA ranges/sliders
  5392. and
  5393. <rdar://problem/5934355> Need to implement ARIA role="spinbutton"
  5394. * page/AccessibilityObject.h:
  5395. (WebCore::AccessibilityObject::isSlider):
  5396. * page/AccessibilityRenderObject.cpp:
  5397. (WebCore::AccessibilityRenderObject::isSlider):
  5398. (WebCore::AccessibilityRenderObject::valueForRange):
  5399. (WebCore::AccessibilityRenderObject::maxValueForRange):
  5400. (WebCore::AccessibilityRenderObject::minValueForRange):
  5401. (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): We
  5402. were addressing the generic has-an-ARIA-role case too early here.
  5403. (WebCore::AccessibilityRenderObject::focusedUIElement): This is a
  5404. bug I ran into while testing role='spinbutton', spinbutton is a
  5405. role that can have an active descendant. But we were always trying
  5406. to forward focus to the active descendant, even if one was not
  5407. specified.
  5408. (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant):
  5409. 'spinbutton' maps to ProgressIndicatorRole.
  5410. (WebCore::RoleEntry::):
  5411. (WebCore::AccessibilityRenderObject::canSetValueAttribute):
  5412. * page/AccessibilityRenderObject.h:
  5413. * page/mac/AccessibilityObjectWrapper.mm:
  5414. (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
  5415. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  5416. 2008-07-02 Dan Bernstein <mitz@apple.com>
  5417. Reviewed by Adam Roben.
  5418. - Windows build fix
  5419. Renamed the ERROR token in the XPath grammar to XPATH_ERROR, because
  5420. the ERROR macro is defined in <wingdi.h>.
  5421. * xml/XPathGrammar.y:
  5422. * xml/XPathParser.cpp:
  5423. (WebCore::XPath::Parser::lexString):
  5424. (WebCore::XPath::Parser::nextTokenInternal):
  5425. 2008-07-02 Alexey Proskuryakov <ap@webkit.org>
  5426. Inspired and reviewed by Mark Rowe.
  5427. Change non-API includes from JavaScriptCore/ to kjs/ and wtf/ to match prevalent style.
  5428. * bindings/objc/ExceptionHandlers.h:
  5429. * bindings/objc/WebScriptObject.mm:
  5430. * dom/Document.cpp:
  5431. * dom/Node.cpp:
  5432. * page/Frame.cpp:
  5433. * page/InspectorController.cpp:
  5434. * page/JavaScriptProfileNode.cpp:
  5435. * page/mac/FrameMac.mm:
  5436. * platform/mac/ThreadCheck.mm:
  5437. * xml/XMLHttpRequest.cpp:
  5438. 2008-07-02 Simon Hausmann <hausmann@webkit.org>
  5439. Fix the Gtk build.
  5440. * plugins/gtk/PluginViewGtk.cpp: Adapt to JSLock API changes.
  5441. (WebCore::PluginView::paint):
  5442. (WebCore::PluginView::handleKeyboardEvent):
  5443. (WebCore::PluginView::handleMouseEvent):
  5444. (WebCore::PluginView::setNPWindowRect):
  5445. (WebCore::PluginView::stop):
  5446. (WebCore::PluginView::init):
  5447. 2008-07-02 Simon Hausmann <hausmann@webkit.org>
  5448. Build fixes.
  5449. * WebCore.pro: Added plugins/PluginMainThreadScheduler.cpp to the
  5450. build.
  5451. * bridge/qt/qt_instance.cpp: Adjust to JSLock API change.
  5452. * bridge/qt/qt_runtime.cpp: Ditto.
  5453. (KJS::Bindings::convertValueToQVariant):
  5454. (KJS::Bindings::convertQVariantToValue):
  5455. (KJS::Bindings::QtRuntimeMetaMethod::call):
  5456. (KJS::Bindings::QtRuntimeConnectionMethod::call):
  5457. (KJS::Bindings::QtConnectionObject::execute):
  5458. * page/JavaScriptProfileNode.cpp: Inlude kjs/JSValue.h instead of
  5459. JavaScriptCore/JSValue.h.
  5460. * plugins/qt/PluginViewQt.cpp: Adjust to JSLock API changes.
  5461. (WebCore::PluginView::setNPWindowRect): Ditto.
  5462. (WebCore::PluginView::stop): Ditto.
  5463. (WebCore::PluginView::init): Ditto.
  5464. 2008-07-02 Alexey Proskuryakov <ap@webkit.org>
  5465. Build fix.
  5466. * plugins/PluginView.cpp:
  5467. (WebCore::PluginView::start):
  5468. (WebCore::getString):
  5469. (WebCore::PluginView::performRequest):
  5470. (WebCore::PluginView::bindingInstance):
  5471. * plugins/win/PluginViewWin.cpp:
  5472. (WebCore::PluginView::dispatchNPEvent):
  5473. (WebCore::PluginView::setNPWindowRect):
  5474. (WebCore::PluginView::stop):
  5475. Pass false to JSLock and JSLock::DropAllLocks constructors.
  5476. 2008-07-01 Oliver Hunt <oliver@apple.com>
  5477. Reviewed by Geoff Garen.
  5478. <rdar://problem/5974306> CanvasRenderingContext2D becomes invalid when source canvas element is collected
  5479. In order to fix this we now make the rendering context and the canvas element
  5480. share the same reference count, ensuring that references to the rendering
  5481. context will force the canvas element to remain live as well.
  5482. Test: fast/canvas/canvas-longlived-context.html
  5483. * html/CanvasRenderingContext2D.cpp:
  5484. (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode):
  5485. (WebCore::CanvasRenderingContext2D::createImageData):
  5486. (WebCore::CanvasRenderingContext2D::getImageData):
  5487. (WebCore::CanvasRenderingContext2D::putImageData):
  5488. * html/CanvasRenderingContext2D.h:
  5489. (WebCore::CanvasRenderingContext2D::create):
  5490. * html/HTMLCanvasElement.cpp:
  5491. (WebCore::HTMLCanvasElement::getContext):
  5492. * html/HTMLCanvasElement.h:
  5493. 2008-07-01 Alexey Proskuryakov <ap@webkit.org>
  5494. Reviewed by Darin.
  5495. Disable JSLock for per-thread contexts.
  5496. * bridge/runtime_root.cpp:
  5497. (KJS::Bindings::RootObject::invalidate):
  5498. (KJS::Bindings::RootObject::gcProtect):
  5499. (KJS::Bindings::RootObject::gcUnprotect):
  5500. Don't lock while calling gcProtect/gcUnprotect, which now has its own implicit lock.
  5501. * storage/Database.cpp: (WebCore::Database::Database): Call Heap::setGCProtectNeedsLocking
  5502. to indicate that protected value list can be concurrently accessed from multiple threads now.
  5503. * xml/XMLHttpRequest.cpp:
  5504. (WebCore::XMLHttpRequest::loadRequestSynchronously): There is no need to drop the locks here,
  5505. as fake locks cannot deadlock, and there is no danger that someone will try to take a real
  5506. JSLock on the main thread while we are waiting for response.
  5507. (WebCore::XMLHttpRequest::loadRequestAsynchronously): There is no need to explicitly lock
  5508. around gcProtect/gcUnprotect now.
  5509. (WebCore::XMLHttpRequest::dropProtection): Access heap directly, rather than via
  5510. JSGlobalData::threadInstance().
  5511. * bindings/js/GCController.cpp:
  5512. (WebCore::collect):
  5513. (WebCore::GCController::gcTimerFired):
  5514. (WebCore::GCController::garbageCollectNow):
  5515. (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
  5516. * bindings/js/JSCustomSQLStatementCallback.cpp:
  5517. (WebCore::JSCustomSQLStatementCallback::handleEvent):
  5518. * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
  5519. (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
  5520. * bindings/js/JSCustomSQLTransactionCallback.cpp:
  5521. (WebCore::JSCustomSQLTransactionCallback::handleEvent):
  5522. * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
  5523. (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
  5524. * bindings/js/JSCustomVoidCallback.cpp:
  5525. (WebCore::JSCustomVoidCallback::handleEvent):
  5526. * bindings/js/JSCustomXPathNSResolver.cpp:
  5527. (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
  5528. * bindings/js/JSDOMWindowBase.cpp:
  5529. (WebCore::DOMWindowTimer::~DOMWindowTimer):
  5530. (WebCore::JSDOMWindowBase::clear):
  5531. (WebCore::JSDOMWindowBase::timerFired):
  5532. * bindings/js/JSEventCustom.cpp:
  5533. (WebCore::toJS):
  5534. * bindings/js/JSEventListener.cpp:
  5535. (WebCore::JSAbstractEventListener::handleEvent):
  5536. (WebCore::JSLazyEventListener::parseCode):
  5537. * bindings/js/JSNodeFilterCondition.cpp:
  5538. (WebCore::JSNodeFilterCondition::acceptNode):
  5539. * bindings/js/ScheduledAction.cpp:
  5540. (WebCore::ScheduledAction::execute):
  5541. * bindings/js/ScriptController.cpp:
  5542. (WebCore::ScriptController::evaluate):
  5543. (WebCore::ScriptController::clear):
  5544. (WebCore::ScriptController::createHTMLEventHandler):
  5545. (WebCore::ScriptController::createSVGEventHandler):
  5546. (WebCore::ScriptController::initScript):
  5547. (WebCore::ScriptController::updateDocument):
  5548. * bindings/objc/WebScriptObject.mm:
  5549. (-[WebScriptObject callWebScriptMethod:withArguments:]):
  5550. (-[WebScriptObject evaluateWebScript:]):
  5551. (-[WebScriptObject setValue:forKey:]):
  5552. (-[WebScriptObject valueForKey:]):
  5553. (-[WebScriptObject removeWebScriptKey:]):
  5554. (-[WebScriptObject stringRepresentation]):
  5555. (-[WebScriptObject webScriptValueAtIndex:]):
  5556. (-[WebScriptObject setWebScriptValueAtIndex:value:]):
  5557. (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
  5558. * bridge/NP_jsobject.cpp:
  5559. (_NPN_InvokeDefault):
  5560. (_NPN_Invoke):
  5561. (_NPN_Evaluate):
  5562. (_NPN_GetProperty):
  5563. (_NPN_SetProperty):
  5564. (_NPN_RemoveProperty):
  5565. (_NPN_HasProperty):
  5566. (_NPN_HasMethod):
  5567. (_NPN_SetException):
  5568. (_NPN_Enumerate):
  5569. * bridge/c/c_class.cpp:
  5570. (KJS::Bindings::CClass::~CClass):
  5571. (KJS::Bindings::CClass::methodsNamed):
  5572. (KJS::Bindings::CClass::fieldNamed):
  5573. * bridge/c/c_instance.cpp:
  5574. (KJS::Bindings::CInstance::invokeMethod):
  5575. (KJS::Bindings::CInstance::invokeDefaultMethod):
  5576. (KJS::Bindings::CInstance::getPropertyNames):
  5577. * bridge/c/c_runtime.cpp:
  5578. (KJS::Bindings::CField::valueFromInstance):
  5579. (KJS::Bindings::CField::setValueToInstance):
  5580. * bridge/c/c_utility.cpp:
  5581. (KJS::Bindings::convertValueToNPVariant):
  5582. (KJS::Bindings::convertNPVariantToValue):
  5583. * bridge/jni/jni_class.cpp:
  5584. (JavaClass::JavaClass):
  5585. (JavaClass::~JavaClass):
  5586. * bridge/jni/jni_instance.cpp:
  5587. (JavaInstance::stringValue):
  5588. * bridge/jni/jni_jsobject.mm:
  5589. (JavaJSObject::call):
  5590. (JavaJSObject::eval):
  5591. (JavaJSObject::getMember):
  5592. (JavaJSObject::setMember):
  5593. (JavaJSObject::removeMember):
  5594. (JavaJSObject::getSlot):
  5595. (JavaJSObject::setSlot):
  5596. (JavaJSObject::toString):
  5597. (JavaJSObject::convertValueToJObject):
  5598. (JavaJSObject::convertJObjectToValue):
  5599. * bridge/jni/jni_objc.mm:
  5600. (KJS::Bindings::dispatchJNICall):
  5601. * bridge/jni/jni_runtime.cpp:
  5602. (JavaMethod::signature):
  5603. * bridge/jni/jni_runtime.h:
  5604. (KJS::Bindings::JavaString::JavaString):
  5605. (KJS::Bindings::JavaString::_commonInit):
  5606. (KJS::Bindings::JavaString::~JavaString):
  5607. (KJS::Bindings::JavaString::UTF8String):
  5608. * bridge/jni/jni_utility.cpp:
  5609. (KJS::Bindings::convertArrayInstanceToJavaArray):
  5610. (KJS::Bindings::convertValueToJValue):
  5611. * bridge/npruntime.cpp:
  5612. (_NPN_GetStringIdentifier):
  5613. * bridge/objc/objc_instance.mm:
  5614. (ObjcInstance::moveGlobalExceptionToExecState):
  5615. (ObjcInstance::invokeMethod):
  5616. (ObjcInstance::invokeDefaultMethod):
  5617. (ObjcInstance::setValueOfUndefinedField):
  5618. (ObjcInstance::getValueOfUndefinedField):
  5619. * bridge/objc/objc_runtime.mm:
  5620. (ObjcField::valueFromInstance):
  5621. (ObjcField::setValueToInstance):
  5622. * bridge/objc/objc_utility.mm:
  5623. (KJS::Bindings::convertValueToObjcValue):
  5624. (KJS::Bindings::convertNSStringToString):
  5625. (KJS::Bindings::convertObjcValueToValue):
  5626. * bridge/runtime.cpp:
  5627. (KJS::Bindings::Instance::createRuntimeObject):
  5628. * dom/Document.cpp:
  5629. (WebCore::Document::~Document):
  5630. * dom/Node.cpp:
  5631. (WebCore::Node::setDocument):
  5632. * history/CachedPage.cpp:
  5633. (WebCore::CachedPage::CachedPage):
  5634. (WebCore::CachedPage::restore):
  5635. (WebCore::CachedPage::clear):
  5636. * html/HTMLPlugInElement.cpp:
  5637. (WebCore::HTMLPlugInElement::createNPObject):
  5638. * loader/FrameLoader.cpp:
  5639. (WebCore::getString):
  5640. * page/Frame.cpp:
  5641. (WebCore::Frame::bindingRootObject):
  5642. (WebCore::Frame::windowScriptNPObject):
  5643. (WebCore::Frame::clearScriptObjects):
  5644. * page/InspectorController.cpp:
  5645. (WebCore::jsStringRef):
  5646. (WebCore::ConsoleMessage::ConsoleMessage):
  5647. (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
  5648. (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
  5649. (WebCore::getResourceDocumentNode):
  5650. (WebCore::search):
  5651. (WebCore::inspectedWindow):
  5652. (WebCore::wrapCallback):
  5653. (WebCore::currentCallFrame):
  5654. (WebCore::profiles):
  5655. (WebCore::InspectorController::focusNode):
  5656. (WebCore::InspectorController::addDatabaseScriptResource):
  5657. (WebCore::InspectorController::addScriptProfile):
  5658. * page/JavaScriptCallFrame.cpp:
  5659. (WebCore::JavaScriptCallFrame::evaluate):
  5660. * page/JavaScriptProfileNode.cpp:
  5661. (WebCore::getTotalTime):
  5662. (WebCore::getSelfTime):
  5663. (WebCore::getTotalPercent):
  5664. (WebCore::getSelfPercent):
  5665. (WebCore::getNumberOfCalls):
  5666. (WebCore::getChildren):
  5667. (WebCore::getVisible):
  5668. * page/mac/FrameMac.mm:
  5669. (WebCore::Frame::windowScriptObject):
  5670. Pass a parameter (always false) to JSLock and JSLock::DropAllLocks to indicate that WebCore
  5671. doesn't need locking. In the future, it may be possible to remove some of these if we
  5672. establish that this won't make JSC assertions fail (and that we don't want to add such
  5673. assertions either).
  5674. Added includes that are now needed.
  5675. 2008-07-01 Dan Bernstein <mitz@apple.com>
  5676. Reviewed by Oliver Hunt.
  5677. - fix a CSSParserValueList leak seen on the build bot
  5678. * css/CSSParser.cpp:
  5679. (WebCore::BorderImageParseContext::commitBorderImage):
  5680. 2008-07-01 Alex Mathews <possessedpenguinbob@gmail.com>
  5681. Reviewed by Oliver Hunt.
  5682. Prep for more Filter class name changes. Added the first few files for
  5683. the new Filter architecture to come.
  5684. * WebCore.xcodeproj/project.pbxproj:
  5685. * svg/Filter.cpp: Added.
  5686. (WebCore::Filter::Filter):
  5687. (WebCore::Filter::create):
  5688. * svg/Filter.h: Added.
  5689. * svg/FilterBuilder.h: Added.
  5690. (WebCore::FilterBuilder::add):
  5691. (WebCore::FilterBuilder::getEffectById):
  5692. (WebCore::FilterBuilder::filter):
  5693. * svg/FilterEffect.cpp: Added.
  5694. (WebCore::FilterEffect::FilterEffect):
  5695. (WebCore::FilterEffect::~FilterEffect):
  5696. * svg/FilterEffect.h: Added.
  5697. 2008-07-01 Christian Dywan <christian@twotoasts.de>
  5698. Gtk+ build fix.
  5699. * GNUmakefile.am: add WebCore/plugins/PluginMainThreadScheduler.cpp
  5700. 2008-07-01 Anders Carlsson <andersca@apple.com>
  5701. Reviewed by Darin.
  5702. Add PluginMainThreadScheduler.{cpp|h} to build.
  5703. * WebCore.base.exp:
  5704. * WebCore.xcodeproj/project.pbxproj:
  5705. * plugins/PluginMainThreadScheduler.cpp:
  5706. 2008-07-01 Dan Bernstein <mitz@apple.com>
  5707. Reviewed by Darin Adler.
  5708. - move the method to set the base writing direction from Frame to Editor
  5709. * WebCore.base.exp: Updated.
  5710. * editing/Editor.cpp:
  5711. (WebCore::Editor::setBaseWritingDirection): Changed the parameter to a
  5712. WritingDirection enum value and added the special behavior when the
  5713. focused node is a text field or a text area.
  5714. * editing/Editor.h:
  5715. * page/ContextMenuController.cpp:
  5716. (WebCore::ContextMenuController::contextMenuItemSelected): Changed back
  5717. to call the Editor method.
  5718. * page/Frame.cpp: Removed setSelectionBaseWritingDirection().
  5719. * page/Frame.h:
  5720. 2008-07-01 Darin Adler <darin@apple.com>
  5721. Reviewed by Oliver.
  5722. - slight tweak of the setHash fix
  5723. * bindings/js/JSLocationCustom.cpp:
  5724. (WebCore::JSLocation::setHash): Use oldRef instead of recomputing url.ref().
  5725. 2008-07-01 Dan Bernstein <mitz@apple.com>
  5726. Reviewed by Anders Carlsson.
  5727. - Mac release build fix
  5728. * page/Console.cpp:
  5729. 2008-07-01 Dan Bernstein <mitz@apple.com>
  5730. Reviewed by Anders Carlsson.
  5731. - fix <rdar://problem/6045896> REGRESSION: Leak in WebCore::StringImpl::create
  5732. * css/CSSPrimitiveValue.cpp:
  5733. (WebCore::CSSPrimitiveValue::cleanup):
  5734. 2008-07-01 Anders Carlsson <andersca@apple.com>
  5735. Reviewed by Jon.
  5736. Don't add the Mozilla user agent quirk for Flash 10.
  5737. * plugins/win/PluginPackageWin.cpp:
  5738. (WebCore::PluginPackage::isPluginBlacklisted):
  5739. (WebCore::PluginPackage::determineQuirks):
  5740. 2008-07-01 David Kilzer <ddkilzer@apple.com>
  5741. Move data: URL parsing code in HTMLObjectElement to KURL
  5742. Reviewed by Ada and Darin.
  5743. No test cases added since there is no change in behavior.
  5744. * html/HTMLObjectElement.cpp:
  5745. (WebCore::HTMLObjectElement::isImageType): Extracted data: URL
  5746. parsing code into WebCore::mimeTypeFromDataURL() in KURL.cpp.
  5747. * platform/KURL.cpp:
  5748. (WebCore::mimeTypeFromDataURL): Added.
  5749. * platform/KURL.h:
  5750. (WebCore::mimeTypeFromDataURL): Added.
  5751. 2008-07-01 Dan Bernstein <mitz@apple.com>
  5752. Reviewed by Dave Hyatt.
  5753. - fix <rdar://problem/6045890> REGRESSION: Leak in WebCore::CSSParser::createFloatingValueList()
  5754. * css/CSSParser.cpp:
  5755. (WebCore::CSSParser::addUnresolvedProperty):
  5756. 2008-07-01 Cameron Zwarich <cwzwarich@uwaterloo.ca>
  5757. Reviewed by Brady Eidson.
  5758. Bug 19822: REGRESSION (r30243): setting location.hash to "#" causes a reload
  5759. <https://bugs.webkit.org/show_bug.cgi?id=19822>
  5760. Change JSLocation::setHash() to not schedule navigation in the case
  5761. where the old fragment is the null String and the new fragment is an
  5762. empty String.
  5763. * bindings/js/JSLocationCustom.cpp:
  5764. (WebCore::JSLocation::setHash):
  5765. 2008-06-30 Anders Carlsson <andersca@apple.com>
  5766. Reviewed by Adam.
  5767. Add PluginMainThreadScheduler, a singleton which is responsible for scheduling plug-in
  5768. callbacks on the main thread. Use this to implement NPN_PluginThreadAsyncCall on Windows.
  5769. * WebCore.vcproj/WebCore.vcproj:
  5770. Add PluginMainThreadScheduler.{cpp|h}
  5771. * plugins/PluginMainThreadScheduler.cpp: Added.
  5772. * plugins/PluginMainThreadScheduler.h: Added.
  5773. * plugins/PluginView.cpp:
  5774. (WebCore::PluginView::start):
  5775. Register with the thread scheduler.
  5776. * plugins/npapi.cpp:
  5777. (NPN_PluginThreadAsyncCall):
  5778. Call the thread scheduler.
  5779. * plugins/win/PluginPackageWin.cpp:
  5780. (WebCore::PluginPackage::load):
  5781. Initialize the NPN_PluginThreadAsyncCall callback.
  5782. * plugins/win/PluginViewWin.cpp:
  5783. (WebCore::PluginView::stop):
  5784. Unregister with the scheduler. This makes sure that we won't try to deliver callbacks
  5785. after the plug-in has been destroyed.
  5786. 2008-07-01 Adam Roben <aroben@apple.com>
  5787. Roll out r34913, as it broke the Windows build due to bad casting
  5788. r34913 introduced code that assigned pointers-to-member from a derived
  5789. class into a base class pointer-to-member type (e.g., assigned a void
  5790. (SVGUseElement::*)() into a void (SVGElement::*)()). This is bad
  5791. because it could allow us to call SVGUseElement member functions on a
  5792. different SVGElement-derived class. MSVC rightly flagged this as an
  5793. error.
  5794. Rubberstamped by Anders Carlsson.
  5795. 2008-07-01 Darin Adler <darin@apple.com>
  5796. - fix build
  5797. * bindings/scripts/CodeGeneratorJS.pm: Fix warnings that indicate this was
  5798. not working propertly.
  5799. 2008-07-01 Dan Bernstein <mitz@apple.com>
  5800. Reviewed by Darin Adler.
  5801. - fix <rdar://problem/6045893> REGRESSION: Leak in WebCore::HTMLCanvasElement::createPlatformImage() const
  5802. * html/CanvasRenderingContext2D.cpp:
  5803. (WebCore::CanvasRenderingContext2D::createPattern):
  5804. 2008-07-01 Sam Weinig <sam@webkit.org>
  5805. Reviewed by Darin Adler.
  5806. Split JSCell and JSNumberCell class declarations out of JSValue.h
  5807. * ForwardingHeaders/kjs/JSNumberCell.h: Added.
  5808. * bindings/scripts/CodeGeneratorJS.pm:
  5809. * bridge/c/c_instance.cpp:
  5810. 2008-07-01 chris fleizach <cfleizach@apple.com>
  5811. Reviewed by Beth Dakin
  5812. <rdar://problem/6041580> REGRESSION: AX: AXSize of radio buttons is 0,0
  5813. Test: accessibility/radio-button-checkbox-size.html
  5814. * page/AccessibilityRenderObject.cpp:
  5815. (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
  5816. 2008-07-01 Dan Bernstein <mitz@apple.com>
  5817. Reviewed by Antti Koivisto.
  5818. - fix SVG pointer-events layout test failures
  5819. * css/SVGCSSParser.cpp:
  5820. (WebCore::CSSParser::parseSVGValue):
  5821. 2008-07-01 Nikolas Zimmermann <zimmermann@kde.org>
  5822. Reviewed by Antti.
  5823. Fixes: https://bugs.webkit.org/show_bug.cgi?id=19841
  5824. Fix two small problems in the gradient & pattern code.
  5825. Added 12 new layout tests: svg/dynamic-updates/SVGLinearGradientElement*.html
  5826. * svg/SVGLinearGradientElement.cpp:
  5827. (WebCore::SVGLinearGradientElement::collectGradientProperties): Compare against already computed bounding box information, instead of querying attributes.
  5828. * svg/SVGPatternElement.cpp:
  5829. (WebCore::SVGPatternElement::collectPatternProperties): Ditto.
  5830. * svg/SVGRadialGradientElement.cpp:
  5831. (WebCore::SVGRadialGradientElement::collectGradientProperties): Ditto.
  5832. (WebCore::SVGRadialGradientElement::svgAttributeChanged): 'fxAttr' updating wasn't handled. Copy'n'paste error.
  5833. 2008-07-01 Simon Hausmann <hausmann@webkit.org>
  5834. Fix the build, include SVGTransformList.h instead of
  5835. SVGTransformlist.h
  5836. * svg/SVGGradientElement.h:
  5837. 2008-07-01 Alexey Proskuryakov <ap@webkit.org>
  5838. Reviewed by Antti.
  5839. <rdar://problem/6033080> REGRESSION: Some CH characters display as garbage on webpage for
  5840. the first time.
  5841. Test: fast/encoding/preload-encoding.html
  5842. * html/PreloadScanner.cpp:
  5843. (WebCore::PreloadScanner::tokenize): Reset charset when entering a tag, not just when
  5844. starting a load.
  5845. 2008-07-01 Nikolas Zimmermann <zimmermann@kde.org>
  5846. Reviewed by Antti & Eric.
  5847. Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
  5848. SVG Errata states: "All SVG DOM objects that directly correspond to an
  5849. attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
  5850. means that any changes made to the attribute are immediately reflected in the
  5851. corresponding SVG DOM object." (see linked URL on bug report)
  5852. Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
  5853. element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).
  5854. Add a new synchronization layer to handle SVG DOM -> XML changes.
  5855. Global macro change #1: ANIMATED_PROPERTY_FORWARD_DECLARATIONS contains the class name where it's defined as first parameter.
  5856. Global macro change #2: Add ANIMATED_PROPERTY_START_DECLARATIONS to all direct base-classes.
  5857. Global macro change #3: Rename ANIMATED_PROPERTY_DEFINITIONS to ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED for refcounted types (ie. SVGTransformList*).
  5858. Added test: svg/custom/svg-xml-dom-sync.html
  5859. Fixed test: svg/hixie/dynamic/005-broken.xml (renamed to 005.xml)
  5860. * dom/Element.cpp:
  5861. (WebCore::Element::Element): Initialize the two new bits.
  5862. (WebCore::Element::attributes): Add hooks to call into SVG attribute synchronization code, wrapped in ENABLE(SVG) blocks.
  5863. (WebCore::Element::getAttribute): Ditto.
  5864. (WebCore::Element::hasAttributes): Ditto.
  5865. * dom/Element.h: Add two bits: m_synchronizedSVGAttributes/m_synchronizingSVGAttribute, to track synchronization status.
  5866. (WebCore::Element::updateAnimatedSVGAttribute): New virtual function, handling the synronication, similar to updateStyleAttribute.
  5867. * dom/NamedAttrMap.h: Make addAttribute/removeAttribute protected, from use within the ANIMATED_* macros.
  5868. * svg/SVGAElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  5869. (WebCore::SVGAElement::contextElement): Return non-const value.
  5870. * svg/SVGAltGlyphElement.h:
  5871. (WebCore::SVGAltGlyphElement::contextElement): Ditto.
  5872. * svg/SVGAnimateElement.h:
  5873. (WebCore::SVGAnimateElement::contextElement): Ditto.
  5874. * svg/SVGAnimateMotionElement.h:
  5875. (WebCore::SVGAnimateMotionElement::contextElement): Ditto.
  5876. * svg/SVGAnimateTransformElement.h:
  5877. (WebCore::SVGAnimateTransformElement::contextElement): Ditto.
  5878. * svg/SVGAnimatedTemplate.h: Add toString() conversion to all SVGAnimated* classes
  5879. (WebCore::SVGAnimatedTemplate::toString):
  5880. (WebCore::SVGAnimatedTemplate::associatedAttributeName):
  5881. (WebCore::lookupOrCreateWrapper):
  5882. (WebCore::SVGAnimatedAngle::SVGAnimatedAngle):
  5883. (WebCore::SVGAnimatedAngle::toString):
  5884. (WebCore::SVGAnimatedBoolean::SVGAnimatedBoolean):
  5885. (WebCore::SVGAnimatedBoolean::toString):
  5886. (WebCore::SVGAnimatedEnumeration::SVGAnimatedEnumeration):
  5887. (WebCore::SVGAnimatedEnumeration::toString):
  5888. (WebCore::SVGAnimatedInteger::SVGAnimatedInteger):
  5889. (WebCore::SVGAnimatedInteger::toString):
  5890. (WebCore::SVGAnimatedLength::SVGAnimatedLength):
  5891. (WebCore::SVGAnimatedLength::toString):
  5892. (WebCore::SVGAnimatedLengthList::SVGAnimatedLengthList):
  5893. (WebCore::SVGAnimatedLengthList::toString):
  5894. (WebCore::SVGAnimatedNumber::SVGAnimatedNumber):
  5895. (WebCore::SVGAnimatedNumber::toString):
  5896. (WebCore::SVGAnimatedNumberList::SVGAnimatedNumberList):
  5897. (WebCore::SVGAnimatedNumberList::toString):
  5898. (WebCore::SVGAnimatedPreserveAspectRatio::SVGAnimatedPreserveAspectRatio):
  5899. (WebCore::SVGAnimatedPreserveAspectRatio::toString):
  5900. (WebCore::SVGAnimatedRect::SVGAnimatedRect):
  5901. (WebCore::SVGAnimatedRect::toString):
  5902. (WebCore::SVGAnimatedString::SVGAnimatedString):
  5903. (WebCore::SVGAnimatedString::toString):
  5904. (WebCore::SVGAnimatedTransformList::SVGAnimatedTransformList):
  5905. (WebCore::SVGAnimatedTransformList::toString):
  5906. (WebCore::SVGAnimatedType::SVGAnimatedType):
  5907. * svg/SVGAnimationElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  5908. * svg/SVGCircleElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  5909. (WebCore::SVGCircleElement::contextElement): Return non-const value.
  5910. * svg/SVGClipPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  5911. (WebCore::SVGClipPathElement::contextElement): Return non-const value.
  5912. * svg/SVGComponentTransferFunctionElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
  5913. * svg/SVGComponentTransferFunctionElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this class is a base class.
  5914. * svg/SVGCursorElement.cpp: Wrap SVGLength objects in SVGLength() statements.
  5915. (WebCore::SVGCursorElement::SVGCursorElement):
  5916. * svg/SVGCursorElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS. Add ANIMATED_PROPERTY_START_DECLARATIONS.
  5917. (WebCore::SVGCursorElement::contextElement): Return non-const value.
  5918. * svg/SVGDefsElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  5919. (WebCore::SVGDefsElement::contextElement): Return non-const value.
  5920. * svg/SVGElement.cpp:
  5921. (WebCore::SVGElement::updateAnimatedSVGAttribute): Override virtual function from Element, to handle SVG<->XML DOM synchronization.
  5922. (WebCore::SVGElement::setSynchronizedSVGAttributes):
  5923. * svg/SVGElement.h: Add helper class "StoredTypeWithDirtyFlag".
  5924. (StoredTypeWithDirtyFlag::StoredTypeWithDirtyFlag): Tracks a type and a flag indicating that SVG<->XML DOM synchronization has to be done.
  5925. (StoredTypeWithDirtyFlag::operator=):
  5926. (StoredTypeWithDirtyFlag::operator==):
  5927. (StoredTypeWithDirtyFlag::operator!=):
  5928. (StoredTypeWithDirtyFlag::operator StoredType):
  5929. (WebCore::SVGElement::invokeSVGPropertySynchronizer): New set of functions taking care of invoking the update handlers.
  5930. (WebCore::SVGElement::invokeAllSVGPropertySynchronizers): Ditto.
  5931. (WebCore::SVGElement::addSVGPropertySynchronizer): Ditto.
  5932. * svg/SVGEllipseElement.cpp: Wrap SVGLength objects in SVGLength() statements.
  5933. (WebCore::SVGEllipseElement::SVGEllipseElement):
  5934. * svg/SVGEllipseElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  5935. (WebCore::SVGEllipseElement::contextElement): Return non-const value.
  5936. * svg/SVGExternalResourcesRequired.h: Change contextElement() to return a non-const value.
  5937. * svg/SVGFEBlendElement.h:
  5938. (WebCore::SVGFEBlendElement::contextElement): Return non-const value.
  5939. * svg/SVGFEColorMatrixElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
  5940. * svg/SVGFEColorMatrixElement.h:
  5941. (WebCore::SVGFEColorMatrixElement::contextElement): Return non-const value.
  5942. * svg/SVGFEComponentTransferElement.h:
  5943. (WebCore::SVGFEComponentTransferElement::contextElement): Return non-const value.
  5944. * svg/SVGFECompositeElement.h:
  5945. (WebCore::SVGFECompositeElement::contextElement): Return non-const value.
  5946. * svg/SVGFEDiffuseLightingElement.h:
  5947. (WebCore::SVGFEDiffuseLightingElement::contextElement): Return non-const value.
  5948. * svg/SVGFEDisplacementMapElement.h:
  5949. (WebCore::SVGFEDisplacementMapElement::contextElement): Return non-const value.
  5950. * svg/SVGFEFloodElement.h:
  5951. (WebCore::SVGFEFloodElement::contextElement): Return non-const value.
  5952. * svg/SVGFEGaussianBlurElement.h:
  5953. (WebCore::SVGFEGaussianBlurElement::contextElement): Return non-const value.
  5954. * svg/SVGFEImageElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
  5955. * svg/SVGFEImageElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  5956. (WebCore::SVGFEImageElement::contextElement): Return non-const value.
  5957. * svg/SVGFELightElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
  5958. * svg/SVGFEMergeElement.h:
  5959. (WebCore::SVGFEMergeElement::contextElement): Return non-const value.
  5960. * svg/SVGFEMergeNodeElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
  5961. (WebCore::SVGFEMergeNodeElement::contextElement): Return non-const value.
  5962. * svg/SVGFEOffsetElement.h:
  5963. (WebCore::SVGFEOffsetElement::contextElement): Return non-const value.
  5964. * svg/SVGFESpecularLightingElement.h:
  5965. (WebCore::SVGFESpecularLightingElement::contextElement): Return non-const value.
  5966. * svg/SVGFETileElement.h:
  5967. (WebCore::SVGFETileElement::contextElement): Return non-const value.
  5968. * svg/SVGFETurbulenceElement.h:
  5969. (WebCore::SVGFETurbulenceElement::contextElement): Return non-const value.
  5970. * svg/SVGFilterElement.cpp: Wrap SVGLength objects in SVGLength() statements.
  5971. (WebCore::SVGFilterElement::SVGFilterElement):
  5972. * svg/SVGFilterElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  5973. (WebCore::SVGFilterElement::contextElement): Return non-const value.
  5974. * svg/SVGFilterPrimitiveStandardAttributes.cpp: Wrap SVGLength objects in SVGLength() statements.
  5975. (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
  5976. * svg/SVGFilterPrimitiveStandardAttributes.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  5977. (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement): Return non-const value.
  5978. * svg/SVGFitToViewBox.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
  5979. * svg/SVGFitToViewBox.h: Change contextElement() to return a non-const value.
  5980. * svg/SVGFontElement.h:
  5981. (WebCore::SVGFontElement::contextElement): Return non-const value.
  5982. * svg/SVGForeignObjectElement.cpp: Wrap SVGLength objects in SVGLength() statements.
  5983. (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
  5984. * svg/SVGForeignObjectElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  5985. (WebCore::SVGForeignObjectElement::contextElement): Return non-const value.
  5986. * svg/SVGGElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  5987. (WebCore::SVGGElement::contextElement): Return non-const value.
  5988. * svg/SVGGradientElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
  5989. * svg/SVGGradientElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  5990. * svg/SVGImageElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
  5991. (WebCore::SVGImageElement::SVGImageElement):
  5992. * svg/SVGImageElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  5993. (WebCore::SVGImageElement::contextElement): Return non-const value.
  5994. * svg/SVGLengthList.cpp:
  5995. (WebCore::SVGLengthList::valueAsString): Add new function converting SVG values to strings.
  5996. * svg/SVGLengthList.h:
  5997. * svg/SVGLineElement.cpp: Wrap SVGLength objects in SVGLength() statements.
  5998. (WebCore::SVGLineElement::SVGLineElement):
  5999. * svg/SVGLineElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  6000. (WebCore::SVGLineElement::contextElement): Return non-const value.
  6001. * svg/SVGLinearGradientElement.cpp:
  6002. (WebCore::SVGLinearGradientElement::SVGLinearGradientElement): Wrap SVGLength objects in SVGLength() statements.
  6003. (WebCore::SVGLinearGradientElement::collectGradientProperties):
  6004. * svg/SVGLinearGradientElement.h:
  6005. (WebCore::SVGLinearGradientElement::contextElement): Return non-const value.
  6006. * svg/SVGMPathElement.h:
  6007. (WebCore::SVGMPathElement::contextElement): Return non-const value.
  6008. * svg/SVGMarkerElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
  6009. (WebCore::SVGMarkerElement::SVGMarkerElement):
  6010. * svg/SVGMarkerElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  6011. (WebCore::SVGMarkerElement::contextElement): Return non-const value.
  6012. * svg/SVGMaskElement.cpp: Wrap SVGLength objects in SVGLength() statements.
  6013. (WebCore::SVGMaskElement::SVGMaskElement):
  6014. * svg/SVGMaskElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  6015. (WebCore::SVGMaskElement::contextElement): Return non-const value.
  6016. * svg/SVGNumberList.cpp:
  6017. (WebCore::SVGNumberList::valueAsString): Add new function converting SVG values to strings.
  6018. * svg/SVGNumberList.h:
  6019. * svg/SVGPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  6020. (WebCore::SVGPathElement::contextElement): Return non-const value.
  6021. * svg/SVGPatternElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change. Wrap SVGLength objects in SVGLength() statements.
  6022. (WebCore::SVGPatternElement::SVGPatternElement):
  6023. (WebCore::SVGPatternElement::collectPatternProperties):
  6024. * svg/SVGPatternElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  6025. (WebCore::SVGPatternElement::contextElement): Return non-const value.
  6026. * svg/SVGPolyElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  6027. (WebCore::SVGPolyElement::contextElement): Return non-const value.
  6028. * svg/SVGPreserveAspectRatio.cpp:
  6029. (WebCore::SVGPreserveAspectRatio::valueAsString): Add new function converting SVG values to strings.
  6030. * svg/SVGPreserveAspectRatio.h:
  6031. * svg/SVGRadialGradientElement.cpp: Wrap SVGLength objects in SVGLength() statements.
  6032. (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
  6033. (WebCore::SVGRadialGradientElement::svgAttributeChanged):
  6034. (WebCore::SVGRadialGradientElement::collectGradientProperties):
  6035. * svg/SVGRadialGradientElement.h:
  6036. (WebCore::SVGRadialGradientElement::contextElement): Return non-const value.
  6037. * svg/SVGRectElement.cpp: Wrap SVGLength objects in SVGLength() statements.
  6038. (WebCore::SVGRectElement::SVGRectElement):
  6039. * svg/SVGRectElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  6040. (WebCore::SVGRectElement::contextElement): Return non-const value.
  6041. * svg/SVGSVGElement.cpp: Wrap SVGLength objects in SVGLength() statements.
  6042. (WebCore::SVGSVGElement::SVGSVGElement):
  6043. (WebCore::SVGSVGElement::currentView): Pass non-const SVGSVGElement* object to SVGViewSpec.
  6044. * svg/SVGSVGElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  6045. (WebCore::SVGSVGElement::contextElement): Return non-const value.
  6046. * svg/SVGScriptElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  6047. (WebCore::SVGScriptElement::contextElement): Return non-const value.
  6048. * svg/SVGStyledElement.h: Add ANIMATED_PROPERTY_START_DECLARATIONS, as this is a base class.
  6049. * svg/SVGStyledTransformableElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
  6050. * svg/SVGStyledTransformableElement.h:
  6051. * svg/SVGSwitchElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  6052. (WebCore::SVGSwitchElement::contextElement): Return non-const value.
  6053. * svg/SVGSymbolElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  6054. (WebCore::SVGSymbolElement::contextElement): Return non-const value.
  6055. * svg/SVGTRefElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  6056. (WebCore::SVGTRefElement::contextElement): Return non-const value.
  6057. * svg/SVGTSpanElement.h:
  6058. (WebCore::SVGTSpanElement::contextElement): Return non-const value.
  6059. * svg/SVGTextContentElement.cpp: Wrap SVGLength objects in SVGLength() statements.
  6060. (WebCore::SVGTextContentElement::SVGTextContentElement):
  6061. * svg/SVGTextContentElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  6062. * svg/SVGTextElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
  6063. * svg/SVGTextElement.h:
  6064. (WebCore::SVGTextElement::contextElement): Return non-const value.
  6065. * svg/SVGTextPathElement.cpp: Wrap SVGLength objects in SVGLength() statements.
  6066. (WebCore::SVGTextPathElement::SVGTextPathElement):
  6067. * svg/SVGTextPathElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  6068. (WebCore::SVGTextPathElement::contextElement): Return non-const value.
  6069. * svg/SVGTextPositioningElement.cpp: Apply ANIMATED_PROPERTY_DEFINITIONS_REFCOUNTED change.
  6070. * svg/SVGTextPositioningElement.h:
  6071. * svg/SVGTransformList.cpp:
  6072. (SVGTransformList::valueAsString): Add new function converting SVG values to strings.
  6073. * svg/SVGTransformList.h:
  6074. * svg/SVGURIReference.h: Change contextElement() to return a non-const value.
  6075. * svg/SVGUseElement.cpp: Wrap SVGLength objects in SVGLength() statements.
  6076. (WebCore::SVGUseElement::SVGUseElement):
  6077. * svg/SVGUseElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  6078. (WebCore::SVGUseElement::contextElement): Return non-const value.
  6079. * svg/SVGViewElement.h: Apply global macro change for ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
  6080. (WebCore::SVGViewElement::contextElement): Return non-const value.
  6081. * svg/SVGViewSpec.cpp:
  6082. (WebCore::SVGViewSpec::SVGViewSpec): Pass non-const context element in constructor.
  6083. (WebCore::SVGViewSpec::contextElement): Return non-const value.
  6084. * svg/SVGViewSpec.h:
  6085. 2008-07-01 Alex Mathews <possessedpenguinbob@gmail.com>
  6086. Reviewed by Nikolas Zimmermann.
  6087. Class name changes for SVG Light Effect files. The class names that changed :
  6088. SVGLightSource -> LightSource
  6089. SVGDistantLightSource -> DistantLightSource
  6090. SVGPointLightSource -> PointLightSource
  6091. SVGSpotLightSource -> SpotLightSource
  6092. Every other file that is changed is just propagating the class name changes to
  6093. dependent files.
  6094. * svg/SVGFEDiffuseLightingElement.cpp:
  6095. (WebCore::SVGFEDiffuseLightingElement::updateLights):
  6096. * svg/SVGFEDistantLightElement.cpp:
  6097. (WebCore::SVGFEDistantLightElement::lightSource):
  6098. * svg/SVGFEDistantLightElement.h:
  6099. * svg/SVGFELightElement.h:
  6100. * svg/SVGFEPointLightElement.cpp:
  6101. (WebCore::SVGFEPointLightElement::lightSource):
  6102. * svg/SVGFEPointLightElement.h:
  6103. * svg/SVGFESpecularLightingElement.cpp:
  6104. (WebCore::SVGFESpecularLightingElement::updateLights):
  6105. * svg/SVGFESpotLightElement.cpp:
  6106. (WebCore::SVGFESpotLightElement::lightSource):
  6107. * svg/SVGFESpotLightElement.h:
  6108. * svg/graphics/filters/SVGDistantLightSource.h:
  6109. (WebCore::DistantLightSource::DistantLightSource):
  6110. (WebCore::DistantLightSource::azimuth):
  6111. (WebCore::DistantLightSource::elevation):
  6112. * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
  6113. (WebCore::SVGFEDiffuseLighting::lightSource):
  6114. (WebCore::SVGFEDiffuseLighting::setLightSource):
  6115. * svg/graphics/filters/SVGFEDiffuseLighting.h:
  6116. * svg/graphics/filters/SVGFESpecularLighting.cpp:
  6117. (WebCore::SVGFESpecularLighting::lightSource):
  6118. (WebCore::SVGFESpecularLighting::setLightSource):
  6119. * svg/graphics/filters/SVGFESpecularLighting.h:
  6120. * svg/graphics/filters/SVGLightSource.cpp:
  6121. (WebCore::PointLightSource::externalRepresentation):
  6122. (WebCore::SpotLightSource::externalRepresentation):
  6123. (WebCore::DistantLightSource::externalRepresentation):
  6124. * svg/graphics/filters/SVGLightSource.h:
  6125. (WebCore::):
  6126. (WebCore::LightSource::LightSource):
  6127. (WebCore::LightSource::~LightSource):
  6128. (WebCore::LightSource::type):
  6129. * svg/graphics/filters/SVGPointLightSource.h:
  6130. (WebCore::PointLightSource::PointLightSource):
  6131. (WebCore::PointLightSource::position):
  6132. * svg/graphics/filters/SVGSpotLightSource.h:
  6133. (WebCore::SpotLightSource::SpotLightSource):
  6134. (WebCore::SpotLightSource::position):
  6135. (WebCore::SpotLightSource::direction):
  6136. (WebCore::SpotLightSource::specularExponent):
  6137. (WebCore::SpotLightSource::limitingConeAngle):
  6138. * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
  6139. (WebCore::SVGFEDiffuseLighting::getCIFilter):
  6140. * svg/graphics/filters/cg/SVGFEHelpersCg.h:
  6141. * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
  6142. (WebCore::getLightVectors):
  6143. * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
  6144. (WebCore::SVGFESpecularLighting::getCIFilter):
  6145. 2008-07-01 Alp Toker <alp@nuanti.com>
  6146. Rubber-stamped by Holger.
  6147. autotools cleanup: move some GTK+-specific sources from libwebcore to
  6148. libwebcoregtk.
  6149. * GNUmakefile.am:
  6150. 2008-07-01 Dan Bernstein <mitz@apple.com>
  6151. Reviewed by Oliver Hunt.
  6152. - fix the non-SVG build
  6153. * css/CSSValueKeywords.in: Added 'all'.
  6154. * css/SVGCSSValueKeywords.in: Removed 'all'.
  6155. 2008-07-01 Simon Hausmann <hausmann@webkit.org>
  6156. Build fix, include DateInstance.h.
  6157. * bridge/qt/qt_runtime.cpp:
  6158. 2008-06-30 Adele Peterson <adele@apple.com>
  6159. Reviewed by Oliver.
  6160. Fix for <rdar://problem/5882050> clicking in hidden close box area of empty searchfield causes mousedown to stop firing
  6161. Test: fast/forms/search-hidden-cancel-button.html
  6162. * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler):
  6163. Don't start capturing mouse events if the cancel button isn't visible. This was causing the button to start but never stop capturing mouse events.
  6164. 2008-06-30 Sam Weinig <sam@webkit.org>
  6165. Rubber-stamped by Darin Adler.
  6166. Split InternalFunction into its own header file.
  6167. * ForwardingHeaders/kjs/InternalFunction.h: Added.
  6168. * bridge/runtime_method.h:
  6169. 2008-06-30 Adele Peterson <adele@apple.com>
  6170. Reviewed by Anders.
  6171. Fix for <rdar://problem/5301322> REGRESSION: Select All selects the whole page when used in readonly textareas
  6172. Test: editing/selection/select-all-textarea.html
  6173. * dom/Node.cpp:
  6174. (WebCore::Node::shadowAncestorNode): Break out code to find the root of the shadow tree into a new helper function.
  6175. (WebCore::Node::shadowTreeRootNode): Added helper function.
  6176. * dom/Node.h:
  6177. * dom/Range.cpp: (WebCore::Range::shadowTreeRootNode): Added helper function.
  6178. * dom/Range.h:
  6179. * editing/Selection.cpp: (WebCore::Selection::shadowTreeRootNode): ditto.
  6180. * editing/Selection.h:
  6181. * editing/SelectionController.h: (WebCore::SelectionController::shadowTreeRootNode): ditto.
  6182. * editing/SelectionController.cpp: (WebCore::SelectionController::selectAll):
  6183. If the selection is in a shadow tree, only select the contents of that shadow tree, not the whole document.
  6184. * page/Frame.cpp:
  6185. (WebCore::Frame::findString): Use the new shadowTreeRootNode helper functions.
  6186. (WebCore::Frame::markAllMatchesForText): ditto.
  6187. 2008-06-30 chris fleizach <cfleizach@apple.com>
  6188. Reviewed by Beth Dakin
  6189. <rdar://problem/4180780> Add attribute to get all the radio buttons in a set
  6190. * page/AccessibilityObject.cpp:
  6191. (WebCore::AccessibilityObject::linkedUIElements):
  6192. * page/AccessibilityObject.h:
  6193. * page/AccessibilityRenderObject.cpp:
  6194. (WebCore::AccessibilityRenderObject::internalLinkElement):
  6195. (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
  6196. (WebCore::AccessibilityRenderObject::linkedUIElements):
  6197. * page/AccessibilityRenderObject.h:
  6198. * page/mac/AccessibilityObjectWrapper.mm:
  6199. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  6200. 2008-06-30 Dan Bernstein <mitz@apple.com>
  6201. Reviewed by Adele Peterson.
  6202. - WebCore part of <rdar://problem/3881497> Writing direction context menu item has no effect on text typed in Safari
  6203. * WebCore.base.exp: Removed Editor::setBaseWritingDirection() and added
  6204. Frame::setSelectionBaseWritingDirection().
  6205. * page/ContextMenuController.cpp:
  6206. (WebCore::ContextMenuController::contextMenuItemSelected): Changed to
  6207. call Frame::setSelectionBaseWritingDirection().
  6208. * page/Frame.cpp:
  6209. (WebCore::Frame::setSelectionBaseWritingDirection): Added. If the
  6210. focused node is a text field or text area, changes its 'dir' attribute.
  6211. This is what IE does when the user changes the writing direction in a
  6212. text control. Otherwise, calls down to Editor::setBaseWritingDirection().
  6213. * page/Frame.h:
  6214. 2008-06-30 David Kilzer <ddkilzer@apple.com>
  6215. Improve HTMLObjectElement data encapsulation
  6216. Reviewed by Dave Hyatt.
  6217. HTMLObjectElement has some public member variables that should be
  6218. private with accessor methods.
  6219. No test cases added since there is no change in behavior.
  6220. * html/HTMLObjectElement.cpp:
  6221. (WebCore::HTMLObjectElement::HTMLObjectElement): Reorder
  6222. initialization of member variables to match defined order in header.
  6223. * html/HTMLObjectElement.h:
  6224. (WebCore::HTMLObjectElement::classId): Added.
  6225. (WebCore::HTMLObjectElement::url): Added.
  6226. (WebCore::HTMLObjectElement::serviceType): Added.
  6227. * rendering/RenderPartObject.cpp:
  6228. (WebCore::RenderPartObject::updateWidget): Use new accessor methods
  6229. in HTMLObjectElement now that its member variables are private.
  6230. 2008-06-30 Dan Bernstein <mitz@apple.com>
  6231. Reviewed by Anders Carlsson.
  6232. - remove unused member variable
  6233. * page/Page.h: Removed Page::m_focusedNode.
  6234. 2008-06-30 Anders Carlsson <andersca@apple.com>
  6235. Reviewed by Adam.
  6236. <rdar://problem/6014209>
  6237. Crash when loading manifest from application cache fails
  6238. There is no need to set any handles to 0 after calling cacheUpdateFailed(), since
  6239. that is done inside the function. Furthermore, after calling cacheUpdateFailed() the cache
  6240. group could be deleted causing us to access freed memory and then crashing.
  6241. * loader/appcache/ApplicationCacheGroup.cpp:
  6242. (WebCore::ApplicationCacheGroup::didReceiveResponse):
  6243. (WebCore::ApplicationCacheGroup::didFail):
  6244. (WebCore::ApplicationCacheGroup::didFailToLoadManifest):
  6245. 2008-06-30 Adam Roben <aroben@apple.com>
  6246. Fix <rdar://5954749> Assertion failure due to HashTable's use of
  6247. operator&
  6248. Reviewed by Ada Chan.
  6249. * bindings/js/JSSVGPODTypeWrapper.h:
  6250. * dom/Document.h:
  6251. * dom/StyledElement.cpp:
  6252. * platform/graphics/FontCache.cpp:
  6253. * platform/graphics/IntSizeHash.h:
  6254. (WTF::):
  6255. * platform/text/StringHash.h:
  6256. * platform/win/COMPtr.h:
  6257. * svg/SVGAnimatedTemplate.h:
  6258. Updated all custom HashTraits for HashTable changes.
  6259. 2008-06-30 Simon Hausmann <hausmann@webkit.org>
  6260. Fix the Qt build.
  6261. Added missing includes and changed getItem array calls to use get()
  6262. instead.
  6263. * bridge/qt/qt_runtime.cpp:
  6264. (KJS::Bindings::convertValueToQVariant):
  6265. 2008-06-29 David Smith <catfish.man@gmail.com>
  6266. Rubberstamped by Sam Weinig.
  6267. Change a redundant node->isElement() check to an ASSERT for a 1.3% speedup on getElementsByTagName.
  6268. * dom/TagNodeList.cpp:
  6269. (WebCore::TagNodeList::nodeMatches):
  6270. 2008-06-29 Dan Bernstein <mitz@apple.com>
  6271. Reviewed by Darin Adler.
  6272. - fix SVG layout test regressions
  6273. * css/CSSFontSelector.cpp:
  6274. (WebCore::CSSFontSelector::addFontFaceRule): Made this function work
  6275. again with primitive values, because the @font-face rules SVG fonts
  6276. create still use a single primitive value rather than a value list.
  6277. 2008-06-29 Dan Bernstein <mitz@apple.com>
  6278. Reviewed by Sam Weinig.
  6279. - fix <rdar://problem/5734440> Specifying a font-weight for @font-face not working
  6280. Tests: fast/css/font-face-descriptor-multiple-values-parsing.html
  6281. fast/css/font-face-descriptor-multiple-values.html
  6282. * css/CSSFontSelector.cpp:
  6283. (WebCore::CSSFontSelector::addFontFaceRule): Changed to work with value
  6284. lists for the descriptor properties.
  6285. * css/CSSParser.cpp:
  6286. (WebCore::CSSParser::CSSParser): Initialize m_hasFontFaceOnlyValues.
  6287. (WebCore::CSSParser::parseValue): Added a call to
  6288. deleteFontFaceOnlyValues() if necessary.
  6289. (WebCore::CSSParser::parseDeclaration): Ditto.
  6290. (WebCore::CSSParser::clearProperties): Added code to reset
  6291. m_hasFontFaceOnlyValues to false.
  6292. (WebCore::CSSParser::parseFontStyle): Added. If there is a single
  6293. valid identifier other than 'all', creates a CSSPrimitiveValue and
  6294. assigns it to the property. If 'all' is the only value, or if there are
  6295. multiple valid identifiers that are not 'all', creates a CSSValueList
  6296. and assigns it to the property, and sets m_hasFontFaceOnlyValues to
  6297. true.
  6298. (WebCore::CSSParser::parseFontVariant): Ditto.
  6299. (WebCore::CSSParser::parseFontWeight): Ditto.
  6300. (WebCore::CSSParser::createStyleRule): Added a call to
  6301. deleteFontFaceOnlyValues().
  6302. (WebCore::CSSParser::createFontFaceRule): Added code to change
  6303. font descriptor properties that had only one value, and therefore were
  6304. assigned a CSSPrimitiveValue, into CSSValueLists containing that value.
  6305. (WebCore::CSSParser::deleteFontFaceOnlyValues): Added. Retroactively
  6306. invalidates font descriptor properties that had values that are only
  6307. allowed in @font-face. Those are identified by having CSSValueLists
  6308. rather than CSSPrimitiveValues as their values.
  6309. * css/CSSParser.h: Added m_hasFontFaceOnlyValues, a flag that says that
  6310. font descriptor property values that are only valid in @font-face were
  6311. encountered. This is used when the style declaration is created (and we
  6312. finally know if it is @font-face or not) to delete invalid properties
  6313. if needed.
  6314. 2008-06-28 Darin Adler <darin@apple.com>
  6315. Reviewed by Sam and Cameron.
  6316. - fix https://bugs.webkit.org/show_bug.cgi?id=19805
  6317. Array.concat turns missing array elements into "undefined"
  6318. * bridge/jni/jni_utility.cpp:
  6319. (KJS::Bindings::convertArrayInstanceToJavaArray):
  6320. Use get instead of getItem, since we always want to consider values from the
  6321. prototypes when looking at JavaScript arrays.
  6322. 2008-06-28 Dan Bernstein <mitz@apple.com>
  6323. Reviewed by Darin Adler.
  6324. - allow document markers to touch or overlap if they are not of the same type
  6325. Cannot be tested in DumpRenderTree
  6326. * dom/Document.cpp:
  6327. (WebCore::Document::addMarker):
  6328. * rendering/InlineTextBox.cpp:
  6329. (WebCore::InlineTextBox::paintDocumentMarkers):
  6330. 2008-06-28 Sam Weinig <sam@webkit.org>
  6331. Rubber-stamped by Darin Adler.
  6332. Update includes after remaming string_object.h to StringObject.h and
  6333. splitting out StringObjectThatMasqueradesAsUndefined, StringConstructor
  6334. and StringPrototype.
  6335. * ForwardingHeaders/kjs/StringObject.h: Copied from WebCore/ForwardingHeaders/kjs/string_object.h.
  6336. * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Added.
  6337. * ForwardingHeaders/kjs/StringPrototype.h: Added.
  6338. * ForwardingHeaders/kjs/string_object.h: Removed.
  6339. * bindings/js/JSCSSStyleDeclarationCustom.cpp:
  6340. 2008-06-28 Sam Weinig <sam@webkit.org>
  6341. Rubber-stamped by Oliver Hunt.
  6342. Update includes after remaming object_object.h to ObjectPrototype.h and
  6343. splitting FunctionConstructor out of FunctionPrototype.h
  6344. * ForwardingHeaders/kjs/FunctionConstructor.h: Added.
  6345. * ForwardingHeaders/kjs/ObjectPrototype.h: Copied from WebCore/ForwardingHeaders/kjs/object_object.h.
  6346. * ForwardingHeaders/kjs/object_object.h: Removed.
  6347. * bindings/js/JSEventListener.cpp:
  6348. * bindings/scripts/CodeGeneratorJS.pm:
  6349. * bridge/qt/qt_instance.cpp:
  6350. 2008-06-28 Dan Bernstein <mitz@apple.com>
  6351. Reviewed by Darin Adler.
  6352. - fix <rdar://problem/5994621> REGRESSION (r31090-r31114): Weather widget shows missing image icons briefly when (re)loaded
  6353. * html/HTMLImageLoader.cpp:
  6354. (WebCore::HTMLImageLoader::updateFromElement): Changed to not load an
  6355. image if the 'src' attribute is the empty string and the document's base
  6356. URI is a file: URL.
  6357. 2008-06-27 Sam Weinig <sam@webkit.org>
  6358. Reviewed by Dan Bernstein.
  6359. <rdar://problem/6025499> Make Cross-site XHR match the final specification
  6360. Update the implemented subset of Access-Control for XMLHttpRequest to the
  6361. latest version. (Editor's Draft 25 May 2008)
  6362. - Now differentiates between simple and non-simple cross-site requests, the later
  6363. requiring a preflight.
  6364. - Now sends request headers cross-site, limited by a blacklist.
  6365. - Now allows access to cross-site response headers, limited by a whitelist.
  6366. - Now sends request entity body for non-get cross-site requests after preflight.
  6367. Tests: http/tests/xmlhttprequest/access-control-basic-blacklist-request-headers.html
  6368. http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple.html
  6369. http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers.html
  6370. * xml/XMLHttpRequest.cpp:
  6371. (WebCore::isOnAccessControllRequestHeaderBlackList):
  6372. (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
  6373. (WebCore::isOnAccessControlResponseHeaderWhitelist):
  6374. (WebCore::XMLHttpRequest::XMLHttpRequest):
  6375. (WebCore::XMLHttpRequest::createRequest):
  6376. (WebCore::XMLHttpRequest::makeSameOriginRequest):
  6377. (WebCore::XMLHttpRequest::isSimpleCrossSiteAccessRequest):
  6378. (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
  6379. (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
  6380. (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
  6381. (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
  6382. (WebCore::XMLHttpRequest::loadRequestAsynchronously):
  6383. (WebCore::XMLHttpRequest::abort):
  6384. (WebCore::XMLHttpRequest::clearRequest):
  6385. (WebCore::XMLHttpRequest::setRequestHeader):
  6386. (WebCore::XMLHttpRequest::setRequestHeaderInternal):
  6387. (WebCore::XMLHttpRequest::getAllResponseHeaders):
  6388. (WebCore::XMLHttpRequest::getResponseHeader):
  6389. (WebCore::XMLHttpRequest::didFinishLoading):
  6390. (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
  6391. (WebCore::XMLHttpRequest::didReceiveResponse):
  6392. (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
  6393. (WebCore::XMLHttpRequest::didReceiveData):
  6394. * xml/XMLHttpRequest.h:
  6395. 2008-06-27 Sam Weinig <sam@webkit.org>
  6396. Rubber-stamped by Mark Rowe.
  6397. Clean up sorting in WebCore.xcodeproj.
  6398. * WebCore.xcodeproj/project.pbxproj:
  6399. 2008-06-27 Jan Michael Alonzo <jmalonzo@webkit.org>
  6400. Reviewed by Darin Adler.
  6401. Remove unnecessary options to make_names.pl command line
  6402. http://bugs.webkit.org/show_bug.cgi?id=19777
  6403. * DerivedSources.make:
  6404. * GNUmakefile.am:
  6405. 2008-06-27 Adam Barth <abarth@webkit.org>
  6406. Reviewed by Darin Adler.
  6407. https://bugs.webkit.org/show_bug.cgi?id=19784
  6408. Properly handle untermianted <!-- comments in <textarea>s.
  6409. Tests: fast/parser/open-comment-in-script-tricky.html
  6410. fast/parser/open-comment-in-style.html
  6411. fast/parser/open-comment-in-textarea.html
  6412. * html/HTMLTokenizer.cpp:
  6413. (WebCore::HTMLTokenizer::finish):
  6414. 2008-06-27 Adam Barth <abarth@webkit.org>
  6415. Reviewed by Darin Alder.
  6416. Fix <https://bugs.webkit.org/show_bug.cgi?id=19784>:
  6417. Text areas in Wikipedia edit pages are empty, following content is missing
  6418. Don't treat entities as comment starters in parseSpecial.
  6419. Tests: fast/parser/comment-in-iframe.html
  6420. fast/parser/entity-comment-in-iframe.html
  6421. fast/parser/entity-comment-in-script-tricky.html
  6422. fast/parser/entity-comment-in-style.html
  6423. fast/parser/entity-comment-in-textarea.html
  6424. fast/parser/entity-comment-in-title.html
  6425. * html/HTMLTokenizer.cpp:
  6426. (WebCore::HTMLTokenizer::parseSpecial):
  6427. 2008-06-27 Antti Koivisto <antti@apple.com>
  6428. Reviewed by Oliver.
  6429. <rdar://problem/6030720>
  6430. REGRESSION: Discrete animation between incompatible paths does not work
  6431. Fall back to discrete path animation if paths are not suitable for morphing.
  6432. Test: svg/custom/animate-path-discrete.svg
  6433. * svg/SVGAnimateElement.cpp:
  6434. (WebCore::SVGAnimateElement::calculateAnimatedValue):
  6435. 2008-06-26 David Smith <catfish.man@gmail.com>
  6436. Reviewed by Sam Weinig.
  6437. https://bugs.webkit.org/show_bug.cgi?id=19002
  6438. Optimize simple id selectors in querySelector/querySelectorAll.
  6439. ~4.4x speedup on the 4 subtests of http://webkit.org/perf/slickspeed/ that it applies to.
  6440. * dom/Document.h:
  6441. (WebCore::Document::containsMultipleElementsWithId): Added to allow optimizing the common case of no duplicates
  6442. * dom/Node.cpp:
  6443. (WebCore::Node::querySelector): Uses getElementById instead of DOM traversal where possible now
  6444. * dom/SelectorNodeList.cpp:
  6445. (WebCore::createSelectorNodeList): Uses getElementById instead of DOM traversal where possible now
  6446. 2008-06-26 Dan Bernstein <mitz@apple.com>
  6447. Reviewed by Darin Adler.
  6448. - fix <rdar://problem/3099526> Find command doesn't search form input controls (textareas and text fields)
  6449. http://bugs.webkit.org/show_bug.cgi?id=7023
  6450. Test: editing/selection/find-in-text-control.html
  6451. * WebCore.base.exp: Updated the TextIterator constructor signature.
  6452. * editing/TextIterator.cpp:
  6453. (WebCore::TextIterator::TextIterator): Added an enterTextControls
  6454. boolean parameter that determines whether the iterator should visit text
  6455. inside text areas and text fields. Added code to initialize the
  6456. m_inShadowContent member variable based on whether the range is in
  6457. shadow content.
  6458. (WebCore::TextIterator::advance): Added code to step out of shadow
  6459. content.
  6460. (WebCore::TextIterator::handleReplacedElement): Added code to enter
  6461. text controls if desired.
  6462. (WebCore::CharacterIterator::CharacterIterator): Added an
  6463. enterTextControls boolean parameter that determines whether the iterator
  6464. should visit text inside text areas and text fields. This is passed to
  6465. the TextIterator constructor.
  6466. (WebCore::findPlainText): Changed to use a CharacterIterator that
  6467. visits text controls.
  6468. * editing/TextIterator.h: Added member variables to track whether the
  6469. current node is in a shadow tree and whether the iterator should visit
  6470. text controls.
  6471. * page/Frame.cpp:
  6472. (WebCore::Frame::findString): Changed to find inside text controls.
  6473. (WebCore::Frame::markAllMatchesForText): Ditto.
  6474. * rendering/RenderTextControl.cpp:
  6475. (WebCore::RenderTextControl::innerTextElement): Added.
  6476. * rendering/RenderTextControl.h: Added innerTextElement(), a private
  6477. accessor method that is accessible to TextIterator through class
  6478. friendship.
  6479. 2008-06-26 Darin Adler <darin@apple.com>
  6480. Reviewed by Geoff.
  6481. * bridge/runtime.h: Added include of JSString.h since jsString will soon
  6482. change to return a JSString*.
  6483. 2008-06-26 Adele Peterson <adele@apple.com>
  6484. Fix suggested by Eric Carlson, added by me, reviewed by Adam.
  6485. Fix for <rdar://problem/5733006> <video> and <audio> element should not prompt user for missing files
  6486. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie):
  6487. Set object with key QTMovieAskUnresolvedDataRefsAttribute to NO in the attributes dictionary passed to -[QTMovie initWithAttributes:]
  6488. 2008-06-26 Sam Weinig <sam@webkit.org>
  6489. Reviewed by John Sullivan.
  6490. <rdar://problem/6031969> Crash in SecurityOrigin code going Forward to a page in the back/forward cache
  6491. * loader/FrameLoader.cpp:
  6492. (WebCore::FrameLoader::open): Make sure to update the SecurityOrigin and URL of the
  6493. DOMWindow when opening a CachedPage.
  6494. 2008-06-26 Eric Seidel <eric@webkit.org>
  6495. Reviewed by Beth Dakin.
  6496. CSS @import statements can cause DocLoader to use
  6497. a dead Frame pointer.
  6498. https://bugs.webkit.org/show_bug.cgi?id=19618
  6499. The fix is to get rid of the Frame pointer on DocLoader.
  6500. I also took this opportunity to clean up Document::detach
  6501. a little to make it clear why we clear the m_frame pointer
  6502. there, and to note that in the future we should stop
  6503. using Node::detach to mean "tear down the whole rendering
  6504. tree and detach from the frame".
  6505. Test: I don't know how to make a good test for this, the test
  6506. we have is network timing dependent and does not make a good
  6507. layout test.
  6508. * dom/Document.cpp:
  6509. (WebCore::Document::Document):
  6510. (WebCore::Document::detach):
  6511. (WebCore::Document::clearFramePointer):
  6512. * dom/Document.h:
  6513. * loader/DocLoader.cpp:
  6514. (WebCore::DocLoader::frame):
  6515. * loader/DocLoader.h:
  6516. 2008-06-26 Anders Carlsson <andersca@apple.com>
  6517. Reviewed by Brady.
  6518. Don't enumerate document.applets trying to determine if a page contains applets.
  6519. Instead, set m_containsPlugIns to true when an applet has been created.
  6520. * loader/FrameLoader.cpp:
  6521. (WebCore::FrameLoader::canCachePage):
  6522. (WebCore::FrameLoader::createJavaAppletWidget):
  6523. 2008-06-26 Alexey Proskuryakov <ap@webkit.org>
  6524. Reviewed by Maciej.
  6525. Make JSGlobalData per-thread.
  6526. * bindings/js/JSDOMBinding.h:
  6527. (WebCore::DOMObject::DOMObject):
  6528. * bindings/js/JSDOMWindowBase.cpp:
  6529. (WebCore::JSDOMWindowBase::JSDOMWindowBase):
  6530. * bridge/runtime_object.cpp:
  6531. (RuntimeObjectImp::RuntimeObjectImp):
  6532. Removed collectOnMainThreadOnly() calls. WebCore objects live in their own heap now, so
  6533. there is no danger for them to be collected on a wrong thread.
  6534. 2008-06-26 Holger Hans Peter Freyther <zecke@selfish.org>
  6535. Reviewed by Simon.
  6536. [svg] Disable plugins for SVG images
  6537. The Qt platform allows to have a plugin factory per Page. Now SVG Images
  6538. are using a Page and dummy/empty clients for Chrome. The only way to get
  6539. the kit from the WebCore::Page is to go through the ChromeClient but this
  6540. is not possible when the ChromeClient is an empty client. This leads to a
  6541. crash in PluginDataQt.cpp. One way to avoid this would have been the
  6542. addition of a rtti like field to ChromeClient to see if it is an empty
  6543. client. The other possibility is to not enable plugins for images.
  6544. The SVGImage relies on the fact that the document is a SVGDocument and
  6545. that the rootElement is a SVGSVGElement. If plugins are used we could
  6546. end up with a PluginDocument and crash badly. Do not try to use plugins
  6547. if plugins are disabled for the WebCore::Page.
  6548. * dom/DOMImplementation.cpp:
  6549. (WebCore::DOMImplementation::createDocument):
  6550. * svg/graphics/SVGImage.cpp:
  6551. (WebCore::SVGImage::dataChanged):
  6552. 2008-06-25 Holger Hans Peter Freyther <zecke@selfish.org>
  6553. Reviewed by Simon.
  6554. CodingStyle fixes
  6555. * platform/graphics/qt/SimpleFontDataQt.cpp:
  6556. (WebCore::SimpleFontData::SimpleFontData):
  6557. 2008-06-25 Holger Hans Peter Freyther <zecke@selfish.org>
  6558. Reviewed by Simon.
  6559. [svg] Make QtWebKit build more of the SVG support
  6560. Add the proper defines and files, update SVGResourceFilterQt.cpp
  6561. to be enabled by the filter option and not by experimental svg support
  6562. * WebCore.pro:
  6563. * svg/graphics/qt/SVGResourceFilterQt.cpp:
  6564. (WebCore::SVGResourceFilter::createPlatformData):
  6565. (WebCore::SVGResourceFilter::prepareFilter):
  6566. 2008-06-25 Sam Weinig <sam@webkit.org>
  6567. Reviewed by Brady Eidson.
  6568. Move XMLHttpRequestState enum into XMLHttpRequest and rename to State.
  6569. * xml/XMLHttpRequest.cpp:
  6570. (WebCore::XMLHttpRequest::readyState):
  6571. (WebCore::XMLHttpRequest::changeState):
  6572. (WebCore::XMLHttpRequest::open):
  6573. * xml/XMLHttpRequest.h:
  6574. (WebCore::XMLHttpRequest::create):
  6575. (WebCore::XMLHttpRequest::):
  6576. 2008-06-25 Justin Garcia <justin.garcia@apple.com>
  6577. Reviewed by John.
  6578. <rdar://problem/5994480> Line break lost on some pastes
  6579. Merging the the first paragraph of inserted content with the content that came
  6580. before the selection that was pasted into would also move content after
  6581. the selection that was pasted into if:
  6582. 1) Only one paragraph was being pasted, and it was not wrapped in a block
  6583. 2) The selection that was pasted into ended at the end of a block
  6584. 3) The next paragraph didn't start at the start of a block.
  6585. Insert a line break just after the inserted content to separate it from what
  6586. comes after and prevent that from happening.
  6587. Doing this exposed a bug in deletion where it would insert an unnecessary placeholder
  6588. when deleting a paragraph that started or ended with an input element. This was
  6589. because its m_startBlock and m_endBlock were still computed with the old deprecated
  6590. enclosingBlockFlowOrTableElement().
  6591. * editing/DeleteSelectionCommand.cpp:
  6592. (WebCore::DeleteSelectionCommand::initializePositionData): Use the new method for
  6593. getting an enclosing block.
  6594. (WebCore::DeleteSelectionCommand::doApply): The new method for getting an enclosing
  6595. block will return 0 if it reaches the root editable element before finding a block,
  6596. so if we're deleting inside an inline editable root, m_start/endBlock will
  6597. be 0. Removed an early return for this case (we already have test coverage for it).
  6598. * editing/ReplaceSelectionCommand.cpp:
  6599. (WebCore::ReplaceSelectionCommand::doApply): Insert a line break just after the inserted
  6600. content to separate it from what comes after.
  6601. * dom/Node.h: Removed enclosingBlockFlowOrTableElement().
  6602. * dom/Node.cpp: Ditto.
  6603. 2008-06-25 Anders Carlsson <andersca@apple.com>
  6604. Reviewed by Dave Hyatt.
  6605. Fix refcount leak in CSSVariablesRule.
  6606. * css/CSSParser.cpp:
  6607. (WebCore::CSSParser::createVariablesRule):
  6608. * css/CSSVariablesRule.h:
  6609. (WebCore::CSSVariablesRule::create):
  6610. (WebCore::CSSVariablesRule::setDeclaration):
  6611. 2008-06-25 Anders Carlsson <andersca@apple.com>
  6612. Reviewed by Mitz.
  6613. <rdar://problem/6007111>
  6614. https://bugs.webkit.org/show_bug.cgi?id=19516
  6615. DOM modification causes Access Violation (NULL pointer?)
  6616. Null check the document element.
  6617. * html/HTMLParser.cpp:
  6618. (WebCore::HTMLParser::handleError):
  6619. 2008-06-25 Dan Bernstein <mitz@apple.com>
  6620. Reviewed by Dave Hyatt.
  6621. - fix <rdar://problem/5873639> REGRESSION (r31620): css2.1/t1506-c525-font-wt-00-b fails on Windows
  6622. - fix https://bugs.webkit.org/show_bug.cgi?id=18863
  6623. <rdar://problem/5908890> weight mappings with @font-face aren't consistent
  6624. Tests: fast/css/font-face-locally-installed.html
  6625. fast/css/font-face-multiple-faces.html
  6626. * WebCore.vcproj/WebCore.vcproj: Added FontTraitsMask.h.
  6627. * WebCore.xcodeproj/project.pbxproj: Ditto.
  6628. * css/CSSFontFace.h:
  6629. Made CSSFontFace store descriptors from the @font-face rule, as follows:
  6630. (WebCore::CSSFontFace::create): Added a FontTraitsMask argument.
  6631. (WebCore::CSSFontFace::traitsMask): Added this accessor.
  6632. (WebCore::CSSFontFace::addRange): Added.
  6633. (WebCore::CSSFontFace::ranges): Added.
  6634. (WebCore::CSSFontFace::UnicodeRange::UnicodeRange):
  6635. (WebCore::CSSFontFace::UnicodeRange::from):
  6636. (WebCore::CSSFontFace::UnicodeRange::to):
  6637. (WebCore::CSSFontFace::CSSFontFace): Added a FontTraitsMask and a vector
  6638. of UnicodeRanges as member variables.
  6639. * css/CSSFontFaceSource.cpp:
  6640. Changed the hash key from the font size alone to the font size and
  6641. the synthetic style bits, needed if the same source supplies different
  6642. synthesized versions.
  6643. (WebCore::CSSFontFaceSource::pruneTable):
  6644. (WebCore::CSSFontFaceSource::getFontData):
  6645. * css/CSSFontFaceSource.h:
  6646. * css/CSSFontSelector.cpp:
  6647. (WebCore::CSSFontSelector::~CSSFontSelector): Added code to delete
  6648. the contents of the font face, locally-installed font face and segmented
  6649. font tables.
  6650. (WebCore::CSSFontSelector::addFontFaceRule): Changed this function to
  6651. not create segmented font faces, but instead just collect font faces
  6652. and annotate them with descriptors (traits and unicode ranges).
  6653. (WebCore::compareFontFaces): Added. Used in getFontData() to sort the
  6654. font faces by proximity to the desired traits.
  6655. (WebCore::CSSFontSelector::getFontData): Changed to create the segmented
  6656. font face here and cache it.
  6657. * css/CSSFontSelector.h:
  6658. * css/CSSSegmentedFontFace.cpp:
  6659. Changed to keep a vector of font faces instead of font face ranges, as
  6660. font faces now know their Unicode ranges.
  6661. (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace):
  6662. (WebCore::CSSSegmentedFontFace::isLoaded):
  6663. (WebCore::CSSSegmentedFontFace::isValid):
  6664. (WebCore::CSSSegmentedFontFace::appendFontFace):
  6665. (WebCore::CSSSegmentedFontFace::getFontData): Removed the synthetic
  6666. traits parameters, and instead changed to set them on each FontData
  6667. separately based on the difference between the desired traits and
  6668. the font face's traits.
  6669. * css/CSSSegmentedFontFace.h:
  6670. * platform/graphics/FontCache.h:
  6671. Removed fontExists() and added getTraitsInFamily().
  6672. * platform/graphics/FontDescription.cpp:
  6673. (WebCore::FontDescription::traitsMask): Added.
  6674. * platform/graphics/FontDescription.h:
  6675. * platform/graphics/FontTraitsMask.h: Added.
  6676. * platform/graphics/GlyphPageTreeNode.cpp:
  6677. (WebCore::GlyphPageTreeNode::initializePage): Changed to fill in with
  6678. glyphs from all fonts in the segmented font, using each font in turn to
  6679. fill in characters not covered by earlier fonts.
  6680. * platform/graphics/gtk/FontCacheGtk.cpp:
  6681. (WebCore::FontCache::getTraitsInFamily): Added a stub.
  6682. * platform/graphics/mac/FontCacheMac.mm:
  6683. (WebCore::FontCache::getTraitsInFamily): Added.
  6684. * platform/graphics/qt/FontCacheQt.cpp:
  6685. (WebCore::FontCache::getTraitsInFamily): Added a stub.
  6686. * platform/graphics/win/FontCacheWin.cpp:
  6687. (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): Added.
  6688. (WebCore::traitsInFamilyEnumProc): Added.
  6689. (WebCore::FontCache::getTraitsInFamily): Added.
  6690. * platform/graphics/wx/FontCacheWx.cpp:
  6691. (WebCore::FontCache::getTraitsInFamily): Added a stub.
  6692. * platform/mac/WebFontCache.h:
  6693. * platform/mac/WebFontCache.mm:
  6694. (toTraitsMask): Added.
  6695. (+[WebFontCache getTraits:inFamily:]): Added.
  6696. 2008-06-24 Anonymous
  6697. Reviewed by Darin Adler. Committed by Adam Barth.
  6698. https://bugs.webkit.org/show_bug.cgi?id=19470
  6699. Check for a null documentElement() to fix four crashes.
  6700. * WebCore/dom/Document.cpp:
  6701. * WebCore/dom/Node.cpp:
  6702. 2008-06-24 Adam Barth <abarth@webkit.org>
  6703. Reviewed by Darin Adler.
  6704. Fix <https://bugs.webkit.org/show_bug.cgi?id=19597>
  6705. Correctly parse <!-- </textarea> --> inside a <textarea>, matching
  6706. Internet Explorer, Firefox, Opera, and HTML 5.
  6707. Tests: fast/parser/comment-in-script-tricky.html
  6708. fast/parser/comment-in-style.html
  6709. fast/parser/comment-in-textarea.html
  6710. fast/parser/comment-in-title.html
  6711. * html/HTMLTokenizer.cpp:
  6712. (WebCore::HTMLTokenizer::parseSpecial):
  6713. 2008-06-24 Justin Garcia <justin.garcia@apple.com>
  6714. Reviewed by John.
  6715. <rdar://problem/6026335> REGRESSION: Caret disappears after deleting a particular selection involving a ToDo
  6716. * editing/CompositeEditCommand.cpp:
  6717. (WebCore::CompositeEditCommand::moveParagraphs): If asked to preserveStyle, we
  6718. apply styles from the moved paragraph to the destination with applyStyle, which
  6719. does selection preservation when it needs to apply block styles. Selection preservation
  6720. uses relatively untested code in TextIterator to count VisiblePositions which fails in
  6721. this particular test case because it doesn't handle changes in editability properly.
  6722. We can avoid this bug by not applying block styles from moved paragraphs. This is
  6723. something that should be done anyway, since the moved paragraph should assume the
  6724. block styles of the destination.
  6725. * editing/EditCommand.cpp:
  6726. (WebCore::EditCommand::styleAtPosition): Added a FIXME about how it is misleading for
  6727. this function to also include the typing style.
  6728. * editing/TextIterator.h: Added a FIXME about how the code path used for selection preservation
  6729. is buggy and should be phased out when we rewrite moveParagraphs.
  6730. 2008-06-24 Kevin McCullough <kmccullough@apple.com>
  6731. -Added a manual test for the profiler.
  6732. * manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Added.
  6733. 2008-06-24 Sam Weinig <sam@webkit.org>
  6734. Reviewed by Anders Carlsson.
  6735. Add support for loadstart, abort and error events for XMLHttpRequests.
  6736. Tests: http/tests/xmlhttprequest/onabort-event.html
  6737. http/tests/xmlhttprequest/onerror-event.html
  6738. http/tests/xmlhttprequest/onloadstart-event.html
  6739. * bindings/js/JSXMLHttpRequestCustom.cpp:
  6740. (WebCore::JSXMLHttpRequest::mark):
  6741. (WebCore::JSXMLHttpRequest::onreadystatechange):
  6742. (WebCore::JSXMLHttpRequest::onabort):
  6743. (WebCore::JSXMLHttpRequest::setOnabort):
  6744. (WebCore::JSXMLHttpRequest::onerror):
  6745. (WebCore::JSXMLHttpRequest::setOnerror):
  6746. (WebCore::JSXMLHttpRequest::onload):
  6747. (WebCore::JSXMLHttpRequest::onloadstart):
  6748. (WebCore::JSXMLHttpRequest::setOnloadstart):
  6749. (WebCore::JSXMLHttpRequest::onprogress):
  6750. * dom/EventNames.h:
  6751. * xml/XMLHttpRequest.cpp:
  6752. (WebCore::XMLHttpRequest::callReadyStateChangeListener):
  6753. (WebCore::XMLHttpRequest::createRequest):
  6754. (WebCore::XMLHttpRequest::abort):
  6755. (WebCore::XMLHttpRequest::networkError):
  6756. (WebCore::XMLHttpRequest::abortError):
  6757. (WebCore::XMLHttpRequest::didFail):
  6758. (WebCore::XMLHttpRequest::updateAndDispatchOnProgress):
  6759. (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
  6760. (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent):
  6761. (WebCore::XMLHttpRequest::dispatchAbortEvent):
  6762. (WebCore::XMLHttpRequest::dispatchErrorEvent):
  6763. (WebCore::XMLHttpRequest::dispatchLoadEvent):
  6764. (WebCore::XMLHttpRequest::dispatchLoadStartEvent):
  6765. (WebCore::XMLHttpRequest::dispatchProgressEvent):
  6766. * xml/XMLHttpRequest.h:
  6767. (WebCore::XMLHttpRequest::setOnAbortListener):
  6768. (WebCore::XMLHttpRequest::onAbortListener):
  6769. (WebCore::XMLHttpRequest::setOnErrorListener):
  6770. (WebCore::XMLHttpRequest::onErrorListener):
  6771. (WebCore::XMLHttpRequest::setOnLoadStartListener):
  6772. (WebCore::XMLHttpRequest::onLoadStartListener):
  6773. * xml/XMLHttpRequest.idl:
  6774. 2008-06-24 Anders Carlsson <andersca@apple.com>
  6775. Reviewed by Mitz.
  6776. <rdar://problem/5957606>
  6777. CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::DocumentLoader::cancelPendingSubstituteLoad + 23
  6778. Remove the loader from the document loader after calling didFail, so that the loader will be deferred corectly
  6779. in case the call do didFail starts a new run loop.
  6780. * loader/NetscapePlugInStreamLoader.cpp:
  6781. (WebCore::NetscapePlugInStreamLoader::didCancel):
  6782. 2008-06-24 Alexey Proskuryakov <ap@webkit.org>
  6783. Release build fix.
  6784. * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
  6785. (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
  6786. * bindings/js/JSCustomSQLTransactionCallback.cpp:
  6787. (WebCore::JSCustomSQLTransactionCallback::handleEvent):
  6788. Initialize callbackCallType, as the compiler is not smart enough to figure out data flow.
  6789. 2008-06-24 Alexey Proskuryakov <ap@webkit.org>
  6790. Reviewed by Darin.
  6791. https://bugs.webkit.org/show_bug.cgi?id=19723
  6792. REGRESSION(r34648): Some SVG tests crash when running under --threaded
  6793. * rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::destroy): Do not attempt
  6794. to paint during document destruction, because rendering structures are not kept in a
  6795. consistent state then.
  6796. 2008-06-24 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
  6797. Reviewed by Darin.
  6798. https://bugs.webkit.org/show_bug.cgi?id=19727
  6799. Return bool from GraphicsContext::getShadow() so the tests aren't duplicated so
  6800. many times in Cairo and Qt ports.
  6801. * platform/graphics/GraphicsContext.h:
  6802. * platform/graphics/GraphicsContext.cpp:
  6803. (WebCore::GraphicsContext::getShadow): return a boolean from getShadow()
  6804. which indicates whether there is a visible shadow to draw or not. Ports
  6805. without a platform shadow implementation can use this flag to determine
  6806. whether a shadow needs to be drawn manually
  6807. * platform/graphics/cairo/FontCairo.cpp:
  6808. (WebCore::Font::drawGlyphs):
  6809. * platform/graphics/qt/FontQt.cpp:
  6810. (WebCore::Font::drawText):
  6811. * platform/graphics/qt/GraphicsContextQt.cpp:
  6812. (WebCore::GraphicsContext::drawLine): use return from getShadow() to
  6813. determine whether to draw the shadow
  6814. 2008-06-24 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
  6815. Reviewed by Simon.
  6816. https://bugs.webkit.org/show_bug.cgi?id=18459
  6817. Clean up and remove unused platform shadow code.
  6818. Minor edits by Simon, removed unused TextShadow struct.
  6819. * platform/graphics/qt/GraphicsContextQt.cpp:
  6820. (WebCore::GraphicsContext::setPlatformShadow):
  6821. (WebCore::GraphicsContext::clearPlatformShadow): Qt doesn't support a
  6822. platform shadow, so just make these functions empty. The shadows are
  6823. drawn manually in function like drawLine(), etc.
  6824. 2008-06-24 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
  6825. Reviewed by Simon.
  6826. https://bugs.webkit.org/show_bug.cgi?id=18459
  6827. Implemented basic text-shadow support for the Qt port.
  6828. * platform/graphics/qt/FontQt.cpp:
  6829. (WebCore::Font::drawText): implement text-shadow support in the Qt port
  6830. * platform/graphics/qt/GraphicsContextQt.cpp:
  6831. (WebCore::GraphicsContext::drawLine): also draw shadows for text
  6832. decorations such as unerlines
  6833. 2008-06-24 Simon Hausmann <hausmann@webkit.org>
  6834. Fix the Qt build, adapt to various JSCore API changes.
  6835. * bridge/qt/qt_instance.cpp:
  6836. (KJS::Bindings::QtRuntimeObjectImp::construct):
  6837. (KJS::Bindings::QtInstance::getRuntimeObject):
  6838. (KJS::Bindings::QtInstance::invokeDefaultMethod):
  6839. * bridge/qt/qt_runtime.cpp:
  6840. (KJS::Bindings::convertQVariantToValue):
  6841. (KJS::Bindings::QtRuntimeMetaMethod::getCallData):
  6842. (KJS::Bindings::QtRuntimeConnectionMethod::call):
  6843. (KJS::Bindings::QtRuntimeConnectionMethod::getCallData):
  6844. (KJS::Bindings::QtConnectionObject::execute):
  6845. * bridge/qt/qt_runtime.h:
  6846. (KJS::Bindings::QtRuntimeConnectionMethod::d_func):
  6847. 2008-06-24 Alexey Proskuryakov <ap@webkit.org>
  6848. Remove XMLHttpRequestProgressEvent.cpp from more project files.
  6849. * GNUmakefile.am:
  6850. * WebCore.pro:
  6851. 2008-06-24 Ariya Hidayat <ariya.hidayat@trolltech.com>
  6852. Reviewed by Simon.
  6853. For the Qt port, fix linking with MinGW.
  6854. * WebCore.pro:
  6855. 2008-06-23 Darin Adler <darin@apple.com>
  6856. Reviewed by Geoff.
  6857. Update for JavaScript changes.
  6858. - Use CallData and ConstructData instead of the obsolete implementsCall,
  6859. callAsFunction, and construct functions.
  6860. - Updated native function arguments, specifically to allow a JSValue
  6861. rather than a JSObject for the this argument, and to call toThisObject
  6862. as needed when treating it as an object.
  6863. - Made some more class members private and protected, including virtual
  6864. function overrides.
  6865. - Eliminated the use of getCallData in the JavaScript bridging code as
  6866. a way to check if an instance supports invokeDefaultMethod.
  6867. - Eliminated unnecessary polymorphism in the NodeIterator and TreeWalker
  6868. classes. They were using virtual functions simply to share an instance
  6869. of the RefCounted template, which was not helpful.
  6870. * bindings/js/JSAudioConstructor.cpp:
  6871. (WebCore::constructAudio):
  6872. (WebCore::JSAudioConstructor::getConstructData):
  6873. * bindings/js/JSAudioConstructor.h:
  6874. (WebCore::JSAudioConstructor::document):
  6875. (WebCore::JSAudioConstructor::classInfo):
  6876. * bindings/js/JSClipboardCustom.cpp:
  6877. (WebCore::JSClipboard::types):
  6878. * bindings/js/JSCustomSQLStatementCallback.cpp:
  6879. (WebCore::JSCustomSQLStatementCallback::handleEvent):
  6880. * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
  6881. (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
  6882. * bindings/js/JSCustomSQLTransactionCallback.cpp:
  6883. (WebCore::JSCustomSQLTransactionCallback::handleEvent):
  6884. * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
  6885. (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
  6886. * bindings/js/JSCustomVoidCallback.cpp:
  6887. (WebCore::JSCustomVoidCallback::handleEvent):
  6888. * bindings/js/JSCustomXPathNSResolver.cpp:
  6889. (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
  6890. * bindings/js/JSDOMBinding.h:
  6891. (WebCore::DOMObject::DOMObject):
  6892. * bindings/js/JSDOMWindowBase.cpp:
  6893. (WebCore::windowProtoFuncAToB):
  6894. (WebCore::windowProtoFuncBToA):
  6895. (WebCore::windowProtoFuncOpen):
  6896. (WebCore::windowProtoFuncSetTimeout):
  6897. (WebCore::windowProtoFuncClearTimeout):
  6898. (WebCore::windowProtoFuncSetInterval):
  6899. (WebCore::windowProtoFuncAddEventListener):
  6900. (WebCore::windowProtoFuncRemoveEventListener):
  6901. (WebCore::windowProtoFuncShowModalDialog):
  6902. (WebCore::windowProtoFuncNotImplemented):
  6903. (WebCore::toJSDOMWindow):
  6904. * bindings/js/JSDOMWindowBase.h:
  6905. * bindings/js/JSDOMWindowShell.h:
  6906. (WebCore::JSDOMWindowShell::classInfo):
  6907. * bindings/js/JSEventListener.cpp:
  6908. (WebCore::JSAbstractEventListener::handleEvent):
  6909. (WebCore::JSLazyEventListener::parseCode):
  6910. * bindings/js/JSEventTargetBase.cpp:
  6911. (WebCore::retrieveEventTargetAndCorrespondingNode):
  6912. (WebCore::jsEventTargetAddEventListener):
  6913. (WebCore::jsEventTargetRemoveEventListener):
  6914. (WebCore::jsEventTargetDispatchEvent):
  6915. * bindings/js/JSEventTargetBase.h:
  6916. * bindings/js/JSHTMLAppletElementCustom.cpp:
  6917. (WebCore::JSHTMLAppletElement::customGetOwnPropertySlot):
  6918. (WebCore::JSHTMLAppletElement::customPut):
  6919. (WebCore::JSHTMLAppletElement::getCallData):
  6920. * bindings/js/JSHTMLCollectionCustom.cpp:
  6921. (WebCore::callHTMLCollection):
  6922. (WebCore::JSHTMLCollection::getCallData):
  6923. * bindings/js/JSHTMLDocumentCustom.cpp:
  6924. (WebCore::JSHTMLDocument::open):
  6925. * bindings/js/JSHTMLEmbedElementCustom.cpp:
  6926. (WebCore::JSHTMLEmbedElement::customGetOwnPropertySlot):
  6927. (WebCore::JSHTMLEmbedElement::customPut):
  6928. (WebCore::JSHTMLEmbedElement::getCallData):
  6929. * bindings/js/JSHTMLInputElementBase.cpp:
  6930. (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
  6931. * bindings/js/JSHTMLInputElementBase.h:
  6932. * bindings/js/JSHTMLObjectElementCustom.cpp:
  6933. (WebCore::JSHTMLObjectElement::customGetOwnPropertySlot):
  6934. (WebCore::JSHTMLObjectElement::customPut):
  6935. (WebCore::JSHTMLObjectElement::getCallData):
  6936. * bindings/js/JSHTMLOptionElementConstructor.cpp:
  6937. (WebCore::constructHTMLOptionElement):
  6938. (WebCore::JSHTMLOptionElementConstructor::getConstructData):
  6939. * bindings/js/JSHTMLOptionElementConstructor.h:
  6940. (WebCore::JSHTMLOptionElementConstructor::document):
  6941. (WebCore::JSHTMLOptionElementConstructor::classInfo):
  6942. * bindings/js/JSImageConstructor.cpp:
  6943. (WebCore::constructImage):
  6944. (WebCore::JSImageConstructor::getConstructData):
  6945. * bindings/js/JSImageConstructor.h:
  6946. (WebCore::JSImageConstructor::document):
  6947. (WebCore::JSImageConstructor::classInfo):
  6948. * bindings/js/JSInspectedObjectWrapper.h:
  6949. (WebCore::JSInspectedObjectWrapper::classInfo):
  6950. * bindings/js/JSInspectorCallbackWrapper.cpp:
  6951. (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
  6952. * bindings/js/JSJavaScriptCallFrameCustom.cpp:
  6953. (WebCore::JSJavaScriptCallFrame::scopeChain):
  6954. * bindings/js/JSNodeFilterCondition.cpp:
  6955. (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
  6956. (WebCore::JSNodeFilterCondition::mark):
  6957. (WebCore::JSNodeFilterCondition::acceptNode):
  6958. * bindings/js/JSNodeFilterCondition.h:
  6959. (WebCore::JSNodeFilterCondition::create):
  6960. * bindings/js/JSNodeFilterCustom.cpp:
  6961. (WebCore::toNodeFilter):
  6962. * bindings/js/JSNodeListCustom.cpp:
  6963. (WebCore::callNodeList):
  6964. (WebCore::JSNodeList::getCallData):
  6965. (WebCore::JSNodeList::canGetItemsForName):
  6966. (WebCore::JSNodeList::nameGetter):
  6967. * bindings/js/JSPluginElementFunctions.cpp:
  6968. (WebCore::runtimeObjectGetter):
  6969. (WebCore::runtimeObjectPropertyGetter):
  6970. (WebCore::runtimeObjectCustomGetOwnPropertySlot):
  6971. (WebCore::runtimeObjectCustomPut):
  6972. (WebCore::runtimeObjectGetCallData):
  6973. (WebCore::pluginInstance):
  6974. (WebCore::getRuntimeObject):
  6975. (WebCore::callPlugin):
  6976. * bindings/js/JSPluginElementFunctions.h:
  6977. * bindings/js/JSQuarantinedObjectWrapper.cpp:
  6978. (WebCore::JSQuarantinedObjectWrapper::put):
  6979. (WebCore::JSQuarantinedObjectWrapper::construct):
  6980. (WebCore::JSQuarantinedObjectWrapper::getConstructData):
  6981. (WebCore::JSQuarantinedObjectWrapper::hasInstance):
  6982. (WebCore::JSQuarantinedObjectWrapper::call):
  6983. (WebCore::JSQuarantinedObjectWrapper::getCallData):
  6984. * bindings/js/JSQuarantinedObjectWrapper.h:
  6985. (WebCore::JSQuarantinedObjectWrapper::className):
  6986. * bindings/js/JSRGBColor.cpp:
  6987. * bindings/js/JSXMLHttpRequestConstructor.cpp:
  6988. (WebCore::constructXMLHttpRequest):
  6989. (WebCore::JSXMLHttpRequestConstructor::getConstructData):
  6990. * bindings/js/JSXMLHttpRequestConstructor.h:
  6991. (WebCore::JSXMLHttpRequestConstructor::document):
  6992. (WebCore::JSXMLHttpRequestConstructor::classInfo):
  6993. * bindings/js/JSXSLTProcessorConstructor.cpp:
  6994. (WebCore::constructXSLTProcessor):
  6995. (WebCore::JSXSLTProcessorConstructor::getConstructData):
  6996. * bindings/js/JSXSLTProcessorConstructor.h:
  6997. (WebCore::JSXSLTProcessorConstructor::classInfo):
  6998. * bindings/js/ScheduledAction.cpp:
  6999. (WebCore::ScheduledAction::ScheduledAction):
  7000. (WebCore::ScheduledAction::execute):
  7001. * bindings/js/ScheduledAction.h:
  7002. * bindings/objc/WebScriptObject.mm:
  7003. (-[WebScriptObject callWebScriptMethod:withArguments:]):
  7004. * bindings/scripts/CodeGeneratorJS.pm:
  7005. * bridge/NP_jsobject.cpp:
  7006. (_NPN_InvokeDefault):
  7007. (_NPN_Invoke):
  7008. * bridge/c/c_instance.cpp:
  7009. (KJS::Bindings::CInstance::supportsInvokeDefaultMethod):
  7010. * bridge/c/c_instance.h:
  7011. * bridge/jni/jni_jsobject.mm:
  7012. (JavaJSObject::call):
  7013. * bridge/objc/objc_instance.h:
  7014. * bridge/objc/objc_instance.mm:
  7015. (ObjcInstance::supportsInvokeDefaultMethod):
  7016. * bridge/objc/objc_runtime.h:
  7017. (KJS::Bindings::ObjcFallbackObjectImp::propertyName):
  7018. (KJS::Bindings::ObjcFallbackObjectImp::classInfo):
  7019. * bridge/objc/objc_runtime.mm:
  7020. (Bindings::webScriptObjectClass):
  7021. (Bindings::webUndefinedClass):
  7022. (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
  7023. (callObjCFallbackObject):
  7024. (ObjcFallbackObjectImp::getCallData):
  7025. * bridge/qt/qt_instance.h:
  7026. * bridge/runtime.cpp:
  7027. (KJS::Bindings::Instance::createRuntimeObject):
  7028. (KJS::Bindings::Instance::getInstance):
  7029. * bridge/runtime.h:
  7030. (KJS::Bindings::Field::~Field):
  7031. (KJS::Bindings::Method::~Method):
  7032. (KJS::Bindings::Class::~Class):
  7033. (KJS::Bindings::Instance::supportsInvokeDefaultMethod):
  7034. * bridge/runtime_method.cpp:
  7035. (KJS::callRuntimeMethod):
  7036. (KJS::RuntimeMethod::getCallData):
  7037. * bridge/runtime_method.h:
  7038. (KJS::RuntimeMethod::methods):
  7039. * bridge/runtime_object.cpp:
  7040. (RuntimeObjectImp::defaultValue):
  7041. (callRuntimeObject):
  7042. (RuntimeObjectImp::getCallData):
  7043. * bridge/runtime_object.h:
  7044. (KJS::RuntimeObjectImp::getInternalInstance):
  7045. (KJS::RuntimeObjectImp::classInfo):
  7046. * dom/NodeIterator.h:
  7047. * dom/Traversal.cpp:
  7048. * dom/Traversal.h:
  7049. * dom/TreeWalker.h:
  7050. 2008-06-23 Adam Barth <abarth@webkit.org>
  7051. Reviewed by Darin Adler.
  7052. https://bugs.webkit.org/show_bug.cgi?id=16756
  7053. Move isAllowedToLoadLocalResources into SecurityOrigin.
  7054. * dom/Document.cpp:
  7055. (WebCore::Document::Document):
  7056. (WebCore::Document::setURL):
  7057. (WebCore::Document::initSecurityContext):
  7058. * dom/Document.h:
  7059. * loader/FrameLoader.cpp:
  7060. (WebCore::FrameLoader::canLoad):
  7061. * platform/SecurityOrigin.cpp:
  7062. (WebCore::SecurityOrigin::SecurityOrigin):
  7063. (WebCore::SecurityOrigin::isLocal):
  7064. * platform/SecurityOrigin.h:
  7065. (WebCore::SecurityOrigin::protocol):
  7066. (WebCore::SecurityOrigin::host):
  7067. (WebCore::SecurityOrigin::domain):
  7068. (WebCore::SecurityOrigin::port):
  7069. (WebCore::SecurityOrigin::canLoadLocalResources):
  7070. (WebCore::SecurityOrigin::grantLoadLocalResources):
  7071. * xml/XMLHttpRequest.cpp:
  7072. (WebCore::XMLHttpRequest::setRequestHeader):
  7073. 2008-06-23 Mark Rowe <mrowe@apple.com>
  7074. Fix the Windows build.
  7075. * WebCore.vcproj/WebCore.vcproj: Add generated files related to CSS variables to the Windows project file.
  7076. 2008-06-23 Steve Falkenburg <sfalken@apple.com>
  7077. Fix a math error in my last change.
  7078. Reviewed by Ada Chan.
  7079. * platform/win/FileSystemWin.cpp:
  7080. (WebCore::openTemporaryFile):
  7081. 2008-06-23 Kevin McCullough <kmccullough@apple.com>
  7082. -Build fix.
  7083. * WebCore.vcproj/WebCore.vcproj:
  7084. 2008-06-23 chris fleizach <cfleizach@apple.com>
  7085. Reviewed by Darin Adler.
  7086. <rdar://problem/6024267> VO unable to read massive emails because AccessibilityObject::lengthForVisiblePositionRange makes the string
  7087. * page/AccessibilityObject.cpp:
  7088. (WebCore::replacedNodeNeedsCharacter):
  7089. (WebCore::AccessibilityObject::stringForVisiblePositionRange):
  7090. (WebCore::AccessibilityObject::lengthForVisiblePositionRange):
  7091. 2008-06-23 Steve Falkenburg <sfalken@apple.com>
  7092. Added our own mechanism for generating temporary file names.
  7093. Reviewed by Ada Chan, Darin Adler.
  7094. * platform/win/FileSystemWin.cpp:
  7095. (WebCore::openTemporaryFile):
  7096. 2008-06-23 Sam Weinig <sam@webkit.org>
  7097. Remove XMLHttpRequestProgressEvent.cpp from project files.
  7098. * WebCore.vcproj/WebCore.vcproj:
  7099. * WebCore.xcodeproj/project.pbxproj:
  7100. * WebCoreSources.bkl:
  7101. 2008-06-23 Sam Weinig <sam@webkit.org>
  7102. Reviewed by Dave Hyatt.
  7103. Remove empty file.
  7104. * xml/XMLHttpRequestProgressEvent.cpp: Removed.
  7105. 2008-06-23 Sam Weinig <sam@webkit.org>
  7106. Rubber-stamped by Tim Hatcher.
  7107. Rename XMLHttpRequest::sameOriginRequest to XMLHttpRequest::makeSameOriginRequest
  7108. and XMLHttpRequest::crossSiteAccessRequest to XMLHttpRequest::makeCrossSiteAccessRequest.
  7109. * xml/XMLHttpRequest.cpp:
  7110. (WebCore::XMLHttpRequest::createRequest):
  7111. (WebCore::XMLHttpRequest::makeSameOriginRequest):
  7112. (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
  7113. * xml/XMLHttpRequest.h:
  7114. 2008-06-23 Sam Weinig <sam@webkit.org>
  7115. Reviewed by Alexey Proskuryakov.
  7116. Some XMLHttpRequest re-organization to aid further enhancements coming soon.
  7117. * bindings/js/JSXMLHttpRequestCustom.cpp:
  7118. (WebCore::JSXMLHttpRequest::send): Explicitly call overloaded versions of send,
  7119. instead of always calling though send(DOMString).
  7120. * dom/Document.idl: Adds native converter.
  7121. * xml/XMLHttpRequest.cpp:
  7122. (WebCore::XMLHttpRequest::open):
  7123. (WebCore::XMLHttpRequest::initSend):
  7124. (WebCore::XMLHttpRequest::send):
  7125. (WebCore::XMLHttpRequest::createRequest):
  7126. (WebCore::XMLHttpRequest::sameOriginRequest):
  7127. (WebCore::XMLHttpRequest::crossSiteAccessRequest):
  7128. (WebCore::XMLHttpRequest::abort):
  7129. (WebCore::XMLHttpRequest::clearResponse):
  7130. (WebCore::XMLHttpRequest::clearRequest):
  7131. (WebCore::XMLHttpRequest::genericError):
  7132. (WebCore::XMLHttpRequest::dispatchProgressEvent):
  7133. * xml/XMLHttpRequest.h:
  7134. (WebCore::XMLHttpRequest::setOnReadyStateChangeListener): Inline.
  7135. (WebCore::XMLHttpRequest::onReadyStateChangeListener): Ditto.
  7136. (WebCore::XMLHttpRequest::setOnLoadListener): Ditto.
  7137. (WebCore::XMLHttpRequest::onLoadListener): Ditto.
  7138. (WebCore::XMLHttpRequest::setOnProgressListener): Ditto.
  7139. (WebCore::XMLHttpRequest::onProgressListener): Ditto.
  7140. Makes the request entity body a member variable so that the send method
  7141. can be more easily broken up.
  7142. 2008-06-23 Timothy Hatcher <timothy@apple.com>
  7143. Make profiles of the same name in the Inspector group in the
  7144. sidebar under a collapsable item that contains all the runs.
  7145. https://bugs.webkit.org/show_bug.cgi?id=19713
  7146. Reviewed by Darin Adler.
  7147. * English.lproj/localizedStrings.js: New strings.
  7148. * page/inspector/Images/profileGroupIcon.png: Added.
  7149. * page/inspector/Images/profileSmallIcon.png: Added.
  7150. * page/inspector/ProfilesPanel.js:
  7151. (WebInspector.ProfilesPanel.prototype.reset): Clear _profileGroups.
  7152. Remove the "some-expandable" class from the sidebarTree.
  7153. (WebInspector.ProfilesPanel.prototype.addProfile): Append new profiles
  7154. that have the same name as a previous profile into a group. When a
  7155. group has 2 profiles a ProfileGroupSidebarTreeElement is made and the
  7156. ProfileSidebarTreeElements are appended to the group's element.
  7157. (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle):
  7158. Return _mainTitle is it is set.
  7159. (WebInspector.ProfileSidebarTreeElement.prototype.set mainTitle):
  7160. Set _mainTitle which is an override title.
  7161. (WebInspector.ProfileGroupSidebarTreeElement): Inherit SidebarTreeElement.
  7162. (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
  7163. Show the last profile in the group when selected.
  7164. * page/inspector/SidebarTreeElement.js:
  7165. (WebInspector.SidebarTreeElement.prototype.get small): Return _small.
  7166. (WebInspector.SidebarTreeElement.prototype.set small): Set _small and
  7167. update the style to match.
  7168. (WebInspector.SidebarTreeElement.prototype.onattach): Set the small
  7169. class if the small property is true.
  7170. * page/inspector/inspector.css: New styles for profiles groups
  7171. and for the small profiles.
  7172. 2008-06-23 Anders Carlsson <andersca@apple.com>
  7173. Reviewed by Geoff.
  7174. Make changedDocuments a HashSet.
  7175. * dom/Document.cpp:
  7176. (WebCore::Document::setDocumentChanged):
  7177. (WebCore::Document::updateDocumentsRendering):
  7178. 2008-06-23 Alexey Proskuryakov <ap@webkit.org>
  7179. Reviewed by Mark Rowe.
  7180. Restore a collectOnMainThreadOnly call that was accidentally removed in r34659. It will not
  7181. be needed when heaps are actually per-thread, but this isn't the case yet, and collecting
  7182. on a different thread causes crashes.
  7183. * bindings/js/JSDOMBinding.h:
  7184. (WebCore::DOMObject::DOMObject):
  7185. 2008-06-22 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
  7186. Reviewed by Darin Adler.
  7187. Fix https://bugs.webkit.org/show_bug.cgi?id=19465
  7188. Bug 19465: Cursor sometimes gets 'stuck' in textareas when trying to navigate with arrow keys
  7189. Test: editing/input/textarea-arrow-navigation.html
  7190. * rendering/RenderText.cpp:
  7191. (WebCore::RenderText::positionForCoordinates): In the case when the next position is to the right
  7192. of the last text box but the text offset is 0, set the affinity to DOWNSTREAM instead of UPSTREAM so
  7193. that the cursor doesn't remain on the previous line.
  7194. 2008-06-22 Robert Blaut <webkit@blaut.biz>
  7195. Reviewed by Darin Adler.
  7196. Fix for https://bugs.webkit.org/show_bug.cgi?id=17421
  7197. Bug 17421: Lack of end tag for SELECT element causes the rest of page to not be rendered
  7198. Test: fast/parser/input-textarea-inside-select-element.html
  7199. * html/HTMLParser.cpp:
  7200. (WebCore::HTMLParser::handleError):
  7201. 2008-06-22 David Krause <david.krause@gmail.com>
  7202. Reviewed by Darin Adler.
  7203. Fix https://bugs.webkit.org/show_bug.cgi?id=19426
  7204. Bug 19426: LOW_BANDWIDTH_DISPLAY build broken
  7205. Change ref to addClient and deref to removeClient in code wrapped
  7206. by USE(LOW_BANDWIDTH_DISPLAY) to match changes in r31834.
  7207. * loader/FrameLoader.cpp:
  7208. (WebCore::FrameLoader::addLowBandwidthDisplayRequest):
  7209. (WebCore::FrameLoader::removeAllLowBandwidthDisplayRequests):
  7210. (WebCore::FrameLoader::notifyFinished):
  7211. 2008-06-22 Robert Blaut <webkit@blaut.biz>
  7212. Reviewed by Darin Adler.
  7213. Fix https://bugs.webkit.org/show_bug.cgi?id=19520
  7214. Bug 19520: WebKit incorrectly accepts hidden as the value of outline-style
  7215. Test: fast/css/outline-hidden-illegal-value.html
  7216. * css/CSSParser.cpp:
  7217. (WebCore::CSSParser::parseValue):
  7218. * rendering/RenderFlow.cpp:
  7219. (WebCore::RenderFlow::paintOutline):
  7220. * rendering/RenderObject.cpp:
  7221. (WebCore::RenderObject::paintOutline):
  7222. * rendering/style/RenderStyle.h:
  7223. (WebCore::RenderStyle::outlineWidth):
  7224. (WebCore::RenderStyle::outlineOffset):
  7225. 2008-06-22 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
  7226. Reviewed by Dan Bernstein.
  7227. Fix https://bugs.webkit.org/show_bug.cgi?id=19675
  7228. Bug 19675: [GTK] negative text-shadows are not rendered
  7229. * platform/graphics/cairo/FontCairo.cpp:
  7230. (WebCore::Font::drawGlyphs): The IntSize::isEmpty() call checks that the
  7231. sizes are > 0, while we need to check for != 0.
  7232. 2008-06-22 kuchhal <kuchhal@yahoo.com>
  7233. Reviewed by Darin Adler.
  7234. Fix https://bugs.webkit.org/show_bug.cgi?id=19696
  7235. Bug 19696: Memory leak in WebCore/editing/DeleteButtonController.cpp
  7236. * editing/DeleteButtonController.cpp:
  7237. (WebCore::DeleteButtonController::createDeletionUI): Delete the Image instance
  7238. if the platform resource could not be loaded.
  7239. 2008-06-22 kuchhal <kuchhal@yahoo.com>
  7240. Reviewed by Darin Adler.
  7241. Fix https://bugs.webkit.org/show_bug.cgi?id=19697
  7242. Bug 19697: Redundant releaseRef causing memory leak
  7243. * platform/win/ClipboardUtilitiesWin.cpp:
  7244. (WebCore::fragmentFromCF_HTML):
  7245. 2008-06-21 Sam Weinig <sam@webkit.org>
  7246. Fix Windows build.
  7247. * bindings/scripts/CodeGeneratorCOM.pm:
  7248. * html/HTMLInputElement.idl:
  7249. 2008-06-21 Timothy Hatcher <timothy@apple.com>
  7250. Fix a typo "new" in the keywords list for hte JavaScript
  7251. syntax highlighter. And adds "get" and "set" to the keyword list.
  7252. Reviewed by Sam Weinig.
  7253. * page/inspector/SourceFrame.js:
  7254. (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
  7255. Fixes the "new" typo and adds "get" and "set".
  7256. 2008-06-21 David Kilzer <ddkilzer@apple.com>
  7257. Bug 7931: Escaped elements within a textarea block can cause the textarea box to be closed prematurely
  7258. <https://bugs.webkit.org/show_bug.cgi?id=7931>
  7259. Reviewed by Darin.
  7260. Tests: fast/parser/entity-end-iframe-tag.html
  7261. fast/parser/entity-end-script-tag.html
  7262. fast/parser/entity-end-style-tag.html
  7263. fast/parser/entity-end-textarea-tag.html
  7264. fast/parser/entity-end-title-tag.html
  7265. fast/parser/entity-end-xmp-tag.html
  7266. Previously the parser accepted end tags for textarea, title and
  7267. iframe elements that contained entity-escaped characters such as
  7268. '&lt;'. The fix is to save the position of the last entity-escaped
  7269. character converted and to use that to make sure the end tag does
  7270. not contain an escaped character.
  7271. Note that this was not an issue for script, style and xmp elements
  7272. since they already ignored entity-escaped characters.
  7273. * html/HTMLTokenizer.cpp:
  7274. (WebCore::HTMLTokenizer::parseSpecial): When looking for a closing
  7275. tag, ignore any text with entity-escaped characters by making sure
  7276. lastDecodedEntityPosition is less than the first character of the
  7277. end tag.
  7278. 2008-06-21 Sam Weinig <sam@webkit.org>
  7279. Reviewed by Dan Bernstein.
  7280. Fix for https://bugs.webkit.org/show_bug.cgi?id=19647
  7281. REGRESSION: Problem with extjs (insertAdjacentHTML)
  7282. Test: fast/dynamic/insertAdjacentHTML-allowed-parents.html
  7283. * html/HTMLElement.cpp:
  7284. (WebCore::HTMLElement::insertAdjacentHTML): Don't use innerHTML logic for creating
  7285. the DocumentFragment from the html string.
  7286. 2008-06-21 Adam Barth <abarth@webkit.org>
  7287. Reviewed by Sam Weinig.
  7288. Log error messages to the console when we deny a request for a URL.
  7289. These error messages do not appear in LayoutTests, but they do
  7290. appear in the WebInspector.
  7291. * dom/XMLTokenizer.cpp:
  7292. (WebCore::shouldAllowExternalLoad):
  7293. * loader/DocLoader.cpp:
  7294. (WebCore::DocLoader::requestResource):
  7295. (WebCore::DocLoader::printAccessDeniedMessage):
  7296. * loader/DocLoader.h:
  7297. * xml/XSLTProcessor.cpp:
  7298. (WebCore::docLoaderFunc):
  7299. 2008-06-21 Adam Barth <abarth@webkit.org>
  7300. Reviewed by Sam Weinig.
  7301. Fix <https://bugs.webkit.org/show_bug.cgi?id=19649>:
  7302. XSL style sheets allowed across origins
  7303. Block cross-orgin loads of XSL style sheets, matching Internet
  7304. Explorer, Firefox, and Opera. Also, we now block loading of XBL
  7305. across origins, matching Firefox. The XBL behavior does not appear
  7306. testable because XBL seems to not be enabled.
  7307. Test: http/tests/security/cross-origin-xsl-BLOCKED.html
  7308. * loader/DocLoader.cpp:
  7309. (WebCore::DocLoader::requestResource):
  7310. 2008-06-21 Brett Wilson <brettw@chromium.org>
  7311. Reviewed by Dave Hyatt.
  7312. - fix https://bugs.webkit.org/show_bug.cgi?id=19542
  7313. <rdar://problem/6007976> Crash in Font::glyphDataForCharacter when getting small caps data
  7314. Adds a NULL check for getting the small caps page of glyph data. The
  7315. page() function can explicitly return null in some cases, and every
  7316. other usage in this function does the check.
  7317. * platform/graphics/Font.cpp:
  7318. (WebCore::Font::glyphDataForCharacter):
  7319. 2008-06-21 Alex Taylor <darwin@milliamp.org>
  7320. Reviewed by Dan Bernstein.
  7321. Fixes <https://bugs.webkit.org/show_bug.cgi?id=12425>
  7322. Adds support for border-radius on legend elements.
  7323. Fieldsets with a legend and rounded borders now have a clipping region set
  7324. around the legend.
  7325. Test: fast/borders/fieldsetBorderRadius.html
  7326. * rendering/RenderFieldset.cpp:
  7327. (WebCore::RenderFieldset::paintBoxDecorations):
  7328. (WebCore::RenderFieldset::paintBorderMinusLegend): Removed a FIXME.
  7329. 2008-06-21 Kevin Ollivier <kevino@theolliviers.com>
  7330. wx build fix. Adding CSSVariable* API sources to the Bakefiles.
  7331. * WebCoreSources.bkl:
  7332. 2008-06-20 Sam Weinig <sam@webkit.org>
  7333. Fix Windows build.
  7334. * bindings/scripts/CodeGeneratorCOM.pm:
  7335. 2008-06-20 Jan Michael Alonzo <jmalonzo@webkit.org>
  7336. Gtk build fix: Add files missing in the previous fix (r34705)
  7337. * GNUmakefile.am:
  7338. 2008-06-20 Dan Bernstein <mitz@apple.com>
  7339. Reviewed by Sam Weinig.
  7340. - fix leak of mask images
  7341. * rendering/RenderObject.cpp:
  7342. (WebCore::RenderObject::arenaDelete): Added a call to removeClient() on
  7343. the mask box image.
  7344. 2008-06-20 Jan Michael Alonzo <jmalonzo@webkit.org>
  7345. Gtk build fix for r34702, r34700 and r34693
  7346. Qt build fix for r34700 and r34693
  7347. * GNUmakefile.am:
  7348. * WebCore.pro:
  7349. * platform/gtk/RenderThemeGtk.cpp:
  7350. * platform/gtk/RenderThemeGtk.h:
  7351. * platform/qt/RenderThemeQt.cpp:
  7352. * platform/qt/RenderThemeQt.h:
  7353. 2008-06-20 Sam Weinig <sam@webkit.org>
  7354. Reviewed by Adele Peterson.
  7355. Add 'files' property to the HTMLInputElement, which returns a FileList object
  7356. (when type=file, null otherwise) containing a list of all the files selected.
  7357. It currently always contains only 0 or 1 files as multifile input is not supported
  7358. yet. The list contains File objects which contains the name and size of the file.
  7359. The inspiration for these interfaces is from:
  7360. - http://developer.mozilla.org/en/docs/nsIDOMFileList
  7361. - http://developer.mozilla.org/en/docs/nsIDOMFile
  7362. Also fixes <rdar://problem/6022802>
  7363. * DerivedSources.make:
  7364. * GNUmakefile.am:
  7365. * WebCore.pro:
  7366. * WebCore.vcproj/WebCore.vcproj:
  7367. * WebCore.xcodeproj/project.pbxproj:
  7368. * WebCoreSources.bkl:
  7369. * bindings/objc/DOMInternal.h:
  7370. * bindings/scripts/CodeGenerator.pm:
  7371. * bindings/scripts/IDLStructure.pm:
  7372. * html/File.cpp: Added.
  7373. (WebCore::File::File):
  7374. (WebCore::File::fileSize):
  7375. * html/File.h: Added.
  7376. (WebCore::File::create):
  7377. (WebCore::File::fileName):
  7378. (WebCore::File::path):
  7379. * html/File.idl: Added.
  7380. * html/FileList.cpp: Added.
  7381. (WebCore::FileList::FileList):
  7382. (WebCore::FileList::item):
  7383. * html/FileList.h: Added.
  7384. (WebCore::FileList::create):
  7385. (WebCore::FileList::length):
  7386. (WebCore::FileList::isEmpty):
  7387. (WebCore::FileList::clear):
  7388. (WebCore::FileList::append):
  7389. * html/FileList.idl: Added.
  7390. * html/HTMLInputElement.cpp:
  7391. (WebCore::HTMLInputElement::setInputType):
  7392. (WebCore::HTMLInputElement::appendFormData):
  7393. (WebCore::HTMLInputElement::value):
  7394. (WebCore::HTMLInputElement::setValue):
  7395. (WebCore::HTMLInputElement::setValueFromRenderer):
  7396. (WebCore::HTMLInputElement::files):
  7397. * html/HTMLInputElement.h:
  7398. * html/HTMLInputElement.idl:
  7399. * page/DOMWindow.idl:
  7400. 2008-06-20 David Hyatt <hyatt@apple.com>
  7401. Make sure CSS variables work inside the inline style attribute.
  7402. Reviewed by Beth
  7403. Added fast/css/variables/inline-style-test.html
  7404. * css/CSSMutableStyleDeclaration.cpp:
  7405. (WebCore::CSSMutableStyleDeclaration::removeProperty):
  7406. (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
  7407. 2008-06-20 David Hyatt <hyatt@apple.com>
  7408. Add support for the CSSVariablesRule and CSSVariablesDeclaration DOM APIs. These allow querying of
  7409. variables names and values, as well as iteration, setting and removal.
  7410. Reviewed by Sam
  7411. Added multiple new tests to fast/css/variables/
  7412. * DerivedSources.make:
  7413. * WebCore.xcodeproj/project.pbxproj:
  7414. * bindings/js/JSCSSRuleCustom.cpp:
  7415. (WebCore::toJS):
  7416. * bindings/objc/DOMInternal.h:
  7417. * bindings/scripts/CodeGeneratorJS.pm:
  7418. * css/CSSPrimitiveValue.cpp:
  7419. (WebCore::CSSPrimitiveValue::parserValue):
  7420. * css/CSSVariablesDeclaration.cpp:
  7421. (WebCore::CSSVariablesDeclaration::removeVariable):
  7422. (WebCore::CSSVariablesDeclaration::setVariable):
  7423. (WebCore::CSSVariablesDeclaration::setCssText):
  7424. (WebCore::CSSVariablesDeclaration::setChanged):
  7425. * css/CSSVariablesDeclaration.h:
  7426. * css/CSSVariablesDeclaration.idl: Added.
  7427. * css/CSSVariablesRule.h:
  7428. * css/CSSVariablesRule.idl: Added.
  7429. 2008-06-20 Kevin McCullough <kmccullough@apple.com>
  7430. Rubber stamped by Adele.
  7431. * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Added.
  7432. 2008-06-20 Kevin McCullough <kmccullough@apple.com>
  7433. Reviewed by Tim.
  7434. <rdar://problem/5958770> JSProfiler: Time incorrectly given to (idle)
  7435. if profiling is started and finished within the same function. (19230)
  7436. - Now we profile one more stack frame up from the last frame to allocate
  7437. the time spent in it, if it exists.
  7438. * page/Console.cpp:
  7439. * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Added.
  7440. (WebCore::Console::profile): When stating the profiler give a client for
  7441. the callback of when the profile actually finishes.
  7442. (WebCore::Console::profileEnd): No longer needs to handle the return of
  7443. the profile object since it will be retruned in the client's callback.
  7444. (WebCore::Console::finishedProfiling): Implemenet the ProfileClient
  7445. callback method.
  7446. * page/Console.h: Inherit from the ProfileClient.
  7447. * page/InspectorController.cpp:
  7448. (WebCore::InspectorController::startUserInitiatedProfiling): Use the
  7449. client callback.
  7450. (WebCore::InspectorController::stopUserInitiatedProfiling): Does not
  7451. need to handle the profile being returned as it is now handled by the
  7452. client callback.
  7453. (WebCore::InspectorController::finishedProfiling): Implement the
  7454. ProfileClient callback method.
  7455. * page/InspectorController.h: Inherit from the ProfileClient.
  7456. 2008-06-20 Timothy Hatcher <timothy@apple.com>
  7457. Makes the JavaScript syntax highlighter process lines in chunks
  7458. so the user interface isn't blocked for large script files.
  7459. https://bugs.webkit.org/show_bug.cgi?id=19677
  7460. Reviewed by Adam Roben.
  7461. * page/inspector/SourceFrame.js:
  7462. (WebInspector.SourceFrame.prototype._addMessageToSource): Use the cells
  7463. property on the row instead of getElementsByTagName.
  7464. (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Use the
  7465. cells property on the row instead of getElementsByTagName. Added
  7466. a nested processChunk function that highlights 10 lines at a time
  7467. This processChunk function is called at an interval of 25ms. The
  7468. code is still highlighted quickly, and the user can't tell it wasn't
  7469. highlighted all at once.
  7470. 2008-06-20 Timothy Hatcher <timothy@apple.com>
  7471. Fixes a bug where the source view in the Resources panel had a
  7472. couple of extra pixels at the bottom when fully scrolled.
  7473. Reviewed by Adam Roben.
  7474. * page/inspector/SourceFrame.js:
  7475. (WebInspector.SourceFrame.prototype.set autoSizesToFitContentHeight):
  7476. Call removeStyleClass instead of addStyleClass for "webkit-height-sized-to-fit"
  7477. when sizing to fit is being disabled.
  7478. * page/inspector/inspector.css:
  7479. (.resource-view.headers-visible .source-view-frame): Added the
  7480. vertical-align: top property to prevent line alignment from adding extra
  7481. pixels on the bottom.
  7482. 2008-06-20 Timothy Hatcher <timothy@apple.com>
  7483. Changed all lineHeight, baselinePosition and verticalPositionHint
  7484. calls to return int instead of short. The short was overflowing
  7485. when a value greater than 32,767 was encountered.
  7486. Fixes: iframes with a height of 32,768px or greater do not layout correctly
  7487. https://bugs.webkit.org/show_bug.cgi?id=19679
  7488. Reviewed by Dave Hyatt.
  7489. Test: fast/css/line-height-overflow.html
  7490. * rendering/RenderBR.cpp:
  7491. (WebCore::RenderBR::baselinePosition):
  7492. * rendering/RenderBR.h:
  7493. * rendering/RenderBlock.cpp:
  7494. (WebCore::RenderBlock::lineHeight):
  7495. * rendering/RenderBlock.h:
  7496. * rendering/RenderFlow.cpp:
  7497. * rendering/RenderFlow.h:
  7498. * rendering/RenderListBox.cpp:
  7499. * rendering/RenderListBox.h:
  7500. * rendering/RenderListMarker.cpp:
  7501. (WebCore::RenderListMarker::lineHeight):
  7502. * rendering/RenderListMarker.h:
  7503. * rendering/RenderObject.cpp:
  7504. (WebCore::RenderObject::verticalPositionHint):
  7505. * rendering/RenderObject.h:
  7506. (WebCore::):
  7507. * rendering/RenderPath.cpp:
  7508. (WebCore::RenderPath::lineHeight):
  7509. * rendering/RenderPath.h:
  7510. * rendering/RenderReplaced.cpp:
  7511. (WebCore::RenderReplaced::lineHeight):
  7512. * rendering/RenderReplaced.h:
  7513. * rendering/RenderSVGContainer.cpp:
  7514. (WebCore::RenderSVGContainer::lineHeight):
  7515. * rendering/RenderSVGContainer.h:
  7516. * rendering/RenderSVGHiddenContainer.cpp:
  7517. (WebCore::RenderSVGHiddenContainer::lineHeight):
  7518. * rendering/RenderSVGHiddenContainer.h:
  7519. * rendering/RenderSVGRoot.cpp:
  7520. (WebCore::RenderSVGRoot::lineHeight):
  7521. * rendering/RenderSVGRoot.h:
  7522. * rendering/RenderSlider.cpp:
  7523. * rendering/RenderSlider.h:
  7524. * rendering/RenderTableCell.cpp:
  7525. * rendering/RenderTableCell.h:
  7526. * rendering/RenderTableCol.h:
  7527. * rendering/RenderTableRow.h:
  7528. * rendering/RenderTableSection.h:
  7529. * rendering/RenderText.cpp:
  7530. * rendering/RenderText.h:
  7531. * rendering/RenderTextControl.cpp:
  7532. * rendering/RenderTextControl.h:
  7533. * rendering/RenderTheme.cpp:
  7534. * rendering/RenderTheme.h:
  7535. * rendering/RenderThemeMac.h:
  7536. * rendering/RenderThemeMac.mm:
  7537. * rendering/RenderThemeSafari.cpp:
  7538. * rendering/RenderThemeSafari.h:
  7539. 2008-06-20 Dan Bernstein <mitz@apple.com>
  7540. Reviewed by Darin Adler.
  7541. - fix https://bugs.webkit.org/show_bug.cgi?id=19519
  7542. <rdar://problem/6007345> DOM modification causes stack exhaustion (BUTTON OBJECT COLGROUP)
  7543. Test: fast/table/prepend-in-anonymous-table.html
  7544. * rendering/RenderBlock.cpp:
  7545. (WebCore::RenderBlock::addChildToFlow): Added code to handle the case
  7546. of inserting before a child that has been wrapped by an anonymous table,
  7547. in which case if the new child is the type that needs to be in a table,
  7548. it is inserted into the table, and otherwise it is inserted before the
  7549. table.
  7550. * rendering/RenderTable.cpp:
  7551. (WebCore::RenderTable::addChild): Added table-column-group alongside
  7552. table-caption as content that can exist inside an anonymous table
  7553. without being wrapped in a table section.
  7554. 2008-06-20 David Hyatt <hyatt@apple.com>
  7555. Allow CSS variables to support arbitrary expressions as values instead of just a single term.
  7556. Reviewed by Sam
  7557. Removed fast/css/variables/single-term-test.html and replaced with multiple-term-test.html
  7558. * css/CSSGrammar.y:
  7559. * css/CSSParser.cpp:
  7560. (WebCore::CSSParser::addVariable):
  7561. * css/CSSParser.h:
  7562. * css/CSSStyleSelector.cpp:
  7563. (WebCore::CSSStyleSelector::addMatchedDeclaration):
  7564. * css/CSSVariablesDeclaration.cpp:
  7565. (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
  7566. (WebCore::CSSVariablesDeclaration::getVariableValue):
  7567. (WebCore::CSSVariablesDeclaration::addParsedVariable):
  7568. (WebCore::CSSVariablesDeclaration::getParsedVariable):
  7569. * css/CSSVariablesDeclaration.h:
  7570. (WebCore::CSSVariablesDeclaration::create):
  7571. 2008-06-19 Dan Bernstein <mitz@apple.com>
  7572. Reviewed by John Sullivan.
  7573. - fix a bug where anonymous tables were inserted in the wrong place
  7574. Tests: tables/mozilla/bugs/bug2479-2.html
  7575. tables/mozilla/bugs/bug278266.html
  7576. tables/mozilla/bugs/bug8411.xml
  7577. * rendering/RenderContainer.cpp:
  7578. (WebCore::RenderContainer::addChild): Changed to create an anonymous
  7579. table and insert it before beforeChild unless the insertion point is
  7580. right after an existing anonymous table, in which case the existing
  7581. table is used.
  7582. 2008-06-19 Justin Garcia <justin.garcia@apple.com>
  7583. Reviewed by Oliver.
  7584. <https://bugs.webkit.org/show_bug.cgi?id=16049>
  7585. execCommand('backColor') fails on collapsed selections
  7586. * editing/EditorCommand.cpp:
  7587. (WebCore::CommandEntry::): Enable BackColor for caret selections, and
  7588. disable ForeColor in plaintext-only regions.
  7589. 2008-06-19 Justin Garcia <justin.garcia@apple.com>
  7590. Reviewed by John.
  7591. <https://bugs.webkit.org/show_bug.cgi?id=19653>
  7592. Typing style lost when creating list from, indenting or outdenting an empty paragraph
  7593. There were two problems. First, moveParagraphs didn't preserve the style of empty paragraphs.
  7594. Second, indent, outdent and list creation returned false from preservesTypingStyle.
  7595. The second problem couldn't be fixed by just adding preservesTypingStyle() { return true; }
  7596. to those commands, though, because of other bugs.
  7597. Cleaned up the implementation of typing style enough to remove FIXMEs for:
  7598. <rdar://problem/3769899> Implementation of typing style needs improvement
  7599. which has actually been closed for some time now anyway.
  7600. * dom/Document.cpp: Removed an unused header.
  7601. * editing/CompositeEditCommand.cpp:
  7602. (WebCore::CompositeEditCommand::moveParagraphs): Preserve the style of an empty paragraph, too.
  7603. * editing/DeleteSelectionCommand.cpp:
  7604. (WebCore::DeleteSelectionCommand::saveTypingStyleState): Removed FIXME.
  7605. (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
  7606. Removed FIXME.
  7607. If there is a typing style to apply after a delete, apply it to any line break that acts as a paragraph
  7608. placeholder, not only one that was inserted by deletion. This fixes a bug where deleting
  7609. <div><b>Bold</b><br></div>, changing the selection and then coming back and typing wouldn't
  7610. produce bold text.
  7611. Don't set the EditCommand's typingStyle, it has been removed (more on that later).
  7612. (WebCore::DeleteSelectionCommand::doApply): We don't need to pass calculateTypingStyleAfterDelete
  7613. the inserted placeholder because it will find it.
  7614. (WebCore::DeleteSelectionCommand::preservesTypingStyle): Normally deletion doesn't preserve the
  7615. typing style that was present before it. For example, type a character, Bold, then delete the
  7616. character and start typing. The Bold typing style shouldn't stick around. We got this right before
  7617. purely by chance. Deletion should preserve a typing style that *it* sets, however.
  7618. * editing/DeleteSelectionCommand.h: No longer need to pass calculateTypingStyleAfterDelete
  7619. the inserted placeholder.
  7620. * editing/EditCommand.cpp:
  7621. (WebCore::EditCommand::apply):
  7622. Clearing or not clearing a removed anchor should not be determined by whether or not a command
  7623. preservesTypingStyle(). For example, the deletion that removed an anchor (and stored it), may
  7624. not preserve the typing style, but that doesn't mean that it should then go and clear the removed
  7625. anchor. All high level commands, and all commands that a TypingCommand spawns, except for
  7626. text insertions, which should restore a removed anchor, should clear it.
  7627. There is no longer a typing style on EditCommand, removed code that cleared it. Code that clears the
  7628. *actual* typing style is now in Editor::appliedEditing, just like before.
  7629. There is no longer a typing style on EditCommand, removed code to set one.
  7630. (WebCore::EditCommand::styleAtPosition): Removed FIXME.
  7631. * editing/EditCommand.h:
  7632. Removed code assosiated with m_typingStyle.
  7633. Made preservesTypingStyle() public, so that we can call it from Editor::appliedEditing().
  7634. * editing/Editor.cpp:
  7635. (WebCore::Editor::appliedEditing):
  7636. Removed code to preserve the removedAnchor during the call to setSelection, because we no longer
  7637. request to clear the typing style with that call. Also removed the FIXME about this.
  7638. Before, a command would set the Frame's typing style by setting its own typingStyle, and then
  7639. letting code here, in appliedEditing pick that up and set it on the Frame. Now, the command
  7640. itself sets the Frame's typing style. Deletion is the only command that does this right now.
  7641. * editing/IndentOutdentCommand.h:
  7642. (WebCore::IndentOutdentCommand::preservesTypingStyle): Added, returns true.
  7643. * editing/InsertLineBreakCommand.cpp:
  7644. (WebCore::InsertLineBreakCommand::doApply): Removed FIXME.
  7645. * editing/InsertListCommand.h:
  7646. (WebCore::InsertListCommand::preservesTypingStyle): Added.
  7647. * editing/InsertParagraphSeparatorCommand.cpp:
  7648. (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Removed FIXME.
  7649. * editing/InsertTextCommand.cpp:
  7650. (WebCore::InsertTextCommand::input): Removed FIXME.
  7651. * editing/ReplaceSelectionCommand.cpp:
  7652. (WebCore::ReplaceSelectionCommand::doApply): Removed FIXME and also added one about clearing
  7653. the typing style here. It seems like it's something that could wait until after the command
  7654. has been performed, since there is no code between this point and the end of the operation
  7655. that queries or uses the typing style.
  7656. 2008-06-19 Dan Bernstein <mitz@apple.com>
  7657. Reviewed by Alexey Proskuryakov.
  7658. - fix crash in CSSStyleDeclaration::copyPropertiesInSet()
  7659. Covered by many editing tests
  7660. * css/CSSStyleDeclaration.cpp:
  7661. (WebCore::CSSStyleDeclaration::copyPropertiesInSet): Re-ordered to avoid
  7662. null pointer deref.
  7663. 2008-06-19 David Hyatt <hyatt@apple.com>
  7664. Fix out of bounds bug in CSSVariablesDeclaration's item() method.
  7665. Reviewed by Sam, Darin
  7666. * css/CSSVariablesDeclaration.cpp:
  7667. (WebCore::CSSVariablesDeclaration::item):
  7668. * css/CSSVariablesDeclaration.h:
  7669. 2008-06-19 John Sullivan <sullivan@apple.com>
  7670. Reviewed by Darin
  7671. Tweak to previous checkin
  7672. * page/FrameView.cpp:
  7673. (WebCore::FrameView::performPostLayoutTasks):
  7674. clear m_firstLayoutCallbackPending before performing callback, to avoid recursion
  7675. 2008-06-19 John Sullivan <sullivan@apple.com>
  7676. Reviewed by Darin
  7677. - fixed <rdar://problem/6021353> Assertion failure (!root->needsLayout()) after certain steps
  7678. The didFirstLayout callback was called in a place where trouble would ensue if the client
  7679. did any work that would cause the layout to be dirtied. Fixed by delaying the callback
  7680. until performPostLayoutTasks.
  7681. * page/FrameView.cpp:
  7682. new m_firstLayoutCallbackPending instance member variable in FrameViewPrivate
  7683. (WebCore::FrameViewPrivate::reset):
  7684. set m_firstLayoutCallbackPending to false
  7685. (WebCore::FrameView::layout):
  7686. set m_firstLayoutCallbackPending instead of a local variable; don't do didFirstLayout callback here
  7687. (WebCore::FrameView::performPostLayoutTasks):
  7688. if m_firstLayoutCallbackPending is set, do didFirstLayout callback here, then clear m_firstLayoutCallbackPending
  7689. 2008-06-19 David Hyatt <hyatt@apple.com>
  7690. Implement some cleanup of CSS variables based off Darin's review comments.
  7691. Reviewed by darin
  7692. * css/CSSParser.cpp:
  7693. (WebCore::CSSParser::parseVariable):
  7694. (WebCore::CSSParser::checkForVariables):
  7695. (WebCore::CSSParser::addUnresolvedProperty):
  7696. * css/CSSStyleSelector.cpp:
  7697. (WebCore::CSSStyleSelector::addMatchedDeclaration):
  7698. * css/CSSVariableDependentValue.h:
  7699. * css/CSSVariablesRule.cpp:
  7700. (WebCore::CSSVariablesRule::CSSVariablesRule):
  7701. 2008-06-19 John Sullivan <sullivan@apple.com>
  7702. Rubber-stamped by Dan
  7703. Prepended all FrameViewPrivate instance member variables with "m_" (in preparation
  7704. for adding a new one in a future patch)
  7705. * page/FrameView.cpp:
  7706. (WebCore::FrameViewPrivate::FrameViewPrivate):
  7707. (WebCore::FrameViewPrivate::reset):
  7708. (WebCore::FrameView::~FrameView):
  7709. (WebCore::FrameView::resetScrollbars):
  7710. (WebCore::FrameView::didFirstLayout):
  7711. (WebCore::FrameView::initScrollbars):
  7712. (WebCore::FrameView::layoutCount):
  7713. (WebCore::FrameView::needsFullRepaint):
  7714. (WebCore::FrameView::layoutRoot):
  7715. (WebCore::FrameView::layout):
  7716. (WebCore::FrameView::scrollTo):
  7717. (WebCore::FrameView::useSlowRepaints):
  7718. (WebCore::FrameView::setUseSlowRepaints):
  7719. (WebCore::FrameView::removeSlowRepaintObject):
  7720. (WebCore::FrameView::setScrollbarsMode):
  7721. (WebCore::FrameView::setVScrollbarMode):
  7722. (WebCore::FrameView::setHScrollbarMode):
  7723. (WebCore::FrameView::scheduleRelayout):
  7724. (WebCore::FrameView::scheduleRelayoutOfSubtree):
  7725. (WebCore::FrameView::layoutPending):
  7726. (WebCore::FrameView::needsLayout):
  7727. (WebCore::FrameView::unscheduleRelayout):
  7728. (WebCore::FrameView::isTransparent):
  7729. (WebCore::FrameView::setTransparent):
  7730. (WebCore::FrameView::baseBackgroundColor):
  7731. (WebCore::FrameView::setBaseBackgroundColor):
  7732. (WebCore::FrameView::performPostLayoutTasks):
  7733. (WebCore::FrameView::updateOverflowStatus):
  7734. 2008-06-19 David Hyatt <hyatt@apple.com>
  7735. Add initial support for CSS variables. Non-dynamic cases should (hopefully) all work. Things will get
  7736. confused if you use the CSS OM to remove variables/inject variables, etc. In addition no DOM APIs are
  7737. exposed yet for the new variable interfaces.
  7738. Reviewed by Beth
  7739. Added many tests to fast/css/variables/
  7740. * WebCore.xcodeproj/project.pbxproj:
  7741. * css/CSSFunctionValue.cpp: Added.
  7742. (WebCore::CSSFunctionValue::CSSFunctionValue):
  7743. (WebCore::CSSFunctionValue::~CSSFunctionValue):
  7744. (WebCore::CSSFunctionValue::cssText):
  7745. (WebCore::CSSFunctionValue::parserValue):
  7746. * css/CSSFunctionValue.h: Added.
  7747. (WebCore::CSSFunctionValue::create):
  7748. * css/CSSGrammar.y:
  7749. * css/CSSMutableStyleDeclaration.cpp:
  7750. (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
  7751. (WebCore::CSSMutableStyleDeclaration::copy):
  7752. * css/CSSMutableStyleDeclaration.h:
  7753. (WebCore::CSSMutableStyleDeclaration::create):
  7754. (WebCore::CSSMutableStyleDeclaration::hasVariableDependentValue):
  7755. * css/CSSParser.cpp:
  7756. (WebCore::equal):
  7757. (WebCore::equalIgnoringCase):
  7758. (WebCore::CSSParser::~CSSParser):
  7759. (WebCore::CSSParserString::lower):
  7760. (WebCore::CSSParser::document):
  7761. (WebCore::CSSParser::validUnit):
  7762. (WebCore::unitFromString):
  7763. (WebCore::CSSParser::checkForOrphanedUnits):
  7764. (WebCore::CSSParser::parseValue):
  7765. (WebCore::CSSParser::parseFillShorthand):
  7766. (WebCore::CSSParser::parseTransitionShorthand):
  7767. (WebCore::CSSParser::parseContent):
  7768. (WebCore::CSSParser::parseFillImage):
  7769. (WebCore::CSSParser::parseFillPosition):
  7770. (WebCore::CSSParser::parseFillSize):
  7771. (WebCore::CSSParser::parseFillProperty):
  7772. (WebCore::CSSParser::parseTransitionDuration):
  7773. (WebCore::CSSParser::parseTransitionRepeatCount):
  7774. (WebCore::CSSParser::parseTimingFunctionValue):
  7775. (WebCore::CSSParser::parseTransitionTimingFunction):
  7776. (WebCore::CSSParser::parseTransitionProperty):
  7777. (WebCore::skipCommaInDashboardRegion):
  7778. (WebCore::CSSParser::parseDashboardRegions):
  7779. (WebCore::CSSParser::parseCounterContent):
  7780. (WebCore::CSSParser::parseShape):
  7781. (WebCore::CSSParser::parseFont):
  7782. (WebCore::CSSParser::parseFontFamily):
  7783. (WebCore::CSSParser::parseFontFaceSrc):
  7784. (WebCore::CSSParser::parseFontFaceUnicodeRange):
  7785. (WebCore::CSSParser::parseColorParameters):
  7786. (WebCore::CSSParser::parseHSLParameters):
  7787. (WebCore::CSSParser::parseColor):
  7788. (WebCore::CSSParser::parseColorFromValue):
  7789. (WebCore::ShadowParseContext::commitLength):
  7790. (WebCore::CSSParser::parseShadow):
  7791. (WebCore::CSSParser::parseReflect):
  7792. (WebCore::BorderImageParseContext::commitNumber):
  7793. (WebCore::BorderImageParseContext::commitWidth):
  7794. (WebCore::BorderImageParseContext::commitBorderImage):
  7795. (WebCore::CSSParser::parseBorderImage):
  7796. (WebCore::CSSParser::parseCounter):
  7797. (WebCore::parseGradientPoint):
  7798. (WebCore::parseGradientColorStop):
  7799. (WebCore::CSSParser::parseGradient):
  7800. (WebCore::CSSParser::parseCanvas):
  7801. (WebCore::TransformOperationInfo::TransformOperationInfo):
  7802. (WebCore::CSSParser::parseTransform):
  7803. (WebCore::CSSParser::lex):
  7804. (WebCore::CSSParser::text):
  7805. (WebCore::CSSParser::createFloatingValueList):
  7806. (WebCore::CSSParser::sinkFloatingValueList):
  7807. (WebCore::CSSParser::createFloatingFunction):
  7808. (WebCore::CSSParser::sinkFloatingFunction):
  7809. (WebCore::CSSParser::sinkFloatingValue):
  7810. (WebCore::CSSParser::createFloatingMediaQueryExp):
  7811. (WebCore::CSSParser::createCharsetRule):
  7812. (WebCore::CSSParser::createImportRule):
  7813. (WebCore::CSSParser::createVariablesRule):
  7814. (WebCore::CSSParser::addVariable):
  7815. (WebCore::CSSParser::clearVariables):
  7816. (WebCore::CSSParser::parseVariable):
  7817. (WebCore::CSSParser::parsePropertyWithResolvedVariables):
  7818. (WebCore::CSSParser::checkForVariables):
  7819. (WebCore::CSSParser::addUnresolvedProperty):
  7820. (WebCore::cssPropertyID):
  7821. (WebCore::cssValueKeywordID):
  7822. * css/CSSParser.h:
  7823. * css/CSSParserValues.cpp: Added.
  7824. (WebCore::CSSParserValueList::~CSSParserValueList):
  7825. (WebCore::CSSParserValueList::addValue):
  7826. (WebCore::CSSParserValueList::deleteValueAt):
  7827. (WebCore::CSSParserValue::createCSSValue):
  7828. * css/CSSParserValues.h: Added.
  7829. (WebCore::CSSParserString::operator String):
  7830. (WebCore::CSSParserString::operator AtomicString):
  7831. (WebCore::CSSParserValue::):
  7832. (WebCore::CSSParserValueList::CSSParserValueList):
  7833. (WebCore::CSSParserValueList::size):
  7834. (WebCore::CSSParserValueList::current):
  7835. (WebCore::CSSParserValueList::next):
  7836. (WebCore::CSSParserValueList::valueAt):
  7837. (WebCore::CSSParserValueList::clear):
  7838. (WebCore::CSSParserValueList::containsVariables):
  7839. (WebCore::CSSParserFunction::~CSSParserFunction):
  7840. * css/CSSPrimitiveValue.cpp:
  7841. (WebCore::CSSPrimitiveValue::getStringValue):
  7842. (WebCore::CSSPrimitiveValue::cssText):
  7843. (WebCore::CSSPrimitiveValue::parserValue):
  7844. * css/CSSPrimitiveValue.h:
  7845. (WebCore::CSSPrimitiveValue::):
  7846. (WebCore::CSSPrimitiveValue::setPrimitiveType):
  7847. * css/CSSRule.h:
  7848. (WebCore::CSSRule::):
  7849. * css/CSSRule.idl:
  7850. * css/CSSStyleDeclaration.cpp:
  7851. (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
  7852. * css/CSSStyleSelector.cpp:
  7853. (WebCore::CSSStyleSelector::addMatchedDeclaration):
  7854. (WebCore::CSSStyleSelector::addVariables):
  7855. (WebCore::CSSStyleSelector::resolveVariableDependentValue):
  7856. (WebCore::CSSRuleSet::addRulesFromSheet):
  7857. (WebCore::CSSStyleSelector::applyDeclarations):
  7858. * css/CSSStyleSelector.h:
  7859. * css/CSSValue.h:
  7860. (WebCore::CSSValue::isVariableDependentValue):
  7861. (WebCore::CSSValue::parserValue):
  7862. * css/CSSValueList.cpp:
  7863. (WebCore::CSSValueList::CSSValueList):
  7864. (WebCore::CSSValueList::createParserValueList):
  7865. * css/CSSValueList.h:
  7866. (WebCore::CSSValueList::createFromParserValueList):
  7867. * css/CSSVariableDependentValue.cpp: Added.
  7868. (WebCore::CSSVariableDependentValue::CSSVariableDependentValue):
  7869. (WebCore::CSSVariableDependentValue::~CSSVariableDependentValue):
  7870. (WebCore::CSSVariableDependentValue::cssText):
  7871. * css/CSSVariableDependentValue.h: Added.
  7872. (WebCore::CSSVariableDependentValue::create):
  7873. (WebCore::CSSVariableDependentValue::isVariableDependentValue):
  7874. (WebCore::CSSVariableDependentValue::valueList):
  7875. * css/CSSVariablesDeclaration.cpp: Added.
  7876. (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
  7877. (WebCore::CSSVariablesDeclaration::~CSSVariablesDeclaration):
  7878. (WebCore::CSSVariablesDeclaration::getVariableValue):
  7879. (WebCore::CSSVariablesDeclaration::removeVariable):
  7880. (WebCore::CSSVariablesDeclaration::setVariable):
  7881. (WebCore::CSSVariablesDeclaration::addParsedVariable):
  7882. (WebCore::CSSVariablesDeclaration::getParsedVariable):
  7883. (WebCore::CSSVariablesDeclaration::length):
  7884. (WebCore::CSSVariablesDeclaration::item):
  7885. (WebCore::CSSVariablesDeclaration::parentRule):
  7886. (WebCore::CSSVariablesDeclaration::cssText):
  7887. * css/CSSVariablesDeclaration.h: Added.
  7888. (WebCore::CSSVariablesDeclaration::create):
  7889. * css/CSSVariablesRule.cpp: Added.
  7890. (WebCore::CSSVariablesRule::CSSVariablesRule):
  7891. (WebCore::CSSVariablesRule::~CSSVariablesRule):
  7892. (WebCore::CSSVariablesRule::cssText):
  7893. * css/CSSVariablesRule.h: Added.
  7894. (WebCore::CSSVariablesRule::media):
  7895. (WebCore::CSSVariablesRule::variables):
  7896. (WebCore::CSSVariablesRule::type):
  7897. (WebCore::CSSVariablesRule::isVariablesRule):
  7898. (WebCore::CSSVariablesRule::setDeclaration):
  7899. * css/MediaQueryExp.cpp:
  7900. (WebCore::MediaQueryExp::MediaQueryExp):
  7901. * css/MediaQueryExp.h:
  7902. * css/SVGCSSParser.cpp:
  7903. (WebCore::CSSParser::parseSVGValue):
  7904. (WebCore::CSSParser::parseSVGStrokeDasharray):
  7905. * css/StyleBase.h:
  7906. (WebCore::StyleBase::isVariablesRule):
  7907. * css/tokenizer.flex:
  7908. 2008-06-19 Julien Chaffraix <jchaffraix@webkit.org>
  7909. Reviewed by Darin.
  7910. Bug 19529 : Empty clients need to be refactored
  7911. https://bugs.webkit.org/show_bug.cgi?id=19529
  7912. - SVGImageEmptyClients' refactoring in order to be able to use them for other
  7913. elements.
  7914. - Trimmed empty spaces that were pointed out by git.
  7915. * WebCore.xcodeproj/project.pbxproj:
  7916. * loader/EmptyClients.h: Copied from WebCore/svg/graphics/SVGImageEmptyClients.h.
  7917. (WebCore::EmptyChromeClient::~EmptyChromeClient):
  7918. (WebCore::EmptyFrameLoaderClient::~EmptyFrameLoaderClient):
  7919. (WebCore::EmptyEditorClient::~EmptyEditorClient):
  7920. (WebCore::EmptyEditorClient::smartInsertDeleteEnabled):
  7921. (WebCore::EmptyContextMenuClient::~EmptyContextMenuClient):
  7922. (WebCore::EmptyDragClient::~EmptyDragClient):
  7923. (WebCore::EmptyDragClient::createDragImageForLink):
  7924. (WebCore::EmptyInspectorClient::~EmptyInspectorClient):
  7925. Renamed SVGImageEmpty*Client classes to Empty*Client.
  7926. * svg/graphics/SVGImage.cpp:
  7927. (WebCore::SVGImage::dataChanged):
  7928. * svg/graphics/SVGImageEmptyClients.h: Removed.
  7929. 2008-06-19 Dan Bernstein <mitz@apple.com>
  7930. Reviewed by Darin Adler.
  7931. - fix <rdar://problem/6008098> REGRESSION: Crash at FontFallbackList::fontDataAt()
  7932. Test: fast/css/font-face-multiple-families.html
  7933. Made changes to reflect the fact that the relationship between
  7934. CSSFontFace and CSSSegmentedFontFace is in fact many-to-many.
  7935. * css/CSSFontFace.cpp:
  7936. (WebCore::CSSFontFace::addedToSegmentedFontFace): Added.
  7937. (WebCore::CSSFontFace::removedFromSegmentedFontFace): Added.
  7938. (WebCore::CSSFontFace::fontLoaded): Changed to notify all segmented font
  7939. faces that include this font face.
  7940. (WebCore::CSSFontFace::getFontData): Updated to get the font selector
  7941. from one of the segmented font faces.
  7942. * css/CSSFontFace.h:
  7943. (WebCore::CSSFontFace::CSSFontFace):
  7944. * css/CSSFontSelector.cpp:
  7945. (WebCore::CSSFontSelector::addFontFaceRule): Fixed the direct cause of
  7946. the crash, namely releasing the font face when adding it to the first
  7947. family that uses it, making it impossible to add it to the second and
  7948. onwards families.
  7949. * css/CSSSegmentedFontFace.cpp:
  7950. (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace): Added code to
  7951. call CSSFontFace::removedFromSegmentedFontFace().
  7952. (WebCore::CSSSegmentedFontFace::overlayRange): Added code to call
  7953. CSSFontFace::{addedTo, removedFrom}SegmentedFontFace().
  7954. 2008-06-19 Alexey Proskuryakov <ap@webkit.org>
  7955. Qt build fix.
  7956. * bridge/qt/qt_runtime.h: Include completion.h.
  7957. 2008-06-17 Alexey Proskuryakov <ap@webkit.org>
  7958. Reviewed by Darin.
  7959. Prepare JavaScript heap for being per-thread.
  7960. * ForwardingHeaders/kjs/JSGlobalData.h: Added.
  7961. * bindings/js/GCController.cpp:
  7962. (WebCore::collect):
  7963. (WebCore::GCController::gcTimerFired):
  7964. (WebCore::GCController::garbageCollectNow):
  7965. * bindings/js/JSAudioConstructor.cpp:
  7966. (WebCore::JSAudioConstructor::JSAudioConstructor):
  7967. * bindings/js/JSCSSRuleCustom.cpp:
  7968. (WebCore::toJS):
  7969. * bindings/js/JSCSSStyleDeclarationCustom.cpp:
  7970. (WebCore::JSCSSStyleDeclaration::nameGetter):
  7971. * bindings/js/JSCSSValueCustom.cpp:
  7972. (WebCore::toJS):
  7973. * bindings/js/JSCanvasPixelArrayCustom.cpp:
  7974. (WebCore::JSCanvasPixelArray::indexGetter):
  7975. (WebCore::toJS):
  7976. * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
  7977. (WebCore::toJS):
  7978. * bindings/js/JSClipboardCustom.cpp:
  7979. (WebCore::JSClipboard::types):
  7980. (WebCore::JSClipboard::getData):
  7981. * bindings/js/JSCustomXPathNSResolver.cpp:
  7982. (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
  7983. * bindings/js/JSDOMApplicationCacheCustom.cpp:
  7984. (WebCore::JSDOMApplicationCache::addEventListener):
  7985. (WebCore::JSDOMApplicationCache::removeEventListener):
  7986. (WebCore::JSDOMApplicationCache::setOnchecking):
  7987. (WebCore::JSDOMApplicationCache::setOnerror):
  7988. (WebCore::JSDOMApplicationCache::setOnnoupdate):
  7989. (WebCore::JSDOMApplicationCache::setOndownloading):
  7990. (WebCore::JSDOMApplicationCache::setOnprogress):
  7991. (WebCore::JSDOMApplicationCache::setOnupdateready):
  7992. (WebCore::JSDOMApplicationCache::setOncached):
  7993. * bindings/js/JSDOMBinding.cpp:
  7994. (WebCore::jsStringOrNull):
  7995. (WebCore::jsOwnedStringOrNull):
  7996. (WebCore::jsStringOrUndefined):
  7997. (WebCore::jsStringOrFalse):
  7998. (WebCore::nonCachingStaticFunctionGetter):
  7999. (WebCore::objectToStringFunctionGetter):
  8000. * bindings/js/JSDOMBinding.h:
  8001. (WebCore::DOMObject::DOMObject):
  8002. (WebCore::cacheDOMObject):
  8003. (WebCore::cacheSVGDOMObject):
  8004. * bindings/js/JSDOMWindowBase.cpp:
  8005. (WebCore::JSDOMWindowBase::JSDOMWindowBase):
  8006. (WebCore::JSDOMWindowBase::getValueProperty):
  8007. (WebCore::JSDOMWindowBase::setListener):
  8008. (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
  8009. (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
  8010. (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
  8011. (WebCore::windowProtoFuncAToB):
  8012. (WebCore::windowProtoFuncBToA):
  8013. (WebCore::windowProtoFuncSetTimeout):
  8014. (WebCore::windowProtoFuncSetInterval):
  8015. (WebCore::windowProtoFuncAddEventListener):
  8016. * bindings/js/JSDOMWindowBase.h:
  8017. * bindings/js/JSDOMWindowShell.cpp:
  8018. (WebCore::JSDOMWindowShell::operator new):
  8019. * bindings/js/JSDOMWindowShell.h:
  8020. * bindings/js/JSDocumentCustom.cpp:
  8021. (WebCore::toJS):
  8022. * bindings/js/JSElementCustom.cpp:
  8023. (WebCore::toJSNewlyCreated):
  8024. * bindings/js/JSEventCustom.cpp:
  8025. (WebCore::toJS):
  8026. * bindings/js/JSEventListener.cpp:
  8027. (WebCore::JSLazyEventListener::eventParameterName):
  8028. (WebCore::JSLazyEventListener::parseCode):
  8029. * bindings/js/JSEventTargetBase.cpp:
  8030. (WebCore::jsEventTargetAddEventListener):
  8031. * bindings/js/JSEventTargetBase.h:
  8032. (WebCore::JSEventTargetPrototype::self):
  8033. * bindings/js/JSEventTargetNode.cpp:
  8034. (WebCore::JSEventTargetNode::setListener):
  8035. * bindings/js/JSHTMLCollectionCustom.cpp:
  8036. (WebCore::getNamedItems):
  8037. (WebCore::toJS):
  8038. * bindings/js/JSHTMLFormElementCustom.cpp:
  8039. (WebCore::JSHTMLFormElement::nameGetter):
  8040. * bindings/js/JSHTMLInputElementBase.cpp:
  8041. (WebCore::JSHTMLInputElementBase::getValueProperty):
  8042. * bindings/js/JSHTMLOptionElementConstructor.cpp:
  8043. (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
  8044. * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
  8045. (WebCore::JSHTMLOptionsCollection::length):
  8046. * bindings/js/JSInspectedObjectWrapper.cpp:
  8047. (WebCore::JSInspectedObjectWrapper::wrap):
  8048. * bindings/js/JSInspectorCallbackWrapper.cpp:
  8049. (WebCore::JSInspectorCallbackWrapper::wrap):
  8050. * bindings/js/JSLocationCustom.cpp:
  8051. (WebCore::JSLocation::toString):
  8052. * bindings/js/JSNamedNodesCollection.cpp:
  8053. (WebCore::JSNamedNodesCollection::lengthGetter):
  8054. * bindings/js/JSNavigatorCustom.cpp:
  8055. (WebCore::JSNavigator::appVersion):
  8056. * bindings/js/JSNodeCustom.cpp:
  8057. (WebCore::createWrapper):
  8058. * bindings/js/JSNodeFilterCustom.cpp:
  8059. (WebCore::JSNodeFilter::acceptNode):
  8060. * bindings/js/JSPluginElementFunctions.cpp:
  8061. (WebCore::getRuntimeObject):
  8062. * bindings/js/JSRGBColor.cpp:
  8063. (WebCore::getJSRGBColor):
  8064. * bindings/js/JSSQLResultSetRowListCustom.cpp:
  8065. (WebCore::JSSQLResultSetRowList::item):
  8066. * bindings/js/JSSVGLazyEventListener.cpp:
  8067. (WebCore::JSSVGLazyEventListener::eventParameterName):
  8068. * bindings/js/JSStorageCustom.cpp:
  8069. (WebCore::JSStorage::nameGetter):
  8070. * bindings/js/JSStyleSheetCustom.cpp:
  8071. (WebCore::toJS):
  8072. * bindings/js/JSTextCustom.cpp:
  8073. (WebCore::toJSNewlyCreated):
  8074. * bindings/js/JSXMLHttpRequestConstructor.cpp:
  8075. (WebCore::JSXMLHttpRequestConstructor::construct):
  8076. * bindings/js/JSXMLHttpRequestCustom.cpp:
  8077. (WebCore::JSXMLHttpRequest::setOnreadystatechange):
  8078. (WebCore::JSXMLHttpRequest::setOnload):
  8079. (WebCore::JSXMLHttpRequest::setOnprogress):
  8080. (WebCore::JSXMLHttpRequest::getResponseHeader):
  8081. (WebCore::JSXMLHttpRequest::addEventListener):
  8082. (WebCore::JSXMLHttpRequest::removeEventListener):
  8083. * bindings/js/JSXSLTProcessorConstructor.cpp:
  8084. (WebCore::JSXSLTProcessorConstructor::construct):
  8085. * bindings/js/JSXSLTProcessorCustom.cpp:
  8086. (WebCore::JSXSLTProcessor::getParameter):
  8087. * bindings/scripts/CodeGeneratorJS.pm:
  8088. * bridge/c/c_instance.cpp:
  8089. (KJS::Bindings::CInstance::defaultValue):
  8090. (KJS::Bindings::CInstance::stringValue):
  8091. (KJS::Bindings::CInstance::numberValue):
  8092. (KJS::Bindings::CInstance::valueOf):
  8093. * bridge/c/c_instance.h:
  8094. * bridge/c/c_utility.cpp:
  8095. (KJS::Bindings::convertNPVariantToValue):
  8096. * bridge/jni/jni_instance.cpp:
  8097. (JavaInstance::stringValue):
  8098. (JavaInstance::numberValue):
  8099. (JavaInstance::invokeMethod):
  8100. (JavaInstance::defaultValue):
  8101. (JavaInstance::valueOf):
  8102. * bridge/jni/jni_instance.h:
  8103. * bridge/jni/jni_jsobject.h:
  8104. * bridge/jni/jni_jsobject.mm:
  8105. (JavaJSObject::call):
  8106. (JavaJSObject::setMember):
  8107. (JavaJSObject::setSlot):
  8108. (JavaJSObject::convertJObjectToValue):
  8109. (JavaJSObject::getListFromJArray):
  8110. * bridge/jni/jni_objc.mm:
  8111. (KJS::Bindings::dispatchJNICall):
  8112. * bridge/jni/jni_runtime.cpp:
  8113. (JavaArray::convertJObjectToArray):
  8114. (JavaField::dispatchValueFromInstance):
  8115. (JavaField::valueFromInstance):
  8116. (JavaField::dispatchSetValueToInstance):
  8117. (JavaArray::valueAt):
  8118. * bridge/jni/jni_utility.h:
  8119. * bridge/objc/objc_class.mm:
  8120. (KJS::Bindings::ObjcClass::fallbackObject):
  8121. * bridge/objc/objc_instance.h:
  8122. * bridge/objc/objc_instance.mm:
  8123. (ObjcInstance::defaultValue):
  8124. (ObjcInstance::stringValue):
  8125. (ObjcInstance::numberValue):
  8126. (ObjcInstance::valueOf):
  8127. * bridge/objc/objc_utility.h:
  8128. * bridge/objc/objc_utility.mm:
  8129. (KJS::Bindings::convertNSStringToString):
  8130. (KJS::Bindings::convertObjcValueToValue):
  8131. * bridge/runtime.cpp:
  8132. (KJS::Bindings::Instance::createRuntimeObject):
  8133. * bridge/runtime.h:
  8134. (KJS::Bindings::Instance::valueOf):
  8135. * bridge/runtime_array.cpp:
  8136. (RuntimeArray::lengthGetter):
  8137. * bridge/runtime_method.cpp:
  8138. (RuntimeMethod::lengthGetter):
  8139. * bridge/runtime_object.cpp:
  8140. (RuntimeObjectImp::RuntimeObjectImp):
  8141. (RuntimeObjectImp::methodGetter):
  8142. (RuntimeObjectImp::defaultValue):
  8143. * dom/make_names.pl:
  8144. * xml/XMLHttpRequest.cpp:
  8145. (WebCore::XMLHttpRequest::dropProtection):
  8146. * bridge/qt/qt_class.cpp:
  8147. (KJS::Bindings::QtClass::fallbackObject):
  8148. * bridge/qt/qt_instance.cpp:
  8149. (KJS::Bindings::QtRuntimeObjectImp::construct):
  8150. (KJS::Bindings::QtInstance::getRuntimeObject):
  8151. (KJS::Bindings::QtInstance::invokeDefaultMethod):
  8152. (KJS::Bindings::QtInstance::defaultValue):
  8153. (KJS::Bindings::QtInstance::stringValue):
  8154. (KJS::Bindings::QtInstance::numberValue):
  8155. (KJS::Bindings::QtInstance::valueOf):
  8156. * bridge/qt/qt_instance.h:
  8157. * bridge/qt/qt_runtime.cpp:
  8158. (KJS::Bindings::convertValueToQVariant):
  8159. (KJS::Bindings::convertQVariantToValue):
  8160. (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter):
  8161. (KJS::Bindings::QtRuntimeMetaMethod::connectGetter):
  8162. (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter):
  8163. (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter):
  8164. (KJS::Bindings::QtConnectionObject::execute):
  8165. Pass ExecState* where now required.
  8166. 2008-06-19 Timothy Hatcher <timothy@apple.com>
  8167. Update the JavaScript syntax highlight colors to match Xcode.
  8168. This matches the other Xcode colors we are using for HTML.
  8169. Reviewed by Dan Bernstein.
  8170. * page/inspector/SourceFrame.js:
  8171. 2008-06-19 Keishi Hattori <casey.hattori@gmail.com>
  8172. Added JavaScript syntax highlighting to the Web Inspector.
  8173. https://bugs.webkit.org/show_bug.cgi?id=14360
  8174. Reviewed by Tim Hatcher and Adam Roben.
  8175. * page/inspector/ScriptView.js: Added a call to syntaxHighlightJavascript.
  8176. * page/inspector/SourceFrame.js:
  8177. (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine): Added.
  8178. Modifies a line content element.
  8179. (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Added.
  8180. Syntax highlights the entire script.
  8181. * page/inspector/SourceView.js: Added a call to syntaxHighlightJavascript.
  8182. 2008-06-19 Alex Mathews <possessedpenguinbob@gmail.com>
  8183. Reviewed by Oliver.
  8184. Starting to clean up the SVG Filter code. Mostly adding 'create' wrapper
  8185. functions and changing raw pointer fields to RefPtrs.
  8186. * Configurations/WebCore.xcconfig:
  8187. * WebCore.xcodeproj/project.pbxproj:
  8188. * svg/SVGFEBlendElement.cpp:
  8189. (WebCore::SVGFEBlendElement::~SVGFEBlendElement):
  8190. (WebCore::SVGFEBlendElement::filterEffect):
  8191. * svg/SVGFEBlendElement.h:
  8192. * svg/SVGFEColorMatrixElement.cpp:
  8193. (WebCore::SVGFEColorMatrixElement::~SVGFEColorMatrixElement):
  8194. (WebCore::SVGFEColorMatrixElement::filterEffect):
  8195. * svg/SVGFEColorMatrixElement.h:
  8196. * svg/SVGFEComponentTransferElement.cpp:
  8197. (WebCore::SVGFEComponentTransferElement::~SVGFEComponentTransferElement):
  8198. (WebCore::SVGFEComponentTransferElement::filterEffect):
  8199. * svg/SVGFEComponentTransferElement.h:
  8200. * svg/SVGFECompositeElement.cpp:
  8201. (WebCore::SVGFECompositeElement::~SVGFECompositeElement):
  8202. (WebCore::SVGFECompositeElement::filterEffect):
  8203. * svg/SVGFECompositeElement.h:
  8204. * svg/SVGFEDiffuseLightingElement.cpp:
  8205. (WebCore::SVGFEDiffuseLightingElement::~SVGFEDiffuseLightingElement):
  8206. (WebCore::SVGFEDiffuseLightingElement::filterEffect):
  8207. * svg/SVGFEDiffuseLightingElement.h:
  8208. * svg/SVGFEDisplacementMapElement.cpp:
  8209. (WebCore::SVGFEDisplacementMapElement::~SVGFEDisplacementMapElement):
  8210. (WebCore::SVGFEDisplacementMapElement::filterEffect):
  8211. * svg/SVGFEDisplacementMapElement.h:
  8212. * svg/SVGFEFloodElement.cpp:
  8213. (WebCore::SVGFEFloodElement::~SVGFEFloodElement):
  8214. (WebCore::SVGFEFloodElement::filterEffect):
  8215. * svg/SVGFEFloodElement.h:
  8216. * svg/SVGFEGaussianBlurElement.cpp:
  8217. (WebCore::SVGFEGaussianBlurElement::~SVGFEGaussianBlurElement):
  8218. (WebCore::SVGFEGaussianBlurElement::filterEffect):
  8219. * svg/SVGFEGaussianBlurElement.h:
  8220. * svg/SVGFEImageElement.cpp:
  8221. (WebCore::SVGFEImageElement::~SVGFEImageElement):
  8222. (WebCore::SVGFEImageElement::filterEffect):
  8223. * svg/SVGFEImageElement.h:
  8224. * svg/SVGFEMergeElement.cpp:
  8225. (WebCore::SVGFEMergeElement::~SVGFEMergeElement):
  8226. (WebCore::SVGFEMergeElement::filterEffect):
  8227. * svg/SVGFEMergeElement.h:
  8228. * svg/SVGFEOffsetElement.cpp:
  8229. (WebCore::SVGFEOffsetElement::~SVGFEOffsetElement):
  8230. (WebCore::SVGFEOffsetElement::filterEffect):
  8231. * svg/SVGFEOffsetElement.h:
  8232. * svg/SVGFESpecularLightingElement.cpp:
  8233. (WebCore::SVGFESpecularLightingElement::~SVGFESpecularLightingElement):
  8234. (WebCore::SVGFESpecularLightingElement::filterEffect):
  8235. * svg/SVGFESpecularLightingElement.h:
  8236. * svg/SVGFETileElement.cpp:
  8237. (WebCore::SVGFETileElement::~SVGFETileElement):
  8238. (WebCore::SVGFETileElement::filterEffect):
  8239. * svg/SVGFETileElement.h:
  8240. * svg/SVGFETurbulenceElement.cpp:
  8241. (WebCore::SVGFETurbulenceElement::~SVGFETurbulenceElement):
  8242. (WebCore::SVGFETurbulenceElement::filterEffect):
  8243. * svg/SVGFETurbulenceElement.h:
  8244. * svg/graphics/SVGResourceFilter.cpp:
  8245. (WebCore::SVGResourceFilter::addFilterEffect):
  8246. * svg/graphics/SVGResourceFilter.h:
  8247. * svg/graphics/filters/SVGFEBlend.cpp:
  8248. (WebCore::SVGFEBlend::create):
  8249. * svg/graphics/filters/SVGFEBlend.h:
  8250. * svg/graphics/filters/SVGFEColorMatrix.cpp:
  8251. (WebCore::SVGFEColorMatrix::create):
  8252. * svg/graphics/filters/SVGFEColorMatrix.h:
  8253. * svg/graphics/filters/SVGFEComponentTransfer.cpp:
  8254. (WebCore::SVGFEComponentTransfer::create):
  8255. * svg/graphics/filters/SVGFEComponentTransfer.h:
  8256. * svg/graphics/filters/SVGFEComposite.cpp:
  8257. (WebCore::SVGFEComposite::create):
  8258. * svg/graphics/filters/SVGFEComposite.h:
  8259. * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
  8260. (WebCore::SVGFEConvolveMatrix::create):
  8261. * svg/graphics/filters/SVGFEConvolveMatrix.h:
  8262. * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
  8263. (WebCore::SVGFEDiffuseLighting::create):
  8264. (WebCore::SVGFEDiffuseLighting::~SVGFEDiffuseLighting):
  8265. (WebCore::SVGFEDiffuseLighting::lightSource):
  8266. (WebCore::SVGFEDiffuseLighting::setLightSource):
  8267. * svg/graphics/filters/SVGFEDiffuseLighting.h:
  8268. * svg/graphics/filters/SVGFEDisplacementMap.cpp:
  8269. (WebCore::SVGFEDisplacementMap::create):
  8270. * svg/graphics/filters/SVGFEDisplacementMap.h:
  8271. * svg/graphics/filters/SVGFEFlood.cpp:
  8272. (WebCore::SVGFEFlood::create):
  8273. * svg/graphics/filters/SVGFEFlood.h:
  8274. * svg/graphics/filters/SVGFEGaussianBlur.cpp:
  8275. (WebCore::SVGFEGaussianBlur::create):
  8276. * svg/graphics/filters/SVGFEGaussianBlur.h:
  8277. * svg/graphics/filters/SVGFEImage.cpp:
  8278. (WebCore::SVGFEImage::create):
  8279. * svg/graphics/filters/SVGFEImage.h:
  8280. * svg/graphics/filters/SVGFEMerge.cpp:
  8281. (WebCore::SVGFEMerge::SVGFEMerge):
  8282. (WebCore::SVGFEMerge::create):
  8283. * svg/graphics/filters/SVGFEMerge.h:
  8284. * svg/graphics/filters/SVGFEOffset.cpp:
  8285. (WebCore::SVGFEOffset::create):
  8286. * svg/graphics/filters/SVGFEOffset.h:
  8287. * svg/graphics/filters/SVGFESpecularLighting.cpp:
  8288. (WebCore::SVGFESpecularLighting::create):
  8289. (WebCore::SVGFESpecularLighting::~SVGFESpecularLighting):
  8290. (WebCore::SVGFESpecularLighting::lightSource):
  8291. (WebCore::SVGFESpecularLighting::setLightSource):
  8292. * svg/graphics/filters/SVGFESpecularLighting.h:
  8293. * svg/graphics/filters/SVGFETile.cpp: Added.
  8294. (WebCore::SVGFETile::SVGFETile):
  8295. (WebCore::SVGFETile::create):
  8296. * svg/graphics/filters/SVGFETile.h:
  8297. * svg/graphics/filters/SVGFETurbulence.cpp:
  8298. (WebCore::SVGFETurbulence::create):
  8299. * svg/graphics/filters/SVGFETurbulence.h:
  8300. * svg/graphics/filters/SVGFilterEffect.h:
  8301. * svg/graphics/filters/SVGLightSource.h:
  8302. 2008-06-18 Adele Peterson <adele@apple.com>
  8303. Reviewed by Dan Bernstein.
  8304. Fix assertion in fast/dom/ImageDocument-image-deletion.html caused by new media document creation.
  8305. * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument):
  8306. Create the media document after we're done processing pdfs and images.
  8307. 192008-06-17 Dan Bernstein <mitz@apple.com>
  8308. Reviewed by Darin Adler.
  8309. - fix https://bugs.webkit.org/show_bug.cgi?id=19598
  8310. Crash in WebCore::RenderBlock::determineStartPosition
  8311. Test: fast/dynamic/floating-to-positioned-2.html
  8312. * rendering/RenderObject.cpp:
  8313. (WebCore::RenderObject::setStyle): Changed to also remove relatively
  8314. positioned floats from object lists when they become positioned, because
  8315. then they cease to be floating.
  8316. 2008-06-18 Darin Adler <darin@apple.com>
  8317. Reviewed by Mark Rowe.
  8318. - fix storage leak
  8319. * css/CSSMutableStyleDeclaration.cpp:
  8320. (WebCore::CSSMutableStyleDeclaration::copy): Added an adoptRef that
  8321. I missed when changing these objects to start with a refcount of 1.
  8322. 2008-06-18 Timothy Hatcher <timothy@apple.com>
  8323. Add a script build phase to remove the WebKit.qrc file from
  8324. WebCore's resources. This file is used for the Qt port, but we
  8325. copy the whole inspector folder for connivence and get this file.
  8326. Reviewed by Adam Roben.
  8327. * WebCore.xcodeproj/project.pbxproj: New script phase.
  8328. 2008-06-18 Timothy Hatcher <timothy@apple.com>
  8329. Combine the Web Inspector's JavaScript resources into one large
  8330. script file to speed up loading of the Inspector. This is only
  8331. done for Release and Production builds.
  8332. Reviewed by Adam Roben.
  8333. * WebCore.xcodeproj/project.pbxproj: Added a Streamline Inspector Source
  8334. script build phase that calls combine-javascript-resources and
  8335. moves files around in the build directory.
  8336. * combine-javascript-resources: Added.
  8337. 2008-06-18 Rob Buis <buis@kde.org>
  8338. Reviewed by Darin.
  8339. https://bugs.webkit.org/show_bug.cgi?id=18786
  8340. Once rendered, SVG text elements removed from DOM continue to be displayed
  8341. Repaint the text visual rect before removing it.
  8342. * rendering/RenderSVGInlineText.cpp:
  8343. (WebCore::RenderSVGInlineText::destroy):
  8344. * rendering/RenderSVGInlineText.h:
  8345. 2008-06-18 Christian Dywan <christian@twotoasts.de>
  8346. Gtk build fix, brought up by Dirk Schulze.
  8347. * page/gtk/AccessibilityObjectWrapperAtk.cpp:
  8348. 2008-06-17 Beth Dakin <bdakin@apple.com>
  8349. Reviewed by Tim.
  8350. This patch removes all instances of the phrase "TextMarker" from
  8351. function names in the C++ accessibility code. TextMarkers only
  8352. exists in the Objective-C code.
  8353. * page/AccessibilityObject.cpp:
  8354. (WebCore::AccessibilityObject::visiblePositionRangeForLine):
  8355. (WebCore::AccessibilityObject::visiblePositionRangeForUnorderedPositions):
  8356. (WebCore::AccessibilityObject::positionOfLeftWord):
  8357. (WebCore::AccessibilityObject::positionOfRightWord):
  8358. (WebCore::AccessibilityObject::leftLineVisiblePositionRange):
  8359. (WebCore::AccessibilityObject::rightLineVisiblePositionRange):
  8360. (WebCore::AccessibilityObject::sentenceForPosition):
  8361. (WebCore::AccessibilityObject::paragraphForPosition):
  8362. (WebCore::AccessibilityObject::styleRangeForPosition):
  8363. (WebCore::AccessibilityObject::visiblePositionRangeForRange):
  8364. (WebCore::AccessibilityObject::stringForVisiblePositionRange):
  8365. (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
  8366. (WebCore::AccessibilityObject::lengthForVisiblePositionRange):
  8367. (WebCore::AccessibilityObject::setSelectedVisiblePositionRange):
  8368. (WebCore::AccessibilityObject::visiblePositionForPoint):
  8369. (WebCore::AccessibilityObject::nextVisiblePosition):
  8370. (WebCore::AccessibilityObject::previousVisiblePosition):
  8371. (WebCore::AccessibilityObject::nextWordEnd):
  8372. (WebCore::AccessibilityObject::previousWordStart):
  8373. (WebCore::AccessibilityObject::nextLineEndPosition):
  8374. (WebCore::AccessibilityObject::previousLineStartPosition):
  8375. (WebCore::AccessibilityObject::nextSentenceEndPosition):
  8376. (WebCore::AccessibilityObject::previousSentenceStartPosition):
  8377. (WebCore::AccessibilityObject::nextParagraphEndPosition):
  8378. (WebCore::AccessibilityObject::previousParagraphStartPosition):
  8379. (WebCore::AccessibilityObject::visiblePositionForIndex):
  8380. (WebCore::AccessibilityObject::accessibilityObjectForPosition):
  8381. (WebCore::AccessibilityObject::lineForPosition):
  8382. (WebCore::AccessibilityObject::plainTextRangeForVisiblePositionRange):
  8383. (WebCore::AccessibilityObject::index):
  8384. (WebCore::AccessibilityObject::doAXRangeForPosition):
  8385. (WebCore::AccessibilityObject::doAXStyleRangeForIndex):
  8386. (WebCore::AccessibilityObject::doAXLineForIndex):
  8387. * page/AccessibilityObject.h:
  8388. * page/AccessibilityRenderObject.cpp:
  8389. (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
  8390. (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
  8391. (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
  8392. (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
  8393. (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
  8394. (WebCore::AccessibilityRenderObject::index):
  8395. (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
  8396. * page/AccessibilityRenderObject.h:
  8397. * page/mac/AccessibilityObjectWrapper.mm:
  8398. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  8399. (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
  8400. (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]):
  8401. (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
  8402. 2008-06-17 Mark Rowe <mrowe@apple.com>
  8403. Reviewed by Darin Adler.
  8404. <rdar://problem/5775802> WebCore should not force use of GCC 4.0.
  8405. * WebCore.xcodeproj/project.pbxproj:
  8406. 2008-06-17 Darin Adler <darin@apple.com>
  8407. Reviewed by Sam.
  8408. - eliminate the last RefCounted client that needs the "start at 0" behavior, NodeFilter
  8409. - move handling of non-Attr arguments from the code generation script to the DOM
  8410. itself (as with every other type of argument)
  8411. * bindings/js/JSNodeFilterCustom.cpp:
  8412. (WebCore::toNodeFilter): Changed return type to PassRefPtr. Use create instead of new.
  8413. * bindings/objc/DOM.mm:
  8414. (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
  8415. Use create instead of new.
  8416. (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
  8417. Ditto.
  8418. * bindings/scripts/CodeGeneratorJS.pm: Use PassRefPtr and RefPtr for toNodeFilter and
  8419. the local variable for NodeFilter arguments. Remove the TypeCanFailConversion mechanism:
  8420. It's no longer needed for Attr, was not having any effect for VoidCallback, and was
  8421. returning false for all other types.
  8422. * dom/Element.cpp:
  8423. (WebCore::Element::setAttributeNode): Added code to return TYPE_MISMATCH_ERR when
  8424. the attr is 0 -- this matches what the autogenerated bindings did before.
  8425. (WebCore::Element::setAttributeNodeNS): Ditto.
  8426. (WebCore::Element::removeAttributeNode): Ditto.
  8427. * dom/NodeFilter.h: Added create, made constructor private, and got rid of code to
  8428. initialize the refcount to 0.
  8429. * html/CanvasPattern.h: Made CachedResourceClient base class private in a
  8430. more-explicit way.
  8431. 2008-06-17 Adam Roben <aroben@apple.com>
  8432. Fix <rdar://6016755> Assertion failure when WebView is child of
  8433. message-only window
  8434. Reviewed by Ada Chan.
  8435. No test possible.
  8436. * platform/win/WindowMessageBroadcaster.cpp:
  8437. (WebCore::WindowMessageBroadcaster::addListener): Only subclass the
  8438. window when we're adding our first listener. Removed an assertion that
  8439. an old WNDPROC was returned -- this will be 0 in the case of a
  8440. message-only window. Added an assertion to help catch cases where we
  8441. try to subclass the window twice.
  8442. (WebCore::WindowMessageBroadcaster::unsubclassWindow): Removed an
  8443. assertion that is not correct in the message-only window case.
  8444. 2008-06-17 Adele Peterson <adele@apple.com>
  8445. Attempt to fix builds by wrapping new code in #if ENABLE(VIDEO)
  8446. * loader/MediaDocument.cpp:
  8447. * loader/MediaDocument.h:
  8448. 2008-06-17 Adele Peterson <adele@apple.com>
  8449. Attempt to fix builds by wrapping new code in #if ENABLE(VIDEO)
  8450. * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument):
  8451. 2008-06-17 Adele Peterson <adele@apple.com>
  8452. Reviewed by Brady.
  8453. Fix for <rdar://problem/5605768> Render full-page video/audio with <video>/<audio> instead of QuickTime plug-in
  8454. * WebCore.xcodeproj/project.pbxproj: Added MediaDocument class.
  8455. * GNUmakefile.am: ditto.
  8456. * WebCore.pro: ditto.
  8457. * WebCore.vcproj/WebCore.vcproj: ditto.
  8458. * WebCoreSources.bkl: ditto.
  8459. * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument):
  8460. Check to see if the type can be played by our MediaPlayer, if so create a MediaDocument
  8461. * dom/Document.h: (WebCore::Document::isMediaDocument): Added.
  8462. * loader/MediaDocument.cpp: Added.
  8463. (WebCore::MediaTokenizer::MediaTokenizer):
  8464. (WebCore::MediaTokenizer::wantsRawData):
  8465. (WebCore::MediaTokenizer::write):
  8466. (WebCore::MediaTokenizer::createDocumentStructure):
  8467. (WebCore::MediaTokenizer::writeRawData):
  8468. (WebCore::MediaTokenizer::stopParsing):
  8469. (WebCore::MediaTokenizer::finish):
  8470. (WebCore::MediaTokenizer::isWaitingForScripts):
  8471. (WebCore::MediaDocument::MediaDocument):
  8472. (WebCore::MediaDocument::createTokenizer):
  8473. * loader/MediaDocument.h: Added.
  8474. (WebCore::MediaDocument::create):
  8475. (WebCore::MediaDocument::isMediaDocument):
  8476. * page/InspectorController.cpp: (WebCore::getResourceDocumentNode):
  8477. Added MediaDocument case so it is handled the same as a PluginDocument or ImageDocument.
  8478. * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::supportsType): Added.
  8479. * platform/graphics/MediaPlayer.h:
  8480. * rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControlVisibility):
  8481. Instead of checking the html element to decide if the media is audio, check the player.
  8482. This means that if a video element actually only contains audio, then we will still avoid fading the controls in and out.
  8483. 2008-06-17 Timothy Hatcher <timothy@apple.com>
  8484. Adds the file name and line number for call frames next to
  8485. the function name in the Call Stack pane.
  8486. https://bugs.webkit.org/show_bug.cgi?id=19586
  8487. Reviewed by Adam Roben.
  8488. * English.lproj/localizedStrings.js: Updated strings.
  8489. * page/inspector/CallStackSidebarPane.js:
  8490. (WebInspector.CallStackSidebarPane.prototype.update): Create a subtitle
  8491. based on the URL and line number.
  8492. 2008-06-17 Timothy Hatcher <timothy@apple.com>
  8493. Use accurate call frame title's based on the call frame type.
  8494. https://bugs.webkit.org/show_bug.cgi?id=19585
  8495. Reviewed by Geoff Garen.
  8496. * English.lproj/localizedStrings.js: Updated strings.
  8497. * bindings/js/JSJavaScriptCallFrameCustom.cpp:
  8498. (WebCore::JSJavaScriptCallFrame::evaluate): Removed the isValid()
  8499. check since the evaluate() functiondoes the check already.
  8500. (WebCore::JSJavaScriptCallFrame::thisObject): Removed the isValid()
  8501. check, since thisObject() does the check and returns null if invalid.
  8502. (WebCore::JSJavaScriptCallFrame::type): Return a string
  8503. based on the enum value of the type.
  8504. (WebCore::JSJavaScriptCallFrame::scopeChain): Removed the isValid()
  8505. check, since scopeChain() does the check and returns null if invalid.
  8506. So just null check scopeChain().
  8507. * page/JavaScriptCallFrame.cpp:
  8508. (WebCore::JavaScriptCallFrame::type): Return the DebuggerCallFrame::Type.
  8509. Return DebuggerCallFrame::UnknownType if the call frame is invalid.
  8510. * page/JavaScriptCallFrame.h:
  8511. * page/JavaScriptCallFrame.idl: Add the type property.
  8512. * page/inspector/CallStackSidebarPane.js:
  8513. (WebInspector.CallStackSidebarPane.prototype.update): Check the type
  8514. of the call frame to create the correct title.
  8515. * page/inspector/ScriptsPanel.js:
  8516. (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Use the
  8517. "(program)" title for the file menu to match the call frames.
  8518. 2008-06-17 Timothy Hatcher <timothy@apple.com>
  8519. Remember the expanded state of objects in the Scope Variables pane when stepping.
  8520. https://bugs.webkit.org/show_bug.cgi?id=19584
  8521. Reviewed by Adam Roben.
  8522. * page/inspector/ObjectPropertiesSection.js:
  8523. (WebInspector.ObjectPropertiesSection): Add an optional argument
  8524. that is the treeElementConstructor to use when making TreeElements.
  8525. (WebInspector.ObjectPropertiesSection.prototype.onpopulate): Use
  8526. the treeElementConstructor to create TreeElements.
  8527. (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Use
  8528. the treeElementConstructor to create TreeElements.
  8529. * page/inspector/ScopeChainSidebarPane.js:
  8530. (WebInspector.ScopeChainSidebarPane.prototype.update): Create an
  8531. _expandedProperties object on the callframe if one doesn't exist yet.
  8532. Pass WebInspector.ScopeVariableTreeElement to the ObjectPropertiesSection
  8533. as the TreeElement constructor we want to use.
  8534. (WebInspector.ScopeVariableTreeElement): Added.
  8535. (WebInspector.ScopeVariableTreeElement.prototype.onattach): Expand if the
  8536. propertyIdentifier is in the pane's _expandedProperties.
  8537. (WebInspector.ScopeVariableTreeElement.prototype.onexpand): Add the
  8538. propertyIdentifier to the pane's _expandedProperties.
  8539. (WebInspector.ScopeVariableTreeElement.prototype.oncollapse): Remove the
  8540. propertyIdentifier from the pane's _expandedProperties.
  8541. (WebInspector.ScopeVariableTreeElement.prototype.get propertyIdentifier):
  8542. Return an identifier that has the section title, subtile and propertyPath concatenated.
  8543. (WebInspector.ScopeVariableTreeElement.prototype.get propertyPath): Return a string
  8544. that has the propertyNames up to the root ancestor concatenated with a period.
  8545. 2008-06-17 Timothy Hatcher <timothy@apple.com>
  8546. Focus the mainPanelsElement in a timeout so it happens after the
  8547. initial focus, so it doesn't get reset to the first toolbar button.
  8548. This initial focus happens on Mac when the window is made key and
  8549. the WebHTMLView becomes the first responder.
  8550. https://bugs.webkit.org/show_bug.cgi?id=19587
  8551. Reviewed by Adele Peterson.
  8552. * page/inspector/inspector.js:
  8553. (WebInspector.loaded): Focus the mainPanelsElement in a timeout.
  8554. 2008-06-17 Timothy Hatcher <timothy@apple.com>
  8555. Use tabIndex in the Web Inspector for focusable areas.
  8556. https://bugs.webkit.org/show_bug.cgi?id=19583
  8557. Reviewed by Adam Roben.
  8558. * page/inspector/Console.js:
  8559. (WebInspector.Console): No longer make the messagesElement
  8560. focusable since the engine handles the case for us. The promptElement
  8561. now handles the key events.
  8562. (WebInspector.Console.prototype.show): Set the current focus element
  8563. to the prompt element.
  8564. (WebInspector.Console.prototype.hide): Set the current focus element
  8565. to WebInspector.previousFocusElement.
  8566. (WebInspector.Console.prototype._messagesFocused): Removed.
  8567. * page/inspector/DataGrid.js:
  8568. (WebInspector.DataGrid): Remove the focusable class.
  8569. * page/inspector/DatabaseQueryView.js:
  8570. (WebInspector.DatabaseQueryView): Remove the focusable class. Set
  8571. tabIndex to 0. The promptElement now handles the key events.
  8572. (WebInspector.DatabaseQueryView.prototype._focused): Removed.
  8573. * page/inspector/inspector.css: Updated selectors to use :focus
  8574. instead of .focused and .blurred.
  8575. * page/inspector/inspector.html: Removed focusable, focused and blurred
  8576. classes and added tabindex attributes.
  8577. * page/inspector/inspector.js:
  8578. (WebInspector.get previousFocusElement): Added. Returns _previousFocusElement.
  8579. (WebInspector.set currentFocusElement): Simplified. Stores the previous element
  8580. in _previousFocusElement for clients that need it. Calls focus on the passed
  8581. in element or blur on the previous element.
  8582. (WebInspector.loaded): Removed the event listener for mousedown. Renamed
  8583. changeFocus to focusChanged.
  8584. (WebInspector.focusChanged): Renamed from changeFocus. Just sets the
  8585. currentFocusElement to the event target.
  8586. (WebInspector.startEditing): Changed to use tabIndex and blur events.
  8587. Add a more robust check for restoring focus to the previous element
  8588. when editing finishes that catches focused descendants.
  8589. 2008-06-17 Timothy Hatcher <timothy@apple.com>
  8590. Removed redundant if statements and early returns from
  8591. AccessibilityRenderObject::ariaRoleAttribute.
  8592. Reviewed by Sam Wenig.
  8593. * page/AccessibilityRenderObject.cpp:
  8594. (AccessibilityRenderObject::ariaRoleAttribute): Removed redundant if
  8595. statements and early returns.
  8596. 2008-06-17 Timothy Hatcher <timothy@apple.com>
  8597. Removed duplicate implementations of setTabIndex. They all matched
  8598. the HTMLElement::setTabIndex implementation.
  8599. Reviewed by Sam Wenig.
  8600. * html/HTMLAnchorElement.cpp: Removed setTabIndex.
  8601. * html/HTMLAreaElement.cpp: Ditto.
  8602. * html/HTMLFormControlElement.cpp: Ditto.
  8603. * html/HTMLFormControlElement.h: Ditto.
  8604. * html/HTMLObjectElement.cpp: Ditto.
  8605. * html/HTMLObjectElement.h: Ditto.
  8606. 2008-06-17 Darin Adler <darin@apple.com>
  8607. Reviewed by Sam.
  8608. - more of https://bugs.webkit.org/show_bug.cgi?id=17257
  8609. start ref counts at 1 instead of 0 for speed
  8610. Change StyleBase and all classes derived from it.
  8611. * bindings/js/JSRGBColor.cpp:
  8612. (WebCore::JSRGBColor::getValueProperty):
  8613. * bindings/objc/DOMRGBColor.mm:
  8614. (-[DOMRGBColor red]):
  8615. (-[DOMRGBColor green]):
  8616. (-[DOMRGBColor blue]):
  8617. (-[DOMRGBColor alpha]):
  8618. * css/CSSBorderImageValue.cpp:
  8619. (WebCore::CSSBorderImageValue::cssText):
  8620. * css/CSSBorderImageValue.h:
  8621. (WebCore::CSSBorderImageValue::create):
  8622. * css/CSSCanvasValue.h:
  8623. (WebCore::CSSCanvasValue::create):
  8624. (WebCore::CSSCanvasValue::setName):
  8625. (WebCore::CSSCanvasValue::CSSCanvasValue):
  8626. * css/CSSCharsetRule.cpp:
  8627. (WebCore::CSSCharsetRule::CSSCharsetRule):
  8628. * css/CSSCharsetRule.h:
  8629. (WebCore::CSSCharsetRule::create):
  8630. (WebCore::CSSCharsetRule::encoding):
  8631. (WebCore::CSSCharsetRule::isCharsetRule):
  8632. (WebCore::CSSCharsetRule::type):
  8633. * css/CSSComputedStyleDeclaration.cpp:
  8634. (WebCore::valueForShadow):
  8635. (WebCore::valueForNinePieceImage):
  8636. (WebCore::valueForReflection):
  8637. (WebCore::getPositionOffsetValue):
  8638. (WebCore::currentColorOrValidColor):
  8639. (WebCore::getBorderRadiusCornerValue):
  8640. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  8641. * css/CSSComputedStyleDeclaration.h:
  8642. (WebCore::computedStyle):
  8643. * css/CSSCursorImageValue.h:
  8644. (WebCore::CSSCursorImageValue::create):
  8645. * css/CSSFontFaceRule.cpp:
  8646. (WebCore::CSSFontFaceRule::CSSFontFaceRule):
  8647. * css/CSSFontFaceRule.h:
  8648. (WebCore::CSSFontFaceRule::create):
  8649. (WebCore::CSSFontFaceRule::isFontFaceRule):
  8650. (WebCore::CSSFontFaceRule::type):
  8651. * css/CSSFontFaceSrcValue.h:
  8652. (WebCore::CSSFontFaceSrcValue::create):
  8653. (WebCore::CSSFontFaceSrcValue::createLocal):
  8654. (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue):
  8655. (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
  8656. * css/CSSGradientValue.h:
  8657. (WebCore::CSSGradientColorStop::CSSGradientColorStop):
  8658. (WebCore::CSSGradientValue::create):
  8659. (WebCore::CSSGradientValue::CSSGradientValue):
  8660. * css/CSSImageGeneratorValue.h:
  8661. (WebCore::CSSImageGeneratorValue::isImageGeneratorValue):
  8662. * css/CSSImageValue.h:
  8663. (WebCore::CSSImageValue::create):
  8664. * css/CSSImportRule.cpp:
  8665. (WebCore::CSSImportRule::CSSImportRule):
  8666. (WebCore::CSSImportRule::setCSSStyleSheet):
  8667. * css/CSSImportRule.h:
  8668. (WebCore::CSSImportRule::create):
  8669. (WebCore::CSSImportRule::isImportRule):
  8670. (WebCore::CSSImportRule::type):
  8671. * css/CSSInheritedValue.h:
  8672. (WebCore::CSSInheritedValue::create):
  8673. (WebCore::CSSInheritedValue::CSSInheritedValue):
  8674. * css/CSSInitialValue.h:
  8675. (WebCore::CSSInitialValue::createExplicit):
  8676. (WebCore::CSSInitialValue::createImplicit):
  8677. (WebCore::CSSInitialValue::CSSInitialValue):
  8678. * css/CSSMediaRule.cpp:
  8679. (WebCore::CSSMediaRule::CSSMediaRule):
  8680. * css/CSSMediaRule.h:
  8681. (WebCore::CSSMediaRule::create):
  8682. (WebCore::CSSMediaRule::isMediaRule):
  8683. (WebCore::CSSMediaRule::type):
  8684. * css/CSSMutableStyleDeclaration.cpp:
  8685. (WebCore::CSSMutableStyleDeclaration::setProperty):
  8686. (WebCore::CSSMutableStyleDeclaration::setStringProperty):
  8687. * css/CSSMutableStyleDeclaration.h:
  8688. (WebCore::CSSMutableStyleDeclaration::create):
  8689. * css/CSSPageRule.cpp:
  8690. (WebCore::CSSPageRule::CSSPageRule):
  8691. * css/CSSPageRule.h:
  8692. (WebCore::CSSPageRule::create):
  8693. * css/CSSParser.cpp:
  8694. (WebCore::CSSParser::parseColor):
  8695. (WebCore::CSSParser::parseValue):
  8696. (WebCore::CSSParser::addFillValue):
  8697. (WebCore::CSSParser::parseFillShorthand):
  8698. (WebCore::CSSParser::addTransitionValue):
  8699. (WebCore::CSSParser::parseTransitionShorthand):
  8700. (WebCore::CSSParser::parseShorthand):
  8701. (WebCore::CSSParser::parseContent):
  8702. (WebCore::CSSParser::parseBackgroundColor):
  8703. (WebCore::CSSParser::parseFillPositionXY):
  8704. (WebCore::CSSParser::parseFillPosition):
  8705. (WebCore::CSSParser::parseFillSize):
  8706. (WebCore::CSSParser::parseFillProperty):
  8707. (WebCore::CSSParser::parseTransitionDuration):
  8708. (WebCore::CSSParser::parseTransitionRepeatCount):
  8709. (WebCore::CSSParser::parseTransitionTimingFunction):
  8710. (WebCore::CSSParser::parseTransitionProperty):
  8711. (WebCore::CSSParser::parseDashboardRegions):
  8712. (WebCore::CSSParser::parseCounterContent):
  8713. (WebCore::CSSParser::parseShape):
  8714. (WebCore::CSSParser::parseFont):
  8715. (WebCore::CSSParser::parseFontFamily):
  8716. (WebCore::CSSParser::parseFontFaceSrc):
  8717. (WebCore::CSSParser::parseFontFaceUnicodeRange):
  8718. (WebCore::ShadowParseContext::commitValue):
  8719. (WebCore::ShadowParseContext::commitLength):
  8720. (WebCore::CSSParser::parseShadow):
  8721. (WebCore::CSSParser::parseReflect):
  8722. (WebCore::BorderImageParseContext::commitNumber):
  8723. (WebCore::BorderImageParseContext::commitBorderImage):
  8724. (WebCore::CSSParser::parseBorderImage):
  8725. (WebCore::CSSParser::parseCounter):
  8726. (WebCore::parseGradientPoint):
  8727. (WebCore::parseGradientColorStop):
  8728. (WebCore::CSSParser::parseGradient):
  8729. (WebCore::CSSParser::parseCanvas):
  8730. (WebCore::CSSParser::parseTransform):
  8731. (WebCore::CSSParser::createMediaList):
  8732. (WebCore::CSSParser::createCharsetRule):
  8733. (WebCore::CSSParser::createImportRule):
  8734. (WebCore::CSSParser::createMediaRule):
  8735. (WebCore::CSSParser::createStyleRule):
  8736. (WebCore::CSSParser::createFontFaceRule):
  8737. * css/CSSPrimitiveValue.h:
  8738. (WebCore::CSSPrimitiveValue::):
  8739. (WebCore::CSSPrimitiveValue::createIdentifier):
  8740. (WebCore::CSSPrimitiveValue::createColor):
  8741. (WebCore::CSSPrimitiveValue::create):
  8742. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  8743. (WebCore::CSSPrimitiveValue::isPrimitiveValue):
  8744. * css/CSSQuirkPrimitiveValue.h:
  8745. (WebCore::CSSQuirkPrimitiveValue::create):
  8746. * css/CSSReflectValue.h:
  8747. (WebCore::CSSReflectValue::create):
  8748. * css/CSSRule.cpp:
  8749. (WebCore::CSSRule::parentRule):
  8750. (WebCore::CSSRule::setCssText):
  8751. * css/CSSRule.h:
  8752. (WebCore::CSSRule::CSSRule):
  8753. (WebCore::CSSRule::isRule):
  8754. * css/CSSStyleDeclaration.cpp:
  8755. (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
  8756. * css/CSSStyleDeclaration.h:
  8757. * css/CSSStyleRule.cpp:
  8758. (WebCore::CSSStyleRule::CSSStyleRule):
  8759. * css/CSSStyleRule.h:
  8760. (WebCore::CSSStyleRule::create):
  8761. (WebCore::CSSStyleRule::isStyleRule):
  8762. (WebCore::CSSStyleRule::type):
  8763. * css/CSSStyleSelector.cpp:
  8764. (WebCore::CSSStyleSelector::CSSStyleSelector):
  8765. (WebCore::parseUASheet):
  8766. (WebCore::CSSRuleSet::addRulesFromSheet):
  8767. (WebCore::CSSStyleSelector::applyProperty):
  8768. * css/CSSStyleSheet.cpp:
  8769. (WebCore::CSSStyleSheet::checkLoaded):
  8770. * css/CSSStyleSheet.h:
  8771. (WebCore::CSSStyleSheet::create):
  8772. (WebCore::CSSStyleSheet::isCSSStyleSheet):
  8773. (WebCore::CSSStyleSheet::type):
  8774. * css/CSSTimingFunctionValue.h:
  8775. (WebCore::CSSTimingFunctionValue::create):
  8776. (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
  8777. (WebCore::CSSTimingFunctionValue::isTransitionTimingFunctionValue):
  8778. * css/CSSTransformValue.cpp:
  8779. (WebCore::CSSTransformValue::CSSTransformValue):
  8780. (WebCore::CSSTransformValue::~CSSTransformValue):
  8781. (WebCore::CSSTransformValue::addValue):
  8782. (WebCore::CSSTransformValue::cssText):
  8783. * css/CSSTransformValue.h:
  8784. (WebCore::CSSTransformValue::create):
  8785. * css/CSSUnicodeRangeValue.h:
  8786. (WebCore::CSSUnicodeRangeValue::create):
  8787. (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
  8788. * css/CSSUnknownRule.h:
  8789. * css/CSSValue.h:
  8790. (WebCore::CSSValue::isImageGeneratorValue):
  8791. (WebCore::CSSValue::isImageValue):
  8792. (WebCore::CSSValue::isPrimitiveValue):
  8793. (WebCore::CSSValue::isValueList):
  8794. (WebCore::CSSValue::isSVGColor):
  8795. (WebCore::CSSValue::isSVGPaint):
  8796. (WebCore::CSSValue::CSSValue):
  8797. * css/CSSValueList.h:
  8798. (WebCore::CSSValueList::createCommaSeparated):
  8799. (WebCore::CSSValueList::createSpaceSeparated):
  8800. (WebCore::CSSValueList::isValueList):
  8801. * css/FontFamilyValue.h:
  8802. (WebCore::FontFamilyValue::create):
  8803. * css/FontValue.h:
  8804. (WebCore::FontValue::create):
  8805. (WebCore::FontValue::FontValue):
  8806. (WebCore::FontValue::isFontValue):
  8807. * css/MediaList.cpp:
  8808. (WebCore::MediaList::MediaList):
  8809. (WebCore::MediaList::deleteMedium):
  8810. (WebCore::MediaList::setMediaText):
  8811. * css/MediaList.h:
  8812. (WebCore::MediaList::create):
  8813. (WebCore::MediaList::createAllowingDescriptionSyntax):
  8814. (WebCore::MediaList::length):
  8815. (WebCore::MediaList::mediaQueries):
  8816. * css/MediaQueryEvaluator.cpp:
  8817. (WebCore::MediaQueryEvaluator::eval):
  8818. * css/MediaQueryExp.cpp:
  8819. (WebCore::MediaQueryExp::MediaQueryExp):
  8820. * css/SVGCSSComputedStyleDeclaration.cpp:
  8821. (WebCore::glyphOrientationToCSSPrimitiveValue):
  8822. (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
  8823. * css/SVGCSSParser.cpp:
  8824. (WebCore::CSSParser::parseSVGValue):
  8825. (WebCore::CSSParser::parseSVGStrokeDasharray):
  8826. (WebCore::CSSParser::parseSVGPaint):
  8827. (WebCore::CSSParser::parseSVGColor):
  8828. * css/ShadowValue.h:
  8829. (WebCore::ShadowValue::create):
  8830. * css/StyleBase.h:
  8831. (WebCore::StyleBase::isCSSStyleSheet):
  8832. (WebCore::StyleBase::isFontFaceRule):
  8833. (WebCore::StyleBase::isRule):
  8834. (WebCore::StyleBase::isStyleRule):
  8835. (WebCore::StyleBase::isStyleSheet):
  8836. (WebCore::StyleBase::isXSLStyleSheet):
  8837. (WebCore::StyleBase::StyleBase):
  8838. * css/StyleList.cpp:
  8839. * css/StyleList.h:
  8840. (WebCore::StyleList::StyleList):
  8841. * css/StyleSheet.h:
  8842. (WebCore::StyleSheet::styleSheetChanged):
  8843. (WebCore::StyleSheet::isStyleSheet):
  8844. * dom/CSSMappedAttributeDeclaration.h:
  8845. (WebCore::CSSMappedAttributeDeclaration::create):
  8846. (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
  8847. * dom/DOMImplementation.cpp:
  8848. (WebCore::DOMImplementation::createCSSStyleSheet):
  8849. * dom/Document.cpp:
  8850. (WebCore::Document::createCSSStyleDeclaration):
  8851. (WebCore::Document::setCSSStyleSheet):
  8852. (WebCore::Document::elementSheet):
  8853. (WebCore::Document::mappedElementSheet):
  8854. (WebCore::Document::recalcStyleSelector):
  8855. * dom/Node.cpp:
  8856. (WebCore::Node::querySelector):
  8857. (WebCore::Node::querySelectorAll):
  8858. * dom/Position.cpp:
  8859. (WebCore::Position::computedStyle):
  8860. * dom/ProcessingInstruction.cpp:
  8861. (WebCore::ProcessingInstruction::checkStyleSheet):
  8862. (WebCore::ProcessingInstruction::setCSSStyleSheet):
  8863. (WebCore::ProcessingInstruction::setXSLStyleSheet):
  8864. * dom/ProcessingInstruction.h:
  8865. * dom/StyleElement.cpp:
  8866. (WebCore::StyleElement::createSheet):
  8867. * dom/StyledElement.cpp:
  8868. (WebCore::StyledElement::createInlineStyleDecl):
  8869. (WebCore::StyledElement::createMappedDecl):
  8870. * editing/ApplyStyleCommand.cpp:
  8871. (WebCore::ApplyStyleCommand::ApplyStyleCommand):
  8872. (WebCore::hasTextDecorationProperty):
  8873. (WebCore::ApplyStyleCommand::extractAndNegateTextDecorationStyle):
  8874. * editing/CompositeEditCommand.cpp:
  8875. (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
  8876. * editing/DeleteSelectionCommand.cpp:
  8877. (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
  8878. * editing/Editor.cpp:
  8879. (WebCore::Editor::selectionHasStyle):
  8880. (WebCore::Editor::setBaseWritingDirection):
  8881. * editing/EditorCommand.cpp:
  8882. (WebCore::executeApplyStyle):
  8883. (WebCore::executeToggleStyle):
  8884. (WebCore::executeApplyParagraphStyle):
  8885. (WebCore::stateStyle):
  8886. * editing/InsertParagraphSeparatorCommand.cpp:
  8887. (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion):
  8888. * editing/RemoveFormatCommand.cpp:
  8889. (WebCore::RemoveFormatCommand::doApply):
  8890. * editing/ReplaceSelectionCommand.cpp:
  8891. (WebCore::ReplacementFragment::insertFragmentForTestRendering):
  8892. * editing/markup.cpp:
  8893. (WebCore::styleFromMatchedRulesForElement):
  8894. (WebCore::appendStartMarkup):
  8895. * html/HTMLBodyElement.cpp:
  8896. (WebCore::HTMLBodyElement::createLinkDecl):
  8897. * html/HTMLLinkElement.cpp:
  8898. (WebCore::HTMLLinkElement::process):
  8899. (WebCore::HTMLLinkElement::setCSSStyleSheet):
  8900. * html/HTMLMediaElement.cpp:
  8901. (WebCore::HTMLMediaElement::pickMedia):
  8902. * html/HTMLTableElement.cpp:
  8903. (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
  8904. (WebCore::HTMLTableElement::addSharedCellBordersDecl):
  8905. (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
  8906. (WebCore::HTMLTableElement::addSharedGroupDecls):
  8907. * page/DOMWindow.cpp:
  8908. (WebCore::DOMWindow::getComputedStyle):
  8909. * page/Frame.cpp:
  8910. (WebCore::Frame::computeAndSetTypingStyle):
  8911. (WebCore::Frame::selectionComputedStyle):
  8912. * page/Frame.h:
  8913. * rendering/style/RenderStyle.cpp:
  8914. (WebCore::StyleCachedImage::cssValue):
  8915. * rendering/style/RenderStyle.h:
  8916. * svg/SVGColor.h:
  8917. (WebCore::SVGColor::create):
  8918. (WebCore::SVGColor::isSVGColor):
  8919. * svg/SVGFontFaceElement.cpp:
  8920. (WebCore::SVGFontFaceElement::SVGFontFaceElement):
  8921. (WebCore::SVGFontFaceElement::rebuildFontFace):
  8922. * svg/SVGFontFaceNameElement.cpp:
  8923. (WebCore::SVGFontFaceNameElement::srcValue):
  8924. * svg/SVGFontFaceSrcElement.cpp:
  8925. (WebCore::SVGFontFaceSrcElement::srcValue):
  8926. * svg/SVGFontFaceUriElement.cpp:
  8927. (WebCore::SVGFontFaceUriElement::srcValue):
  8928. * svg/SVGPaint.cpp:
  8929. (WebCore::SVGPaint::SVGPaint):
  8930. * svg/SVGPaint.h:
  8931. (WebCore::SVGPaint::create):
  8932. (WebCore::SVGPaint::isSVGPaint):
  8933. * svg/animation/SMILTimeContainer.cpp:
  8934. (WebCore::SMILTimeContainer::baseValueFor):
  8935. * xml/XSLImportRule.cpp:
  8936. (WebCore::XSLImportRule::XSLImportRule):
  8937. (WebCore::XSLImportRule::setXSLStyleSheet):
  8938. * xml/XSLImportRule.h:
  8939. (WebCore::XSLImportRule::create):
  8940. (WebCore::XSLImportRule::href):
  8941. (WebCore::XSLImportRule::isImportRule):
  8942. * xml/XSLStyleSheet.cpp:
  8943. (WebCore::XSLStyleSheet::checkLoaded):
  8944. (WebCore::XSLStyleSheet::loadChildSheet):
  8945. * xml/XSLStyleSheet.h:
  8946. (WebCore::XSLStyleSheet::create):
  8947. (WebCore::XSLStyleSheet::createEmbedded):
  8948. * xml/XSLTProcessor.cpp:
  8949. (WebCore::xsltStylesheetPointer):
  8950. 2008-06-17 Michelangelo De Simone <m.des@mac.com>
  8951. Reviewed by Adele.
  8952. Fix for https://bugs.webkit.org/show_bug.cgi?id=18887
  8953. Added support for autofocus controls.
  8954. When authors specify the "autofocus" attribute on form controls these
  8955. acquire focus automatically as the document is rendered.
  8956. Tests: fast/forms/autofocus-attribute.html
  8957. fast/forms/autofocus-opera-001.html
  8958. fast/forms/autofocus-opera-002.html
  8959. fast/forms/autofocus-opera-003.html
  8960. fast/forms/autofocus-opera-004.html
  8961. fast/forms/autofocus-opera-005.html
  8962. fast/forms/autofocus-opera-006.html
  8963. fast/forms/autofocus-opera-007.html
  8964. fast/forms/autofocus-opera-008.html
  8965. * dom/Document.cpp: (WebCore::Document::Document): Initialize the flag to ignore autofocus.
  8966. * dom/Document.h:
  8967. * html/HTMLAttributeNames.in:
  8968. * html/HTMLButtonElement.idl:
  8969. * html/HTMLFormControlElement.cpp:
  8970. (WebCore::HTMLFormControlElement::attach): Sets focus onto the appropriate "autofocus" control
  8971. (WebCore::HTMLFormControlElement::autofocus): Autofocus attribute getter
  8972. (WebCore::HTMLFormControlElement::setAutofocus): Autofocus attribute setter
  8973. * html/HTMLFormControlElement.h:
  8974. * html/HTMLInputElement.idl:
  8975. * html/HTMLSelectElement.idl:
  8976. * html/HTMLTextAreaElement.idl:
  8977. * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setUserEdited):
  8978. Sets the "ignore autofocus" flag on document if the user edited the control.
  8979. * rendering/RenderTextControl.h:
  8980. 2008-06-17 Alp Toker <alp@nuanti.com>
  8981. Reviewed by Dave Hyatt and Mark Rowe.
  8982. https://bugs.webkit.org/show_bug.cgi?id=19190
  8983. [CAIRO] Canvas rendered as black
  8984. Make sure the frame alpha transparency flag is set to true unless
  8985. we're certain the image data is solid and can be blitted, since the
  8986. Cairo backend implements a fast-path for blittable BitmapImages.
  8987. Thanks to Dirk Schulze for helping to track down this problem.
  8988. * platform/graphics/BitmapImage.cpp:
  8989. (WebCore::BitmapImage::frameHasAlphaAtIndex):
  8990. * platform/graphics/cairo/ImageCairo.cpp:
  8991. (WebCore::BitmapImage::BitmapImage):
  8992. * platform/graphics/cg/ImageCG.cpp:
  8993. (WebCore::BitmapImage::BitmapImage):
  8994. 2008-06-17 Ariya Hidayat <ariya.hidayat@trolltech.com>
  8995. Reviewed by Simon.
  8996. Fix the Qt port by adding ExecState when necessary.
  8997. * bridge/qt/qt_instance.cpp:
  8998. (KJS::Bindings::QtInstance::getPropertyNames):
  8999. (KJS::Bindings::QtInstance::invokeDefaultMethod):
  9000. * bridge/qt/qt_runtime.cpp:
  9001. (KJS::Bindings::convertValueToQVariant):
  9002. (KJS::Bindings::convertQVariantToValue):
  9003. (KJS::Bindings::QtRuntimeConnectionMethod::callAsFunction):
  9004. (KJS::Bindings::QtConnectionObject::execute):
  9005. 2008-06-17 David Hyatt <hyatt@apple.com>
  9006. Fix for slow performance on CSS selector tests at:
  9007. http://jpsykes.com/153/more-css-performance-testing-pt-2
  9008. Fix <style> element processing so that we don't reparse the entire stylesheet as chunks come in from
  9009. the network (since this is O(n^2)). Wait for the parser to deliver all of the data before we
  9010. process the sheet for the first time.
  9011. Reviewed by olliej
  9012. * html/HTMLStyleElement.cpp:
  9013. (WebCore::HTMLStyleElement::finishParsingChildren):
  9014. (WebCore::HTMLStyleElement::childrenChanged):
  9015. 2008-06-16 Dan Bernstein <mitz@apple.com>
  9016. Reviewed by Justin Garcia.
  9017. - fix <rdar://problem/5973313> REGRESSION (r32508): Down arrow doesn't change caret with non-user entered newlines in textareas
  9018. Test: editing/selection/after-line-break.html
  9019. * dom/Position.cpp:
  9020. (WebCore::Position::getInlineBoxAndOffset): Changed to not include the
  9021. position after a line break in its line box, because that position is
  9022. actually on the next line.
  9023. 2008-06-16 Alexey Proskuryakov <ap@webkit.org>
  9024. Reviewed by Geoff Garen.
  9025. Make Identifier construction use an explicitly passed IdentifierTable.
  9026. * platform/text/AtomicString.cpp:
  9027. * platform/text/AtomicString.h:
  9028. * platform/text/PlatformString.h:
  9029. * platform/text/String.cpp:
  9030. Removed "operator KJS::Identifier".
  9031. * bindings/js/JSCustomSQLStatementCallback.cpp:
  9032. (WebCore::JSCustomSQLStatementCallback::handleEvent):
  9033. * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
  9034. (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
  9035. * bindings/js/JSCustomSQLTransactionCallback.cpp:
  9036. (WebCore::JSCustomSQLTransactionCallback::handleEvent):
  9037. * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
  9038. (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
  9039. * bindings/js/JSCustomVoidCallback.cpp:
  9040. (WebCore::JSCustomVoidCallback::handleEvent):
  9041. * bindings/js/JSCustomXPathNSResolver.cpp:
  9042. (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
  9043. * bindings/js/JSDOMWindowBase.cpp:
  9044. (WebCore::JSDOMWindowBase::JSDOMWindowBase):
  9045. (WebCore::JSDOMWindowBase::updateDocument):
  9046. (WebCore::createWindow):
  9047. (WebCore::showModalDialog):
  9048. (WebCore::JSDOMWindowBase::getOwnPropertySlot):
  9049. (WebCore::JSDOMWindowBase::put):
  9050. (WebCore::JSDOMWindowBase::clear):
  9051. * bindings/js/JSDOMWindowCustom.cpp:
  9052. (WebCore::JSDOMWindow::setLocation):
  9053. * bindings/js/JSDOMWindowCustom.h:
  9054. (WebCore::JSDOMWindow::customGetOwnPropertySlot):
  9055. * bindings/js/JSEventListener.cpp:
  9056. (WebCore::JSAbstractEventListener::handleEvent):
  9057. (WebCore::JSLazyEventListener::parseCode):
  9058. * bindings/js/JSEventTargetBase.h:
  9059. (WebCore::JSEventTargetPrototype::self):
  9060. * bindings/js/JSHTMLCollectionCustom.cpp:
  9061. (WebCore::JSHTMLCollection::callAsFunction):
  9062. (WebCore::JSHTMLCollection::item):
  9063. (WebCore::JSHTMLCollection::namedItem):
  9064. * bindings/js/JSHTMLDocumentCustom.cpp:
  9065. (WebCore::JSHTMLDocument::all):
  9066. (WebCore::JSHTMLDocument::setAll):
  9067. (WebCore::JSHTMLDocument::open):
  9068. * bindings/js/JSHTMLInputElementBase.cpp:
  9069. (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
  9070. * bindings/js/JSHistoryCustom.cpp:
  9071. (WebCore::JSHistory::customGetOwnPropertySlot):
  9072. * bindings/js/JSLocationCustom.cpp:
  9073. (WebCore::JSLocation::customGetOwnPropertySlot):
  9074. (WebCore::JSLocation::customPut):
  9075. * bindings/js/JSNavigatorCustom.cpp:
  9076. (WebCore::needsYouTubeQuirk):
  9077. * bindings/js/JSSQLResultSetRowListCustom.cpp:
  9078. (WebCore::JSSQLResultSetRowList::item):
  9079. * bindings/js/JSStorageCustom.cpp:
  9080. (WebCore::JSStorage::customGetPropertyNames):
  9081. * bindings/js/ScheduledAction.cpp:
  9082. (WebCore::ScheduledAction::execute):
  9083. * bindings/js/ScriptController.cpp:
  9084. (WebCore::ScriptController::evaluate):
  9085. * bindings/objc/WebScriptObject.mm:
  9086. (WebCore::addExceptionToConsole):
  9087. (-[WebScriptObject callWebScriptMethod:withArguments:]):
  9088. (-[WebScriptObject setValue:forKey:]):
  9089. (-[WebScriptObject valueForKey:]):
  9090. (-[WebScriptObject removeWebScriptKey:]):
  9091. (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
  9092. * bindings/scripts/CodeGeneratorJS.pm:
  9093. * bridge/NP_jsobject.cpp:
  9094. (_NPN_Enumerate):
  9095. * bridge/c/c_instance.cpp:
  9096. (KJS::Bindings::CInstance::getPropertyNames):
  9097. * bridge/c/c_utility.cpp:
  9098. (KJS::Bindings::identifierFromNPIdentifier):
  9099. * bridge/jni/jni_class.cpp:
  9100. (JavaClass::JavaClass):
  9101. * bridge/jni/jni_jsobject.mm:
  9102. (JavaJSObject::call):
  9103. (JavaJSObject::getMember):
  9104. (JavaJSObject::setMember):
  9105. (JavaJSObject::removeMember):
  9106. * bridge/runtime_method.cpp:
  9107. (RuntimeMethod::callAsFunction):
  9108. Adapted to JavaScriptCore changes by explicitly constructing Identifiers, and always passing
  9109. an ExecState or JSGlobalData pointer. Since WebCore is not a legacy client, this can use
  9110. JSGlobalData::threadInstance(), as performance permits.
  9111. 2008-06-16 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
  9112. Reviewed by Dan Bernstein.
  9113. - fix https://bugs.webkit.org/show_bug.cgi?id=19592
  9114. Mismatched GraphicsContext::save()/restore() pairs in shadow painting code
  9115. * rendering/InlineFlowBox.cpp:
  9116. (WebCore::InlineFlowBox::paintTextDecorations): remove an extra context->save()
  9117. from the shadow painting code.
  9118. 2008-06-16 Adriaan de Groot <groot@kde.org>
  9119. Reviewed by Simon.
  9120. Fix compilation on Sun Studio 12
  9121. make_pair is a function template with two template arguments. This is to force
  9122. it to have the correct type according to the pair<> structure.
  9123. * editing/TextIterator.cpp:
  9124. (WebCore::plainTextToMallocAllocatedBuffer):
  9125. * page/Chrome.cpp:
  9126. (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
  9127. 2008-06-10 Tor Arne Vestbø <tavestbo@trolltech.com>
  9128. Reviewed by Simon
  9129. https://bugs.webkit.org/show_bug.cgi?id=19462
  9130. Fill the background of scrollbars to the window color before
  9131. letting the QStyle paint its primitive elements.
  9132. * platform/qt/PlatformScrollBarQt.cpp:
  9133. (WebCore::PlatformScrollbar::paint):
  9134. 2008-06-15 Darin Adler <darin@apple.com>
  9135. Rubber stamped by Sam.
  9136. - renamed kjs_html.h/cpp to JSPluginElementFunctions.h/cpp
  9137. - renamed kjs_events.h/cpp to JSEventListener.h/cpp
  9138. * GNUmakefile.am:
  9139. * WebCore.pro:
  9140. * WebCore.vcproj/WebCore.vcproj:
  9141. * WebCore.xcodeproj/project.pbxproj:
  9142. * WebCoreSources.bkl:
  9143. * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
  9144. * bindings/js/JSDOMApplicationCacheCustom.cpp:
  9145. * bindings/js/JSDOMWindowBase.cpp:
  9146. * bindings/js/JSEventCustom.cpp:
  9147. * bindings/js/JSEventListener.cpp: Copied from WebCore/bindings/js/kjs_events.cpp.
  9148. * bindings/js/JSEventListener.h: Copied from WebCore/bindings/js/kjs_events.h.
  9149. * bindings/js/JSEventTargetBase.h:
  9150. * bindings/js/JSHTMLAppletElementCustom.cpp:
  9151. * bindings/js/JSHTMLCollectionCustom.cpp:
  9152. * bindings/js/JSHTMLDocumentCustom.cpp:
  9153. * bindings/js/JSHTMLEmbedElementCustom.cpp:
  9154. * bindings/js/JSHTMLInputElementBase.h:
  9155. * bindings/js/JSHTMLObjectElementCustom.cpp:
  9156. * bindings/js/JSHTMLSelectElementCustom.cpp:
  9157. * bindings/js/JSPluginElementFunctions.cpp: Copied from WebCore/bindings/js/kjs_html.cpp.
  9158. * bindings/js/JSPluginElementFunctions.h: Copied from WebCore/bindings/js/kjs_html.h.
  9159. * bindings/js/JSSVGLazyEventListener.h:
  9160. * bindings/js/JSXMLHttpRequestCustom.cpp:
  9161. * bindings/js/ScriptController.cpp:
  9162. * bindings/js/kjs_events.cpp: Removed.
  9163. * bindings/js/kjs_events.h: Removed.
  9164. * bindings/js/kjs_html.cpp: Removed.
  9165. * bindings/js/kjs_html.h: Removed.
  9166. 2008-06-15 Darin Adler <darin@apple.com>
  9167. - give Frame object functions shorter names: scriptProxy() -> script(),
  9168. selectionController() -> selection(), animationController() -> animation()
  9169. * WebCore.base.exp:
  9170. * bindings/js/JSCustomSQLStatementCallback.cpp:
  9171. (WebCore::JSCustomSQLStatementCallback::handleEvent):
  9172. * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
  9173. (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
  9174. * bindings/js/JSCustomSQLTransactionCallback.cpp:
  9175. (WebCore::JSCustomSQLTransactionCallback::handleEvent):
  9176. * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
  9177. (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
  9178. * bindings/js/JSCustomVoidCallback.cpp:
  9179. (WebCore::JSCustomVoidCallback::handleEvent):
  9180. * bindings/js/JSCustomXPathNSResolver.cpp:
  9181. (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
  9182. * bindings/js/JSDOMWindowBase.cpp:
  9183. (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
  9184. (WebCore::allowPopUp):
  9185. (WebCore::createWindow):
  9186. (WebCore::windowProtoFuncOpen):
  9187. (WebCore::toJS):
  9188. (WebCore::toJSDOMWindow):
  9189. * bindings/js/JSDOMWindowCustom.cpp:
  9190. (WebCore::JSDOMWindow::setLocation):
  9191. * bindings/js/JSDOMWindowShell.cpp:
  9192. (WebCore::toJS):
  9193. (WebCore::toJSDOMWindowShell):
  9194. * bindings/js/JSDocumentCustom.cpp:
  9195. (WebCore::JSDocument::setLocation):
  9196. * bindings/js/JSLocationCustom.cpp:
  9197. (WebCore::navigateIfAllowed):
  9198. (WebCore::JSLocation::reload):
  9199. * bindings/js/JSNodeFilterCondition.cpp:
  9200. (WebCore::JSNodeFilterCondition::acceptNode):
  9201. * bindings/js/ScheduledAction.cpp:
  9202. (WebCore::ScheduledAction::execute):
  9203. * bindings/js/kjs_events.cpp:
  9204. (WebCore::JSAbstractEventListener::handleEvent):
  9205. (WebCore::JSLazyEventListener::parseCode):
  9206. * bindings/js/kjs_html.cpp:
  9207. (WebCore::runtimeObjectImplementsCall):
  9208. * bindings/objc/DOMInternal.mm:
  9209. (-[WebScriptObject _initializeScriptDOMNodeImp]):
  9210. * bridge/jni/jni_jsobject.mm:
  9211. (createRootObject):
  9212. * css/CSSStyleSelector.cpp:
  9213. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
  9214. * dom/Document.cpp:
  9215. (WebCore::Document::nodeWillBeRemoved):
  9216. (WebCore::Document::createHTMLEventListener):
  9217. * dom/Element.cpp:
  9218. (WebCore::Element::updateFocusAppearance):
  9219. * dom/EventTarget.cpp:
  9220. (WebCore::EventTarget::dispatchGenericEvent):
  9221. * dom/XMLTokenizer.cpp:
  9222. (WebCore::XMLTokenizer::startElementNs):
  9223. * editing/DeleteButtonController.cpp:
  9224. (WebCore::DeleteButtonController::respondToChangedSelection):
  9225. (WebCore::DeleteButtonController::enable):
  9226. (WebCore::DeleteButtonController::deleteTarget):
  9227. * editing/EditCommand.cpp:
  9228. (WebCore::EditCommand::EditCommand):
  9229. * editing/Editor.cpp:
  9230. (WebCore::Editor::selectionForCommand):
  9231. (WebCore::Editor::canEdit):
  9232. (WebCore::Editor::canEditRichly):
  9233. (WebCore::Editor::canDHTMLCut):
  9234. (WebCore::Editor::canDHTMLCopy):
  9235. (WebCore::Editor::canCopy):
  9236. (WebCore::Editor::canDelete):
  9237. (WebCore::Editor::deleteWithDirection):
  9238. (WebCore::Editor::deleteSelectionWithSmartDelete):
  9239. (WebCore::Editor::replaceSelectionWithFragment):
  9240. (WebCore::Editor::selectedRange):
  9241. (WebCore::Editor::tryDHTMLCopy):
  9242. (WebCore::Editor::tryDHTMLCut):
  9243. (WebCore::Editor::fontForSelection):
  9244. (WebCore::Editor::selectionUnorderedListState):
  9245. (WebCore::Editor::selectionOrderedListState):
  9246. (WebCore::Editor::increaseSelectionListLevel):
  9247. (WebCore::Editor::increaseSelectionListLevelOrdered):
  9248. (WebCore::Editor::increaseSelectionListLevelUnordered):
  9249. (WebCore::Editor::decreaseSelectionListLevel):
  9250. (WebCore::Editor::dispatchCPPEvent):
  9251. (WebCore::Editor::applyStyle):
  9252. (WebCore::Editor::applyParagraphStyle):
  9253. (WebCore::Editor::applyStyleToSelection):
  9254. (WebCore::Editor::applyParagraphStyleToSelection):
  9255. (WebCore::Editor::selectionHasStyle):
  9256. (WebCore::Editor::appliedEditing):
  9257. (WebCore::Editor::unappliedEditing):
  9258. (WebCore::Editor::reappliedEditing):
  9259. (WebCore::Editor::insertLineBreak):
  9260. (WebCore::Editor::insertParagraphSeparator):
  9261. (WebCore::Editor::paste):
  9262. (WebCore::Editor::selectComposition):
  9263. (WebCore::Editor::confirmComposition):
  9264. (WebCore::Editor::setComposition):
  9265. (WebCore::Editor::advanceToNextMisspelling):
  9266. (WebCore::Editor::isSelectionUngrammatical):
  9267. (WebCore::Editor::guessesForUngrammaticalSelection):
  9268. (WebCore::Editor::getCompositionSelection):
  9269. (WebCore::Editor::transpose):
  9270. * editing/EditorCommand.cpp:
  9271. (WebCore::expandSelectionToGranularity):
  9272. (WebCore::executeDeleteToMark):
  9273. (WebCore::executeMoveBackward):
  9274. (WebCore::executeMoveBackwardAndModifySelection):
  9275. (WebCore::executeMoveDown):
  9276. (WebCore::executeMoveDownAndModifySelection):
  9277. (WebCore::executeMoveForward):
  9278. (WebCore::executeMoveForwardAndModifySelection):
  9279. (WebCore::executeMoveLeft):
  9280. (WebCore::executeMoveLeftAndModifySelection):
  9281. (WebCore::executeMovePageDown):
  9282. (WebCore::executeMovePageDownAndModifySelection):
  9283. (WebCore::executeMovePageUp):
  9284. (WebCore::executeMovePageUpAndModifySelection):
  9285. (WebCore::executeMoveRight):
  9286. (WebCore::executeMoveRightAndModifySelection):
  9287. (WebCore::executeMoveToBeginningOfDocument):
  9288. (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
  9289. (WebCore::executeMoveToBeginningOfLine):
  9290. (WebCore::executeMoveToBeginningOfLineAndModifySelection):
  9291. (WebCore::executeMoveToBeginningOfParagraph):
  9292. (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
  9293. (WebCore::executeMoveToBeginningOfSentence):
  9294. (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
  9295. (WebCore::executeMoveToEndOfDocument):
  9296. (WebCore::executeMoveToEndOfDocumentAndModifySelection):
  9297. (WebCore::executeMoveToEndOfSentence):
  9298. (WebCore::executeMoveToEndOfSentenceAndModifySelection):
  9299. (WebCore::executeMoveToEndOfLine):
  9300. (WebCore::executeMoveToEndOfLineAndModifySelection):
  9301. (WebCore::executeMoveToEndOfParagraph):
  9302. (WebCore::executeMoveToEndOfParagraphAndModifySelection):
  9303. (WebCore::executeMoveParagraphBackwardAndModifySelection):
  9304. (WebCore::executeMoveParagraphForwardAndModifySelection):
  9305. (WebCore::executeMoveUp):
  9306. (WebCore::executeMoveUpAndModifySelection):
  9307. (WebCore::executeMoveWordBackward):
  9308. (WebCore::executeMoveWordBackwardAndModifySelection):
  9309. (WebCore::executeMoveWordForward):
  9310. (WebCore::executeMoveWordForwardAndModifySelection):
  9311. (WebCore::executeMoveWordLeft):
  9312. (WebCore::executeMoveWordLeftAndModifySelection):
  9313. (WebCore::executeMoveWordRight):
  9314. (WebCore::executeMoveWordRightAndModifySelection):
  9315. (WebCore::executeSelectAll):
  9316. (WebCore::executeSelectToMark):
  9317. (WebCore::executeSetMark):
  9318. (WebCore::executeSwapWithMark):
  9319. (WebCore::executeUnselect):
  9320. (WebCore::enabledAnySelection):
  9321. (WebCore::enabledAnySelectionAndMark):
  9322. (WebCore::enabledInRichlyEditableText):
  9323. (WebCore::enabledRangeInEditableText):
  9324. (WebCore::enabledRangeInRichlyEditableText):
  9325. * editing/ModifySelectionListLevel.cpp:
  9326. (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel):
  9327. (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel):
  9328. * editing/RemoveFormatCommand.cpp:
  9329. (WebCore::RemoveFormatCommand::doApply):
  9330. * editing/SelectionController.cpp:
  9331. (WebCore::SelectionController::setSelection):
  9332. (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
  9333. * editing/TypingCommand.cpp:
  9334. (WebCore::TypingCommand::deleteSelection):
  9335. (WebCore::TypingCommand::insertText):
  9336. (WebCore::TypingCommand::deleteKeyPressed):
  9337. (WebCore::TypingCommand::forwardDeleteKeyPressed):
  9338. * history/CachedPage.cpp:
  9339. (WebCore::CachedPage::CachedPage):
  9340. (WebCore::CachedPage::restore):
  9341. * html/HTMLAnchorElement.cpp:
  9342. (WebCore::HTMLAnchorElement::defaultEventHandler):
  9343. (WebCore::HTMLAnchorElement::setActive):
  9344. * html/HTMLInputElement.cpp:
  9345. (WebCore::HTMLInputElement::defaultEventHandler):
  9346. * html/HTMLPlugInElement.cpp:
  9347. (WebCore::HTMLPlugInElement::createNPObject):
  9348. * html/HTMLScriptElement.cpp:
  9349. (WebCore::HTMLScriptElement::evaluateScript):
  9350. * html/HTMLTokenizer.cpp:
  9351. (WebCore::HTMLTokenizer::parseTag):
  9352. (WebCore::HTMLTokenizer::processToken):
  9353. * loader/FrameLoader.cpp:
  9354. (WebCore::FrameLoader::executeScript):
  9355. (WebCore::FrameLoader::clear):
  9356. (WebCore::FrameLoader::userGestureHint):
  9357. (WebCore::FrameLoader::open):
  9358. (WebCore::FrameLoader::dispatchWindowObjectAvailable):
  9359. (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
  9360. * loader/archive/cf/LegacyWebArchive.cpp:
  9361. (WebCore::LegacyWebArchive::createFromSelection):
  9362. * page/AccessibilityRenderObject.cpp:
  9363. (WebCore::AccessibilityRenderObject::selection):
  9364. (WebCore::AccessibilityRenderObject::setSelectedTextRange):
  9365. (WebCore::AccessibilityRenderObject::isFocused):
  9366. (WebCore::AccessibilityRenderObject::doAXTextMarkerRangeForLine):
  9367. (WebCore::AccessibilityRenderObject::doSetAXSelectedTextMarkerRange):
  9368. (WebCore::AccessibilityRenderObject::doAXRangeForLine):
  9369. (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
  9370. * page/ContextMenuController.cpp:
  9371. (WebCore::ContextMenuController::contextMenuItemSelected):
  9372. * page/DOMSelection.cpp:
  9373. (WebCore::DOMSelection::anchorNode):
  9374. (WebCore::DOMSelection::baseNode):
  9375. (WebCore::DOMSelection::anchorOffset):
  9376. (WebCore::DOMSelection::baseOffset):
  9377. (WebCore::DOMSelection::focusNode):
  9378. (WebCore::DOMSelection::extentNode):
  9379. (WebCore::DOMSelection::focusOffset):
  9380. (WebCore::DOMSelection::extentOffset):
  9381. (WebCore::DOMSelection::isCollapsed):
  9382. (WebCore::DOMSelection::type):
  9383. (WebCore::DOMSelection::rangeCount):
  9384. (WebCore::DOMSelection::collapse):
  9385. (WebCore::DOMSelection::collapseToEnd):
  9386. (WebCore::DOMSelection::collapseToStart):
  9387. (WebCore::DOMSelection::empty):
  9388. (WebCore::DOMSelection::setBaseAndExtent):
  9389. (WebCore::DOMSelection::setPosition):
  9390. (WebCore::DOMSelection::modify):
  9391. (WebCore::DOMSelection::extend):
  9392. (WebCore::DOMSelection::getRangeAt):
  9393. (WebCore::DOMSelection::removeAllRanges):
  9394. (WebCore::DOMSelection::addRange):
  9395. (WebCore::DOMSelection::deleteFromDocument):
  9396. (WebCore::DOMSelection::containsNode):
  9397. (WebCore::DOMSelection::toString):
  9398. * page/DragController.cpp:
  9399. (WebCore::DragController::dragIsMove):
  9400. (WebCore::DragController::tryDocumentDrag):
  9401. (WebCore::setSelectionToDragCaret):
  9402. (WebCore::DragController::concludeDrag):
  9403. (WebCore::prepareClipboardForImageDrag):
  9404. (WebCore::DragController::startDrag):
  9405. * page/EventHandler.cpp:
  9406. (WebCore::EventHandler::selectClosestWordFromMouseEvent):
  9407. (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
  9408. (WebCore::EventHandler::handleMousePressEventDoubleClick):
  9409. (WebCore::EventHandler::handleMousePressEventTripleClick):
  9410. (WebCore::EventHandler::handleMousePressEventSingleClick):
  9411. (WebCore::EventHandler::handleMousePressEvent):
  9412. (WebCore::EventHandler::updateSelectionForMouseDrag):
  9413. (WebCore::EventHandler::handleMouseReleaseEvent):
  9414. (WebCore::nodeIsNotBeingEdited):
  9415. (WebCore::EventHandler::selectCursor):
  9416. (WebCore::EventHandler::dispatchMouseEvent):
  9417. (WebCore::EventHandler::sendContextMenuEvent):
  9418. (WebCore::EventHandler::handleKeyboardSelectionMovement):
  9419. (WebCore::EventHandler::handleDrag):
  9420. * page/FocusController.cpp:
  9421. (WebCore::FocusController::setFocusedFrame):
  9422. (WebCore::clearSelectionIfNeeded):
  9423. (WebCore::FocusController::setActive):
  9424. * page/Frame.cpp:
  9425. (WebCore::Frame::~Frame):
  9426. (WebCore::Frame::script):
  9427. (WebCore::Frame::setDocument):
  9428. (WebCore::Frame::selectedText):
  9429. (WebCore::Frame::selection):
  9430. (WebCore::Frame::animation):
  9431. (WebCore::Frame::notifyRendererOfSelectionChange):
  9432. (WebCore::Frame::invalidateSelection):
  9433. (WebCore::Frame::clearCaretRectIfNeeded):
  9434. (WebCore::Frame::setFocusedNodeIfNeeded):
  9435. (WebCore::Frame::selectionLayoutChanged):
  9436. (WebCore::Frame::caretBlinkTimerFired):
  9437. (WebCore::Frame::paintCaret):
  9438. (WebCore::Frame::shouldChangeSelection):
  9439. (WebCore::Frame::updateSecureKeyboardEntryIfActive):
  9440. (WebCore::Frame::computeAndSetTypingStyle):
  9441. (WebCore::Frame::selectionComputedStyle):
  9442. (WebCore::Frame::bindingRootObject):
  9443. (WebCore::Frame::windowScriptNPObject):
  9444. (WebCore::Frame::clearScriptController):
  9445. (WebCore::Frame::selectionTextRects):
  9446. (WebCore::Frame::currentForm):
  9447. (WebCore::Frame::revealSelection):
  9448. (WebCore::Frame::revealCaret):
  9449. (WebCore::Frame::clearTimers):
  9450. (WebCore::Frame::styleForSelectionStart):
  9451. (WebCore::Frame::setSelectionFromNone):
  9452. (WebCore::Frame::findString):
  9453. (WebCore::Frame::pageDestroyed):
  9454. (WebCore::Frame::respondToChangedSelection):
  9455. (WebCore::FramePrivate::FramePrivate):
  9456. * page/Frame.h:
  9457. * page/FramePrivate.h:
  9458. * page/InspectorController.cpp:
  9459. (WebCore::canPassNodeToJavaScript):
  9460. (WebCore::InspectorController::windowScriptObjectAvailable):
  9461. * page/JavaScriptDebugServer.cpp:
  9462. (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
  9463. * page/Page.cpp:
  9464. (WebCore::Page::findString):
  9465. (WebCore::Page::selection):
  9466. (WebCore::Page::setDebugger):
  9467. * page/mac/FrameMac.mm:
  9468. (WebCore::Frame::baseWritingDirectionForSelectionStart):
  9469. (WebCore::Frame::dragImageForSelection):
  9470. (WebCore::Frame::createScriptInstanceForWidget):
  9471. (WebCore::Frame::windowScriptObject):
  9472. * page/win/FrameWin.cpp:
  9473. (WebCore::Frame::dragImageForSelection):
  9474. * platform/ContextMenu.cpp:
  9475. (WebCore::selectionContainsPossibleWord):
  9476. (WebCore::ContextMenu::populate):
  9477. (WebCore::ContextMenu::checkOrEnableIfNeeded):
  9478. * plugins/PluginView.cpp:
  9479. (WebCore::PluginView::performRequest):
  9480. (WebCore::PluginView::bindingInstance):
  9481. * rendering/HitTestResult.cpp:
  9482. (WebCore::HitTestResult::isSelected):
  9483. * rendering/RenderBlock.cpp:
  9484. (WebCore::RenderBlock::paintCaret):
  9485. * rendering/RenderListBox.cpp:
  9486. (WebCore::RenderListBox::paintItemForeground):
  9487. (WebCore::RenderListBox::paintItemBackground):
  9488. * rendering/RenderObject.cpp:
  9489. (WebCore::RenderObject::selectionBackgroundColor):
  9490. (WebCore::RenderObject::selectionForegroundColor):
  9491. (WebCore::RenderObject::setAnimatableStyle):
  9492. (WebCore::RenderObject::destroy):
  9493. (WebCore::RenderObject::animation):
  9494. * rendering/RenderObject.h:
  9495. * rendering/RenderTextControl.cpp:
  9496. (WebCore::RenderTextControl::selectionStart):
  9497. (WebCore::RenderTextControl::selectionEnd):
  9498. (WebCore::RenderTextControl::setSelectionRange):
  9499. (WebCore::RenderTextControl::selectionChanged):
  9500. (WebCore::RenderTextControl::capsLockStateMayHaveChanged):
  9501. * rendering/RenderTheme.cpp:
  9502. (WebCore::RenderTheme::isFocused):
  9503. * rendering/RenderTreeAsText.cpp:
  9504. (WebCore::writeSelection):
  9505. * rendering/RenderWidget.cpp:
  9506. (WebCore::RenderWidget::destroy):
  9507. * svg/SVGDocumentExtensions.cpp:
  9508. (WebCore::SVGDocumentExtensions::createSVGEventListener):
  9509. * svg/SVGSVGElement.cpp:
  9510. (WebCore::SVGSVGElement::deselectAll):
  9511. * svg/SVGTextContentElement.cpp:
  9512. (WebCore::SVGTextContentElement::selectSubString):
  9513. 2008-06-15 Sam Weinig <sam@webkit.org>
  9514. Reviewed by Darin Adler.
  9515. Remove outdated comment.
  9516. * bindings/js/ScriptController.h:
  9517. 2008-06-15 Darin Adler <darin@apple.com>
  9518. - try to fix Qt build
  9519. * dom/XMLTokenizer.cpp: Use create instead of new.
  9520. - rename KJS::List to KJS::ArgList
  9521. * bindings/js/JSAudioConstructor.cpp:
  9522. (WebCore::JSAudioConstructor::construct):
  9523. * bindings/js/JSAudioConstructor.h:
  9524. * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
  9525. (WebCore::JSCanvasRenderingContext2D::setFillColor):
  9526. (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
  9527. (WebCore::JSCanvasRenderingContext2D::strokeRect):
  9528. (WebCore::JSCanvasRenderingContext2D::drawImage):
  9529. (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
  9530. (WebCore::JSCanvasRenderingContext2D::setShadow):
  9531. (WebCore::JSCanvasRenderingContext2D::createPattern):
  9532. (WebCore::JSCanvasRenderingContext2D::putImageData):
  9533. * bindings/js/JSClipboardCustom.cpp:
  9534. (WebCore::JSClipboard::types):
  9535. (WebCore::JSClipboard::clearData):
  9536. (WebCore::JSClipboard::getData):
  9537. (WebCore::JSClipboard::setData):
  9538. (WebCore::JSClipboard::setDragImage):
  9539. * bindings/js/JSConsoleCustom.cpp:
  9540. (WebCore::JSConsole::debug):
  9541. (WebCore::JSConsole::error):
  9542. (WebCore::JSConsole::info):
  9543. (WebCore::JSConsole::log):
  9544. (WebCore::JSConsole::warn):
  9545. (WebCore::JSConsole::assertCondition):
  9546. (WebCore::JSConsole::profile):
  9547. (WebCore::JSConsole::profileEnd):
  9548. * bindings/js/JSCustomSQLStatementCallback.cpp:
  9549. (WebCore::JSCustomSQLStatementCallback::handleEvent):
  9550. * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
  9551. (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
  9552. * bindings/js/JSCustomSQLTransactionCallback.cpp:
  9553. (WebCore::JSCustomSQLTransactionCallback::handleEvent):
  9554. * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
  9555. (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
  9556. * bindings/js/JSCustomVoidCallback.cpp:
  9557. (WebCore::JSCustomVoidCallback::handleEvent):
  9558. * bindings/js/JSCustomXPathNSResolver.cpp:
  9559. (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
  9560. * bindings/js/JSDOMApplicationCacheCustom.cpp:
  9561. (WebCore::JSDOMApplicationCache::add):
  9562. (WebCore::JSDOMApplicationCache::remove):
  9563. (WebCore::JSDOMApplicationCache::addEventListener):
  9564. (WebCore::JSDOMApplicationCache::removeEventListener):
  9565. (WebCore::JSDOMApplicationCache::dispatchEvent):
  9566. * bindings/js/JSDOMWindowBase.cpp:
  9567. (WebCore::windowProtoFuncAToB):
  9568. (WebCore::windowProtoFuncBToA):
  9569. (WebCore::windowProtoFuncOpen):
  9570. (WebCore::windowProtoFuncSetTimeout):
  9571. (WebCore::windowProtoFuncClearTimeout):
  9572. (WebCore::windowProtoFuncSetInterval):
  9573. (WebCore::windowProtoFuncAddEventListener):
  9574. (WebCore::windowProtoFuncRemoveEventListener):
  9575. (WebCore::windowProtoFuncShowModalDialog):
  9576. (WebCore::windowProtoFuncNotImplemented):
  9577. (WebCore::JSDOMWindowBase::installTimeout):
  9578. * bindings/js/JSDOMWindowBase.h:
  9579. * bindings/js/JSDOMWindowCustom.cpp:
  9580. (WebCore::JSDOMWindow::postMessage):
  9581. * bindings/js/JSDatabaseCustom.cpp:
  9582. (WebCore::JSDatabase::changeVersion):
  9583. (WebCore::JSDatabase::transaction):
  9584. * bindings/js/JSElementCustom.cpp:
  9585. (WebCore::JSElement::setAttribute):
  9586. (WebCore::JSElement::setAttributeNode):
  9587. (WebCore::JSElement::setAttributeNS):
  9588. (WebCore::JSElement::setAttributeNodeNS):
  9589. * bindings/js/JSEventTargetBase.cpp:
  9590. (WebCore::jsEventTargetAddEventListener):
  9591. (WebCore::jsEventTargetRemoveEventListener):
  9592. (WebCore::jsEventTargetDispatchEvent):
  9593. * bindings/js/JSEventTargetBase.h:
  9594. * bindings/js/JSHTMLAppletElementCustom.cpp:
  9595. (WebCore::JSHTMLAppletElement::callAsFunction):
  9596. * bindings/js/JSHTMLCollectionCustom.cpp:
  9597. (WebCore::JSHTMLCollection::callAsFunction):
  9598. (WebCore::JSHTMLCollection::item):
  9599. (WebCore::JSHTMLCollection::namedItem):
  9600. * bindings/js/JSHTMLDocumentCustom.cpp:
  9601. (WebCore::JSHTMLDocument::open):
  9602. (WebCore::writeHelper):
  9603. (WebCore::JSHTMLDocument::write):
  9604. (WebCore::JSHTMLDocument::writeln):
  9605. * bindings/js/JSHTMLEmbedElementCustom.cpp:
  9606. (WebCore::JSHTMLEmbedElement::callAsFunction):
  9607. * bindings/js/JSHTMLInputElementBase.cpp:
  9608. (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
  9609. * bindings/js/JSHTMLInputElementBase.h:
  9610. * bindings/js/JSHTMLObjectElementCustom.cpp:
  9611. (WebCore::JSHTMLObjectElement::callAsFunction):
  9612. * bindings/js/JSHTMLOptionElementConstructor.cpp:
  9613. (WebCore::JSHTMLOptionElementConstructor::construct):
  9614. * bindings/js/JSHTMLOptionElementConstructor.h:
  9615. * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
  9616. (WebCore::JSHTMLOptionsCollection::add):
  9617. (WebCore::JSHTMLOptionsCollection::remove):
  9618. * bindings/js/JSHTMLSelectElementCustom.cpp:
  9619. (WebCore::JSHTMLSelectElement::remove):
  9620. * bindings/js/JSImageConstructor.cpp:
  9621. (WebCore::JSImageConstructor::construct):
  9622. * bindings/js/JSImageConstructor.h:
  9623. * bindings/js/JSJavaScriptCallFrameCustom.cpp:
  9624. (WebCore::JSJavaScriptCallFrame::evaluate):
  9625. (WebCore::JSJavaScriptCallFrame::scopeChain):
  9626. * bindings/js/JSLocationCustom.cpp:
  9627. (WebCore::JSLocation::replace):
  9628. (WebCore::JSLocation::reload):
  9629. (WebCore::JSLocation::assign):
  9630. (WebCore::JSLocation::toString):
  9631. * bindings/js/JSNodeCustom.cpp:
  9632. (WebCore::JSNode::insertBefore):
  9633. (WebCore::JSNode::replaceChild):
  9634. (WebCore::JSNode::removeChild):
  9635. (WebCore::JSNode::appendChild):
  9636. * bindings/js/JSNodeFilterCondition.cpp:
  9637. (WebCore::JSNodeFilterCondition::acceptNode):
  9638. * bindings/js/JSNodeFilterCustom.cpp:
  9639. (WebCore::JSNodeFilter::acceptNode):
  9640. * bindings/js/JSNodeIteratorCustom.cpp:
  9641. (WebCore::JSNodeIterator::nextNode):
  9642. (WebCore::JSNodeIterator::previousNode):
  9643. * bindings/js/JSNodeListCustom.cpp:
  9644. (WebCore::JSNodeList::callAsFunction):
  9645. * bindings/js/JSQuarantinedObjectWrapper.cpp:
  9646. (WebCore::JSQuarantinedObjectWrapper::construct):
  9647. (WebCore::JSQuarantinedObjectWrapper::callAsFunction):
  9648. * bindings/js/JSQuarantinedObjectWrapper.h:
  9649. * bindings/js/JSSQLResultSetRowListCustom.cpp:
  9650. (WebCore::JSSQLResultSetRowList::item):
  9651. * bindings/js/JSSQLTransactionCustom.cpp:
  9652. (WebCore::JSSQLTransaction::executeSql):
  9653. * bindings/js/JSSVGMatrixCustom.cpp:
  9654. (WebCore::JSSVGMatrix::multiply):
  9655. (WebCore::JSSVGMatrix::inverse):
  9656. (WebCore::JSSVGMatrix::translate):
  9657. (WebCore::JSSVGMatrix::scale):
  9658. (WebCore::JSSVGMatrix::scaleNonUniform):
  9659. (WebCore::JSSVGMatrix::rotate):
  9660. (WebCore::JSSVGMatrix::rotateFromVector):
  9661. (WebCore::JSSVGMatrix::flipX):
  9662. (WebCore::JSSVGMatrix::flipY):
  9663. (WebCore::JSSVGMatrix::skewX):
  9664. (WebCore::JSSVGMatrix::skewY):
  9665. * bindings/js/JSSVGPathSegListCustom.cpp:
  9666. (WebCore::JSSVGPathSegList::clear):
  9667. (WebCore::JSSVGPathSegList::initialize):
  9668. (WebCore::JSSVGPathSegList::getItem):
  9669. (WebCore::JSSVGPathSegList::insertItemBefore):
  9670. (WebCore::JSSVGPathSegList::replaceItem):
  9671. (WebCore::JSSVGPathSegList::removeItem):
  9672. (WebCore::JSSVGPathSegList::appendItem):
  9673. * bindings/js/JSSVGPointListCustom.cpp:
  9674. (WebCore::JSSVGPointList::clear):
  9675. (WebCore::JSSVGPointList::initialize):
  9676. (WebCore::JSSVGPointList::getItem):
  9677. (WebCore::JSSVGPointList::insertItemBefore):
  9678. (WebCore::JSSVGPointList::replaceItem):
  9679. (WebCore::JSSVGPointList::removeItem):
  9680. (WebCore::JSSVGPointList::appendItem):
  9681. * bindings/js/JSSVGTransformListCustom.cpp:
  9682. (WebCore::JSSVGTransformList::clear):
  9683. (WebCore::JSSVGTransformList::initialize):
  9684. (WebCore::JSSVGTransformList::getItem):
  9685. (WebCore::JSSVGTransformList::insertItemBefore):
  9686. (WebCore::JSSVGTransformList::replaceItem):
  9687. (WebCore::JSSVGTransformList::removeItem):
  9688. (WebCore::JSSVGTransformList::appendItem):
  9689. * bindings/js/JSTreeWalkerCustom.cpp:
  9690. (WebCore::JSTreeWalker::parentNode):
  9691. (WebCore::JSTreeWalker::firstChild):
  9692. (WebCore::JSTreeWalker::lastChild):
  9693. (WebCore::JSTreeWalker::nextSibling):
  9694. (WebCore::JSTreeWalker::previousSibling):
  9695. (WebCore::JSTreeWalker::previousNode):
  9696. (WebCore::JSTreeWalker::nextNode):
  9697. * bindings/js/JSXMLHttpRequestConstructor.cpp:
  9698. (WebCore::JSXMLHttpRequestConstructor::construct):
  9699. * bindings/js/JSXMLHttpRequestConstructor.h:
  9700. * bindings/js/JSXMLHttpRequestCustom.cpp:
  9701. (WebCore::JSXMLHttpRequest::open):
  9702. (WebCore::JSXMLHttpRequest::setRequestHeader):
  9703. (WebCore::JSXMLHttpRequest::send):
  9704. (WebCore::JSXMLHttpRequest::getResponseHeader):
  9705. (WebCore::JSXMLHttpRequest::overrideMimeType):
  9706. (WebCore::JSXMLHttpRequest::addEventListener):
  9707. (WebCore::JSXMLHttpRequest::removeEventListener):
  9708. (WebCore::JSXMLHttpRequest::dispatchEvent):
  9709. * bindings/js/JSXSLTProcessorConstructor.cpp:
  9710. (WebCore::JSXSLTProcessorConstructor::construct):
  9711. * bindings/js/JSXSLTProcessorConstructor.h:
  9712. * bindings/js/JSXSLTProcessorCustom.cpp:
  9713. (WebCore::JSXSLTProcessor::importStylesheet):
  9714. (WebCore::JSXSLTProcessor::transformToFragment):
  9715. (WebCore::JSXSLTProcessor::transformToDocument):
  9716. (WebCore::JSXSLTProcessor::setParameter):
  9717. (WebCore::JSXSLTProcessor::getParameter):
  9718. (WebCore::JSXSLTProcessor::removeParameter):
  9719. * bindings/js/ScheduledAction.cpp:
  9720. (WebCore::ScheduledAction::ScheduledAction):
  9721. (WebCore::ScheduledAction::execute):
  9722. * bindings/js/ScheduledAction.h:
  9723. * bindings/js/kjs_events.cpp:
  9724. (WebCore::JSAbstractEventListener::handleEvent):
  9725. (WebCore::JSLazyEventListener::parseCode):
  9726. * bindings/js/kjs_html.cpp:
  9727. (WebCore::runtimeObjectCallAsFunction):
  9728. * bindings/js/kjs_html.h:
  9729. * bindings/objc/WebScriptObject.mm:
  9730. (getListFromNSArray):
  9731. (-[WebScriptObject callWebScriptMethod:withArguments:]):
  9732. * bindings/scripts/CodeGeneratorJS.pm:
  9733. * bridge/NP_jsobject.cpp:
  9734. (getListFromVariantArgs):
  9735. (_NPN_InvokeDefault):
  9736. (_NPN_Invoke):
  9737. * bridge/c/c_instance.cpp:
  9738. (KJS::Bindings::CInstance::invokeMethod):
  9739. (KJS::Bindings::CInstance::invokeDefaultMethod):
  9740. * bridge/c/c_instance.h:
  9741. * bridge/jni/jni_instance.cpp:
  9742. (JavaInstance::invokeMethod):
  9743. * bridge/jni/jni_instance.h:
  9744. * bridge/jni/jni_jsobject.h:
  9745. * bridge/jni/jni_jsobject.mm:
  9746. (JavaJSObject::call):
  9747. (JavaJSObject::getListFromJArray):
  9748. * bridge/objc/objc_instance.h:
  9749. * bridge/objc/objc_instance.mm:
  9750. (ObjcInstance::invokeMethod):
  9751. (ObjcInstance::invokeDefaultMethod):
  9752. * bridge/objc/objc_runtime.h:
  9753. * bridge/objc/objc_runtime.mm:
  9754. (ObjcFallbackObjectImp::callAsFunction):
  9755. * bridge/qt/qt_instance.cpp:
  9756. (KJS::Bindings::QtRuntimeObjectImp::construct):
  9757. (KJS::Bindings::QtInstance::invokeMethod):
  9758. (KJS::Bindings::QtInstance::invokeDefaultMethod):
  9759. * bridge/qt/qt_instance.h:
  9760. * bridge/qt/qt_runtime.cpp:
  9761. (KJS::Bindings::convertQVariantToValue):
  9762. (KJS::Bindings::findMethodIndex):
  9763. (KJS::Bindings::QtRuntimeMetaMethod::callAsFunction):
  9764. (KJS::Bindings::QtRuntimeConnectionMethod::callAsFunction):
  9765. (KJS::Bindings::QtConnectionObject::execute):
  9766. * bridge/qt/qt_runtime.h:
  9767. * bridge/runtime.h:
  9768. (KJS::Bindings::Instance::invokeDefaultMethod):
  9769. * bridge/runtime_method.cpp:
  9770. (RuntimeMethod::callAsFunction):
  9771. * bridge/runtime_method.h:
  9772. * bridge/runtime_object.cpp:
  9773. (RuntimeObjectImp::callAsFunction):
  9774. * bridge/runtime_object.h:
  9775. * page/Console.cpp:
  9776. (WebCore::printToStandardOut):
  9777. (WebCore::Console::debug):
  9778. (WebCore::Console::error):
  9779. (WebCore::Console::info):
  9780. (WebCore::Console::log):
  9781. (WebCore::Console::assertCondition):
  9782. (WebCore::Console::profile):
  9783. (WebCore::Console::profileEnd):
  9784. (WebCore::Console::warn):
  9785. * page/Console.h:
  9786. * page/InspectorController.cpp:
  9787. (WebCore::ConsoleMessage::ConsoleMessage):
  9788. (WebCore::InspectorController::addMessageToConsole):
  9789. * page/InspectorController.h:
  9790. 2008-06-15 Darin Adler <darin@apple.com>
  9791. * platform/graphics/gtk/VideoSinkGStreamer.h: Undo a bogus rename done by the script.
  9792. 2008-06-15 Adam Barth <abarth@webkit.org>
  9793. Reviewed by Sam Weinig.
  9794. Fix our implementation of Document.documentURI (DOM Core Level 3).
  9795. Tests: fast/dom/documenturi-affects-relative-paths.html
  9796. fast/dom/documenturi-assigned-junk-implies-baseuri-null.html
  9797. fast/dom/documenturi-assigned-junk-implies-relative-urls-do-not-resolve.html
  9798. fast/dom/documenturi-can-hold-arbitrary-string.html
  9799. fast/dom/documenturi-loses-to-base-tag.html
  9800. fast/dom/documenturi-not-affected-by-base-tag.html
  9801. * dom/Document.cpp:
  9802. (WebCore::Document::setDocumentURI):
  9803. (WebCore::Document::setURL):
  9804. (WebCore::Document::updateBaseURL):
  9805. * dom/Document.h:
  9806. * page/AccessibilityRenderObject.cpp:
  9807. (WebCore::AccessibilityRenderObject::url):
  9808. 2008-06-15 Adam Barth <abarth@webkit.org>
  9809. Reviewed by Sam Weinig.
  9810. Refactor our handling of Document::m_baseURL in preparation for
  9811. correcting our implementation of Document.documentURI.
  9812. * dom/Document.cpp:
  9813. (WebCore::Document::documentURI):
  9814. (WebCore::Document::open):
  9815. (WebCore::Document::setURL):
  9816. (WebCore::Document::setBaseElementURL):
  9817. (WebCore::Document::updateBaseURL):
  9818. (WebCore::Document::elementSheet):
  9819. (WebCore::Document::mappedElementSheet):
  9820. (WebCore::Document::completeURL):
  9821. * dom/Document.h:
  9822. (WebCore::Document::url):
  9823. (WebCore::Document::baseURL):
  9824. * html/HTMLBaseElement.cpp:
  9825. (WebCore::HTMLBaseElement::removedFromDocument):
  9826. (WebCore::HTMLBaseElement::process):
  9827. * loader/FrameLoader.cpp:
  9828. (WebCore::FrameLoader::begin):
  9829. (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
  9830. * xml/XSLTProcessor.cpp:
  9831. (WebCore::XSLTProcessor::createDocumentFromSource):
  9832. 2008-06-15 Darin Adler <darin@apple.com>
  9833. - new names for more JavaScriptCore files
  9834. * ForwardingHeaders/kjs/ArrayPrototype.h: Copied from WebCore/ForwardingHeaders/kjs/array_object.h.
  9835. * ForwardingHeaders/kjs/BooleanObject.h: Copied from WebCore/ForwardingHeaders/kjs/bool_object.h.
  9836. * ForwardingHeaders/kjs/FunctionPrototype.h: Copied from WebCore/ForwardingHeaders/kjs/function_object.h.
  9837. * ForwardingHeaders/kjs/JSArray.h: Copied from WebCore/ForwardingHeaders/kjs/array_instance.h.
  9838. * ForwardingHeaders/kjs/PropertyMap.h: Copied from WebCore/ForwardingHeaders/kjs/property_map.h.
  9839. * ForwardingHeaders/kjs/array_instance.h: Removed.
  9840. * ForwardingHeaders/kjs/array_object.h: Removed.
  9841. * ForwardingHeaders/kjs/bool_object.h: Removed.
  9842. * ForwardingHeaders/kjs/function_object.h: Removed.
  9843. * ForwardingHeaders/kjs/property_map.h: Removed.
  9844. * WebCore.vcproj/WebCore.vcproj:
  9845. * bindings/js/JSClipboardCustom.cpp:
  9846. * bindings/js/JSDatabaseCustom.cpp:
  9847. * bindings/js/JSJavaScriptCallFrameCustom.cpp:
  9848. * bindings/js/kjs_events.cpp:
  9849. * bridge/jni/jni_utility.cpp:
  9850. * bridge/qt/qt_runtime.cpp:
  9851. * bridge/runtime_array.cpp:
  9852. 2008-06-15 Darin Adler <darin@apple.com>
  9853. - new names for a few key JavaScriptCore files
  9854. * ForwardingHeaders/kjs/JSFunction.h: Copied from WebCore/ForwardingHeaders/kjs/function.h.
  9855. * ForwardingHeaders/kjs/JSObject.h: Copied from WebCore/ForwardingHeaders/kjs/object.h.
  9856. * ForwardingHeaders/kjs/JSString.h: Copied from WebCore/ForwardingHeaders/kjs/internal.h.
  9857. * ForwardingHeaders/kjs/JSValue.h: Copied from WebCore/ForwardingHeaders/kjs/value.h.
  9858. * ForwardingHeaders/kjs/function.h: Removed.
  9859. * ForwardingHeaders/kjs/internal.h: Removed.
  9860. * ForwardingHeaders/kjs/object.h: Removed.
  9861. * ForwardingHeaders/kjs/value.h: Removed.
  9862. * WebCore.vcproj/WebCore.vcproj:
  9863. * bindings/js/JSCustomSQLStatementCallback.h:
  9864. * bindings/js/JSCustomSQLStatementErrorCallback.h:
  9865. * bindings/js/JSCustomSQLTransactionErrorCallback.h:
  9866. * bindings/js/JSCustomVoidCallback.h:
  9867. * bindings/js/JSDOMBinding.h:
  9868. * bindings/js/JSDOMWindowCustom.cpp:
  9869. * bindings/js/JSDOMWindowShell.cpp:
  9870. * bindings/js/JSQuarantinedObjectWrapper.h:
  9871. * bridge/objc/objc_runtime.h:
  9872. * bridge/objc/objc_utility.h:
  9873. * bridge/qt/qt_runtime.cpp:
  9874. * bridge/runtime.h:
  9875. * bridge/runtime_array.h:
  9876. * bridge/runtime_method.h:
  9877. * bridge/runtime_object.h:
  9878. * bridge/testbindings.cpp:
  9879. * bridge/testbindings.mm:
  9880. * bridge/testqtbindings.cpp:
  9881. * loader/FrameLoader.cpp:
  9882. * page/JavaScriptCallFrame.cpp:
  9883. * page/JavaScriptProfile.cpp:
  9884. * page/JavaScriptProfileNode.cpp:
  9885. * platform/graphics/gtk/VideoSinkGStreamer.h:
  9886. * plugins/PluginView.cpp:
  9887. * plugins/gtk/PluginViewGtk.cpp:
  9888. * plugins/qt/PluginViewQt.cpp:
  9889. * plugins/win/PluginViewWin.cpp:
  9890. 2008-06-15 Darin Adler <darin@apple.com>
  9891. Rubber stamped by Sam.
  9892. - cut down on confusing uses of "Object" and "Imp" in
  9893. JavaScriptCore class names
  9894. * bindings/js/JSCSSStyleDeclarationCustom.cpp:
  9895. (WebCore::JSCSSStyleDeclaration::nameGetter):
  9896. * bridge/qt/qt_runtime.cpp:
  9897. (KJS::Bindings::valueRealType):
  9898. (KJS::Bindings::convertValueToQVariant):
  9899. (KJS::Bindings::convertQVariantToValue):
  9900. (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
  9901. * bridge/qt/qt_runtime.h:
  9902. * bridge/runtime_method.cpp:
  9903. (RuntimeMethod::RuntimeMethod):
  9904. (RuntimeMethod::getOwnPropertySlot):
  9905. * bridge/runtime_method.h:
  9906. 2008-06-15 Dan Bernstein <mitz@apple.com>
  9907. Reviewed by Darin Adler.
  9908. - fix <rdar://problem/5825683> Three slash URLs are modified by WebKit
  9909. Test: fast/loader/url-parse-1.html
  9910. URIs in which the scheme is followed by "://" are ambiguous, because
  9911. "//" can be either the beginning of a net_path or the beginning of an
  9912. abs_path whose first path segment is empty. In the case of ":///", the
  9913. net_path interpretation is invalid, because the authority (the part
  9914. between the second and third slashes) cannot be empty. However, for
  9915. historical reasons, this is allowed in http:, https: and file: URLs,
  9916. in which an empty authority means the local host.
  9917. * platform/KURL.cpp:
  9918. (WebCore::KURL::parse): Changed to interpret URLs in which the scheme
  9919. is followed by ":///" as abs_path-only URLs, unless the scheme is http,
  9920. https or file.
  9921. 2008-06-15 Darin Adler <darin@apple.com>
  9922. Rubber stamped by Sam.
  9923. - use JS prefix and simpler names for basic JavaScriptCore types,
  9924. to complement JSValue and JSObject
  9925. * bindings/js/JSNavigatorCustom.cpp:
  9926. (WebCore::needsYouTubeQuirk):
  9927. * bindings/js/kjs_events.cpp:
  9928. (WebCore::JSLazyEventListener::parseCode):
  9929. * bridge/jni/jni_utility.cpp:
  9930. (KJS::Bindings::convertArrayInstanceToJavaArray):
  9931. (KJS::Bindings::convertValueToJValue):
  9932. * bridge/qt/qt_runtime.cpp:
  9933. (KJS::Bindings::valueRealType):
  9934. (KJS::Bindings::convertValueToQVariant):
  9935. (KJS::Bindings::QtConnectionObject::execute):
  9936. * bridge/runtime_array.cpp:
  9937. 2008-06-15 Darin Adler <darin@apple.com>
  9938. Reviewed by Mitz.
  9939. - fix https://bugs.webkit.org/show_bug.cgi?id=19556
  9940. REGRESSION (r34544): Crash while visiting bigglook.com
  9941. This fix eliminates the crash, but the logic remaining seems a little strange.
  9942. We create an IconRecord and then immediately destroy it. Worth taking another
  9943. look at this later.
  9944. * loader/icon/IconDatabase.cpp:
  9945. (WebCore::IconDatabase::setIconDataForIconURL): Added code to remove the icon
  9946. just as in the other cases where we might be holding the single reference to it.
  9947. (WebCore::IconDatabase::setIconURLForPageURL): Fixed comment typo.
  9948. (WebCore::IconDatabase::writeToDatabase): Removed unused local variable.
  9949. 2008-06-15 Darin Adler <darin@apple.com>
  9950. Reviewed and tweaked by Sam Weinig.
  9951. Fix for <rdar://problem/5908591>
  9952. https://bugs.webkit.org/show_bug.cgi?id=18743
  9953. Makes DOMImplementation per-document.
  9954. Test: http/tests/security/cross-frame-access-DOMImplementation.html
  9955. * bindings/objc/DOMImplementationFront.cpp:
  9956. (WebCore::DOMImplementationFront::getInterface):
  9957. * bindings/objc/DOMImplementationFront.h:
  9958. * dom/DOMImplementation.cpp:
  9959. (WebCore::DOMImplementation::hasFeature):
  9960. (WebCore::DOMImplementation::createDocumentType):
  9961. (WebCore::DOMImplementation::getInterface):
  9962. (WebCore::DOMImplementation::createDocument):
  9963. (WebCore::DOMImplementation::createHTMLDocument):
  9964. * dom/DOMImplementation.h:
  9965. (WebCore::DOMImplementation::create):
  9966. * dom/Document.cpp:
  9967. (WebCore::Document::Document):
  9968. (WebCore::Document::implementation):
  9969. * dom/Document.h:
  9970. (WebCore::Document::create):
  9971. (WebCore::Document::createXHTML):
  9972. * dom/DocumentType.cpp:
  9973. * dom/DocumentType.h:
  9974. (WebCore::DocumentType::create):
  9975. (WebCore::DocumentType::entities):
  9976. (WebCore::DocumentType::notations):
  9977. (WebCore::DocumentType::name):
  9978. (WebCore::DocumentType::publicId):
  9979. (WebCore::DocumentType::systemId):
  9980. (WebCore::DocumentType::internalSubset):
  9981. * dom/Node.cpp:
  9982. (WebCore::Node::isSupported):
  9983. * dom/XMLTokenizer.cpp:
  9984. (WebCore::XMLTokenizer::internalSubset):
  9985. * html/HTMLDocument.cpp:
  9986. (WebCore::HTMLDocument::HTMLDocument):
  9987. * html/HTMLDocument.h:
  9988. (WebCore::HTMLDocument::create):
  9989. (WebCore::HTMLDocument::isHTMLDocument):
  9990. * html/HTMLParser.cpp:
  9991. (WebCore::HTMLParser::parseDoctypeToken):
  9992. * html/HTMLViewSourceDocument.cpp:
  9993. (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
  9994. (WebCore::HTMLViewSourceDocument::createTokenizer):
  9995. * html/HTMLViewSourceDocument.h:
  9996. (WebCore::HTMLViewSourceDocument::create):
  9997. * loader/CachedFont.cpp:
  9998. (WebCore::CachedFont::ensureSVGFontData):
  9999. * loader/FTPDirectoryDocument.cpp:
  10000. (WebCore::FTPDirectoryDocument::FTPDirectoryDocument):
  10001. * loader/FTPDirectoryDocument.h:
  10002. (WebCore::FTPDirectoryDocument::create):
  10003. * loader/FrameLoader.cpp:
  10004. (WebCore::FrameLoader::begin):
  10005. * loader/ImageDocument.cpp:
  10006. (WebCore::ImageDocument::ImageDocument):
  10007. * loader/ImageDocument.h:
  10008. (WebCore::ImageDocument::create):
  10009. (WebCore::ImageDocument::isImageDocument):
  10010. * loader/PluginDocument.cpp:
  10011. (WebCore::PluginDocument::PluginDocument):
  10012. * loader/PluginDocument.h:
  10013. (WebCore::PluginDocument::create):
  10014. (WebCore::PluginDocument::isPluginDocument):
  10015. * loader/TextDocument.cpp:
  10016. (WebCore::TextTokenizer::checkBuffer):
  10017. (WebCore::TextDocument::TextDocument):
  10018. (WebCore::createTextTokenizer):
  10019. * loader/TextDocument.h:
  10020. (WebCore::TextDocument::create):
  10021. * svg/SVGDocument.cpp:
  10022. (WebCore::SVGDocument::SVGDocument):
  10023. * svg/SVGDocument.h:
  10024. (WebCore::SVGDocument::create):
  10025. * svg/SVGElement.cpp:
  10026. (WebCore::SVGElement::isSupported):
  10027. * svg/SVGTests.cpp:
  10028. (WebCore::SVGTests::isValid):
  10029. * xml/DOMParser.cpp:
  10030. (WebCore::DOMParser::parseFromString):
  10031. 2008-06-15 Cameron Zwarich <cwzwarich@uwaterloo.ca>
  10032. Reviewed by Maciej.
  10033. Mac build fix.
  10034. * WebCore.base.exp:
  10035. * WebCore.order:
  10036. 2008-06-14 Darin Adler <darin@apple.com>
  10037. Rubber stamped by Sam.
  10038. - new names for kjs_binding.h and kjs_proxy.h
  10039. * GNUmakefile.am:
  10040. * WebCore.pro:
  10041. * WebCore.vcproj/WebCore.vcproj:
  10042. * WebCore.xcodeproj/project.pbxproj:
  10043. * WebCoreSources.bkl:
  10044. * bindings/js/JSAudioConstructor.h:
  10045. * bindings/js/JSCustomSQLStatementCallback.cpp:
  10046. * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
  10047. * bindings/js/JSCustomSQLTransactionCallback.cpp:
  10048. * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
  10049. * bindings/js/JSCustomVoidCallback.cpp:
  10050. * bindings/js/JSCustomXPathNSResolver.cpp:
  10051. * bindings/js/JSDOMBinding.cpp: Copied from WebCore/bindings/js/kjs_binding.cpp.
  10052. * bindings/js/JSDOMBinding.h: Copied from WebCore/bindings/js/kjs_binding.h.
  10053. * bindings/js/JSDOMWindowBase.cpp:
  10054. * bindings/js/JSDOMWindowBase.h:
  10055. * bindings/js/JSDOMWindowCustom.cpp:
  10056. * bindings/js/JSDOMWindowShell.cpp:
  10057. * bindings/js/JSDOMWindowShell.h:
  10058. * bindings/js/JSDocumentCustom.cpp:
  10059. * bindings/js/JSHTMLCollectionCustom.cpp:
  10060. * bindings/js/JSHTMLFrameElementCustom.cpp:
  10061. * bindings/js/JSHTMLFrameSetElementCustom.cpp:
  10062. * bindings/js/JSHTMLIFrameElementCustom.cpp:
  10063. * bindings/js/JSHTMLInputElementBase.h:
  10064. * bindings/js/JSHTMLOptionElementConstructor.h:
  10065. * bindings/js/JSImageConstructor.h:
  10066. * bindings/js/JSLocationCustom.cpp:
  10067. * bindings/js/JSNamedNodeMapCustom.cpp:
  10068. * bindings/js/JSNamedNodesCollection.h:
  10069. * bindings/js/JSNodeFilterCondition.cpp:
  10070. * bindings/js/JSNodeFilterCustom.cpp:
  10071. * bindings/js/JSRGBColor.h:
  10072. * bindings/js/JSSVGPathSegCustom.cpp:
  10073. * bindings/js/JSXMLHttpRequestConstructor.h:
  10074. * bindings/js/JSXSLTProcessorConstructor.h:
  10075. * bindings/js/JSXSLTProcessorCustom.cpp:
  10076. * bindings/js/ScheduledAction.cpp:
  10077. (WebCore::ScheduledAction::execute):
  10078. * bindings/js/ScriptController.cpp: Copied from WebCore/bindings/js/kjs_proxy.cpp.
  10079. * bindings/js/ScriptController.h: Copied from WebCore/bindings/js/kjs_proxy.h.
  10080. * bindings/js/kjs_binding.cpp: Removed.
  10081. * bindings/js/kjs_binding.h: Removed.
  10082. * bindings/js/kjs_events.cpp:
  10083. (WebCore::JSAbstractEventListener::handleEvent):
  10084. * bindings/js/kjs_html.cpp:
  10085. * bindings/js/kjs_html.h:
  10086. * bindings/js/kjs_proxy.cpp: Removed.
  10087. * bindings/js/kjs_proxy.h: Removed.
  10088. * bindings/objc/DOMInternal.mm:
  10089. * bindings/scripts/CodeGeneratorJS.pm:
  10090. * bridge/jni/jni_jsobject.mm:
  10091. * dom/Document.cpp:
  10092. * dom/EventTarget.cpp:
  10093. * dom/Node.cpp:
  10094. * dom/XMLTokenizer.cpp:
  10095. (WebCore::XMLTokenizer::startElementNs):
  10096. * history/CachedPage.cpp:
  10097. (WebCore::CachedPage::CachedPage):
  10098. (WebCore::CachedPage::restore):
  10099. * html/HTMLPlugInElement.cpp:
  10100. * html/HTMLScriptElement.cpp:
  10101. * html/HTMLTokenizer.cpp:
  10102. (WebCore::HTMLTokenizer::processToken):
  10103. * loader/FrameLoader.cpp:
  10104. (WebCore::FrameLoader::executeScript):
  10105. * page/Frame.cpp:
  10106. (WebCore::Frame::scriptProxy):
  10107. * page/Frame.h:
  10108. * page/FramePrivate.h:
  10109. * page/InspectorController.cpp:
  10110. * page/JavaScriptDebugServer.cpp:
  10111. * page/JavaScriptProfileNode.cpp:
  10112. * page/Page.cpp:
  10113. * page/gtk/FrameGtk.cpp:
  10114. * page/mac/FrameMac.mm:
  10115. * page/qt/FrameQt.cpp:
  10116. * page/win/FrameWin.cpp:
  10117. * plugins/PluginView.cpp:
  10118. (WebCore::getString):
  10119. * plugins/gtk/PluginViewGtk.cpp:
  10120. * plugins/qt/PluginViewQt.cpp:
  10121. * plugins/win/PluginViewWin.cpp:
  10122. * svg/SVGDocumentExtensions.cpp:
  10123. * xml/XMLHttpRequest.cpp:
  10124. 2008-06-14 Darin Adler <darin@apple.com>
  10125. Rubber stamped by Sam.
  10126. - renamed HTMLGenericFormElement to HTMLFormControlElement
  10127. * GNUmakefile.am:
  10128. * WebCore.pro:
  10129. * WebCore.vcproj/WebCore.vcproj:
  10130. * WebCore.xcodeproj/project.pbxproj:
  10131. * WebCoreSources.bkl:
  10132. * html/HTMLButtonElement.cpp:
  10133. (WebCore::HTMLButtonElement::HTMLButtonElement):
  10134. (WebCore::HTMLButtonElement::parseMappedAttribute):
  10135. (WebCore::HTMLButtonElement::defaultEventHandler):
  10136. * html/HTMLButtonElement.h:
  10137. * html/HTMLFieldSetElement.cpp:
  10138. (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
  10139. * html/HTMLFieldSetElement.h:
  10140. * html/HTMLFormCollection.cpp:
  10141. (WebCore::HTMLFormCollection::item):
  10142. (WebCore::HTMLFormCollection::getNamedFormItem):
  10143. (WebCore::HTMLFormCollection::updateNameCache):
  10144. * html/HTMLFormControlElement.cpp: Copied from WebCore/html/HTMLGenericFormElement.cpp.
  10145. * html/HTMLFormControlElement.h: Copied from WebCore/html/HTMLGenericFormElement.h.
  10146. * html/HTMLFormElement.cpp:
  10147. (WebCore::HTMLFormElement::formData):
  10148. (WebCore::HTMLFormElement::submit):
  10149. (WebCore::HTMLFormElement::formElementIndex):
  10150. (WebCore::HTMLFormElement::registerFormElement):
  10151. (WebCore::HTMLFormElement::removeFormElement):
  10152. (WebCore::HTMLFormElement::elementForAlias):
  10153. (WebCore::HTMLFormElement::addElementAlias):
  10154. (WebCore::HTMLFormElement::getNamedElements):
  10155. (WebCore::HTMLFormElement::CheckedRadioButtons::addButton):
  10156. (WebCore::HTMLFormElement::CheckedRadioButtons::removeButton):
  10157. * html/HTMLFormElement.h:
  10158. * html/HTMLGenericFormElement.cpp: Removed.
  10159. * html/HTMLGenericFormElement.h: Removed.
  10160. * html/HTMLInputElement.h:
  10161. * html/HTMLIsIndexElement.cpp:
  10162. (WebCore::HTMLIsIndexElement::parseMappedAttribute):
  10163. * html/HTMLKeygenElement.cpp:
  10164. (WebCore::HTMLKeygenElement::parseMappedAttribute):
  10165. * html/HTMLLegendElement.cpp:
  10166. (WebCore::HTMLLegendElement::HTMLLegendElement):
  10167. * html/HTMLLegendElement.h:
  10168. * html/HTMLOptGroupElement.cpp:
  10169. (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
  10170. (WebCore::HTMLOptGroupElement::insertBefore):
  10171. (WebCore::HTMLOptGroupElement::replaceChild):
  10172. (WebCore::HTMLOptGroupElement::removeChild):
  10173. (WebCore::HTMLOptGroupElement::appendChild):
  10174. (WebCore::HTMLOptGroupElement::removeChildren):
  10175. (WebCore::HTMLOptGroupElement::childrenChanged):
  10176. (WebCore::HTMLOptGroupElement::parseMappedAttribute):
  10177. (WebCore::HTMLOptGroupElement::attach):
  10178. (WebCore::HTMLOptGroupElement::detach):
  10179. * html/HTMLOptGroupElement.h:
  10180. * html/HTMLOptionElement.cpp:
  10181. (WebCore::HTMLOptionElement::HTMLOptionElement):
  10182. (WebCore::HTMLOptionElement::attach):
  10183. (WebCore::HTMLOptionElement::detach):
  10184. (WebCore::HTMLOptionElement::parseMappedAttribute):
  10185. (WebCore::HTMLOptionElement::childrenChanged):
  10186. (WebCore::HTMLOptionElement::disabled):
  10187. (WebCore::HTMLOptionElement::insertedIntoDocument):
  10188. * html/HTMLOptionElement.h:
  10189. * html/HTMLSelectElement.h:
  10190. * html/HTMLTextAreaElement.h:
  10191. * page/Frame.cpp:
  10192. (WebCore::scanForForm):
  10193. (WebCore::Frame::currentForm):
  10194. * page/mac/FrameMac.mm:
  10195. * rendering/RenderFieldset.cpp:
  10196. (WebCore::RenderFieldset::RenderFieldset):
  10197. * rendering/RenderFieldset.h:
  10198. * rendering/RenderLegend.cpp:
  10199. (WebCore::RenderLegend::RenderLegend):
  10200. * rendering/RenderLegend.h:
  10201. * rendering/RenderTextControl.cpp:
  10202. (WebCore::RenderTextControl::createInnerTextStyle):
  10203. (WebCore::RenderTextControl::updateFromElement):
  10204. (WebCore::RenderTextControl::subtreeHasChanged):
  10205. (WebCore::RenderTextControl::selectionChanged):
  10206. 2008-06-14 Sam Weinig <sam@webkit.org>
  10207. Windows build fix.
  10208. * bindings/scripts/CodeGeneratorCOM.pm:
  10209. 2008-06-14 Darin Adler <darin@apple.com>
  10210. - more build fixing
  10211. * platform/gtk/DragDataGtk.cpp: Added missing header.
  10212. * platform/wx/DragDataWx.cpp: Ditto.
  10213. 2008-06-14 Darin Adler <darin@apple.com>
  10214. Reviewed by Sam.
  10215. - fix https://bugs.webkit.org/show_bug.cgi?id=19544
  10216. DashboardRegion pieces are leaking
  10217. My recent change introduced a leak of objects owned by each DashboardRegion,
  10218. because I made ~Rect non-virtual. By using a separate RefCounted class for
  10219. each of Rect and DashboardRegion, the leak is gone. It's not clear if the
  10220. DashboardRegion class should really exist -- it doesn't have a DOM binding,
  10221. so it could conceivably be removed some day.
  10222. * css/DashboardRegion.h: Derive from RectBase instead of from Rect.
  10223. * css/Rect.h: Added RectBase. Changed Rect to derive from RectBase.
  10224. 2008-06-14 Darin Adler <darin@apple.com>
  10225. Reviewed by Sam.
  10226. - https://bugs.webkit.org/show_bug.cgi?id=19545
  10227. use PassRefPtr, not RefPtr, for return values
  10228. * css/CSSParser.cpp:
  10229. (WebCore::CSSParser::parseGradient): Call release() when assigning result to avoid
  10230. a little bit of refcount churn.
  10231. * css/CSSStyleSelector.cpp:
  10232. (WebCore::CSSStyleSelector::styleRulesForElement): Changed return value to PassRefPtr.
  10233. (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): Ditto.
  10234. * css/CSSStyleSelector.h: Ditto.
  10235. * svg/SVGElementInstanceList.cpp:
  10236. (WebCore::SVGElementInstanceList::length): Tweaked formatting.
  10237. (WebCore::SVGElementInstanceList::item): Changed return value to raw pointer.
  10238. * svg/SVGElementInstanceList.h: Ditto.
  10239. * xml/XSLTProcessor.cpp:
  10240. (WebCore::XSLTProcessor::createDocumentFromSource): Changed return value to PassRefPtr.
  10241. (WebCore::XSLTProcessor::transformToDocument): Ditto.
  10242. (WebCore::XSLTProcessor::transformToFragment): Ditto.
  10243. * xml/XSLTProcessor.h: Ditto.
  10244. 2008-06-14 Darin Adler <darin@apple.com>
  10245. - try to fix the gtk build
  10246. * platform/gtk/DragDataGtk.cpp:
  10247. (WebCore::DragData::createClipboard): Changed return type to PassRefPtr.
  10248. 2008-06-14 Darin Adler <darin@apple.com>
  10249. - another try at fixing the wx build
  10250. * platform/wx/DragDataWx.cpp:
  10251. (WebCore::DragData::createClipboard): Changed return type to PassRefPtr.
  10252. 2008-06-14 Darin Adler <darin@apple.com>
  10253. - try to fix Windows build
  10254. * svg/graphics/SVGImageEmptyClients.h: Added missing include.
  10255. 2008-06-14 Darin Adler <darin@apple.com>
  10256. - fix wx build
  10257. * platform/wx/TemporaryLinkStubs.cpp: Removed unneeded Icon constructor.
  10258. 2008-06-14 Darin Adler <darin@apple.com>
  10259. Reviewed by Sam.
  10260. - more work on https://bugs.webkit.org/show_bug.cgi?id=17257
  10261. start ref counts at 1 instead of 0 for speed
  10262. * WebCore.base.exp: Added some new exports needed for functions that are now
  10263. non-virtual.
  10264. * WebCore.xcodeproj/project.pbxproj: Moved the "icon" group to the correct
  10265. location in the project. Before it was inside "appcache"!
  10266. * css/CSSStyleSelector.cpp:
  10267. (WebCore::CSSStyleSelector::applyProperty):
  10268. * dom/Clipboard.cpp:
  10269. (WebCore::Clipboard::Clipboard):
  10270. * editing/mac/EditorMac.mm:
  10271. (WebCore::Editor::newGeneralClipboard):
  10272. * editing/qt/EditorQt.cpp:
  10273. (WebCore::Editor::newGeneralClipboard):
  10274. * editing/wx/EditorWx.cpp:
  10275. (WebCore::Editor::newGeneralClipboard):
  10276. * loader/DocumentLoader.cpp:
  10277. (WebCore::DocumentLoader::DocumentLoader):
  10278. * loader/DocumentLoader.h:
  10279. (WebCore::DocumentLoader::create):
  10280. * loader/icon/IconDatabase.cpp:
  10281. (WebCore::IconDatabase::defaultIcon):
  10282. (WebCore::IconDatabase::setIconDataForIconURL):
  10283. (WebCore::IconDatabase::setIconURLForPageURL):
  10284. (WebCore::IconDatabase::getOrCreateIconRecord):
  10285. (WebCore::IconDatabase::performURLImport):
  10286. * loader/icon/IconDatabase.h:
  10287. * loader/icon/IconRecord.cpp:
  10288. (WebCore::IconRecord::IconRecord):
  10289. * loader/icon/IconRecord.h:
  10290. (WebCore::IconRecord::create):
  10291. * page/EventHandler.h:
  10292. * page/Frame.cpp:
  10293. (WebCore::Frame::Frame):
  10294. * page/Frame.h:
  10295. (WebCore::Frame::create):
  10296. * page/gtk/EventHandlerGtk.cpp:
  10297. (WebCore::EventHandler::createDraggingClipboard):
  10298. * page/mac/EventHandlerMac.mm:
  10299. (WebCore::EventHandler::createDraggingClipboard):
  10300. * page/qt/EventHandlerQt.cpp:
  10301. (WebCore::EventHandler::createDraggingClipboard):
  10302. * page/win/EventHandlerWin.cpp:
  10303. (WebCore::EventHandler::createDraggingClipboard):
  10304. * page/wx/EventHandlerWx.cpp:
  10305. (WebCore::EventHandler::createDraggingClipboard):
  10306. * platform/Cursor.h:
  10307. (WebCore::SharedCursor::create):
  10308. (WebCore::SharedCursor::~SharedCursor):
  10309. (WebCore::SharedCursor::SharedCursor):
  10310. * platform/DragData.h:
  10311. * platform/PopupMenu.h:
  10312. (WebCore::PopupMenu::create):
  10313. (WebCore::PopupMenu::isActive):
  10314. * platform/ScrollBar.cpp:
  10315. (WebCore::Scrollbar::Scrollbar):
  10316. * platform/SearchPopupMenu.h:
  10317. (WebCore::SearchPopupMenu::create):
  10318. * platform/graphics/FontFamily.cpp:
  10319. (WebCore::FontFamily::FontFamily):
  10320. (WebCore::operator==):
  10321. * platform/graphics/FontFamily.h:
  10322. (WebCore::FontFamily::FontFamily):
  10323. (WebCore::SharedFontFamily::create):
  10324. (WebCore::SharedFontFamily::SharedFontFamily):
  10325. (WebCore::operator!=):
  10326. (WebCore::FontFamily::next):
  10327. (WebCore::FontFamily::appendFamily):
  10328. (WebCore::FontFamily::releaseNext):
  10329. * platform/graphics/Icon.h:
  10330. * platform/graphics/gtk/IconGtk.cpp:
  10331. (WebCore::Icon::Icon):
  10332. (WebCore::Icon::~Icon):
  10333. (WebCore::Icon::newIconForFile):
  10334. * platform/graphics/mac/IconMac.mm:
  10335. (WebCore::Icon::Icon):
  10336. (WebCore::Icon::newIconForFile):
  10337. * platform/graphics/qt/IconQt.cpp:
  10338. (WebCore::Icon::Icon):
  10339. (WebCore::Icon::newIconForFile):
  10340. * platform/graphics/win/IconWin.cpp:
  10341. (WebCore::Icon::Icon):
  10342. (WebCore::Icon::~Icon):
  10343. (WebCore::Icon::newIconForFile):
  10344. * platform/gtk/ClipboardGtk.cpp:
  10345. (WebCore::Editor::newGeneralClipboard):
  10346. * platform/gtk/ClipboardGtk.h:
  10347. (WebCore::ClipboardGtk::create):
  10348. * platform/gtk/PlatformScrollBar.h:
  10349. (WebCore::PlatformScrollbar::create):
  10350. * platform/gtk/PopupMenuGtk.cpp:
  10351. (WebCore::PopupMenu::PopupMenu):
  10352. * platform/gtk/ScrollViewGtk.cpp:
  10353. (WebCore::ScrollViewScrollbar::create):
  10354. (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
  10355. (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
  10356. * platform/mac/ClipboardMac.h:
  10357. (WebCore::ClipboardMac::create):
  10358. * platform/mac/DragDataMac.mm:
  10359. (WebCore::DragData::createClipboard):
  10360. (WebCore::DragData::containsCompatibleContent):
  10361. * platform/mac/PlatformScrollBar.h:
  10362. (WebCore::PlatformScrollbar::create):
  10363. (WebCore::PlatformScrollbar::horizontalScrollbarHeight):
  10364. (WebCore::PlatformScrollbar::verticalScrollbarWidth):
  10365. * platform/mac/PopupMenuMac.mm:
  10366. (WebCore::PopupMenu::PopupMenu):
  10367. * platform/qt/ClipboardQt.h:
  10368. (WebCore::ClipboardQt::create):
  10369. * platform/qt/DragDataQt.cpp:
  10370. (WebCore::DragData::createClipboard):
  10371. * platform/qt/PlatformScrollBar.h:
  10372. (WebCore::PlatformScrollbar::create):
  10373. * platform/qt/PopupMenuQt.cpp:
  10374. (WebCore::PopupMenu::PopupMenu):
  10375. * platform/qt/ScrollViewQt.cpp:
  10376. (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
  10377. (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
  10378. * platform/win/ClipboardWin.h:
  10379. (WebCore::ClipboardWin::create):
  10380. * platform/win/CursorWin.cpp:
  10381. (WebCore::Cursor::Cursor):
  10382. (WebCore::loadSharedCursor):
  10383. * platform/win/DragDataWin.cpp:
  10384. (WebCore::DragData::createClipboard):
  10385. * platform/win/EditorWin.cpp:
  10386. (WebCore::Editor::newGeneralClipboard):
  10387. * platform/win/PlatformScrollBar.h:
  10388. (WebCore::PlatformScrollbar::create):
  10389. * platform/win/PopupMenuWin.cpp:
  10390. (WebCore::PopupMenu::PopupMenu):
  10391. (WebCore::PopupMenu::show):
  10392. * platform/win/ScrollViewWin.cpp:
  10393. (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
  10394. (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
  10395. * platform/wx/ClipboardWx.h:
  10396. (WebCore::ClipboardWx::create):
  10397. * platform/wx/PlatformScrollBar.h:
  10398. (WebCore::PlatformScrollbar::create):
  10399. * platform/wx/PopupMenuWx.cpp:
  10400. (WebCore::PopupMenu::PopupMenu):
  10401. * platform/wx/TemporaryLinkStubs.cpp:
  10402. (Icon::Icon):
  10403. (Icon::newIconForFile):
  10404. * rendering/RenderLayer.cpp:
  10405. (WebCore::RenderLayer::createScrollbar):
  10406. * rendering/RenderListBox.cpp:
  10407. (WebCore::RenderListBox::updateFromElement):
  10408. * svg/graphics/SVGImage.cpp:
  10409. (WebCore::SVGImage::dataChanged):
  10410. * svg/graphics/SVGImageEmptyClients.h:
  10411. (WebCore::SVGEmptyFrameLoaderClient::createDocumentLoader):
  10412. 2008-06-14 Sam Weinig <sam@webkit.org>
  10413. Reviewed by Dan Bernstein.
  10414. Fix for <rdar://problem/5775192>
  10415. insertAdjacentHTML and insertAdjacentText are not implemented although insertAdjacentElement is.
  10416. - Implements insertAdjacentHTML and insertAdjacentText for HTMLElement.
  10417. - Moves the insertAdjacentElement implementation from Element to HTMLElement.
  10418. Tests: fast/dynamic/insertAdjacentHTML.html
  10419. fast/dynamic/insertAdjacentText.html
  10420. * dom/Element.cpp:
  10421. * dom/Element.h:
  10422. * dom/Element.idl:
  10423. * html/HTMLElement.cpp:
  10424. (WebCore::HTMLElement::insertAdjacent):
  10425. (WebCore::HTMLElement::insertAdjacentElement):
  10426. (WebCore::HTMLElement::insertAdjacentHTML):
  10427. (WebCore::HTMLElement::insertAdjacentText):
  10428. * html/HTMLElement.h:
  10429. * html/HTMLElement.idl:
  10430. 2008-06-14 Darin Adler <darin@apple.com>
  10431. Reviewed by Maciej.
  10432. - fix https://bugs.webkit.org/show_bug.cgi?id=19538
  10433. <rdar://problem/5957595> Reading transition property from the style JS gives the wrong value
  10434. Test: fast/dom/CSSStyleDeclaration/transition-property-names.html
  10435. * css/CSSPrimitiveValue.cpp:
  10436. (WebCore::valueOrPropertyName): Added.
  10437. (WebCore::CSSPrimitiveValue::getStringValue): Use valueOrPropertyName since the ident can either
  10438. be a value or property ID.
  10439. (WebCore::CSSPrimitiveValue::cssText): Ditto.
  10440. * css/makeprop.pl: Assign property IDs starting at 1001 instead of 1 so they can be stored along
  10441. with value IDs with no ambiguity.
  10442. 2008-06-14 Adam Barth <abarth@webkit.org>
  10443. Reviewed by David Kilzer.
  10444. Fix typo.
  10445. * dom/XMLTokenizer.cpp:
  10446. (WebCore::shouldAllowExternalLoad):
  10447. 2008-06-14 Darin Adler <darin@apple.com>
  10448. - fix build
  10449. * plugins/PluginStream.h: Move functions back into public section.
  10450. 2008-06-14 Darin Adler <darin@apple.com>
  10451. Reviewed by Sam.
  10452. - more work on https://bugs.webkit.org/show_bug.cgi?id=17257
  10453. start ref counts at 1 instead of 0 for speed
  10454. * WebCore.base.exp:
  10455. * bindings/js/JSSVGMatrixCustom.cpp:
  10456. (WebCore::JSSVGMatrix::multiply):
  10457. (WebCore::JSSVGMatrix::inverse):
  10458. (WebCore::JSSVGMatrix::translate):
  10459. (WebCore::JSSVGMatrix::scale):
  10460. (WebCore::JSSVGMatrix::scaleNonUniform):
  10461. (WebCore::JSSVGMatrix::rotate):
  10462. (WebCore::JSSVGMatrix::rotateFromVector):
  10463. (WebCore::JSSVGMatrix::flipX):
  10464. (WebCore::JSSVGMatrix::flipY):
  10465. (WebCore::JSSVGMatrix::skewX):
  10466. (WebCore::JSSVGMatrix::skewY):
  10467. * bindings/js/JSSVGPODTypeWrapper.h:
  10468. (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::create):
  10469. (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::JSSVGPODTypeWrapperCreatorReadWrite):
  10470. (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::create):
  10471. (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::JSSVGPODTypeWrapperCreatorReadOnly):
  10472. (WebCore::JSSVGPODTypeWrapperCreatorForList::create):
  10473. (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
  10474. (WebCore::JSSVGPODTypeWrapperCache::lookupOrCreateWrapper):
  10475. (WebCore::JSSVGPODTypeWrapperCache::forgetWrapper):
  10476. * bindings/js/JSSVGPointListCustom.cpp:
  10477. (WebCore::finishGetter):
  10478. (WebCore::finishSetter):
  10479. (WebCore::finishSetterReadOnlyResult):
  10480. (WebCore::JSSVGPointList::clear):
  10481. (WebCore::JSSVGPointList::initialize):
  10482. (WebCore::JSSVGPointList::getItem):
  10483. (WebCore::JSSVGPointList::insertItemBefore):
  10484. (WebCore::JSSVGPointList::replaceItem):
  10485. (WebCore::JSSVGPointList::removeItem):
  10486. (WebCore::JSSVGPointList::appendItem):
  10487. * bindings/js/JSSVGTransformListCustom.cpp:
  10488. (WebCore::finishGetter):
  10489. (WebCore::finishSetter):
  10490. (WebCore::finishSetterReadOnlyResult):
  10491. (WebCore::JSSVGTransformList::clear):
  10492. (WebCore::JSSVGTransformList::initialize):
  10493. (WebCore::JSSVGTransformList::getItem):
  10494. (WebCore::JSSVGTransformList::insertItemBefore):
  10495. (WebCore::JSSVGTransformList::replaceItem):
  10496. (WebCore::JSSVGTransformList::removeItem):
  10497. (WebCore::JSSVGTransformList::appendItem):
  10498. * bindings/scripts/CodeGeneratorJS.pm:
  10499. * css/CSSFontSelector.cpp:
  10500. (WebCore::CSSFontSelector::CSSFontSelector):
  10501. (WebCore::CSSFontSelector::~CSSFontSelector):
  10502. * css/CSSFontSelector.h:
  10503. (WebCore::CSSFontSelector::create):
  10504. * css/CSSStyleSelector.cpp:
  10505. (WebCore::CSSStyleSelector::CSSStyleSelector):
  10506. (WebCore::CSSStyleSelector::applyProperty):
  10507. * dom/Attribute.cpp:
  10508. (WebCore::Attribute::clone):
  10509. * dom/Attribute.h:
  10510. (WebCore::Attribute::create):
  10511. (WebCore::Attribute::Attribute):
  10512. * dom/BeforeTextInsertedEvent.h:
  10513. (WebCore::BeforeTextInsertedEvent::create):
  10514. * dom/BeforeUnloadEvent.h:
  10515. (WebCore::BeforeUnloadEvent::create):
  10516. * dom/CharacterData.cpp:
  10517. (WebCore::CharacterData::dispatchModifiedEvent):
  10518. * dom/ClipboardEvent.cpp:
  10519. (WebCore::ClipboardEvent::ClipboardEvent):
  10520. * dom/ClipboardEvent.h:
  10521. (WebCore::ClipboardEvent::create):
  10522. * dom/ContainerNode.cpp:
  10523. (WebCore::ContainerNode::removeChild):
  10524. (WebCore::dispatchChildInsertionEvents):
  10525. (WebCore::dispatchChildRemovalEvents):
  10526. * dom/Document.cpp:
  10527. (WebCore::Document::createTextNode):
  10528. (WebCore::Document::createComment):
  10529. (WebCore::Document::createCDATASection):
  10530. (WebCore::Document::createProcessingInstruction):
  10531. (WebCore::Document::createEntityReference):
  10532. (WebCore::Document::createEditingTextNode):
  10533. (WebCore::Document::createEvent):
  10534. (WebCore::Document::createAttributeNS):
  10535. (WebCore::Document::finishedParsing):
  10536. * dom/Document.h:
  10537. * dom/Element.cpp:
  10538. (WebCore::Element::createAttribute):
  10539. * dom/Element.h:
  10540. * dom/Event.cpp:
  10541. (WebCore::Event::Event):
  10542. * dom/Event.h:
  10543. (WebCore::Event::create):
  10544. * dom/EventTargetNode.cpp:
  10545. (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
  10546. (WebCore::EventTargetNode::dispatchWindowEvent):
  10547. (WebCore::EventTargetNode::dispatchUIEvent):
  10548. (WebCore::EventTargetNode::dispatchKeyEvent):
  10549. (WebCore::EventTargetNode::dispatchMouseEvent):
  10550. (WebCore::EventTargetNode::dispatchWheelEvent):
  10551. (WebCore::EventTargetNode::dispatchHTMLEvent):
  10552. (WebCore::EventTargetNode::dispatchProgressEvent):
  10553. (WebCore::EventTargetNode::dispatchStorageEvent):
  10554. * dom/KeyboardEvent.h:
  10555. (WebCore::KeyboardEvent::create):
  10556. * dom/MappedAttribute.cpp:
  10557. (WebCore::MappedAttribute::clone):
  10558. * dom/MappedAttribute.h:
  10559. (WebCore::MappedAttribute::create):
  10560. (WebCore::MappedAttribute::setDecl):
  10561. (WebCore::MappedAttribute::MappedAttribute):
  10562. * dom/MessageEvent.cpp:
  10563. (WebCore::MessageEvent::MessageEvent):
  10564. * dom/MessageEvent.h:
  10565. (WebCore::MessageEvent::create):
  10566. * dom/MouseEvent.cpp:
  10567. (WebCore::MouseEvent::MouseEvent):
  10568. (WebCore::MouseEvent::initMouseEvent):
  10569. * dom/MouseEvent.h:
  10570. (WebCore::MouseEvent::create):
  10571. * dom/MouseRelatedEvent.cpp:
  10572. (WebCore::MouseRelatedEvent::MouseRelatedEvent):
  10573. * dom/MouseRelatedEvent.h:
  10574. * dom/MutationEvent.cpp:
  10575. (WebCore::MutationEvent::MutationEvent):
  10576. (WebCore::MutationEvent::initMutationEvent):
  10577. * dom/MutationEvent.h:
  10578. (WebCore::MutationEvent::create):
  10579. * dom/OverflowEvent.h:
  10580. (WebCore::OverflowEvent::create):
  10581. * dom/ProgressEvent.h:
  10582. (WebCore::ProgressEvent::create):
  10583. * dom/StyledElement.cpp:
  10584. (WebCore::StyledElement::getMappedAttributeDecl):
  10585. (WebCore::StyledElement::setMappedAttributeDecl):
  10586. (WebCore::StyledElement::removeMappedAttributeDecl):
  10587. (WebCore::StyledElement::createAttribute):
  10588. * dom/StyledElement.h:
  10589. * dom/TextEvent.cpp:
  10590. (WebCore::TextEvent::TextEvent):
  10591. (WebCore::TextEvent::initTextEvent):
  10592. * dom/TextEvent.h:
  10593. (WebCore::TextEvent::create):
  10594. * dom/UIEvent.cpp:
  10595. (WebCore::UIEvent::UIEvent):
  10596. (WebCore::UIEvent::initUIEvent):
  10597. * dom/UIEvent.h:
  10598. (WebCore::UIEvent::create):
  10599. * dom/UIEventWithKeyState.h:
  10600. (WebCore::UIEventWithKeyState::ctrlKey):
  10601. (WebCore::UIEventWithKeyState::shiftKey):
  10602. (WebCore::UIEventWithKeyState::altKey):
  10603. (WebCore::UIEventWithKeyState::metaKey):
  10604. (WebCore::UIEventWithKeyState::UIEventWithKeyState):
  10605. * dom/WheelEvent.cpp:
  10606. (WebCore::WheelEvent::WheelEvent):
  10607. (WebCore::WheelEvent::initWheelEvent):
  10608. * dom/WheelEvent.h:
  10609. (WebCore::WheelEvent::create):
  10610. * editing/AppendNodeCommand.cpp:
  10611. (WebCore::AppendNodeCommand::AppendNodeCommand):
  10612. * editing/AppendNodeCommand.h:
  10613. (WebCore::AppendNodeCommand::create):
  10614. * editing/ApplyStyleCommand.cpp:
  10615. (WebCore::ApplyStyleCommand::applyBlockStyle):
  10616. * editing/ApplyStyleCommand.h:
  10617. (WebCore::ApplyStyleCommand::create):
  10618. * editing/BreakBlockquoteCommand.h:
  10619. (WebCore::BreakBlockquoteCommand::create):
  10620. * editing/CompositeEditCommand.cpp:
  10621. (WebCore::CompositeEditCommand::applyStyle):
  10622. (WebCore::CompositeEditCommand::applyStyledElement):
  10623. (WebCore::CompositeEditCommand::removeStyledElement):
  10624. (WebCore::CompositeEditCommand::insertParagraphSeparator):
  10625. (WebCore::CompositeEditCommand::insertLineBreak):
  10626. (WebCore::CompositeEditCommand::insertNodeBefore):
  10627. (WebCore::CompositeEditCommand::appendNode):
  10628. (WebCore::CompositeEditCommand::removeNode):
  10629. (WebCore::CompositeEditCommand::removeNodePreservingChildren):
  10630. (WebCore::CompositeEditCommand::splitTextNode):
  10631. (WebCore::CompositeEditCommand::splitElement):
  10632. (WebCore::CompositeEditCommand::mergeIdenticalElements):
  10633. (WebCore::CompositeEditCommand::wrapContentsInDummySpan):
  10634. (WebCore::CompositeEditCommand::splitTextNodeContainingElement):
  10635. (WebCore::CompositeEditCommand::joinTextNodes):
  10636. (WebCore::CompositeEditCommand::inputText):
  10637. (WebCore::CompositeEditCommand::insertTextIntoNode):
  10638. (WebCore::CompositeEditCommand::deleteTextFromNode):
  10639. (WebCore::CompositeEditCommand::replaceTextInNode):
  10640. (WebCore::CompositeEditCommand::deleteSelection):
  10641. (WebCore::CompositeEditCommand::removeCSSProperty):
  10642. (WebCore::CompositeEditCommand::removeNodeAttribute):
  10643. (WebCore::CompositeEditCommand::setNodeAttribute):
  10644. (WebCore::CompositeEditCommand::appendBlockPlaceholder):
  10645. (WebCore::CompositeEditCommand::insertBlockPlaceholder):
  10646. (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
  10647. (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
  10648. (WebCore::CompositeEditCommand::moveParagraphs):
  10649. (WebCore::CompositeEditCommand::splitTreeToNode):
  10650. * editing/CompositeEditCommand.h:
  10651. (WebCore::CompositeEditCommand::isFirstCommand):
  10652. * editing/CreateLinkCommand.h:
  10653. (WebCore::CreateLinkCommand::create):
  10654. * editing/DeleteButtonController.cpp:
  10655. (WebCore::DeleteButtonController::deleteTarget):
  10656. * editing/DeleteFromTextNodeCommand.cpp:
  10657. (WebCore::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand):
  10658. * editing/DeleteFromTextNodeCommand.h:
  10659. (WebCore::DeleteFromTextNodeCommand::create):
  10660. * editing/DeleteSelectionCommand.h:
  10661. (WebCore::DeleteSelectionCommand::create):
  10662. * editing/EditCommand.h:
  10663. (WebCore::SimpleEditCommand::SimpleEditCommand):
  10664. * editing/Editor.cpp:
  10665. (WebCore::Editor::deleteSelectionWithSmartDelete):
  10666. (WebCore::Editor::replaceSelectionWithFragment):
  10667. (WebCore::Editor::removeFormattingAndStyle):
  10668. (WebCore::Editor::clearLastEditCommand):
  10669. (WebCore::Editor::dispatchCPPEvent):
  10670. (WebCore::Editor::applyStyle):
  10671. (WebCore::Editor::applyParagraphStyle):
  10672. (WebCore::Editor::indent):
  10673. (WebCore::Editor::outdent):
  10674. (WebCore::dispatchEditableContentChangedEvents):
  10675. * editing/Editor.h:
  10676. * editing/EditorCommand.cpp:
  10677. (WebCore::executeInsertFragment):
  10678. (WebCore::executeCreateLink):
  10679. (WebCore::executeFormatBlock):
  10680. (WebCore::executeIndent):
  10681. (WebCore::executeInsertOrderedList):
  10682. (WebCore::executeInsertUnorderedList):
  10683. (WebCore::executeOutdent):
  10684. (WebCore::executeUnlink):
  10685. * editing/FormatBlockCommand.h:
  10686. (WebCore::FormatBlockCommand::create):
  10687. * editing/IndentOutdentCommand.cpp:
  10688. (WebCore::IndentOutdentCommand::indentRegion):
  10689. (WebCore::IndentOutdentCommand::outdentParagraph):
  10690. * editing/IndentOutdentCommand.h:
  10691. (WebCore::IndentOutdentCommand::create):
  10692. * editing/InsertIntoTextNodeCommand.cpp:
  10693. (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand):
  10694. * editing/InsertIntoTextNodeCommand.h:
  10695. (WebCore::InsertIntoTextNodeCommand::create):
  10696. * editing/InsertLineBreakCommand.h:
  10697. (WebCore::InsertLineBreakCommand::create):
  10698. * editing/InsertListCommand.cpp:
  10699. (WebCore::InsertListCommand::doApply):
  10700. * editing/InsertListCommand.h:
  10701. (WebCore::InsertListCommand::create):
  10702. * editing/InsertNodeBeforeCommand.cpp:
  10703. (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand):
  10704. * editing/InsertNodeBeforeCommand.h:
  10705. (WebCore::InsertNodeBeforeCommand::create):
  10706. * editing/InsertParagraphSeparatorCommand.cpp:
  10707. (WebCore::InsertParagraphSeparatorCommand::doApply):
  10708. * editing/InsertParagraphSeparatorCommand.h:
  10709. (WebCore::InsertParagraphSeparatorCommand::create):
  10710. * editing/InsertTextCommand.h:
  10711. (WebCore::InsertTextCommand::create):
  10712. * editing/JoinTextNodesCommand.cpp:
  10713. (WebCore::JoinTextNodesCommand::JoinTextNodesCommand):
  10714. * editing/JoinTextNodesCommand.h:
  10715. (WebCore::JoinTextNodesCommand::create):
  10716. * editing/MergeIdenticalElementsCommand.cpp:
  10717. (WebCore::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand):
  10718. * editing/MergeIdenticalElementsCommand.h:
  10719. (WebCore::MergeIdenticalElementsCommand::create):
  10720. * editing/ModifySelectionListLevel.cpp:
  10721. (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelWithType):
  10722. * editing/MoveSelectionCommand.cpp:
  10723. (WebCore::MoveSelectionCommand::doApply):
  10724. * editing/MoveSelectionCommand.h:
  10725. (WebCore::MoveSelectionCommand::create):
  10726. * editing/RemoveCSSPropertyCommand.cpp:
  10727. (WebCore::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand):
  10728. * editing/RemoveCSSPropertyCommand.h:
  10729. (WebCore::RemoveCSSPropertyCommand::create):
  10730. * editing/RemoveFormatCommand.h:
  10731. (WebCore::RemoveFormatCommand::create):
  10732. * editing/RemoveNodeAttributeCommand.cpp:
  10733. (WebCore::RemoveNodeAttributeCommand::RemoveNodeAttributeCommand):
  10734. * editing/RemoveNodeAttributeCommand.h:
  10735. (WebCore::RemoveNodeAttributeCommand::create):
  10736. * editing/RemoveNodeCommand.cpp:
  10737. (WebCore::RemoveNodeCommand::RemoveNodeCommand):
  10738. * editing/RemoveNodeCommand.h:
  10739. (WebCore::RemoveNodeCommand::create):
  10740. * editing/RemoveNodePreservingChildrenCommand.cpp:
  10741. (WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand):
  10742. (WebCore::RemoveNodePreservingChildrenCommand::doApply):
  10743. * editing/RemoveNodePreservingChildrenCommand.h:
  10744. (WebCore::RemoveNodePreservingChildrenCommand::create):
  10745. * editing/ReplaceSelectionCommand.cpp:
  10746. (WebCore::ReplacementFragment::hasInterchangeNewlineAtStart):
  10747. (WebCore::ReplacementFragment::hasInterchangeNewlineAtEnd):
  10748. (WebCore::ReplacementFragment::ReplacementFragment):
  10749. * editing/ReplaceSelectionCommand.h:
  10750. (WebCore::ReplaceSelectionCommand::create):
  10751. * editing/SetNodeAttributeCommand.cpp:
  10752. (WebCore::SetNodeAttributeCommand::SetNodeAttributeCommand):
  10753. * editing/SetNodeAttributeCommand.h:
  10754. (WebCore::SetNodeAttributeCommand::create):
  10755. * editing/SplitElementCommand.cpp:
  10756. (WebCore::SplitElementCommand::SplitElementCommand):
  10757. * editing/SplitElementCommand.h:
  10758. (WebCore::SplitElementCommand::create):
  10759. * editing/SplitTextNodeCommand.cpp:
  10760. (WebCore::SplitTextNodeCommand::SplitTextNodeCommand):
  10761. * editing/SplitTextNodeCommand.h:
  10762. (WebCore::SplitTextNodeCommand::create):
  10763. * editing/SplitTextNodeContainingElementCommand.cpp:
  10764. (WebCore::SplitTextNodeContainingElementCommand::SplitTextNodeContainingElementCommand):
  10765. * editing/SplitTextNodeContainingElementCommand.h:
  10766. (WebCore::SplitTextNodeContainingElementCommand::create):
  10767. * editing/TypingCommand.cpp:
  10768. (WebCore::TypingCommand::deleteSelection):
  10769. (WebCore::TypingCommand::deleteKeyPressed):
  10770. (WebCore::TypingCommand::forwardDeleteKeyPressed):
  10771. (WebCore::TypingCommand::insertText):
  10772. (WebCore::TypingCommand::insertLineBreak):
  10773. (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
  10774. (WebCore::TypingCommand::insertParagraphSeparator):
  10775. (WebCore::TypingCommand::insertTextRunWithoutNewlines):
  10776. * editing/TypingCommand.h:
  10777. (WebCore::TypingCommand::create):
  10778. (WebCore::TypingCommand::smartDelete):
  10779. * editing/UnlinkCommand.h:
  10780. (WebCore::UnlinkCommand::create):
  10781. * editing/WrapContentsInDummySpanCommand.cpp:
  10782. (WebCore::WrapContentsInDummySpanCommand::WrapContentsInDummySpanCommand):
  10783. * editing/WrapContentsInDummySpanCommand.h:
  10784. (WebCore::WrapContentsInDummySpanCommand::create):
  10785. * html/HTMLTableElement.cpp:
  10786. (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
  10787. (WebCore::HTMLTableElement::addSharedCellBordersDecl):
  10788. (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
  10789. (WebCore::HTMLTableElement::addSharedGroupDecls):
  10790. * html/HTMLTokenizer.cpp:
  10791. (WebCore::Token::addAttribute):
  10792. * html/HTMLViewSourceDocument.cpp:
  10793. (WebCore::HTMLViewSourceDocument::createContainingTable):
  10794. (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
  10795. (WebCore::HTMLViewSourceDocument::addLine):
  10796. (WebCore::HTMLViewSourceDocument::addLink):
  10797. * loader/FrameLoader.cpp:
  10798. (WebCore::FrameLoader::didOpenURL):
  10799. * loader/appcache/DOMApplicationCache.cpp:
  10800. (WebCore::DOMApplicationCache::callListener):
  10801. * page/ContextMenuController.cpp:
  10802. (WebCore::ContextMenuController::contextMenuItemSelected):
  10803. * page/DOMWindow.cpp:
  10804. (WebCore::PostMessageTimer::PostMessageTimer):
  10805. (WebCore::PostMessageTimer::fired):
  10806. (WebCore::DOMWindow::postMessage):
  10807. * page/DragController.cpp:
  10808. (WebCore::DragController::concludeDrag):
  10809. * page/EventHandler.cpp:
  10810. (WebCore::EventHandler::dispatchDragEvent):
  10811. (WebCore::EventHandler::keyEvent):
  10812. (WebCore::EventHandler::handleTextInputEvent):
  10813. * page/Frame.cpp:
  10814. (WebCore::Frame::computeAndSetTypingStyle):
  10815. (WebCore::Frame::shouldClose):
  10816. * page/FrameView.cpp:
  10817. (WebCore::FrameView::updateOverflowStatus):
  10818. * page/mac/EventHandlerMac.mm:
  10819. (WebCore::EventHandler::currentKeyboardEvent):
  10820. * page/mac/FrameMac.mm:
  10821. * platform/DeprecatedValueListImpl.cpp:
  10822. (WebCore::DeprecatedValueListImpl::Private::Private):
  10823. (WebCore::DeprecatedValueListImpl::DeprecatedValueListImpl):
  10824. (WebCore::DeprecatedValueListImpl::copyOnWrite):
  10825. * platform/graphics/FontSelector.h:
  10826. * platform/graphics/GlyphPageTreeNode.cpp:
  10827. (WebCore::GlyphPageTreeNode::initializePage):
  10828. * platform/graphics/GlyphPageTreeNode.h:
  10829. (WebCore::GlyphPage::create):
  10830. (WebCore::GlyphPage::GlyphPage):
  10831. * rendering/RenderLayer.cpp:
  10832. (WebCore::RenderLayer::scrollToOffset):
  10833. (WebCore::RenderLayer::updateOverflowStatus):
  10834. (WebCore::RenderLayer::updateReflectionStyle):
  10835. * rendering/style/RenderStyle.h:
  10836. (WebCore::TransformOperation::~TransformOperation):
  10837. (WebCore::ScaleTransformOperation::create):
  10838. (WebCore::ScaleTransformOperation::ScaleTransformOperation):
  10839. (WebCore::RotateTransformOperation::create):
  10840. (WebCore::RotateTransformOperation::RotateTransformOperation):
  10841. (WebCore::SkewTransformOperation::create):
  10842. (WebCore::SkewTransformOperation::operator==):
  10843. (WebCore::SkewTransformOperation::SkewTransformOperation):
  10844. (WebCore::TranslateTransformOperation::create):
  10845. (WebCore::TranslateTransformOperation::operator==):
  10846. (WebCore::TranslateTransformOperation::TranslateTransformOperation):
  10847. (WebCore::MatrixTransformOperation::create):
  10848. (WebCore::MatrixTransformOperation::MatrixTransformOperation):
  10849. (WebCore::StyleReflection::create):
  10850. (WebCore::StyleReflection::StyleReflection):
  10851. * storage/StorageEvent.cpp:
  10852. (WebCore::StorageEvent::StorageEvent):
  10853. (WebCore::StorageEvent::initStorageEvent):
  10854. * storage/StorageEvent.h:
  10855. (WebCore::StorageEvent::create):
  10856. (WebCore::StorageEvent::StorageEvent):
  10857. * svg/SVGAngle.cpp:
  10858. (WebCore::SVGAngle::SVGAngle):
  10859. * svg/SVGAngle.h:
  10860. (WebCore::SVGAngle::create):
  10861. * svg/SVGAnimatedTemplate.h:
  10862. (WebCore::SVGAnimatedTemplate::SVGAnimatedTemplate):
  10863. (WebCore::lookupOrCreateWrapper):
  10864. * svg/SVGElement.cpp:
  10865. (WebCore::SVGElement::sendSVGLoadEventIfPossible):
  10866. * svg/SVGElement.h:
  10867. * svg/SVGMarkerElement.cpp:
  10868. (WebCore::SVGMarkerElement::SVGMarkerElement):
  10869. (WebCore::SVGMarkerElement::parseMappedAttribute):
  10870. (WebCore::SVGMarkerElement::setOrientToAngle):
  10871. * svg/SVGMarkerElement.h:
  10872. * svg/SVGSVGElement.cpp:
  10873. (WebCore::SVGSVGElement::createSVGAngle):
  10874. * svg/SVGSVGElement.h:
  10875. * svg/SVGZoomEvent.h:
  10876. (WebCore::SVGZoomEvent::create):
  10877. * svg/graphics/SVGImage.cpp:
  10878. * xml/XMLHttpRequest.cpp:
  10879. (WebCore::XMLHttpRequest::callReadyStateChangeListener):
  10880. (WebCore::XMLHttpRequest::dispatchProgressEvent):
  10881. * xml/XMLHttpRequestProgressEvent.cpp:
  10882. * xml/XMLHttpRequestProgressEvent.h:
  10883. (WebCore::XMLHttpRequestProgressEvent::create):
  10884. (WebCore::XMLHttpRequestProgressEvent::position):
  10885. (WebCore::XMLHttpRequestProgressEvent::totalSize):
  10886. (WebCore::XMLHttpRequestProgressEvent::XMLHttpRequestProgressEvent):
  10887. 2008-06-13 Adam Barth <abarth@webkit.org>
  10888. Reviewed by Eric Seidel.
  10889. https://bugs.webkit.org/show_bug.cgi?id=19199
  10890. Prevent external entities from loading across origins.
  10891. Test: http/tests/security/xss-DENIED-xsl-external-entity.xml
  10892. * dom/XMLTokenizer.cpp:
  10893. (WebCore::shouldAllowExternalLoad):
  10894. (WebCore::openFunc):
  10895. 2008-06-13 Adam Barth <abarth@webkit.org>
  10896. Reviewed by Darin Adler.
  10897. https://bugs.webkit.org/show_bug.cgi?id=19450
  10898. Allow loads of same-origin documents only.
  10899. Test: http/tests/security/xss-DENIED-xsl-document.xml
  10900. * xml/XSLTProcessor.cpp:
  10901. (WebCore::docLoaderFunc):
  10902. 2008-06-13 Adam Barth <abarth@webkit.org>
  10903. Reviewed by Darin Adler.
  10904. Fixes <https://bugs.webkit.org/show_bug.cgi?id=15100>:
  10905. XMLHttpRequest::urlMatchesDocumentDomain raises error if port
  10906. information does not match exactly
  10907. Refactor our security check for XMLHttpRequest into SecurityOrigin so
  10908. we can reuse it in other places. This leverages our default port
  10909. technology in SecurityOrigin.
  10910. I wasn't sure how to write a test for this because the LayoutTests run
  10911. on non-default ports.
  10912. * platform/SecurityOrigin.cpp:
  10913. (WebCore::SecurityOrigin::canRequest):
  10914. * platform/SecurityOrigin.h:
  10915. * xml/XMLHttpRequest.cpp:
  10916. (WebCore::XMLHttpRequest::send):
  10917. (WebCore::XMLHttpRequest::willSendRequest):
  10918. * xml/XMLHttpRequest.h:
  10919. 2008-06-13 Adam Barth <abarth@webkit.org>
  10920. Reviewed by Eric Seidel.
  10921. Removed unnecessary dependencies.
  10922. * platform/SecurityOrigin.cpp:
  10923. * platform/SecurityOrigin.h:
  10924. 2008-06-13 Darin Adler <darin@apple.com>
  10925. Reviewed by John Sullivan.
  10926. - added FormState argument to action policy functions
  10927. * loader/FrameLoader.cpp:
  10928. (WebCore::FrameLoader::checkNewWindowPolicy):
  10929. (WebCore::FrameLoader::checkNavigationPolicy):
  10930. * loader/FrameLoaderClient.h:
  10931. * svg/graphics/SVGImageEmptyClients.h:
  10932. (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
  10933. (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
  10934. 2008-06-13 Justin Garcia <justin.garcia@apple.com>
  10935. Reviewed by Jess.
  10936. <rdar://problem/5702248> Crash on Copy Image from the contextual menu on a broken image in Mail
  10937. * platform/mac/PasteboardMac.mm:
  10938. (WebCore::Pasteboard::writeImage): Check to see the image loaded successfully
  10939. before trying to put data for it on the Pasteboard. Mail shouldn't really
  10940. include the Copy Image menu item, but if it does and the user selects it,
  10941. we shouldn't crash.
  10942. 2008-06-11 Marc Ordinas i Llopis <marc.ordinasillopis@collabora.co.uk>
  10943. With help from Siraj Razick <siraj.razick@collabora.co.uk>
  10944. Reviewed by Simon.
  10945. https://bugs.webkit.org/show_bug.cgi?id=19367
  10946. [Qt] Plugins are drawn over the scrollbars
  10947. * plugins/qt/PluginViewQt.cpp:
  10948. (WebCore::PluginView::updateWindow): Call setMask on the
  10949. QX11EmbedContainer to set the plugin clipping.
  10950. 2008-06-12 Darin Adler <darin@apple.com>
  10951. - try to fix no-SVG build
  10952. * css/CSSComputedStyleDeclaration.cpp:
  10953. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added a case for
  10954. CSSPropertyWebkitMask.
  10955. 2008-06-12 Darin Adler <darin@apple.com>
  10956. - try to fix Windows build
  10957. * dom/Element.idl: Turn off ElementTraversal functions when generating COM.
  10958. Not sure why they're failing, but turning them off for now seems OK.
  10959. 2008-06-12 Adam Barth <abarth@webkit.org>
  10960. Rubberstamped by Maciej.
  10961. Roll 34504 back in.
  10962. Test: http/tests/xmlhttprequest/access-control-basic-allow-access-control-origin-header-data-url.html
  10963. * platform/SecurityOrigin.cpp:
  10964. (WebCore::SecurityOrigin::toString):
  10965. 2008-06-11 Dan Bernstein <mitz@apple.com>
  10966. Reviewed by Dave Hyatt.
  10967. - fix <rdar://problem/5876370> Safari 3.1.1 bad rendering of pages from http://www.legifrance.gouv.fr/
  10968. Tests: fast/parser/p-in-scope-strict.html
  10969. fast/parser/p-in-scope.html
  10970. * html/HTMLParagraphElement.h:
  10971. (WebCore::HTMLParagraphElement::endTagRequirement): Changed to require
  10972. an end tag. The explicit closing of one P element by another is now
  10973. done in error checking, and therefore takes scope into account, allowing
  10974. for <p><button><p>, for example.
  10975. * html/HTMLParser.cpp:
  10976. (WebCore::HTMLParser::HTMLParser): Initialize m_hasPElementInScope.
  10977. (WebCore::isScopingTag): Added. Returns whether the given tag represents
  10978. a scoping element as defined in HTML 5 section 8.2.3.2.
  10979. (WebCore::HTMLParser::formCreateErrorCheck): Added a call to
  10980. pCloserCreateErrorCheck().
  10981. (WebCore::HTMLParser::ddCreateErrorCheck): Ditto.
  10982. (WebCore::HTMLParser::dtCreateErrorCheck): Ditto.
  10983. (WebCore::HTMLParser::nestedPCloserCreateErrorCheck): Added for use with
  10984. <li>, which both closes P elements in scope and any previous LI.
  10985. (WebCore::HTMLParser::pCloserCreateErrorCheck): Added. If there is a P
  10986. element in scope, acts as if a </p> tag was seen.
  10987. (WebCore::HTMLParser::pCloserStrictCreateErrorCheck): Ditto, but only
  10988. in strict mode. Used for <table>.
  10989. (WebCore::HTMLParser::getNode): Added entries for tags that close a P
  10990. element in scope.
  10991. (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added
  10992. code to reset m_hasPElementInScope.
  10993. (WebCore::HTMLParser::pushBlock): Added code to update
  10994. m_hasPElementInScope.
  10995. (WebCore::HTMLParser::popOneBlockCommon): Ditto.
  10996. (WebCore::HTMLParser::checkIfHasPElementInScope): Added. Updates
  10997. m_hasPElementInScope.
  10998. * html/HTMLParser.h:
  10999. (WebCore::HTMLParser::hasPElementInScope): Added. Calls
  11000. checkIfHasPElementInScope() if needed and returns whether there
  11001. is a P element in scope.
  11002. 2008-06-11 Adam Barth <abarth@webkit.org>
  11003. Reviewed by Sam Weinig.
  11004. https://bugs.webkit.org/show_bug.cgi?id=19460
  11005. Update the security context of a document after calling document.open
  11006. or document.write. Basically, when a script open()s a document, the
  11007. document gains the security context of the script. Our implementation
  11008. now matches Firefox 3 on all these tests.
  11009. Tests: http/tests/security/aboutBlank/security-context-alias.html
  11010. http/tests/security/aboutBlank/security-context-grandchildren-alias.html
  11011. http/tests/security/aboutBlank/security-context-grandchildren.html
  11012. http/tests/security/aboutBlank/security-context-window-open.html
  11013. http/tests/security/aboutBlank/security-context-with-base-tag.html
  11014. http/tests/security/aboutBlank/security-context-write.html
  11015. http/tests/security/aboutBlank/security-context-writeln.html
  11016. http/tests/security/aboutBlank/security-context.html
  11017. http/tests/security/cookies/document-open.html
  11018. * bindings/js/JSDOMWindowBase.cpp:
  11019. (WebCore::createWindow):
  11020. * bindings/js/JSHTMLDocumentCustom.cpp:
  11021. (WebCore::JSHTMLDocument::open):
  11022. (WebCore::JSHTMLDocument::write):
  11023. (WebCore::JSHTMLDocument::writeln):
  11024. * dom/Document.cpp:
  11025. (WebCore::Document::open):
  11026. (WebCore::Document::write):
  11027. (WebCore::Document::writeln):
  11028. * dom/Document.h:
  11029. 2008-06-11 Adam Barth <abarth@webkit.org>
  11030. Reviewed by Sam Weinig.
  11031. https://bugs.webkit.org/show_bug.cgi?id=19460
  11032. Compute the cookie context at the same time as the SecurityOrigin.
  11033. Tests: http/tests/security/cookies/create-document.html
  11034. http/tests/security/cookies/xmlhttprequest.html
  11035. * dom/Document.cpp:
  11036. (WebCore::Document::cookie):
  11037. (WebCore::Document::initSecurityOrigin):
  11038. * dom/Document.h:
  11039. * platform/SecurityOrigin.cpp:
  11040. * platform/SecurityOrigin.h:
  11041. 2008-06-11 Adam Barth <abarth@webkit.org>
  11042. Reviewed and tweaked by Sam Weinig.
  11043. Fix for https://bugs.webkit.org/show_bug.cgi?id=19242
  11044. Data URLs should set an Access-Control-Origin of "null"
  11045. Correctly generate "null" as the value of the Access-Control-Origin
  11046. header for cross-site XMLHttpRequests for data URLs.
  11047. Test: http/tests/xmlhttprequest/access-control-basic-allow-access-control-origin-header-data-url.html
  11048. * platform/SecurityOrigin.cpp:
  11049. (WebCore::SecurityOrigin::toString):
  11050. * xml/XMLHttpRequest.cpp:
  11051. (WebCore::XMLHttpRequest::accessControlOrigin):
  11052. (WebCore::XMLHttpRequest::crossSiteAccessRequest):
  11053. (WebCore::XMLHttpRequest::handleAsynchronousMethodCheckResult):
  11054. * xml/XMLHttpRequest.h:
  11055. 2008-06-11 Sam Weinig <sam@webkit.org>
  11056. Reviewed by Adam Roben.
  11057. Add support for "*" wildcarding for Access-Control.
  11058. Test: http/tests/xmlhttprequest/access-control-basic-allow-star.html
  11059. * xml/AccessItem.cpp:
  11060. (WebCore::AccessItem::AccessItem):
  11061. (WebCore::AccessItem::parseAccessItem):
  11062. (WebCore::AccessItem::matches):
  11063. 2008-06-11 Justin Garcia <justin.garcia@apple.com>
  11064. Reviewed by Eric.
  11065. <https://bugs.webkit.org/show_bug.cgi?id=19455>
  11066. Crash at RenderObject::childAt during JustifyCenter
  11067. * editing/ApplyStyleCommand.cpp:
  11068. (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): Added a FIXME.
  11069. * editing/CompositeEditCommand.cpp:
  11070. (WebCore::CompositeEditCommand::moveParagraphs): If we're removing a line
  11071. break that consists of a single '\n' in a text node by itself, remove
  11072. the whole text node instead of just emptying it out.
  11073. * editing/Selection.cpp:
  11074. (WebCore::Selection::validate): Added a FIXME about canonicalizing
  11075. to positions that aren't candidates.
  11076. * editing/SelectionController.cpp:
  11077. (WebCore::SelectionController::nodeWillBeRemoved): When the base and/or
  11078. extent are about to be removed but the start and end aren't, change the
  11079. base and extent to the start and end, but don't re-validate the selection,
  11080. since doing so could move the start and end into the node that is about
  11081. to be removed.
  11082. 2008-06-11 Gregory Hughes <ghughes@apple.com>
  11083. Reviewed by David Harrison.
  11084. <rdar://problem/5990049> AXTextMarker bytes getting messed up when getting AXTextMarkerRangeForUnorderedTextMarkersParameterizedAttribute
  11085. * page/mac/AccessibilityObjectWrapper.mm:
  11086. (textMarkerForVisiblePosition):
  11087. 2008-06-11 Adriaan de Groot <groot@kde.org>
  11088. Reviewed by Simon.
  11089. Fix compilation with Sun Studio 12
  11090. It seems like the compiler instantiates a different template version. I.e.,
  11091. instead of parseUASheet<char [nnnn]>, it's probably instantiating
  11092. parseUASheet<char *>, which then passes 4 or 8 as the size value.
  11093. * css/CSSStyleSelector.cpp:
  11094. (WebCore::loadDefaultStyle):
  11095. (WebCore::CSSStyleSelector::styleForElement):
  11096. 2008-06-11 Benjamin Meyer <bmeyer@trolltech.com>
  11097. Reviewed by Simon.
  11098. Fixed a crash when a slot connect to QWebPage::unsupportedContent would show a
  11099. modal dialog with an event loop.
  11100. We have a queued connection to various signals in the QNetworkReply, for which
  11101. it can happen that after releasing the QNetworkReply and disconnecting from it
  11102. a slot connected to one of the signals may still be called due to a posted
  11103. MetaCall event due to the queued connections. This patch removes the posted
  11104. events explicitly, fixes the coding style a bit and makes sure the same happens
  11105. when abort() is called.
  11106. * platform/network/qt/QNetworkReplyHandler.cpp:
  11107. (WebCore::QNetworkReplyHandler::abort):
  11108. (WebCore::QNetworkReplyHandler::release):
  11109. * platform/network/qt/QNetworkReplyHandler.h:
  11110. 2008-06-10 Kevin Ollivier <kevino@theolliviers.com>
  11111. wx build fix. Reorder include dirs so that WebCore/html/HTMLElementFactory.h
  11112. appears before WebCore/DerivedSources/HTMLElementFactory.h. (See note in commit
  11113. for more details. This is probably not the right fix, but this will get us building
  11114. until the right fix is in place.)
  11115. * webcore-base.bkl:
  11116. 2008-06-10 Eric Seidel <eric@webkit.org>
  11117. Reviewed by mjs.
  11118. Fix disconnected event listener crasher
  11119. m_disconnectedNodesWithEventListeners not updated when nodes adopted
  11120. https://bugs.webkit.org/show_bug.cgi?id=19451
  11121. I failed to find a way to make this crash DRT, I can crash Debug Safari consistently.
  11122. * dom/EventTarget.cpp:
  11123. (WebCore::EventTarget::willMoveToNewOwnerDocument):
  11124. (WebCore::EventTarget::didMoveToNewOwnerDocument):
  11125. * dom/EventTarget.h:
  11126. * dom/EventTargetNode.cpp:
  11127. (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
  11128. (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
  11129. * dom/EventTargetNode.h:
  11130. 2008-06-10 Julien Chaffraix <jchaffraix@webkit.org>
  11131. Reviewed by Eric.
  11132. Part of bug 19200: *.in files should embed more information
  11133. https://bugs.webkit.org/show_bug.cgi?id=19200
  11134. Move more parameters to the XML files.
  11135. * dom/make_names.pl:
  11136. * html/HTMLAttributeNames.in:
  11137. * html/HTMLTagNames.in:
  11138. * svg/svgattrs.in:
  11139. * svg/svgtags.in:
  11140. 2008-06-09 Dan Bernstein <mitz@apple.com>
  11141. Reviewed by Justin Garcia.
  11142. - fix https://bugs.webkit.org/show_bug.cgi?id=19443
  11143. <rdar://problem/5994544> REGRESSION (r32531-r32652): Moving the insertion point past a newline inserted in a text area skips the next character
  11144. Tests added to editing/selection/move-left-right.html
  11145. * editing/VisiblePosition.cpp:
  11146. (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): When falling
  11147. back from visual to logical movement, restart at the original position
  11148. rather than an intermediate position.
  11149. (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): Ditto.
  11150. 2008-06-07 Brent Fulgham <bfulgham@gmail.com>
  11151. Reviewed by Maciej.
  11152. Windows build fix.
  11153. * platform/graphics/win/QTMovieWin.cpp:
  11154. (initializeSupportedTypes):
  11155. 2008-06-07 Julien Chaffraix <jchaffraix@webkit.org>
  11156. Reviewed by Darin Adler.
  11157. Part of bug 19200: *.in files should embed more information
  11158. https://bugs.webkit.org/show_bug.cgi?id=19200
  11159. - Added a parameters hash that will hold the parameters we used to give in the
  11160. command line.
  11161. - Added "tags" / "attrs" XML tag parsing to fill the parameters hash.
  11162. - Moved namespace, namespaceURI, namespacePrefix and cppNamespace in the *.in
  11163. files.
  11164. * dom/make_names.pl:
  11165. * html/HTMLAttributeNames.in:
  11166. * html/HTMLTagNames.in:
  11167. * svg/svgattrs.in:
  11168. * svg/svgtags.in:
  11169. * svg/xlinkattrs.in:
  11170. * xml/xmlattrs.in:
  11171. 2008-06-09 Tor Arne Vestbø <tavestbo@trolltech.com>
  11172. Reviewed by Simon
  11173. Use the text color from QStyle when styling form elements.
  11174. * platform/qt/RenderThemeQt.cpp:
  11175. (WebCore::RenderThemeQt::adjustButtonStyle):
  11176. (WebCore::RenderThemeQt::adjustTextFieldStyle):
  11177. (WebCore::RenderThemeQt::adjustMenuListStyle):
  11178. (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
  11179. 2008-06-09 Tor Arne Vestbø <tavestbo@trolltech.com>
  11180. Reviewed by Darin.
  11181. Incorporated Darin's comments to bug 18965.
  11182. * rendering/RenderTheme.cpp:
  11183. 2008-06-08 Adam Barth <abarth@webkit.org>
  11184. Reviewed by Darin Adler.
  11185. Inherit document.URL from parent's document.URL, not document.baseURI.
  11186. https://bugs.webkit.org/show_bug.cgi?id=19257
  11187. Tests: http/tests/security/cookies/assign-document-url.html
  11188. http/tests/security/cookies/base-about-blank.html
  11189. http/tests/security/cookies/base-tag.html
  11190. http/tests/security/cookies/basic.html
  11191. * dom/Document.cpp:
  11192. (WebCore::Document::open):
  11193. 2008-06-08 Kevin Ollivier <kevino@theolliviers.com>
  11194. Reviewed by Darin Adler.
  11195. Fix font asserts in wx port. Our computeHash function should generate the same hash
  11196. for two identical fonts which are different objects, which it wasn't doing before.
  11197. https://bugs.webkit.org/show_bug.cgi?id=19310
  11198. * platform/graphics/wx/FontPlatformData.h:
  11199. (WebCore::FontPlatformData::computeHash):
  11200. 2008-06-08 Dan Bernstein <mitz@apple.com>
  11201. Reviewed by Darin Adler.
  11202. - fix <rdar://problem/5961977> Crash in RenderBlock::layoutColumns()
  11203. Test: fast/multicol/content-height-zero-crash.html
  11204. * rendering/RenderBlock.cpp:
  11205. (WebCore::RenderBlock::layoutColumns): Changed to not keep creating
  11206. overflow columns that have zero height, because they do not help with
  11207. fitting content in.
  11208. 2008-06-08 Adam Roben <aroben@apple.com>
  11209. Fix Bug 18837: Database panel fails to display tables if any value is
  11210. NULL
  11211. <https://bugs.webkit.org/show_bug.cgi?id=18837>
  11212. Reviewed by Darin Adler.
  11213. Test: manual-tests/inspector/display-sql-null.html
  11214. * manual-tests/inspector/display-sql-null.html: Added.
  11215. * page/inspector/DatabasesPanel.js:
  11216. (WebInspector.DatabasesPanel.prototype.dataGridForResult): Convert all
  11217. objects to strings before operating on them.
  11218. 2008-06-08 Adam Roben <aroben@apple.com>
  11219. Fix Bug 19438: Transaction errors are never displayed in database
  11220. query view
  11221. <https://bugs.webkit.org/show_bug.cgi?id=19438>
  11222. Reviewed by Darin Adler.
  11223. Test: manual-tests/inspector/display-sql-transaction-error.html
  11224. * manual-tests/inspector/display-sql-transaction-error.html: Added.
  11225. * page/inspector/DatabaseQueryView.js:
  11226. (WebInspector.DatabaseQueryView.prototype._enterKeyPressed): Use
  11227. _executeSqlError as the error callback for executeSql.
  11228. (WebInspector.DatabaseQueryView.prototype._queryError): Changed to
  11229. only take two parameters. This matches what we'll be passed if
  11230. db.transaction fails.
  11231. (WebInspector.DatabaseQueryView.prototype._executeSqlError): Added.
  11232. Calls through to _queryError.
  11233. 2008-06-08 Dirk Schulze <vbs85@gmx.de>
  11234. Reviewed by Eric Seidel.
  11235. https://bugs.webkit.org/show_bug.cgi?id=18840
  11236. [CAIRO] Clipping-support for SVG
  11237. Support for clipping in SVG/Cairo and fixes transformation of paths.
  11238. * platform/graphics/cairo/PathCairo.cpp:
  11239. (WebCore::Path::transform):
  11240. * svg/graphics/cairo/SVGResourceClipperCairo.cpp:
  11241. (WebCore::SVGResourceClipper::applyClip):
  11242. 2008-06-08 Dirk Schulze <vbs85@gmx.de>
  11243. Reviewed by Eric Seidel.
  11244. https://bugs.webkit.org/show_bug.cgi?id=18663
  11245. Add text-stroke support to Cairo.
  11246. * platform/graphics/cairo/FontCairo.cpp:
  11247. (WebCore::Font::drawGlyphs):
  11248. 2008-06-08 Vincent Ricard <magic@magicninja.org>
  11249. Reviewed by Darin.
  11250. https://bugs.webkit.org/show_bug.cgi?id=16489
  11251. WebKit does not support ElementTraversal specification
  11252. Tests: fast/dom/Element/element-traversal.html
  11253. * dom/Element.cpp:
  11254. (WebCore::Element::firstElementChild):
  11255. (WebCore::Element::lastElementChild):
  11256. (WebCore::Element::previousElementSibling):
  11257. (WebCore::Element::nextElementSibling):
  11258. (WebCore::Element::childElementCount):
  11259. * dom/Element.h:
  11260. * dom/Element.idl:
  11261. 2008-06-08 Bradley Meck <genisis329@gmail.com>
  11262. Reviewed by Darin.
  11263. - fix https://bugs.webkit.org/show_bug.cgi?id=17051
  11264. safari should treat "url()" as a valid CSS value
  11265. Test: fast/css/invalid-cursor-property-crash.html
  11266. Changed check for empty url() to be a check for null since url() is valid
  11267. CSS even if it is empty.
  11268. * css/CSSParser.cpp:
  11269. (WebCore::CSSParser::parseValue):
  11270. (WebCore::CSSParser::parseFillImage):
  11271. (WebCore::CSSParser::parseBorderImage):
  11272. 2008-06-08 Vincent Ricard <magic@magicninja.org>
  11273. Reviewed by Darin.
  11274. Bug 18041: DOMNodeRemoved events are sent twice
  11275. Test: fast/dom/Node/DOMNodeRemovedEvent.html
  11276. * dom/ContainerNode.cpp:
  11277. (WebCore::ContainerNode::removeChild):
  11278. 2008-06-08 Tony Chang <idealisms@gmail.com>
  11279. Reviewed by Eric Seidel.
  11280. - fix https://bugs.webkit.org/show_bug.cgi?id=18167
  11281. there should be no text-drag delay on any platform except for Mac
  11282. Move the drag text delay value into the platform specific files.
  11283. Test: editing/selection/drag-text-delay.html
  11284. * page/EventHandler.cpp:
  11285. * page/EventHandler.h:
  11286. * page/gtk/EventHandlerGtk.cpp:
  11287. * page/mac/EventHandlerMac.mm:
  11288. * page/qt/EventHandlerQt.cpp:
  11289. * page/win/EventHandlerWin.cpp:
  11290. * page/wx/EventHandlerWx.cpp:
  11291. 2008-06-08 Rob Buis <buis@kde.org>
  11292. Reviewed by Darin.
  11293. - fix https://bugs.webkit.org/show_bug.cgi?id=18512
  11294. getPresentationAttribute returns a shared object
  11295. Test: svg/custom/getPresentationAttribute-modify.svg
  11296. * svg/SVGStyledElement.cpp:
  11297. (WebCore::SVGStyledElement::getPresentationAttribute): Unshare the mapped style
  11298. declaration if it is shared before returning the presentation attribute.
  11299. 2008-06-08 Alp Toker <alp@nuanti.com>
  11300. autotools/GTK+ build system cleanup. Don't include WebKit API in the
  11301. WebCore build as it's no longer needed since r34426.
  11302. * GNUmakefile.am:
  11303. 2008-06-08 Jonathan Haas <myrdred@gmail.com>
  11304. Reviewed by Eric Seidel.
  11305. Tweaked by Darin while landing to make it compile.
  11306. - fix http://bugs.webkit.org/show_bug.cgi?id=19128
  11307. SVG fonts don't work with medial Arabic characters
  11308. Haven't figured out a way to make an automated test for this.
  11309. * svg/SVGGlyphElement.h: Made arabicForm unsigned so it fits into
  11310. its 3-bit field. Did the same for orientation's 2-bit field.
  11311. * svg/SVGFont.cpp: Did a bit of minor tweaking.
  11312. (WebCore::isCompatibleArabicForm): Added a cast to avoid a warning
  11313. since the type is now different.
  11314. 2008-06-08 Eric Carlson <eric.carlson@apple.com>
  11315. Reviewed by Antti.
  11316. - fix https://bugs.webkit.org/show_bug.cgi?id=19299
  11317. <rdar://problem/5969392>
  11318. Generate the media MIME type list dynamically.
  11319. * platform/graphics/win/QTMovieWin.cpp:
  11320. (initializeSupportedTypes):
  11321. 2008-06-08 Christian Persch <chpe@gnome.org>
  11322. Reviewed by Darin.
  11323. - https://bugs.webkit.org/show_bug.cgi?id=19309
  11324. uninitialised variable in PluginView
  11325. * plugins/PluginView.cpp:
  11326. (WebCore::PluginView::PluginView): Initialise the NPP's pdata member to 0.
  11327. 2008-06-08 Darin Adler <darin@apple.com>
  11328. Reviewed by Mitz.
  11329. - https://bugs.webkit.org/show_bug.cgi?id=19435
  11330. fix warning in PluginDebug.h
  11331. * plugins/PluginDebug.h: Don't compile the errorStrings array if LOG_DISABLED is set.
  11332. 2008-06-07 Dan Bernstein <mitz@apple.com>
  11333. Reviewed by Dave Hyatt.
  11334. - fix https://bugs.webkit.org/show_bug.cgi?id=19431
  11335. <rdar://problem/5994060> REGRESSION (r32406): tabs retain hover color after mouse out
  11336. Covered by fast/css/remove-shorthand.html
  11337. * css/CSSMutableStyleDeclaration.cpp:
  11338. (WebCore::initShorthandMap): Fixed a typo which mapped the background
  11339. shorthand to the mask properties.
  11340. 2008-06-07 Brent Fulgham <bfulgham@gmail.com>
  11341. Cairo build fix for r34432
  11342. * html/CanvasPattern.cpp:
  11343. (WebCore::CanvasPattern::CanvasPattern):
  11344. 2008-06-07 Darin Adler <darin@apple.com>
  11345. Reviewed by Mitz.
  11346. - work on https://bugs.webkit.org/show_bug.cgi?id=17257
  11347. start ref counts at 1 instead of 0 for speed
  11348. * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
  11349. (WebCore::toHTMLCanvasStyle):
  11350. * bindings/js/JSDOMWindowBase.cpp:
  11351. (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
  11352. (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
  11353. * bindings/js/JSNodeFilterCondition.h:
  11354. (WebCore::JSNodeFilterCondition::create):
  11355. * bindings/js/JSNodeFilterCustom.cpp:
  11356. (WebCore::toNodeFilter):
  11357. * bindings/js/JSSVGLazyEventListener.h:
  11358. (WebCore::JSSVGLazyEventListener::create):
  11359. * bindings/js/JSSVGMatrixCustom.cpp:
  11360. (WebCore::JSSVGMatrix::multiply):
  11361. (WebCore::JSSVGMatrix::inverse):
  11362. (WebCore::JSSVGMatrix::translate):
  11363. (WebCore::JSSVGMatrix::scale):
  11364. (WebCore::JSSVGMatrix::scaleNonUniform):
  11365. (WebCore::JSSVGMatrix::rotate):
  11366. (WebCore::JSSVGMatrix::rotateFromVector):
  11367. (WebCore::JSSVGMatrix::flipX):
  11368. (WebCore::JSSVGMatrix::flipY):
  11369. (WebCore::JSSVGMatrix::skewX):
  11370. (WebCore::JSSVGMatrix::skewY):
  11371. * bindings/js/JSSVGPODTypeWrapper.h:
  11372. (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::create):
  11373. (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::JSSVGPODTypeWrapperCreatorReadWrite):
  11374. (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::create):
  11375. (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::JSSVGPODTypeWrapperCreatorReadOnly):
  11376. (WebCore::JSSVGPODTypeWrapperCreatorForList::create):
  11377. (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
  11378. (WebCore::JSSVGPODTypeWrapperCache::lookupOrCreateWrapper):
  11379. (WebCore::JSSVGPODTypeWrapperCache::forgetWrapper):
  11380. * bindings/js/JSSVGPointListCustom.cpp:
  11381. (WebCore::commonExit):
  11382. (WebCore::commonExitReadOnly):
  11383. (WebCore::JSSVGPointList::initialize):
  11384. (WebCore::JSSVGPointList::getItem):
  11385. (WebCore::JSSVGPointList::insertItemBefore):
  11386. (WebCore::JSSVGPointList::replaceItem):
  11387. (WebCore::JSSVGPointList::removeItem):
  11388. (WebCore::JSSVGPointList::appendItem):
  11389. * bindings/js/JSSVGTransformListCustom.cpp:
  11390. (WebCore::JSSVGTransformList::initialize):
  11391. (WebCore::JSSVGTransformList::getItem):
  11392. (WebCore::JSSVGTransformList::insertItemBefore):
  11393. (WebCore::JSSVGTransformList::replaceItem):
  11394. (WebCore::JSSVGTransformList::removeItem):
  11395. (WebCore::JSSVGTransformList::appendItem):
  11396. * bindings/js/kjs_binding.cpp:
  11397. (WebCore::setDOMException):
  11398. * bindings/js/kjs_events.h:
  11399. (WebCore::JSUnprotectedEventListener::create):
  11400. (WebCore::JSEventListener::create):
  11401. (WebCore::JSLazyEventListener::create):
  11402. * bindings/js/kjs_proxy.cpp:
  11403. (WebCore::KJSProxy::createHTMLEventHandler):
  11404. (WebCore::KJSProxy::createSVGEventHandler):
  11405. * bindings/objc/DOM.mm:
  11406. (WebCore::ObjCNodeFilterCondition::create):
  11407. (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition):
  11408. (WebCore::ObjCNodeFilterCondition::acceptNode):
  11409. (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
  11410. (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
  11411. * bindings/scripts/CodeGeneratorJS.pm:
  11412. * css/CSSComputedStyleDeclaration.cpp:
  11413. (WebCore::valueForNinePieceImage):
  11414. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  11415. * css/CSSFontFace.h:
  11416. (WebCore::CSSFontFace::create):
  11417. (WebCore::CSSFontFace::CSSFontFace):
  11418. * css/CSSFontSelector.cpp:
  11419. (WebCore::CSSFontSelector::addFontFaceRule):
  11420. * css/CSSParser.cpp:
  11421. (WebCore::CSSParser::parseDashboardRegions):
  11422. (WebCore::CSSParser::parseCounterContent):
  11423. (WebCore::CSSParser::parseShape):
  11424. (WebCore::BorderImageParseContext::commitBorderImage):
  11425. * css/CSSSegmentedFontFace.cpp:
  11426. (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace):
  11427. * css/CSSSegmentedFontFace.h:
  11428. (WebCore::CSSSegmentedFontFace::create):
  11429. * css/Counter.h:
  11430. (WebCore::Counter::create):
  11431. (WebCore::Counter::Counter):
  11432. * css/DashboardRegion.h:
  11433. (WebCore::DashboardRegion::create):
  11434. (WebCore::DashboardRegion::DashboardRegion):
  11435. * css/Rect.h:
  11436. (WebCore::Rect::create):
  11437. (WebCore::Rect::Rect):
  11438. * dom/ChildNodeList.h:
  11439. (WebCore::ChildNodeList::create):
  11440. * dom/ClassNodeList.h:
  11441. (WebCore::ClassNodeList::create):
  11442. * dom/Clipboard.h:
  11443. * dom/DOMCoreException.h:
  11444. (WebCore::DOMCoreException::create):
  11445. * dom/DOMImplementation.cpp:
  11446. (WebCore::DOMImplementation::instance):
  11447. * dom/DOMImplementation.h:
  11448. (WebCore::DOMImplementation::DOMImplementation):
  11449. * dom/Document.cpp:
  11450. (WebCore::Document::addWindowEventListener):
  11451. (WebCore::Document::removeWindowEventListener):
  11452. (WebCore::Document::setDecoder):
  11453. (WebCore::Document::images):
  11454. (WebCore::Document::applets):
  11455. (WebCore::Document::embeds):
  11456. (WebCore::Document::plugins):
  11457. (WebCore::Document::objects):
  11458. (WebCore::Document::scripts):
  11459. (WebCore::Document::links):
  11460. (WebCore::Document::forms):
  11461. (WebCore::Document::anchors):
  11462. (WebCore::Document::all):
  11463. (WebCore::Document::windowNamedItems):
  11464. (WebCore::Document::documentNamedItems):
  11465. * dom/Document.h:
  11466. * dom/DynamicNodeList.h:
  11467. * dom/EventException.h:
  11468. (WebCore::EventException::create):
  11469. (WebCore::EventException::EventException):
  11470. * dom/EventListener.h:
  11471. * dom/EventTarget.cpp:
  11472. (WebCore::EventTarget::addEventListener):
  11473. (WebCore::EventTarget::removeEventListener):
  11474. * dom/ExceptionBase.cpp:
  11475. (WebCore::ExceptionBase::ExceptionBase):
  11476. * dom/ExceptionBase.h:
  11477. * dom/NameNodeList.h:
  11478. (WebCore::NameNodeList::create):
  11479. * dom/Node.cpp:
  11480. (WebCore::Node::childNodes):
  11481. (WebCore::Node::getElementsByTagNameNS):
  11482. (WebCore::Node::getElementsByName):
  11483. (WebCore::Node::getElementsByClassName):
  11484. (WebCore::Node::querySelectorAll):
  11485. * dom/NodeFilterCondition.h:
  11486. * dom/NodeList.h:
  11487. * dom/RangeException.h:
  11488. (WebCore::RangeException::create):
  11489. (WebCore::RangeException::RangeException):
  11490. * dom/RegisteredEventListener.h:
  11491. (WebCore::RegisteredEventListener::create):
  11492. * dom/SelectorNodeList.cpp:
  11493. (WebCore::createSelectorNodeList):
  11494. * dom/SelectorNodeList.h:
  11495. * dom/StaticNodeList.cpp:
  11496. (WebCore::StaticNodeList::StaticNodeList):
  11497. * dom/StaticNodeList.h:
  11498. (WebCore::StaticNodeList::adopt):
  11499. * dom/TagNodeList.h:
  11500. (WebCore::TagNodeList::create):
  11501. * history/HistoryItem.cpp:
  11502. (WebCore::defaultNotifyHistoryItemChanged):
  11503. (WebCore::HistoryItem::HistoryItem):
  11504. (WebCore::HistoryItem::copy):
  11505. * history/HistoryItem.h:
  11506. (WebCore::HistoryItem::create):
  11507. * html/CanvasGradient.h:
  11508. * html/CanvasPattern.cpp:
  11509. (WebCore::CanvasPattern::CanvasPattern):
  11510. * html/CanvasPattern.h:
  11511. (WebCore::CanvasPattern::create):
  11512. * html/CanvasRenderingContext2D.cpp:
  11513. (WebCore::CanvasRenderingContext2D::State::State):
  11514. (WebCore::CanvasRenderingContext2D::setStrokeColor):
  11515. (WebCore::CanvasRenderingContext2D::setFillColor):
  11516. (WebCore::CanvasRenderingContext2D::createPattern):
  11517. * html/CanvasStyle.cpp:
  11518. (WebCore::CanvasStyle::CanvasStyle):
  11519. * html/CanvasStyle.h:
  11520. (WebCore::CanvasStyle::create):
  11521. * html/HTMLCollection.cpp:
  11522. (WebCore::HTMLCollection::HTMLCollection):
  11523. (WebCore::HTMLCollection::create):
  11524. * html/HTMLCollection.h:
  11525. * html/HTMLElement.cpp:
  11526. (WebCore::HTMLElement::children):
  11527. * html/HTMLFormCollection.cpp:
  11528. (WebCore::HTMLFormCollection::create):
  11529. * html/HTMLFormCollection.h:
  11530. * html/HTMLFormElement.cpp:
  11531. (WebCore::HTMLFormElement::elements):
  11532. * html/HTMLMapElement.cpp:
  11533. (WebCore::HTMLMapElement::areas):
  11534. * html/HTMLMediaElement.cpp:
  11535. (WebCore::HTMLMediaElement::load):
  11536. (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
  11537. (WebCore::HTMLMediaElement::willSaveToCache):
  11538. * html/HTMLNameCollection.h:
  11539. (WebCore::HTMLNameCollection::create):
  11540. * html/HTMLOptionsCollection.cpp:
  11541. (WebCore::HTMLOptionsCollection::create):
  11542. * html/HTMLOptionsCollection.h:
  11543. * html/HTMLSelectElement.cpp:
  11544. (WebCore::HTMLSelectElement::options):
  11545. * html/HTMLTableElement.cpp:
  11546. (WebCore::HTMLTableElement::rows):
  11547. (WebCore::HTMLTableElement::tBodies):
  11548. * html/HTMLTableRowElement.cpp:
  11549. (WebCore::HTMLTableRowElement::cells):
  11550. * html/HTMLTableRowsCollection.cpp:
  11551. (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
  11552. (WebCore::HTMLTableRowsCollection::create):
  11553. * html/HTMLTableRowsCollection.h:
  11554. * html/HTMLTableSectionElement.cpp:
  11555. (WebCore::HTMLTableSectionElement::rows):
  11556. * html/MediaError.h:
  11557. (WebCore::MediaError::create):
  11558. (WebCore::MediaError::MediaError):
  11559. * loader/CachedCSSStyleSheet.cpp:
  11560. (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
  11561. * loader/CachedFont.cpp:
  11562. (WebCore::CachedFont::ensureSVGFontData):
  11563. * loader/CachedXSLStyleSheet.cpp:
  11564. (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
  11565. * loader/FrameLoader.cpp:
  11566. (WebCore::FrameLoader::write):
  11567. (WebCore::FrameLoader::createHistoryItem):
  11568. * loader/ImageDocument.cpp:
  11569. (WebCore::ImageEventListener::create):
  11570. (WebCore::ImageEventListener::ImageEventListener):
  11571. (WebCore::ImageDocument::createDocumentStructure):
  11572. * loader/TextResourceDecoder.h:
  11573. (WebCore::TextResourceDecoder::create):
  11574. * page/Page.cpp:
  11575. (WebCore::Page::userStyleSheet):
  11576. * svg/SVGException.h:
  11577. (WebCore::SVGException::create):
  11578. (WebCore::SVGException::SVGException):
  11579. * svg/animation/SVGSMILElement.cpp:
  11580. (WebCore::ConditionEventListener::create):
  11581. (WebCore::ConditionEventListener::ConditionEventListener):
  11582. (WebCore::SVGSMILElement::connectConditions):
  11583. * xml/XMLHttpRequest.cpp:
  11584. (WebCore::XMLHttpRequest::didReceiveData):
  11585. * xml/XMLHttpRequestException.h:
  11586. (WebCore::XMLHttpRequestException::create):
  11587. (WebCore::XMLHttpRequestException::XMLHttpRequestException):
  11588. * xml/XPathException.h:
  11589. (WebCore::XPathException::create):
  11590. (WebCore::XPathException::XPathException):
  11591. * xml/XPathResult.cpp:
  11592. (WebCore::InvalidatingEventListener::create):
  11593. (WebCore::InvalidatingEventListener::InvalidatingEventListener):
  11594. (WebCore::XPathResult::XPathResult):
  11595. * xml/XSLTProcessor.cpp:
  11596. (WebCore::XSLTProcessor::createDocumentFromSource):
  11597. 2008-06-07 Christian Dywan <christian@twotoasts.de>
  11598. Reviewed by Alp Toker.
  11599. https://bugs.webkit.org/show_bug.cgi?id=17324
  11600. Remove PLATFORM ifdefs from ContextMenu.cpp
  11601. * platform/ContextMenu.cpp:
  11602. (WebCore::ContextMenu::populate):
  11603. 2008-06-07 Eric Seidel <eric@webkit.org>
  11604. Reviewed by ap.
  11605. Still more CSSParser cleanup
  11606. - use c++ style member initializers in CSSParser()
  11607. - change m_styleElement to m_styleSheet and make it a CSSStyleSheet
  11608. - finally add my copyright to the files I've been cleaning
  11609. * css/CSSGrammar.y:
  11610. * css/CSSParser.cpp:
  11611. (WebCore::CSSParser::CSSParser):
  11612. (WebCore::CSSParser::setupParser):
  11613. (WebCore::CSSParser::parseValue):
  11614. (WebCore::CSSParser::parseColor):
  11615. (WebCore::CSSParser::parseDeclaration):
  11616. (WebCore::CSSParser::parseContent):
  11617. (WebCore::CSSParser::parseFillImage):
  11618. (WebCore::CSSParser::parseFontFaceSrc):
  11619. (WebCore::CSSParser::parseBorderImage):
  11620. (WebCore::CSSParser::createCharsetRule):
  11621. (WebCore::CSSParser::createImportRule):
  11622. (WebCore::CSSParser::createMediaRule):
  11623. (WebCore::CSSParser::createStyleRule):
  11624. * css/CSSParser.h:
  11625. * css/SVGCSSParser.cpp:
  11626. 2008-06-07 Eric Seidel <eric@webkit.org>
  11627. Reviewed by ap.
  11628. More CSSParser cleanup
  11629. - rename CSSParser::id to m_id
  11630. - rename CSSParser::data to m_data
  11631. - fix a few whitespace and argument name issues
  11632. * css/CSSGrammar.y:
  11633. * css/CSSParser.cpp:
  11634. (WebCore::CSSParser::CSSParser):
  11635. (WebCore::CSSParser::~CSSParser):
  11636. (WebCore::CSSParser::setupParser):
  11637. (WebCore::CSSParser::parseValue):
  11638. * css/CSSParser.h:
  11639. 2008-06-07 Eric Seidel <eric@webkit.org>
  11640. Reviewed by ap.
  11641. Rename CSSParser::strict to m_strict
  11642. * css/CSSGrammar.y:
  11643. * css/CSSParser.cpp:
  11644. (WebCore::CSSParser::CSSParser):
  11645. (WebCore::CSSParser::parseColor):
  11646. (WebCore::CSSParser::parseValue):
  11647. (WebCore::CSSParser::parseBackgroundColor):
  11648. (WebCore::CSSParser::parseFillPositionXY):
  11649. (WebCore::CSSParser::parseFillSize):
  11650. (WebCore::CSSParser::parseTransitionDuration):
  11651. (WebCore::CSSParser::parseTransitionRepeatCount):
  11652. (WebCore::CSSParser::parseTimingFunctionValue):
  11653. (WebCore::CSSParser::parseDashboardRegions):
  11654. (WebCore::CSSParser::parseShape):
  11655. (WebCore::CSSParser::parseFont):
  11656. (WebCore::CSSParser::parseColorFromValue):
  11657. (WebCore::CSSParser::parseShadow):
  11658. (WebCore::CSSParser::parseReflect):
  11659. (WebCore::CSSParser::parseBorderImage):
  11660. * css/CSSParser.h:
  11661. 2008-06-07 Eric Seidel <eric@webkit.org>
  11662. Reviewed by ap.
  11663. Rename CSSParser::defaultNamespace to m_defaultNamespace
  11664. * css/CSSGrammar.y:
  11665. * css/CSSParser.cpp:
  11666. (WebCore::CSSParser::CSSParser):
  11667. (WebCore::CSSParser::parseSheet):
  11668. * css/CSSParser.h:
  11669. * css/CSSStyleSheet.cpp:
  11670. (WebCore::CSSStyleSheet::addNamespace):
  11671. 2008-06-07 Eric Seidel <eric@webkit.org>
  11672. Reviewed by ap.
  11673. Rename CSSParser::important to m_important
  11674. * css/CSSGrammar.y:
  11675. * css/CSSParser.cpp:
  11676. (WebCore::CSSParser::CSSParser):
  11677. (WebCore::CSSParser::parseValue):
  11678. (WebCore::CSSParser::parseFontFaceSrc):
  11679. (WebCore::CSSParser::parseFontFaceUnicodeRange):
  11680. * css/CSSParser.h:
  11681. 2008-06-07 Eric Seidel <eric@webkit.org>
  11682. Reviewed by ap.
  11683. Rename CSSParser::rule to m_rule
  11684. * css/CSSGrammar.y:
  11685. * css/CSSParser.cpp:
  11686. (WebCore::CSSParser::parseSheet):
  11687. (WebCore::CSSParser::parseRule):
  11688. (WebCore::CSSParser::parseValue):
  11689. (WebCore::CSSParser::parseColor):
  11690. (WebCore::CSSParser::parseDeclaration):
  11691. * css/CSSParser.h:
  11692. 2008-06-07 Eric Seidel <eric@webkit.org>
  11693. Reviewed by ap.
  11694. Yet another cleanup patch for CSSParser
  11695. Rename CSSParser::valueList to m_valueList
  11696. * css/CSSGrammar.y:
  11697. * css/CSSParser.cpp:
  11698. (WebCore::CSSParser::CSSParser):
  11699. (WebCore::CSSParser::~CSSParser):
  11700. (WebCore::CSSParser::checkForOrphanedUnits):
  11701. (WebCore::CSSParser::parseValue):
  11702. (WebCore::CSSParser::parseFillShorthand):
  11703. (WebCore::CSSParser::parseTransitionShorthand):
  11704. (WebCore::CSSParser::parseShorthand):
  11705. (WebCore::CSSParser::parse4Values):
  11706. (WebCore::CSSParser::parseContent):
  11707. (WebCore::CSSParser::parseFillImage):
  11708. (WebCore::CSSParser::parseFillPositionXY):
  11709. (WebCore::CSSParser::parseFillPosition):
  11710. (WebCore::CSSParser::parseFillSize):
  11711. (WebCore::CSSParser::parseFillProperty):
  11712. (WebCore::CSSParser::parseTransitionProperty):
  11713. (WebCore::CSSParser::parseDashboardRegions):
  11714. (WebCore::CSSParser::parseShape):
  11715. (WebCore::CSSParser::parseFont):
  11716. (WebCore::CSSParser::parseFontFamily):
  11717. (WebCore::CSSParser::parseFontFaceSrc):
  11718. (WebCore::CSSParser::parseFontFaceUnicodeRange):
  11719. (WebCore::CSSParser::parseColor):
  11720. (WebCore::CSSParser::parseShadow):
  11721. (WebCore::CSSParser::parseReflect):
  11722. (WebCore::BorderImageParseContext::commitBorderImage):
  11723. (WebCore::CSSParser::parseBorderImage):
  11724. (WebCore::CSSParser::parseCounter):
  11725. (WebCore::CSSParser::parseGradient):
  11726. (WebCore::CSSParser::parseCanvas):
  11727. (WebCore::CSSParser::parseTransform):
  11728. (WebCore::CSSParser::parseTransformOrigin):
  11729. * css/CSSParser.h:
  11730. * css/SVGCSSParser.cpp:
  11731. (WebCore::CSSParser::parseSVGValue):
  11732. (WebCore::CSSParser::parseSVGStrokeDasharray):
  11733. (WebCore::CSSParser::parseSVGPaint):
  11734. (WebCore::CSSParser::parseSVGColor):
  11735. 2008-06-07 Eric Seidel <eric@webkit.org>
  11736. Reviewed by ap.
  11737. More cleanup to CSSParser, rename mediaQuery to m_mediaQuery
  11738. Remove CSSParser::current and CSSParser::currentParser and use
  11739. the magic of YYLEX_PARAM instead.
  11740. * css/CSSParser.cpp:
  11741. (WebCore::enterGeneratedParser):
  11742. (WebCore::CSSParser::parseSheet):
  11743. (WebCore::CSSParser::parseRule):
  11744. (WebCore::CSSParser::parseValue):
  11745. (WebCore::CSSParser::parseColor):
  11746. (WebCore::CSSParser::parseDeclaration):
  11747. (WebCore::CSSParser::parseMediaQuery):
  11748. * css/CSSParser.h:
  11749. 2008-06-07 Julien Chaffraix <jchaffraix@webkit.org>
  11750. Reviewed by Eric.
  11751. Part of bug 19200: *.in files should embed more information
  11752. https://bugs.webkit.org/show_bug.cgi?id=19200
  11753. - Added XML attributes' parsing.
  11754. - Moved (most) capitalization and audio hacks in the *.in files.
  11755. * dom/make_names.pl:
  11756. * html/HTMLTagNames.in:
  11757. * svg/svgtags.in:
  11758. 2008-06-07 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>
  11759. With the help of Jonathon Jongsma.
  11760. Reviewed by Dan Bernstein.
  11761. Fix for https://bugs.webkit.org/show_bug.cgi?id=19279
  11762. REGRESSION (r32660): Text not redrawn correctly when selection changes
  11763. * rendering/InlineTextBox.cpp:
  11764. (WebCore::InlineTextBox::paint):
  11765. Add a condition for when ePos <= sPos
  11766. 2008-06-06 Julien Chaffraix <jchaffraix@webkit.org>
  11767. Reviewed by Eric.
  11768. Part of bug 19200: *.in files should embed more information
  11769. https://bugs.webkit.org/show_bug.cgi?id=19200
  11770. - Switched *.in files to XML format.
  11771. - Added (simple) parsing facilities in make_names.pl using the XML::Tiny Perl parser.
  11772. - Updated the build systems to include bindings/scripts when executing make_names.pl
  11773. (for XMLTiny dependency).
  11774. - Cleaned-up make_names.pl a little.
  11775. * DerivedSources.make:
  11776. * GNUmakefile.am:
  11777. * WebCore.pro:
  11778. * bindings/scripts/XMLTiny.pm: Added.
  11779. * dom/make_names.pl:
  11780. * html/HTMLAttributeNames.in:
  11781. * html/HTMLTagNames.in:
  11782. * svg/svgattrs.in:
  11783. * svg/svgtags.in:
  11784. * svg/xlinkattrs.in:
  11785. * xml/xmlattrs.in:
  11786. 2008-06-06 Robert Blaut <webkit@blaut.biz>
  11787. Reviewed by Darin Adler.
  11788. Fix for https://bugs.webkit.org/show_bug.cgi?id=19407
  11789. CSS3 Selector Test: *= ~= ^= $= should all accept the empty string, but match nothing
  11790. Test: fast/css/begin-end-contain-selector-empty-value.html
  11791. * css/CSSStyleSelector.cpp:
  11792. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
  11793. 2008-06-06 Eric Seidel <eric@webkit.org>
  11794. Reviewed by mitz.
  11795. More cleanup of CSSParser.
  11796. Rename CSSParser::numParsedProperties and maxNumParsedProperites to m_*
  11797. * css/CSSGrammar.y:
  11798. * css/CSSParser.cpp:
  11799. (WebCore::CSSParser::CSSParser):
  11800. (WebCore::CSSParser::parseValue):
  11801. (WebCore::CSSParser::parseColor):
  11802. (WebCore::CSSParser::parseDeclaration):
  11803. (WebCore::CSSParser::addProperty):
  11804. (WebCore::CSSParser::rollbackLastProperties):
  11805. (WebCore::CSSParser::clearProperties):
  11806. (WebCore::CSSParser::parse4Values):
  11807. (WebCore::CSSParser::createStyleRule):
  11808. (WebCore::CSSParser::createFontFaceRule):
  11809. * css/CSSParser.h:
  11810. * css/SVGCSSParser.cpp:
  11811. (WebCore::CSSParser::parseSVGValue):
  11812. 2008-06-06 Eric Seidel <eric@webkit.org>
  11813. Reviewed by mitz.
  11814. More cleanup of CSSParser.
  11815. Rename CSSParser::parsedProperties to m_parsedProperties.
  11816. * css/CSSParser.cpp:
  11817. (WebCore::CSSParser::CSSParser):
  11818. (WebCore::CSSParser::~CSSParser):
  11819. (WebCore::CSSParser::parseValue):
  11820. (WebCore::CSSParser::parseColor):
  11821. (WebCore::CSSParser::parseDeclaration):
  11822. (WebCore::CSSParser::addProperty):
  11823. (WebCore::CSSParser::rollbackLastProperties):
  11824. (WebCore::CSSParser::clearProperties):
  11825. (WebCore::CSSParser::parse4Values):
  11826. (WebCore::CSSParser::createStyleRule):
  11827. (WebCore::CSSParser::createFontFaceRule):
  11828. * css/CSSParser.h:
  11829. * css/SVGCSSParser.cpp:
  11830. (WebCore::CSSParser::parseSVGValue):
  11831. 2008-06-06 Eric Seidel <eric@webkit.org>
  11832. Reviewed by mitz.
  11833. Start the cleanup of CSSParser.
  11834. Rename CSSParser::styleElement to CSSParser::m_styleElement
  11835. * css/CSSGrammar.y:
  11836. * css/CSSParser.cpp:
  11837. (WebCore::CSSParser::document):
  11838. (WebCore::CSSParser::parseValue):
  11839. (WebCore::CSSParser::parseContent):
  11840. (WebCore::CSSParser::parseFillImage):
  11841. (WebCore::CSSParser::parseFontFaceSrc):
  11842. (WebCore::CSSParser::parseBorderImage):
  11843. (WebCore::CSSParser::createCharsetRule):
  11844. (WebCore::CSSParser::createImportRule):
  11845. (WebCore::CSSParser::createMediaRule):
  11846. (WebCore::CSSParser::createStyleRule):
  11847. * css/CSSParser.h:
  11848. 2008-06-06 Anthony Ricaud <rik24d@gmail.com>
  11849. Reviewed by adele. Landed by eseidel.
  11850. https://bugs.webkit.org/show_bug.cgi?id=18337
  11851. Calls listBoxOnChange() in typeAheadFind() when the <select> tag is a listBox.
  11852. * html/HTMLSelectElement.cpp:
  11853. (WebCore::HTMLSelectElement::typeAheadFind):
  11854. 2008-06-05 Justin Garcia <justin.garcia@apple.com>
  11855. Reviewed by John.
  11856. <rdar://problem/5890684> REGRESSION(r23969): Deleting a line break changes the style of text after the break
  11857. Serialization of font-family:-webkit-monospace when it came from a
  11858. CSSMutableStyleDeclaration would wrap the value in single quotes but
  11859. serialization of the same property value pair from a CSSComputedStyleDeclaration
  11860. wouldn't, which kept code that checked for and removed non-redundant styles from
  11861. style spans from working correctly.
  11862. A redundant style left on a style span would not normally create a rendering
  11863. difference, but it did in this case because an element with
  11864. font-family:-webkit-monospace does not appear to inherit font-size.
  11865. Added a FIXME about how we might need to keep font-size on a style span if its
  11866. non-redundant styles include font-family:-webkit-monospace, although I couldn't
  11867. create a test case to produce this scenario.
  11868. * css/FontFamilyValue.cpp:
  11869. (WebCore::isValidCSSIdentifier): Don't return false if the String starts
  11870. with a '-'. This function now appears identical to isCSSTokenizerIdentifier,
  11871. so perhaps we should use a single function.
  11872. * editing/ReplaceSelectionCommand.cpp:
  11873. (WebCore::ReplaceSelectionCommand::handleStyleSpans): Added FIXME. Removed the
  11874. creation of two Strings that were never used.
  11875. 2008-06-06 Justin Garcia <justin.garcia@apple.com>
  11876. Reviewed by Darin.
  11877. <https://bugs.webkit.org/show_bug.cgi?id=19087>
  11878. Editing crash in IndentOutdentCommand::prepareBlockquoteLevelForInsertion, ASSERT in debug mode
  11879. * editing/DeleteSelectionCommand.cpp:
  11880. (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): applyStyle
  11881. can destroy insertedPlaceholder if it needs to move it, but it will set an
  11882. endingSelection() at [movedPlaceholder, 0] if it does so. Re-fetch insertedPlaceholder
  11883. if that happens. The long term solution for these crashes is to make moveParagraphs
  11884. not copy/destroy/move content, and to make VisiblePositions update themselves on DOM
  11885. mutations.
  11886. * editing/IndentOutdentCommand.cpp:
  11887. (WebCore::IndentOutdentCommand::indentRegion): Early return to avoid crashes like this
  11888. in the future, but ASSERT to catch them in debug builds.
  11889. 2008-06-05 Justin Garcia <justin.garcia@apple.com>
  11890. Reviewed by Eric.
  11891. <https://bugs.webkit.org/show_bug.cgi?id=19403>
  11892. ASSERT in InsertIntoTextNodeCommand::InsertIntoTextNodeCommand during RemoveFormat call
  11893. * editing/RemoveFormatCommand.cpp:
  11894. (WebCore::RemoveFormatCommand::doApply): If the selection was all
  11895. formatting (like an empty list) the format-less text will be empty.
  11896. Early return to avoid the ASSERT that fires if input(...) is called
  11897. with an empty String.
  11898. 2008-06-05 Alp Toker <alp@nuanti.com>
  11899. Build fix for r34387.
  11900. * GNUmakefile.am:
  11901. 2008-06-05 Justin Garcia <justin.garcia@apple.com>
  11902. Reviewed by Eric.
  11903. <https://bugs.webkit.org/show_bug.cgi?id=19089> Editing ASSERT in Range::compareBoundaryPoints
  11904. ApplyStyleCommand::applyInlineStyle does some work and then checks to see
  11905. if the start offset of the Range it's operating on is now past the caretMaxOffset
  11906. of the start container. If it is, applyInlineStyle updates the position to
  11907. [startContainer->traverseNextNode(), 0] and then operates on that new start
  11908. position.
  11909. caretMaxOffset was incorrect for horizontal rules. It should be 1 and it was 0. So,
  11910. if the horizontal rule was the last node in the document, applyInlineStyle would update
  11911. its start position to [0, 0] and then try to operate on that position, assuming it was
  11912. non-null, leading to the ASSERT.
  11913. * rendering/RenderObject.cpp:
  11914. (WebCore::RenderObject::caretMaxOffset):
  11915. 2008-06-05 Chris Fleizach <cfleizach@apple.com>
  11916. Reviewed by John Sullivan.
  11917. <rdar://problem/5947396> AccessibilityListBoxOptions should return their string as AXValue, not AXTitle
  11918. * page/AccessibilityListBoxOption.cpp:
  11919. (WebCore::AccessibilityListBoxOption::stringValue):
  11920. * page/AccessibilityListBoxOption.h:
  11921. 2008-06-05 Justin Garcia <justin.garcia@apple.com>
  11922. Reviewed by Harrison.
  11923. <rdar://problem/5658933> GoogleDocs: Crash indenting a particular selection twice
  11924. <rdar://problem/5831310> CrashTracer: [USER] 4 crashes in Mail at WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion
  11925. <rdar://problem/5480141> GoogleDocs: Attempting to indent content in <td> closes <table> element
  11926. A crash would occur when indenting a selection that started just before a table
  11927. and ended inside that table. With a selection like this, we'd indent the entire
  11928. table, then try and indent paragraphs inside it, but the stored position for the
  11929. next paragraph to indent was inside content that had been removed from the document
  11930. during the first Indent.
  11931. Fixed the crash adjusting the selection to perform the indent on to prepare it
  11932. for paragraph iteration using selectionForParagraphIteration. We do this adjustment
  11933. for paragraph iteration in InsertList as well.
  11934. Also, indenting paragraphs inside table cells would break table structure because
  11935. we were splitting the DOM all the way up to the root editable element to insert
  11936. a blockquote. Fixed this by only splitting up to the enclosing table cell. This
  11937. matches FF. Lastly, fixed a bug where indenting several paragraphs inside different
  11938. table cells would move all the selected text into the same table cell. FF still has
  11939. this bug.
  11940. * editing/IndentOutdentCommand.cpp:
  11941. (WebCore::IndentOutdentCommand::indentRegion):
  11942. 2008-06-05 chris fleizach <cfleizach@apple.com>
  11943. Reviewed by Alice Liu.
  11944. <rdar://problem/5979998> AXList controls should have AXSelectedChildren and its children's AXSelected attribute writable
  11945. * page/AccessibilityListBox.cpp:
  11946. (WebCore::AccessibilityListBox::canSetSelectedChildrenAttribute):
  11947. (WebCore::AccessibilityListBox::setSelectedChildren):
  11948. (WebCore::AccessibilityListBox::selectedChildren):
  11949. (WebCore::AccessibilityListBox::visibleChildren):
  11950. * page/AccessibilityListBox.h:
  11951. * page/AccessibilityListBoxOption.cpp:
  11952. (WebCore::AccessibilityListBoxOption::canSetSelectedAttribute):
  11953. (WebCore::AccessibilityListBoxOption::setSelected):
  11954. * page/AccessibilityListBoxOption.h:
  11955. (WebCore::AccessibilityListBoxOption::selectedChildren):
  11956. (WebCore::AccessibilityListBoxOption::visibleChildren):
  11957. * page/AccessibilityObject.cpp:
  11958. (WebCore::AccessibilityObject::setSelected):
  11959. (WebCore::AccessibilityObject::getDocumentLinks):
  11960. * page/AccessibilityObject.h:
  11961. (WebCore::AccessibilityObject::canSetSelectedAttribute):
  11962. (WebCore::AccessibilityObject::canSetSelectedChildrenAttribute):
  11963. (WebCore::AccessibilityObject::children):
  11964. * page/AccessibilityRenderObject.cpp:
  11965. (WebCore::AccessibilityRenderObject::getDocumentLinks):
  11966. (WebCore::AccessibilityRenderObject::children):
  11967. (WebCore::AccessibilityRenderObject::addChildren):
  11968. (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
  11969. (WebCore::AccessibilityRenderObject::selectedChildren):
  11970. (WebCore::AccessibilityRenderObject::ariaListboxVisibleChildren):
  11971. (WebCore::AccessibilityRenderObject::visibleChildren):
  11972. * page/AccessibilityRenderObject.h:
  11973. * page/mac/AccessibilityObjectWrapper.mm:
  11974. (convertToVector):
  11975. (convertToNSArray):
  11976. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  11977. (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
  11978. (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
  11979. 2008-06-04 David Hyatt <hyatt@apple.com>
  11980. Fix for <rdar://problem/5957994> Height doesn't animate
  11981. Improve the behavior when transitions are dynamically changed. Make sure to leave older transitions
  11982. running and let them obsolete themselves when they finish.
  11983. Reviewed by Dan Bernstein
  11984. Added WebCore/manual-tests/transitions2.html (must be tested manually)
  11985. * manual-tests/transitions.html:
  11986. * manual-tests/transitions2.html: Added.
  11987. * page/AnimationController.cpp:
  11988. (WebCore::ImplicitAnimation::property):
  11989. (WebCore::ImplicitAnimation::setFinished):
  11990. (WebCore::ImplicitAnimation::markedForDeath):
  11991. (WebCore::ImplicitAnimation::setMarkedForDeath):
  11992. (WebCore::ImplicitAnimation::ImplicitAnimation):
  11993. (WebCore::ImplicitAnimation::reset):
  11994. (WebCore::ImplicitAnimation::animate):
  11995. (WebCore::CompositeImplicitAnimation::animate):
  11996. 2008-06-05 Eric Seidel <eric@webkit.org>
  11997. Reviewed by mjs.
  11998. Get rid of Uninitialized Memory Reads (UMRs) in the XPath::Value copy constructor.
  11999. No functional changes, thus no tests.
  12000. * xml/XPathValue.h:
  12001. (WebCore::XPath::Value::Value): initialize all values in each constructor
  12002. 2008-06-05 Eric Seidel <eric@webkit.org>
  12003. Reviewed by hyatt.
  12004. No functional changes, thus no tests.
  12005. * platform/graphics/Color.h: remove unnecessary bitfield use
  12006. 2008-06-05 Antti Koivisto <antti@apple.com>
  12007. Reviewed by Dave Hyatt.
  12008. Make hasFeature() return true for the animation stuff.
  12009. * dom/DOMImplementation.cpp:
  12010. (WebCore::isSVG11Feature):
  12011. 2008-06-05 Dan Bernstein <mitz@apple.com>
  12012. Reviewed by Darin Adler.
  12013. - fix https://bugs.webkit.org/show_bug.cgi?id=19397
  12014. REGRESSION (3.1-TOT): Box-shadow renders weird when rotating a div with border radius
  12015. Test: fast/transforms/shadows.html
  12016. * platform/graphics/cg/GraphicsContextCG.cpp:
  12017. (WebCore::GraphicsContext::setPlatformShadow): In Core Graphics, shadow
  12018. dimensions are always in device space. Account for that, and apply the
  12019. current context transform to shadow offset, and multiply the blur radius
  12020. by the inverse of the operator norm of the inverse transform (which is
  12021. the radius of the circle inscribed in the transformed unit circle).
  12022. * rendering/RenderObject.cpp:
  12023. (WebCore::RenderObject::paintBoxShadow): Added 1px separation between
  12024. the edge of the filled shape and the edge of the clipped-out shape,
  12025. because in a transformed context, due to antialiasing, the fill can
  12026. bleed into the clip if they touch.
  12027. 2008-06-05 Tor Arne Vestbø <tavestbo@trolltech.com>
  12028. Reviewed by Simon.
  12029. Prevent cycles when converting from DOM objects to
  12030. QVariant, due to cycles in the DOM tree.
  12031. * bridge/qt/qt_runtime.cpp:
  12032. (KJS::Bindings::convertValueToQVariant):
  12033. 2008-06-04 Anders Carlsson <andersca@apple.com>
  12034. Reviewed by Mitz.
  12035. Get rid of DeprecatedPtrList from StyleSheetList.
  12036. * css/CSSStyleSelector.cpp:
  12037. (WebCore::CSSStyleSelector::CSSStyleSelector):
  12038. * css/StyleSheetList.cpp:
  12039. (WebCore::StyleSheetList::~StyleSheetList):
  12040. (WebCore::StyleSheetList::length):
  12041. (WebCore::StyleSheetList::item):
  12042. * css/StyleSheetList.h:
  12043. (WebCore::StyleSheetList::swap):
  12044. * dom/Document.cpp:
  12045. (WebCore::Document::recalcStyleSelector):
  12046. 2008-06-04 Anders Carlsson <andersca@apple.com>
  12047. Reviewed by Darin.
  12048. Convert more classes over to start out with a ref count of 1.
  12049. * css/CSSImageGeneratorValue.cpp:
  12050. (WebCore::CSSImageGeneratorValue::generatedImage):
  12051. * css/CSSImageValue.cpp:
  12052. (WebCore::CSSImageValue::cachedImage):
  12053. * css/CSSMediaRule.cpp:
  12054. (WebCore::CSSMediaRule::CSSMediaRule):
  12055. * css/CSSParser.cpp:
  12056. (WebCore::CSSParser::parseValue):
  12057. (WebCore::CSSParser::parseFillSize):
  12058. (WebCore::CSSParser::parseCounter):
  12059. (WebCore::CSSParser::createRuleList):
  12060. * css/CSSRuleList.cpp:
  12061. (WebCore::CSSRuleList::CSSRuleList):
  12062. * css/CSSRuleList.h:
  12063. (WebCore::CSSRuleList::create):
  12064. * css/CSSStyleSelector.cpp:
  12065. (WebCore::CSSStyleSelector::matchRules):
  12066. (WebCore::CSSStyleSelector::styleRulesForElement):
  12067. * css/CSSStyleSelector.h:
  12068. * css/CSSStyleSheet.cpp:
  12069. (WebCore::CSSStyleSheet::cssRules):
  12070. (WebCore::CSSStyleSheet::addSubresourceURLStrings):
  12071. * css/CSSStyleSheet.h:
  12072. (WebCore::CSSStyleSheet::rules):
  12073. * css/Pair.h:
  12074. (WebCore::Pair::create):
  12075. (WebCore::Pair::Pair):
  12076. * html/HTMLMediaElement.cpp:
  12077. (WebCore::HTMLMediaElement::buffered):
  12078. (WebCore::HTMLMediaElement::played):
  12079. (WebCore::HTMLMediaElement::seekable):
  12080. * html/TimeRanges.cpp:
  12081. (TimeRanges::TimeRanges):
  12082. * html/TimeRanges.h:
  12083. (WebCore::TimeRanges::create):
  12084. (WebCore::TimeRanges::TimeRanges):
  12085. * rendering/style/RenderStyle.cpp:
  12086. (WebCore::RenderStyle::addCursor):
  12087. (WebCore::RenderStyle::clearCursorList):
  12088. * rendering/style/RenderStyle.h:
  12089. (WebCore::StyleImage::~StyleImage):
  12090. (WebCore::StyleImage::StyleImage):
  12091. (WebCore::StyleCachedImage::create):
  12092. (WebCore::StyleCachedImage::StyleCachedImage):
  12093. (WebCore::StyleGeneratedImage::create):
  12094. (WebCore::StyleGeneratedImage::StyleGeneratedImage):
  12095. (WebCore::CursorList::create):
  12096. (WebCore::CursorList::CursorList):
  12097. 2008-06-04 chris fleizach <cfleizach@apple.com>
  12098. Reviewed by Dave Hyatt, Alice, Liu
  12099. <rdar://problem/5983804> Editable web areas do not properly report the AXFocused attribute
  12100. * page/AccessibilityRenderObject.cpp:
  12101. (WebCore::AccessibilityRenderObject::isFocused):
  12102. 2008-06-03 Beth Dakin <bdakin@apple.com>
  12103. Reviewed by Adele.
  12104. Fix for https://bugs.webkit.org/show_bug.cgi?id=19381 WebKit
  12105. Crashing Constantly on Gmail with accessibility turned on
  12106. There was a missing null-check!
  12107. * page/AccessibilityRenderObject.cpp:
  12108. (WebCore::AccessibilityRenderObject::roleValue):
  12109. 2008-06-04 Anders Carlsson <andersca@apple.com>
  12110. Reviewed by Sam.
  12111. Convert more classes to start with a ref count of 1.
  12112. * bindings/js/JSCustomVoidCallback.cpp:
  12113. (WebCore::toVoidCallback):
  12114. * bindings/js/JSCustomVoidCallback.h:
  12115. (WebCore::JSCustomVoidCallback::create):
  12116. * css/StyleSheetList.cpp:
  12117. (WebCore::StyleSheetList::StyleSheetList):
  12118. * css/StyleSheetList.h:
  12119. (WebCore::StyleSheetList::create):
  12120. * dom/Document.cpp:
  12121. (WebCore::Document::Document):
  12122. (WebCore::Document::createNodeIterator):
  12123. (WebCore::Document::createTreeWalker):
  12124. * dom/NodeIterator.h:
  12125. (WebCore::NodeIterator::create):
  12126. * dom/Traversal.cpp:
  12127. (WebCore::Traversal::Traversal):
  12128. * dom/Traversal.h:
  12129. * dom/TreeWalker.h:
  12130. (WebCore::TreeWalker::create):
  12131. * history/CachedPage.cpp:
  12132. (WebCore::CachedPage::create):
  12133. (WebCore::CachedPage::CachedPage):
  12134. * html/CanvasGradient.cpp:
  12135. (WebCore::CanvasGradient::CanvasGradient):
  12136. * html/CanvasGradient.h:
  12137. (WebCore::CanvasGradient::create):
  12138. * html/CanvasRenderingContext2D.cpp:
  12139. (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
  12140. (WebCore::CanvasRenderingContext2D::createLinearGradient):
  12141. (WebCore::CanvasRenderingContext2D::createRadialGradient):
  12142. * html/CanvasRenderingContext2D.h:
  12143. (WebCore::CanvasRenderingContext2D::create):
  12144. * html/HTMLCanvasElement.cpp:
  12145. (WebCore::HTMLCanvasElement::getContext):
  12146. * html/VoidCallback.h:
  12147. (WebCore::VoidCallback::VoidCallback):
  12148. * loader/FormState.cpp:
  12149. (WebCore::FormState::create):
  12150. (WebCore::FormState::FormState):
  12151. * platform/text/RegularExpression.cpp:
  12152. (WebCore::RegularExpression::Private::create):
  12153. (WebCore::RegularExpression::Private::Private):
  12154. (WebCore::RegularExpression::RegularExpression):
  12155. * storage/SQLResultSet.cpp:
  12156. (WebCore::SQLResultSet::SQLResultSet):
  12157. * storage/SQLResultSetRowList.h:
  12158. (WebCore::SQLResultSetRowList::create):
  12159. (WebCore::SQLResultSetRowList::SQLResultSetRowList):
  12160. 2008-06-04 Dan Bernstein <mitz@apple.com>
  12161. Reviewed by Dave Hyatt.
  12162. - fix <rdar://problem/5962118> Crash in RenderBlock::calcColumnWidth()
  12163. Test: fast/multicol/gap-non-negative.html
  12164. * css/CSSParser.cpp:
  12165. (WebCore::CSSParser::parseValue): Changed to not allow negative
  12166. values for column-gap, per
  12167. <http://www.w3.org/TR/2001/WD-css3-multicol-20010118/#column-gap>.
  12168. 2008-06-04 Dan Bernstein <mitz@apple.com>
  12169. Reviewed by Dave Hyatt.
  12170. - fix <rdar://problem/5962270> Crash in WebCore::RenderTableCell::computeAbsoluteRepaintRect()
  12171. Test: fast/reflections/table-cell.html
  12172. * rendering/RenderTableCell.cpp:
  12173. (WebCore::RenderTableCell::computeAbsoluteRepaintRect): Null-check
  12174. parent().
  12175. (WebCore::RenderTableCell::absolutePosition): Ditto.
  12176. 2008-06-04 Alexey Proskuryakov <ap@webkit.org>
  12177. Reviewed by Darin.
  12178. Fix JSClassCreate to work with old JSCore API threading model.
  12179. * ForwardingHeaders/wtf/StrHash.h: Removed (moved into ustring.h).
  12180. 2008-06-03 Antti Koivisto <antti@apple.com>
  12181. Reviewed by Darin.
  12182. https://bugs.webkit.org/show_bug.cgi?id=19384
  12183. Implement path morphing for SVG animation
  12184. You can animate smoothly between paths that have equal number of control points of matching type.
  12185. Test: svg/custom/animate-path-morphing.svg
  12186. * svg/SVGAnimateElement.cpp:
  12187. (WebCore::SVGAnimateElement::determinePropertyType):
  12188. (WebCore::SVGAnimateElement::calculateAnimatedValue):
  12189. (WebCore::SVGAnimateElement::calculateFromAndToValues):
  12190. (WebCore::SVGAnimateElement::resetToBaseValue):
  12191. (WebCore::SVGAnimateElement::applyResultsToTarget):
  12192. * svg/SVGAnimateElement.h:
  12193. (WebCore::SVGAnimateElement::):
  12194. * svg/SVGPathSegList.cpp:
  12195. (WebCore::blendFunc):
  12196. (WebCore::SVGPathSegList::createAnimated):
  12197. * svg/SVGPathSegList.h:
  12198. 2008-06-03 Darin Adler <darin@apple.com>
  12199. - try to fix the Qt build
  12200. * bridge/qt/qt_runtime.cpp:
  12201. (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter): Remove the originalObject argument.
  12202. (KJS::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto.
  12203. (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
  12204. (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto.
  12205. (KJS::Bindings::QtConnectionObject::execute): Use callAsFunction.
  12206. * bridge/qt/qt_runtime.h: More of the same.
  12207. 2008-06-03 Justin Garcia <justin.garcia@apple.com>
  12208. Reviewed by John.
  12209. <rdar://problem/5763082> GMail: Hang when removing indent from nested list
  12210. <rdar://problem/5775449> In Gmail and GoogleDocs, a hang occurs when I attempt to apply a list style to a large selection of text
  12211. <rdar://problem/5937624> 9D32: Hang in Safari. Using 100% of processor
  12212. * editing/InsertListCommand.cpp:
  12213. (WebCore::InsertListCommand::modifyRange): doApply() may operate on and remove
  12214. the last paragraph of the selection from the document if it's in the same list
  12215. item as startOfCurrentParagraph. Return early to avoid an infinite loop and
  12216. because there is no more work to be done. Added a FIXME (<rdar://problem/5983974>)
  12217. about the incorrect endingSelection()s.
  12218. 2008-06-03 Oliver Hunt <oliver@apple.com>
  12219. Reviewed by Tim.
  12220. Bug 12983: Web Inspector break on the debugger keyword
  12221. <https://bugs.webkit.org/show_bug.cgi?id=12983>
  12222. Added support for the new debugger didReachBreakpoint
  12223. callback so that WebInspector receives the debugger event
  12224. and breaks.
  12225. * page/JavaScriptDebugServer.cpp:
  12226. (WebCore::JavaScriptDebugServer::didReachBreakpoint):
  12227. * page/JavaScriptDebugServer.h:
  12228. 2008-06-03 Darin Adler <darin@apple.com>
  12229. Reviewed by Geoff.
  12230. - https://bugs.webkit.org/show_bug.cgi?id=19269
  12231. speed up SunSpider by eliminating the toObject call for most get/put/delete
  12232. Eliminate the originalObject argument from property getter functions; it's no longer
  12233. available and was used only for JavaScript function-based getters and setters.
  12234. Updated callers of PropertySlot::setUndefined. It no longer takes a base argument.
  12235. * bindings/js/JSQuarantinedObjectWrapper.cpp:
  12236. (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter): Removed the originalObject
  12237. argument.
  12238. (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): Changed to initialize the
  12239. PropertySlot with the original object -- this is a new requirement.
  12240. * bindings/js/JSCSSStyleDeclarationCustom.cpp:
  12241. (WebCore::JSCSSStyleDeclaration::nameGetter):
  12242. * bindings/js/JSCanvasPixelArrayCustom.cpp:
  12243. (WebCore::JSCanvasPixelArray::indexGetter):
  12244. * bindings/js/JSDOMWindowBase.cpp:
  12245. (WebCore::JSDOMWindowBase::childFrameGetter):
  12246. (WebCore::JSDOMWindowBase::indexGetter):
  12247. (WebCore::JSDOMWindowBase::namedItemGetter):
  12248. (WebCore::JSDOMWindowBase::getOwnPropertySlot):
  12249. * bindings/js/JSDOMWindowBase.h:
  12250. * bindings/js/JSDOMWindowCustom.h:
  12251. (WebCore::JSDOMWindow::customGetOwnPropertySlot):
  12252. * bindings/js/JSHTMLAppletElementCustom.cpp:
  12253. (WebCore::JSHTMLAppletElement::nameGetter):
  12254. * bindings/js/JSHTMLCollectionCustom.cpp:
  12255. (WebCore::JSHTMLCollection::nameGetter):
  12256. * bindings/js/JSHTMLDocumentCustom.cpp:
  12257. (WebCore::JSHTMLDocument::nameGetter):
  12258. * bindings/js/JSHTMLEmbedElementCustom.cpp:
  12259. (WebCore::JSHTMLEmbedElement::nameGetter):
  12260. * bindings/js/JSHTMLFormElementCustom.cpp:
  12261. (WebCore::JSHTMLFormElement::nameGetter):
  12262. * bindings/js/JSHTMLFrameSetElementCustom.cpp:
  12263. (WebCore::JSHTMLFrameSetElement::nameGetter):
  12264. * bindings/js/JSHTMLObjectElementCustom.cpp:
  12265. (WebCore::JSHTMLObjectElement::nameGetter):
  12266. * bindings/js/JSHistoryCustom.cpp:
  12267. (WebCore::JSHistory::customGetOwnPropertySlot):
  12268. * bindings/js/JSLocationCustom.cpp:
  12269. (WebCore::JSLocation::customGetOwnPropertySlot):
  12270. * bindings/js/JSMimeTypeArrayCustom.cpp:
  12271. (WebCore::JSMimeTypeArray::nameGetter):
  12272. * bindings/js/JSNamedNodeMapCustom.cpp:
  12273. (WebCore::JSNamedNodeMap::nameGetter):
  12274. * bindings/js/JSNamedNodesCollection.cpp:
  12275. (WebCore::JSNamedNodesCollection::lengthGetter):
  12276. (WebCore::JSNamedNodesCollection::indexGetter):
  12277. * bindings/js/JSNamedNodesCollection.h:
  12278. * bindings/js/JSNodeListCustom.cpp:
  12279. (WebCore::JSNodeList::nameGetter):
  12280. * bindings/js/JSPluginArrayCustom.cpp:
  12281. (WebCore::JSPluginArray::nameGetter):
  12282. * bindings/js/JSPluginCustom.cpp:
  12283. (WebCore::JSPlugin::nameGetter):
  12284. * bindings/js/JSQuarantinedObjectWrapper.h:
  12285. * bindings/js/JSStorageCustom.cpp:
  12286. (WebCore::JSStorage::nameGetter):
  12287. * bindings/js/JSStyleSheetListCustom.cpp:
  12288. (WebCore::JSStyleSheetList::nameGetter):
  12289. * bindings/js/kjs_binding.cpp:
  12290. (WebCore::nonCachingStaticFunctionGetter):
  12291. (WebCore::objectToStringFunctionGetter):
  12292. * bindings/js/kjs_binding.h:
  12293. * bindings/js/kjs_html.cpp:
  12294. (WebCore::runtimeObjectGetter):
  12295. (WebCore::runtimeObjectPropertyGetter):
  12296. * bindings/js/kjs_html.h:
  12297. * bindings/scripts/CodeGeneratorJS.pm:
  12298. * bridge/objc/objc_runtime.mm:
  12299. (ObjcFallbackObjectImp::getOwnPropertySlot):
  12300. * bridge/runtime_array.cpp:
  12301. (RuntimeArray::lengthGetter):
  12302. (RuntimeArray::indexGetter):
  12303. * bridge/runtime_array.h:
  12304. * bridge/runtime_method.cpp:
  12305. (RuntimeMethod::lengthGetter):
  12306. * bridge/runtime_method.h:
  12307. * bridge/runtime_object.cpp:
  12308. (RuntimeObjectImp::fallbackObjectGetter):
  12309. (RuntimeObjectImp::fieldGetter):
  12310. (RuntimeObjectImp::methodGetter):
  12311. * bridge/runtime_object.h:
  12312. Removed originalObject arguments from getter fnctions and base arguments from
  12313. calls to setUndefined.
  12314. 2008-06-03 Darin Adler <darin@apple.com>
  12315. Fix build with GCC.
  12316. * page/AccessibilityRenderObject.cpp:
  12317. (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren):
  12318. Put a default case back in the switch statement so we don't get warned about
  12319. all the unhandled cases with GCC. Remove the unreachable code that was causing
  12320. a warning in Visual Studio.
  12321. 2008-06-03 Steve Falkenburg <sfalken@apple.com>
  12322. Fix build
  12323. * page/AccessibilityRenderObject.cpp:
  12324. (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren):
  12325. 2008-06-03 Justin Garcia <justin.garcia@apple.com>
  12326. Reviewed by John Sullivan.
  12327. <rdar://problem/5943515> SelectionController()->modify Backward/Forward with LineGranularity sometimes don't work
  12328. next/previousLinePosition didn't work if the input position was the last line in its
  12329. block. The code for handling such a position assumed that the input position was
  12330. editable, and that the position to be returned needed to also be editable. Changed
  12331. this code to just maintain the same editability.
  12332. No test case for now because we haven't enabled selection extension operations for
  12333. non-editable selections. I enabled them temporarily to test the fix, however.
  12334. * dom/Node.cpp: Removed the now unused nextEditable(int).
  12335. * dom/Node.h:
  12336. * editing/visible_units.cpp:
  12337. (WebCore::previousLeafWithSameEditability): Added. Like previousEditable but just returns
  12338. a node of the same editability.
  12339. (WebCore::previousLinePosition): Call previousLeaf instead of previousEditable.
  12340. (WebCore::nextLeafWithSameEditability): Added.
  12341. (WebCore::nextLinePosition): Same as above.
  12342. 2008-06-02 Anders Carlsson <andersca@apple.com>
  12343. Reviewed by John and Sam.
  12344. <rdar://problem/5955218>
  12345. Assertion failure in ApplicationCacheGroup::addEntry when reloading a page with a cache manifest (19182)
  12346. * loader/appcache/ApplicationCacheGroup.h:
  12347. (WebCore::ApplicationCacheGroup::hasNewestCache):
  12348. Add new accessor.
  12349. * loader/appcache/ApplicationCacheStorage.cpp:
  12350. (WebCore::ApplicationCacheStorage::cacheGroupDestroyed):
  12351. Don't call newestCache since it will always be null. Instead, call hasNewestCache which returns the saved newest cache pointer.
  12352. 2008-06-03 Dan Bernstein <mitz@apple.com>
  12353. Reviewed by Dave Hyatt.
  12354. - fix <rdar://problem/5965410>
  12355. In fixed table layout, the width of cells with auto width should be
  12356. proportional to their column span, to match Firefox and IE.
  12357. Test: fast/table/fixed-with-auto-with-colspan.html
  12358. * rendering/FixedTableLayout.cpp:
  12359. (WebCore::FixedTableLayout::layout):
  12360. 2008-06-03 Alp Toker <alp@nuanti.com>
  12361. Rubber-stamped by Alexey.
  12362. Remove GenerateNativeConverter added in r34331 to fix JS regressions.
  12363. (JSTextCustom.cpp added in r34141 is now unused in any code path.)
  12364. * dom/Text.idl:
  12365. 2008-06-03 Alexander Vassilev <avasilev@voipgate.com>
  12366. Reviewed, tweaked and landed by Alexey.
  12367. https://bugs.webkit.org/show_bug.cgi?id=19363
  12368. Compiler error in Entity.h
  12369. * dom/Entity.h:
  12370. (WebCore::Entity::Entity): Add a private constructor to shut down the errors.
  12371. 2008-06-02 Geoffrey Garen <ggaren@apple.com>
  12372. Reviewed by Alexey Proskuryakov.
  12373. Removed JSObject::call, since it just called JSObject::callAsFunction.
  12374. SunSpider reports no change.
  12375. 2008-06-02 Alp Toker <alp@nuanti.com>
  12376. Reviewed by Maciej.
  12377. Two of the toJSNewlyCreated() optimisations in r34141 were never
  12378. reached due to a generator bug and missing IDL attribute.
  12379. Fix header generation to provide the necessary toJSNewlyCreated()
  12380. overloads.
  12381. Patch includes a related build fix by Jan Michael Alonzo.
  12382. * GNUmakefile.am:
  12383. * bindings/scripts/CodeGeneratorJS.pm:
  12384. * dom/Text.idl:
  12385. 2008-06-02 Alice Liu <alice.liu@apple.com>
  12386. Reviewed by Beth Dakin.
  12387. Some ARIA roles are designated to have presentational children, which
  12388. means that their descendants aren't exposed to assistive technologies
  12389. on an individual basis. What this means in webcore is that descendants
  12390. of such roles need to be ignored in terms of accessibility.
  12391. * page/AccessibilityObject.cpp:
  12392. (WebCore::AccessibilityObject::isPresentationalChildOfAriaRole):
  12393. (WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren):
  12394. * page/AccessibilityObject.h:
  12395. * page/AccessibilityRenderObject.cpp:
  12396. (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
  12397. (WebCore::RoleEntry::):
  12398. (WebCore::AccessibilityRenderObject::isPresentationalChildOfAriaRole):
  12399. (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren):
  12400. * page/AccessibilityRenderObject.h:
  12401. 2008-06-02 David Hyatt <hyatt@apple.com>
  12402. Fix for https://bugs.webkit.org/show_bug.cgi?id=19303
  12403. When the right slice value is omitted in border-image it should use the value of the left slice and not
  12404. the top slice.
  12405. Reviewed by darin
  12406. Added fast/borders/border-image-omit-right-slice.html
  12407. * css/CSSParser.cpp:
  12408. (WebCore::BorderImageParseContext::commitBorderImage)
  12409. 2008-06-02 Anders Carlsson <andersca@apple.com>
  12410. Reviewed by David Hyatt and Mitz.
  12411. <rdar://problem/5704119>
  12412. repro crash in WebCore::RenderPart::setWidget (plugin-related?)
  12413. Test: platform/mac/plugins/update-widget-from-style-recalc.html
  12414. Make sure to update the document's rendering before calling updateWidget.
  12415. * html/HTMLEmbedElement.cpp:
  12416. (WebCore::HTMLEmbedElement::updateWidget):
  12417. * html/HTMLObjectElement.cpp:
  12418. (WebCore::HTMLObjectElement::updateWidget):
  12419. 2008-06-02 Kevin McCullough <kmccullough@apple.com>
  12420. Reviewed by Adam.
  12421. <rdar://problem/5954226> JSProfiler: Move the calls from
  12422. JavaScriptProfileNode to JavaScriptProfile in WebCore (19231)
  12423. - This Makes the profiler now call sorting function s on a per-profile
  12424. basis instead of on a node in the profile.
  12425. - This is also needed to remove the recursion limit in the profiler
  12426. <rdar://problem/5969992> JSProfiler: Remove the recursion limit in the
  12427. profiler
  12428. since once the limit is removed calling sort on a node will only sort
  12429. that node's children not the entire sub-tree of that node.
  12430. * page/JavaScriptProfile.cpp: All of these functions were moved from
  12431. JavaScriptProfileNode.
  12432. (WebCore::sortTotalTimeDescending):
  12433. (WebCore::sortTotalTimeAscending):
  12434. (WebCore::sortSelfTimeDescending):
  12435. (WebCore::sortSelfTimeAscending):
  12436. (WebCore::sortCallsDescending):
  12437. (WebCore::sortCallsAscending):
  12438. (WebCore::sortFunctionNameDescending):
  12439. (WebCore::sortFunctionNameAscending):
  12440. (WebCore::ProfileClass):
  12441. * page/JavaScriptProfileNode.cpp:
  12442. (WebCore::ProfileNodeClass):
  12443. * page/inspector/ProfileView.js: Change uses of JavaScriptProfileNode
  12444. for sorting to JavaScriptProfile.
  12445. 2008-06-02 Dan Bernstein <mitz@apple.com>
  12446. Reviewed by Oliver Hunt.
  12447. - fix more cases of https://bugs.webkit.org/show_bug.cgi?id=19344
  12448. <rdar://problem/5977300> Regression: Shadow offsets seem to have changed in 10.5.3 in canvas
  12449. Tests: fast/canvas/shadow-offset-1.html
  12450. fast/canvas/shadow-offset-2.html
  12451. fast/canvas/shadow-offset-3.html
  12452. fast/canvas/shadow-offset-4.html
  12453. fast/canvas/shadow-offset-5.html
  12454. fast/canvas/shadow-offset-6.html
  12455. fast/canvas/shadow-offset-7.html
  12456. * html/CanvasRenderingContext2D.cpp:
  12457. (WebCore::adjustedShadowSize): Added this helper function.
  12458. (WebCore::CanvasRenderingContext2D::setShadow): Changed to call
  12459. adjustedShadowSize().
  12460. (WebCore::CanvasRenderingContext2D::applyShadow): Ditto.
  12461. 2008-06-02 Julien Chaffraix <jchaffraix@webkit.org>
  12462. Reviewed by Darin.
  12463. Bug 18066: REGRESSION: createAttribute throws NAMESPACE_ERR exception
  12464. https://bugs.webkit.org/show_bug.cgi?id=18066
  12465. Test: fast/dom/createAttribute-exception.html
  12466. * dom/Document.cpp:
  12467. (WebCore::Document::createAttributeNS):
  12468. * dom/Document.h: Add a bool parameter shouldIgnoreNamespaceChecks
  12469. to createNamespaceNS() used by createAttribute() to bypass namespace
  12470. checking.
  12471. 2008-06-02 Darin Adler <darin@apple.com>
  12472. Reviewed by John Sullivan.
  12473. - fix https://bugs.webkit.org/show_bug.cgi?id=18799
  12474. apl.aip.org menu does not work (property names should be case sensitive)
  12475. <rdar://problem/5900484>
  12476. Test: fast/dom/CSSStyleDeclaration/css-properties-case-sensitive.html
  12477. * bindings/js/JSCSSStyleDeclarationCustom.cpp:
  12478. (WebCore::hasCSSPropertyNamePrefix): Tweak implementation a tiny bit for
  12479. improved performance when the first character does not match.
  12480. (WebCore::cssPropertyName): Reject property names with a leading uppercase
  12481. letter.
  12482. 2008-06-02 Darin Adler <darin@apple.com>
  12483. Reviewed by Mitz.
  12484. - fix https://bugs.webkit.org/show_bug.cgi?id=19358
  12485. <rdar://problem/5951986> first line break in <pre> elements ignored
  12486. (chess boards at http://rankzero.de/)
  12487. Test: fast/parser/pre-first-line-break.html
  12488. * editing/markup.cpp:
  12489. (WebCore::appendStartMarkup): Fix handling of <listing>. Not part of the
  12490. bug mentioned above, but uncovered by the regression test.
  12491. * html/HTMLTokenizer.cpp:
  12492. (WebCore::HTMLTokenizer::write): Clear the "discardLF" flag when
  12493. processing a new tag.
  12494. 2008-06-02 Timothy Hatcher <timothy@apple.com>
  12495. Fixes a bug where only the last breakpoint would be hit after reloading
  12496. the page. Also fixes a bug where disabled breakpoints would be hit
  12497. after reloading the page.
  12498. Reviewed by Darin Adler.
  12499. * page/inspector/BreakpointsSidebarPane.js:
  12500. (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint): Don't call
  12501. InspectorController.addBreakpoint() unless the breakpoint is enabled.
  12502. * page/inspector/ScriptsPanel.js:
  12503. (WebInspector.ScriptsPanel.prototype.addScript): Move the addBreakpoint()
  12504. call inside the for loop so each breakpoint is added. Also check the
  12505. breakpoint's enabled state before calling addBreakpoint().
  12506. 2008-06-02 Timothy Hatcher <timothy@apple.com>
  12507. Fixes a bug where the line highlight and the execution line were conflicting.
  12508. The line highlight no longer shows up when the execution line changes, only
  12509. when showResource or showScript is called with a line number.
  12510. Reviewed by Darin Adler.
  12511. * page/inspector/ScriptsPanel.js:
  12512. (WebInspector.ScriptsPanel.prototype.showScript): Pass true for shouldHighlightLine.
  12513. (WebInspector.ScriptsPanel.prototype.showResource): Ditto.
  12514. (WebInspector.ScriptsPanel.prototype._showScriptOrResource): Added a shouldHighlightLine
  12515. argument that triggers the highlightLine() call on the SourceFrame.
  12516. (WebInspector.ScriptsPanel.prototype._goBack): Pass false for shouldHighlightLine since
  12517. we need to pass true for fromBackForwardAction.
  12518. (WebInspector.ScriptsPanel.prototype._goForward): Ditto.
  12519. 2008-06-02 Timothy Hatcher <timothy@apple.com>
  12520. Bring the Web Inspector forward when the debugger pauses.
  12521. https://bugs.webkit.org/show_bug.cgi?id=19095
  12522. Reviewed by Darin Adler.
  12523. * page/inspector/ScriptsPanel.js:
  12524. (WebInspector.ScriptsPanel.prototype.debuggerPaused): Call window.focus() and
  12525. make the Scripts panel the current panel.
  12526. 2008-06-02 Jan Michael Alonzo <jmalonzo@webkit.org>
  12527. Reviewed by Alp Toker.
  12528. Build WebCore GTK+ sources as part of WebCore, not WebKit.
  12529. Split common and GTK+-specific sources into separate file lists.
  12530. * GNUmakefile.am:
  12531. 2008-05-30 Tor Arne Vestbø <tavestbo@trolltech.com>
  12532. Reviewed by Simon.
  12533. Implement basic media element controls for the QtWebKit port.
  12534. * platform/qt/RenderThemeQt.cpp:
  12535. (WebCore::WorldMatrixTransformer::WorldMatrixTransformer):
  12536. (WebCore::WorldMatrixTransformer::~WorldMatrixTransformer):
  12537. (WebCore::RenderThemeQt::getMediaElementFromRenderObject):
  12538. (WebCore::RenderThemeQt::paintMediaBackground):
  12539. (WebCore::RenderThemeQt::getMediaControlForegroundColor):
  12540. (WebCore::RenderThemeQt::paintMediaFullscreenButton):
  12541. (WebCore::RenderThemeQt::paintMediaMuteButton):
  12542. (WebCore::RenderThemeQt::paintMediaPlayButton):
  12543. (WebCore::RenderThemeQt::paintMediaSeekBackButton):
  12544. (WebCore::RenderThemeQt::paintMediaSeekForwardButton):
  12545. (WebCore::RenderThemeQt::paintMediaSliderTrack):
  12546. (WebCore::RenderThemeQt::paintMediaSliderThumb):
  12547. (WebCore::RenderThemeQt::adjustSliderThumbSize):
  12548. * platform/qt/RenderThemeQt.h:
  12549. * platform/qt/html4-adjustments-qt.css:
  12550. 2008-05-30 Tor Arne Vestbø <tavestbo@trolltech.com>
  12551. Reviewed by Simon.
  12552. Change default styling of media elements to allow controls
  12553. to be placed at any position within the media element.
  12554. * css/html4.css:
  12555. 2008-05-30 Tor Arne Vestbø <tavestbo@trolltech.com>
  12556. Reviewed by Simon.
  12557. Use intrinsic size for media elements with no natural size.
  12558. * rendering/RenderVideo.cpp:
  12559. (WebCore::RenderVideo::videoSizeChanged):
  12560. 2008-05-28 Tor Arne Vestbø <tavestbo@trolltech.com>
  12561. Reviewed by Simon.
  12562. Allow platform specific adjustments to the default style sheet.
  12563. Clients will change the #ifdef in RenderTheme.cpp and implement
  12564. any platform specific adjustments in RenderThemeXXX.cpp, either
  12565. by loading a file as the Qt port does, or by modifying the style
  12566. directly.
  12567. * WebCore.pro: Add new resource file
  12568. * css/CSSStyleSelector.cpp:
  12569. (WebCore::loadDefaultStyle): adjust default stylesheet
  12570. * platform/qt/RenderThemeQt.cpp:
  12571. (WebCore::RenderTheme::adjustDefaultStyleSheet): Qt adjustments
  12572. * platform/qt/WebCoreResources.qrc: Added.
  12573. * platform/qt/html4-adjustments-qt.css: Added.
  12574. * rendering/RenderTheme.cpp: Default adjustments (none)
  12575. * rendering/RenderTheme.h:
  12576. 2008-06-02 Siraj Razick <siraj.razick@collabora.co.uk>
  12577. Reviewed by Simon
  12578. Allow button fonts to scale based on the text size multiplier.
  12579. https://bugs.webkit.org/show_bug.cgi?id=19251
  12580. * platform/qt/RenderThemeQt.cpp:
  12581. (WebCore::RenderThemeQt::adjustButtonStyle):
  12582. 2008-06-01 Rob Buis <buis@kde.org>
  12583. Reviewed by Darin.
  12584. https://bugs.webkit.org/show_bug.cgi?id=15823
  12585. getPropertyValue for border returns null, should compute the shorthand value
  12586. Compute the value for the border shorthand property by computing
  12587. its shorthand subproperties.
  12588. Test: fast/css/getPropertyValue-border.html
  12589. * css/CSSMutableStyleDeclaration.cpp:
  12590. (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
  12591. (WebCore::CSSMutableStyleDeclaration::getCommonValue):
  12592. * css/CSSMutableStyleDeclaration.h:
  12593. 2008-06-01 Dan Bernstein <mitz@apple.com>
  12594. Reviewed by Darin Adler.
  12595. - fix https://bugs.webkit.org/show_bug.cgi?id=19344
  12596. <rdar://problem/5977300> Regression: Shadow offsets seem to have changed in 10.5.3 in canvas
  12597. Test: fast/canvas/shadow-offset.html
  12598. * html/CanvasRenderingContext2D.cpp:
  12599. (WebCore::CanvasRenderingContext2D::applyShadow): Slightly increase the
  12600. magnitude of the offsets passed to CGContextSetShadow* to ensure that
  12601. the end result after truncation is the desired integer offsets. This is
  12602. the same workaround for <rdar://problem/5539388> that is used in
  12603. GraphicsContext::setShadow(). Also correct a recent regression where
  12604. shadow Y offsets were flipped.
  12605. 2008-05-31 Maciej Stachowiak <mjs@apple.com>
  12606. Reviewed by Sam.
  12607. - avoid assertion in updateDocument() when running debug
  12608. * bindings/js/kjs_proxy.cpp:
  12609. (WebCore::KJSProxy::updateDocument): Exit early if the document is null. We
  12610. don't need to update in this case.
  12611. 2008-05-30 Dan Bernstein <mitz@apple.com>
  12612. Reviewed by Darin Adler.
  12613. - fix https://bugs.webkit.org/show_bug.cgi?id=19278
  12614. <rdar://problem/5968621> REGRESSION (r31114-r31132): image float disappears on refresh
  12615. Test: fast/dynamic/float-in-trailing-whitespace-after-last-line-break.html
  12616. * rendering/bidi.cpp:
  12617. (WebCore::RenderBlock::layoutInlineChildren): Ensured that floats
  12618. occurring in trailing whitespace after a line break are added to the
  12619. last line's floats vector.
  12620. 2008-05-30 Timothy Hatcher <timothy@apple.com>
  12621. Implements the back and forward buttons in the Scripts panel.
  12622. Reviewed by Adam Roben.
  12623. * page/inspector/ScriptsPanel.js:
  12624. (WebInspector.ScriptsPanel): Add the back and forward button elements
  12625. and remove the FIXMEs.
  12626. (WebInspector.ScriptsPanel.prototype.reset): Reset _backForwardList
  12627. and _currentBackForwardIndex. Then call _updateBackAndForwardButtons().
  12628. (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
  12629. Added a fromBackForwardAction argument. If fromBackForwardAction is false
  12630. then update the _currentBackForwardIndex and _backForwardList.
  12631. (WebInspector.ScriptsPanel.prototype._updateBackAndForwardButtons):
  12632. Update the disabled state of the buttons.
  12633. (WebInspector.ScriptsPanel.prototype._goBack): Update the _currentBackForwardIndex
  12634. and call _showScriptOrResource() and _updateBackAndForwardButtons().
  12635. (WebInspector.ScriptsPanel.prototype._goForward): Ditto.
  12636. 2008-05-30 Timothy Hatcher <timothy@apple.com>
  12637. Made clicking a Console message URL originating from a JavaScript
  12638. source show the Resource in the Scripts panel. This only happens
  12639. when the debugger is attached.
  12640. Reviewed by Adam Roben.
  12641. * page/inspector/Console.js:
  12642. (WebInspector.Console.prototype._formaterror):
  12643. Add a preferredPanel of "scripts".
  12644. (WebInspector.ConsoleMessage.prototype.toMessageElement):
  12645. Add a preferredPanel of "scripts" when the source is JS.
  12646. * page/inspector/ScriptView.js:
  12647. (WebInspector.ScriptView.prototype.highlightLine): Added.
  12648. Calls through to the sourceFrame. Matches SourceView.
  12649. * page/inspector/ScriptsPanel.js:
  12650. (WebInspector.ScriptsPanel.prototype.canShowResource): Added.
  12651. Returns true if the debugger is attached and the resource has scripts.
  12652. (WebInspector.ScriptsPanel.prototype._showScriptOrResource): Call
  12653. highlightLine on the view.
  12654. * page/inspector/inspector.js:
  12655. (WebInspector.documentClick): Pass the preferredPanel to showResourceForURL.
  12656. (WebInspector.showResourceForURL): Resolve the preferredPanel from the string
  12657. passed in. Checks if the panel implements showResource and canShowResource.
  12658. Reverts to the Resources panel if any of that is false or not implemented.
  12659. 2008-05-30 Timothy Hatcher <timothy@apple.com>
  12660. Fixed an "undefined type" exception that was being thrown when
  12661. selecting a eval script from the file menu in the Scripts panel.
  12662. This would also happen when stepping into an eval which would
  12663. break other parts of the Inspector interface.
  12664. Reviewed by Adam Roben.
  12665. * page/inspector/ScriptsPanel.js:
  12666. (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
  12667. Use the scriptOrResource variable instead of the undefined script variable.
  12668. 2008-05-30 Timothy Hatcher <timothy@apple.com>
  12669. Made the starting line number of scripts be 1-based throughout the engine.
  12670. This cleans up script line numbers so they are all consistent now and fixes
  12671. some cases where script execution was shown as off by one line in the debugger.
  12672. Doing this also exposed a bug where JSLazyEventListener created in XHML or SVG
  12673. documents would always have a line number of 0. So this change fixed that bug
  12674. to pass all the SVG and XHTML tests.
  12675. All layout tests pass.
  12676. Reviewed by Oliver Hunt.
  12677. * bindings/js/kjs_events.cpp:
  12678. (WebCore::JSLazyEventListener::JSLazyEventListener): Set the line number to 1
  12679. if it was passed in as 0. This can happen when listeners are created with
  12680. a setAttribute call from JavaScript.
  12681. (WebCore::JSLazyEventListener::parseCode): Add a FIXME about the URL being
  12682. incorrect when listeners are created with a setAttribute call from JavaScript.
  12683. * bindings/js/kjs_events.h: Remove the default value for lineNumber, since no
  12684. callers need it.
  12685. * bindings/objc/WebScriptObject.mm:
  12686. (-[WebScriptObject evaluateWebScript:]): Pass a line number of 1 instead of 0
  12687. to Interpreter::evaluate().
  12688. * bridge/NP_jsobject.cpp:
  12689. (_NPN_Evaluate): Ditto.
  12690. * bridge/jni/jni_jsobject.mm:
  12691. (JavaJSObject::eval): Ditto.
  12692. * dom/XMLTokenizer.cpp:
  12693. (WebCore::XMLTokenizer::startElementNs): Call KJSProxy::setEventHandlerLineno()
  12694. around the call to handleElementAttributes, so any JSLazyEventListener created
  12695. from those attributes have line numbers.
  12696. (WebCore::XMLTokenizer::endElementNs): Remove a minus 1 of the line number.
  12697. (WebCore::XMLTokenizer::notifyFinished): Pass a line number of 1 instead of 0.
  12698. (WebCore::XMLTokenizer::parseEndElement): Remove a minus 1 of the line number.
  12699. * html/HTMLScriptElement.cpp:
  12700. (WebCore::HTMLScriptElement::evaluateScript): Add a FIXME about the starting
  12701. line number being incorrect in some cases when this function is called.
  12702. * html/HTMLTokenizer.cpp:
  12703. (WebCore::HTMLTokenizer::parseSpecial): Add a plus 1 to the line number when
  12704. setting scriptStartLineno so it is 1-based. Same for calling setEventHandlerLineno().
  12705. (WebCore::HTMLTokenizer::processToken): Ditto.
  12706. * html/HTMLTokenizer.h: Change the default line number on scriptExecution() to 1 from 0.
  12707. * loader/FrameLoader.cpp:
  12708. (FrameLoader::executeIfJavaScriptURL): Pass a line number of 1 instead of 0 to executeScript().
  12709. 2008-05-30 Maciej Stachowiak <mjs@apple.com>
  12710. Reviewed by Oliver (earlier version reviewed by Alexey).
  12711. - speculative fix for "REGRESSION(r34143?): Frequent crash while browsing"
  12712. https://bugs.webkit.org/show_bug.cgi?id=19285
  12713. ("This Time for Sure" Edition)
  12714. I'm pretty sure this fixes it but I have not been able to
  12715. reproduce and am unsure if my theory of the bug is right.
  12716. I belive the bug was because JSDOMWindowBase accessed
  12717. JSDOMWindowShell in its destructor to remove itself from a
  12718. hashtable, but GC destructor order is not guaranteed, so the
  12719. hashtable may have been freed already. This patch changes things
  12720. so that a non-GC object (the KJSProxy) does the tracking of live
  12721. window objects for a frame. JSDOMWindowBase can null check the frame
  12722. pointer to verify if it is still good.
  12723. In addition, we must create a similar setup between DOMWindow and
  12724. Frame; since the DOMWindow of a given frame can now change over
  12725. time, we must ensure that the Frame disconnects every live
  12726. DOMWindow when destroyed, not just the last.
  12727. * bindings/js/JSDOMWindowBase.cpp:
  12728. (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
  12729. * bindings/js/JSDOMWindowShell.cpp:
  12730. (WebCore::JSDOMWindowShell::JSDOMWindowShell):
  12731. * bindings/js/JSDOMWindowShell.h:
  12732. (WebCore::JSDOMWindowShell::setWindow):
  12733. * bindings/js/kjs_proxy.cpp:
  12734. (WebCore::KJSProxy::clear):
  12735. (WebCore::KJSProxy::initScript):
  12736. (WebCore::KJSProxy::updateDocument):
  12737. * bindings/js/kjs_proxy.h:
  12738. (WebCore::KJSProxy::clearFormerWindow):
  12739. * page/DOMWindow.cpp:
  12740. (WebCore::DOMWindow::~DOMWindow):
  12741. * page/Frame.cpp:
  12742. (WebCore::Frame::~Frame):
  12743. (WebCore::Frame::setDocument):
  12744. (WebCore::Frame::clearDOMWindow):
  12745. (WebCore::Frame::clearFormerDOMWindow):
  12746. * page/Frame.h:
  12747. * page/FramePrivate.h:
  12748. 2008-05-30 Dan Bernstein <mitz@apple.com>
  12749. Reviewed by Darin Adler and Dave Hyatt.
  12750. - eliminate excessive repainting when an object's final position
  12751. after layout is unchanged
  12752. * rendering/RenderBlock.cpp:
  12753. (WebCore::RenderBlock::layoutBlockChildren): Removed the full repaint
  12754. for the case that the final position is unchanged but the position at
  12755. which an intermediate layout occurred was different. Any repainting
  12756. done during the intermediate layout would have happened at the object's
  12757. initial (and also final) coordinates, since layoutDelta is factored
  12758. into repaint rect calculations.
  12759. 2008-05-30 Chris Fleizach <cfleizach@apple.com>
  12760. Reviewed by Beth Dakin.
  12761. <rdar://problem/5959478> r34079: AX: crash at stringForReplacedNode
  12762. * page/AccessibilityObject.cpp:
  12763. (WebCore::stringForReplacedNode):
  12764. 2008-05-30 Tor Arne Vestbø <tavestbo@trolltech.com>
  12765. Reviewed by Simon.
  12766. Fix the build dependencies for the Qt build. Don't generate
  12767. SVGCSSPropertyNames.cpp for every build.
  12768. * WebCore.pro: The output file was renamed, so the compiler rule needs
  12769. to be adjusted in order for qmake to generate correct depdencies.
  12770. 2008-05-30 Maciej Stachowiak <mjs@apple.com>
  12771. Revert fix for 19285, it just caused more crashes and I need time
  12772. to fix it properly.
  12773. * bindings/js/JSDOMWindowBase.cpp:
  12774. (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
  12775. * bindings/js/JSDOMWindowShell.cpp:
  12776. (WebCore::JSDOMWindowShell::JSDOMWindowShell):
  12777. (WebCore::JSDOMWindowShell::updateDocument):
  12778. * bindings/js/JSDOMWindowShell.h:
  12779. (WebCore::JSDOMWindowShell::setWindow):
  12780. (WebCore::JSDOMWindowShell::clearFormerWindow):
  12781. * bindings/js/kjs_proxy.cpp:
  12782. (WebCore::KJSProxy::clear):
  12783. (WebCore::KJSProxy::initScript):
  12784. * bindings/js/kjs_proxy.h:
  12785. * page/Frame.cpp:
  12786. (WebCore::Frame::setDocument):
  12787. 2008-05-30 Adam Treat <treat@kde.org>
  12788. Reviewed by Simon.
  12789. Fix a huge memory leak by ensuring that on application shutdown
  12790. the shared timer is fired one last time if it is active. This
  12791. ensures that the GCController timer is fired at the end to free
  12792. references to JavaScript objects.
  12793. * platform/qt/SharedTimerQt.h:
  12794. (WebCore::SharedTimerQt::cleanup):
  12795. (WebCore::SharedTimerQt::inst):
  12796. 2008-05-30 Alexey Proskuryakov <ap@webkit.org>
  12797. Reviewed by Darin.
  12798. http://bugs.webkit.org/show_bug.cgi?id=7466
  12799. <rdar://problem/4657563> Use of Ctrl as access key modifier conflicts with Mac OS X
  12800. emacs-style keybindings
  12801. * page/EventHandler.cpp:
  12802. (WebCore::EventHandler::handleAccessKey): Use Ctrl+Option for access keys on Mac OS X.
  12803. 2008-05-30 Maciej Stachowiak <mjs@apple.com>
  12804. Reviewed by Alexey.
  12805. - speculative fix for "REGRESSION(r34143?): Frequent crash while browsing"
  12806. https://bugs.webkit.org/show_bug.cgi?id=19285
  12807. I'm pretty sure this fixes it but I have not been able to
  12808. reproduce and am unsure if my theory of the bug is right.
  12809. I belive the bug was because JSDOMWindowBase accessed
  12810. JSDOMWindowShell in its destructor to remove itself from a
  12811. hashtable, but GC destructor order is not guaranteed, so the
  12812. hashtable may have been freed already. This patch changes things
  12813. so that a non-GC object (the KJSProxy) does the tracking of live
  12814. window objects for a frame. JSDOMWindowBase can null check the frame
  12815. pointer to verify if it is still good.
  12816. * bindings/js/JSDOMWindowBase.cpp:
  12817. (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
  12818. * bindings/js/JSDOMWindowShell.cpp:
  12819. (WebCore::JSDOMWindowShell::JSDOMWindowShell):
  12820. * bindings/js/JSDOMWindowShell.h:
  12821. (WebCore::JSDOMWindowShell::setWindow):
  12822. * bindings/js/kjs_proxy.cpp:
  12823. (WebCore::KJSProxy::clear):
  12824. (WebCore::KJSProxy::initScript):
  12825. (WebCore::KJSProxy::updateDocument):
  12826. * bindings/js/kjs_proxy.h:
  12827. (WebCore::KJSProxy::clearFormerWindow):
  12828. * page/Frame.cpp:
  12829. (WebCore::Frame::setDocument):
  12830. 2008-05-29 Chris Fleizach <cfleizach@apple.com>
  12831. Reviewed by Darin Adler.
  12832. <rdar://problem/4783102> Radio button/checkbox embedded with <label> tag should combine the text and the label as a single element
  12833. <rdar://problem/5091386> Seed: VO reads form labels twice in Safari
  12834. * page/AccessibilityObject.cpp:
  12835. (WebCore::AccessibilityObject::titleUIElement):
  12836. * page/AccessibilityObject.h:
  12837. (WebCore::AccessibilityObject::isControl):
  12838. * page/AccessibilityRenderObject.cpp:
  12839. (WebCore::AccessibilityRenderObject::isControl):
  12840. (WebCore::AccessibilityRenderObject::labelElementContainer):
  12841. (WebCore::AccessibilityRenderObject::title):
  12842. (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
  12843. (WebCore::AccessibilityRenderObject::elementRect):
  12844. (WebCore::AccessibilityRenderObject::titleUIElement):
  12845. (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
  12846. (WebCore::AccessibilityRenderObject::roleValue):
  12847. * page/AccessibilityRenderObject.h:
  12848. * page/mac/AccessibilityObjectWrapper.mm:
  12849. (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
  12850. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  12851. 2008-05-29 Timothy Hatcher <timothy@apple.com>
  12852. Fixes the regression where image resources don't have a preview icon.
  12853. https://bugs.webkit.org/show_bug.cgi?id=18500
  12854. Reviewed by Adam Roben.
  12855. * page/inspector/ResourcesPanel.js:
  12856. (WebInspector.ResourceSidebarTreeElement): Call createIconElement before
  12857. calling the superclass.
  12858. (WebInspector.ResourceSidebarTreeElement.prototype.createIconElement):
  12859. Create an iconElement, if the category is images then make a div that
  12860. contains a preview image. Otherwise just make an img element. If there
  12861. was a previous iconElement, then replace it.
  12862. (WebInspector.ResourceSidebarTreeElement.prototype.refresh): Call
  12863. createIconElement if the category changed.
  12864. * page/inspector/SidebarTreeElement.js:
  12865. (WebInspector.SidebarTreeElement): Create an iconElement if one hasn't
  12866. been made already by a subclass.
  12867. (WebInspector.SidebarTreeElement.prototype.onattach): Append the iconElement
  12868. instead of creating one each time.
  12869. * page/inspector/inspector.css: New and updated style rules.
  12870. 2008-05-29 Timothy Hatcher <timothy@apple.com>
  12871. Removes a use of the internal _childrenListNode property by adding
  12872. a getter/setter for smallChildren to SidebarSectionTreeElement.
  12873. Reviewed by Adam Roben.
  12874. * page/inspector/ResourcesPanel.js:
  12875. (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
  12876. Toggle smallChildren on the resourcesTreeElement instead of setting
  12877. the style class directly.
  12878. * page/inspector/SidebarTreeElement.js:
  12879. (WebInspector.SidebarSectionTreeElement.prototype.smallChildren):
  12880. Sets or removes the small class on the _childrenListNode.
  12881. 2008-05-29 Timothy Hatcher <timothy@apple.com>
  12882. Fixes a bug where the className would be reset for Resource
  12883. tree elements and the selected state would be lost. This could
  12884. happen when sorting the resources.
  12885. https://bugs.webkit.org/show_bug.cgi?id=19211
  12886. Reviewed by Adam Roben.
  12887. * page/inspector/ResourcesPanel.js:
  12888. (WebInspector.ResourceSidebarTreeElement.prototype.refresh): Call
  12889. removeMatchingStyleClasses to remove previous category classes instead
  12890. of setting the whole className directly.
  12891. * page/inspector/utilities.js:
  12892. (Element.prototype.removeStyleClass): Moved code to
  12893. removeMatchingStyleClasses and call removeMatchingStyleClasses.
  12894. (Element.prototype.removeMatchingStyleClasses): Added. Code moved from
  12895. removeStyleClass and don't escape the string.
  12896. 2008-05-29 David Hyatt <hyatt@apple.com>
  12897. Improve the performance of the GUIMark benchmark by 2x in the CoreGraphics code path.
  12898. Whenever a foreground image changes size rapidly, we will now dynamically shift into rendering it
  12899. using low quality scaling. Once the animation completes, the image will repaint at high quality.
  12900. Scaled images will still render at high quality by default, only shifting into low quality if
  12901. the scale factor is rapidly changing. This change raises GUIMark from 21fps to 34fps on my machine.
  12902. Rewrite the Image draw method to avoid the use of throwaway CG subimages. Instead the entire image is
  12903. always drawn (with the appropriate clip and scale set up to make sure the correct subimage portion shows up
  12904. in the destination rect). This change raises GUIMark from 34fps to 43fps on my machine.
  12905. Reviewed by Darin
  12906. * platform/graphics/GraphicsContext.cpp:
  12907. (WebCore::GraphicsContext::drawImage):
  12908. * platform/graphics/cg/ImageCG.cpp:
  12909. (WebCore::BitmapImage::draw):
  12910. * rendering/RenderImage.cpp:
  12911. (WebCore::RenderImageScaleData::RenderImageScaleData):
  12912. (WebCore::RenderImageScaleData::~RenderImageScaleData):
  12913. (WebCore::RenderImageScaleData::size):
  12914. (WebCore::RenderImageScaleData::time):
  12915. (WebCore::RenderImageScaleData::useLowQualityScale):
  12916. (WebCore::RenderImageScaleData::hiqhQualityRepaintTimer):
  12917. (WebCore::RenderImageScaleData::setSize):
  12918. (WebCore::RenderImageScaleData::setTime):
  12919. (WebCore::RenderImageScaleData::setUseLowQualityScale):
  12920. (WebCore::RenderImageScaleObserver::shouldImagePaintAtLowQuality):
  12921. (WebCore::RenderImageScaleObserver::imageDestroyed):
  12922. (WebCore::RenderImageScaleObserver::highQualityRepaintTimerFired):
  12923. (WebCore::RenderImage::highQualityRepaintTimerFired):
  12924. (WebCore::RenderImage::~RenderImage):
  12925. (WebCore::RenderImage::paintReplaced):
  12926. * rendering/RenderImage.h:
  12927. 2008-05-29 Justin Garcia <justin.garcia@apple.com>
  12928. Reviewed by Eric.
  12929. <rdar://problem/5847330> REGRESSION CrashTracer: [USER] 536 crashes at WebCore::highestAncestor
  12930. * editing/CompositeEditCommand.cpp:
  12931. (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Don't break out of an empty
  12932. list item if its parent is non-editable, since doing so will move into non-editable content.
  12933. * editing/DeleteSelectionCommand.cpp:
  12934. (WebCore::DeleteSelectionCommand::initializePositionData): We want to prevent merges from
  12935. table cells even if those table cells are non-editable.
  12936. * editing/htmlediting.cpp:
  12937. (WebCore::enclosingNodeOfType): Can now return non-editable nodes, for cases where the caller
  12938. isn't going to do editing in the returned node.
  12939. * editing/htmlediting.h:
  12940. 2008-05-29 Anders Carlsson <andersca@apple.com>
  12941. Reviewed by Mitz.
  12942. <rdar://problem/5971845>
  12943. https://bugs.webkit.org/show_bug.cgi?id=19313
  12944. Add version member to NPCocoaEvent
  12945. * bridge/npapi.h:
  12946. 2008-05-29 Alexey Proskuryakov <ap@webkit.org>
  12947. Reviewed by Adam Roben.
  12948. <rdar://problem/5960682> REGRESSION(r30535): Crashes on iExploder in checkForHeadCharset().
  12949. I don't see how to make a reliable test, but iExploder catches this quickly.
  12950. * loader/TextResourceDecoder.cpp:
  12951. (WebCore::TextResourceDecoder::checkForHeadCharset): Correct the length passed to
  12952. findIgnoringCase().
  12953. 2008-05-29 Peter Kasting <pkasting@google.com>
  12954. Reviewed by Dave Hyatt.
  12955. https://bugs.webkit.org/show_bug.cgi?id=19273
  12956. Handle looping GIFs correctly (at least in the open source GIF decoder) even when
  12957. the loop count doesn't appear in the initial data packets.
  12958. * platform/graphics/BitmapImage.cpp:
  12959. (WebCore::BitmapImage::cacheFrame):
  12960. (WebCore::BitmapImage::startAnimation):
  12961. (WebCore::BitmapImage::advanceAnimation):
  12962. * platform/image-decoders/gif/GIFImageDecoder.cpp:
  12963. (WebCore::GIFImageDecoder::GIFImageDecoder):
  12964. (WebCore::GIFImageDecoder::repetitionCount):
  12965. (WebCore::GIFImageDecoder::gifComplete):
  12966. * platform/image-decoders/gif/GIFImageDecoder.h:
  12967. 2008-05-29 Brent Fulgham <bfulgham@gmail.com>
  12968. Reviewed by Alp Toker.
  12969. http://bugs.webkit.org/show_bug.cgi?id=19284
  12970. Correct Windows (Cairo) Build Regressions
  12971. Correct small Windows (Cairo) build regressions in recent updates.
  12972. * platform/graphics/SimpleFontData.h: Correct build regression due
  12973. to r32781 (additional use of m_syntheticBoldOffset in GDI code).
  12974. * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
  12975. Correct build regression due to r31830 (change of clip signature
  12976. to use FloatRect rather than IntRect).
  12977. * platform/graphics/win/SimpleFontDataCairoWin.cpp:
  12978. (WebCore::SimpleFontData::platformInit): Initialize
  12979. m_syntheticBoldOffset
  12980. * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
  12981. (WebCore::JPEGImageReader::JPEGImageReader): Work around build
  12982. error due to warnings about _setjmp treated as errors.
  12983. * platform/image-decoders/png/PNGImageDecoder.cpp: Work around
  12984. build error due to warnings about _setjmp treated as errors.
  12985. * platform/network/curl/ResourceHandleCurl.cpp: Correct build error
  12986. due to different order (and content) of include files when building
  12987. with CoreFoundation (but not CoreGraphics).
  12988. * platform/network/curl/ResourceHandleManager.cpp:
  12989. (WebCore::ResourceHandleManager::setupPOST): Correct build error
  12990. due to Visual Studio compiler bug.
  12991. 2008-05-29 Alexey Proskuryakov <ap@webkit.org>
  12992. Reviewed by Darin.
  12993. https://bugs.webkit.org/show_bug.cgi?id=19215
  12994. REGRESSION: transformToDocument fails when xsl includes &#160;
  12995. Test: fast/xsl/nbsp-in-stylesheet.html
  12996. * editing/markup.cpp:
  12997. (WebCore::appendAttributeValue):
  12998. (WebCore::appendEscapedContent):
  12999. (WebCore::escapeContentText):
  13000. (WebCore::appendQuotedURLAttributeValue):
  13001. (WebCore::appendNamespace):
  13002. (WebCore::appendStartMarkup):
  13003. (WebCore::appendDocumentType):
  13004. (WebCore::createMarkup):
  13005. Only escape non-breaking spaces in HTML documents. In Firefox, this behavior is also limited
  13006. to innerHTML, but we don't have a separate code path for it, and do not necessarily want to.
  13007. * page/Frame.cpp:
  13008. (WebCore::Frame::documentTypeString):
  13009. * dom/CDATASection.cpp:
  13010. * dom/CDATASection.h:
  13011. * dom/Comment.cpp:
  13012. * dom/Comment.h:
  13013. * dom/DocumentType.cpp:
  13014. * dom/DocumentType.h:
  13015. * dom/ProcessingInstruction.cpp:
  13016. * dom/ProcessingInstruction.h:
  13017. While at it, I also wanted to fix escaping for these nodes, but it turned out that FIXMEs were
  13018. incorrect. So, I just moved their serialization to markup.cpp for consistency.
  13019. 2008-05-29 Maciej Stachowiak <mjs@apple.com>
  13020. Reviewed by Dave Hyatt.
  13021. - speed up DHTML using lazy style resolution and renderer creation
  13022. This change introduces the concept of "lazy attach" - when a node
  13023. is lazy attached, then instead of resolving style and creating a
  13024. renderer right away, we just mark it as needing a style recalc.
  13025. The patch makes use of this mechanism when inserting nodes directly
  13026. using DOM APIs from script. For now this is only done for the
  13027. JavaScript language binding but could also be done for other
  13028. bindings in the future.
  13029. Lazy attach helps some common DHTML patterns - when a node is
  13030. added to the DOM, and then subsequently changed in a
  13031. style-affecting way, this causes an extra style recalc. This is a
  13032. fairly common pattern so it is better to be lazy.
  13033. * bindings/js/JSNodeCustom.cpp:
  13034. (WebCore::JSNode::insertBefore): Request lazy attach.
  13035. (WebCore::JSNode::replaceChild): ditto
  13036. (WebCore::JSNode::appendChild): ditto
  13037. * dom/ContainerNode.cpp:
  13038. (WebCore::ContainerNode::insertBefore): Support lazy attach.
  13039. (WebCore::ContainerNode::replaceChild): ditto
  13040. (WebCore::ContainerNode::appendChild): ditto
  13041. (WebCore::ContainerNode::detach): Clear "changed child" bit if still set.
  13042. * dom/ContainerNode.h:
  13043. * dom/Element.cpp:
  13044. (WebCore::Element::recalcStyle): Adjusted to properly reattach a
  13045. lazy-attached node.
  13046. * dom/Node.cpp:
  13047. (WebCore::Node::insertBefore): Extra parameter for lazy attach
  13048. (still doesn't do anything).
  13049. (WebCore::Node::replaceChild): ditto
  13050. (WebCore::Node::appendChild): ditto
  13051. (WebCore::Node::setChanged): Unrelated but obvious optimization -
  13052. stop marking ancestor as having a changed child once we already reach
  13053. an ancestor so marked.
  13054. (WebCore::outermostLazyAttachedAncestor): Helper function for lazyAttach.
  13055. (WebCore::Node::lazyAttach): Implement lazy attach.
  13056. (WebCore::Node::canLazyAttach): Virtual method - true for most nodes.
  13057. * dom/Node.h:
  13058. * dom/Text.cpp:
  13059. (WebCore::Text::recalcStyle): Properly handle the case of a reattached node.
  13060. * html/HTMLEmbedElement.h:
  13061. (WebCore::HTMLEmbedElement::canLazyAttach): Refuse lazy attach, since
  13062. plugins and frames do important work at rederer creation time.
  13063. * html/HTMLFrameElementBase.h:
  13064. (WebCore::HTMLFrameElementBase::canLazyAttach): Refuse lazy attach, since
  13065. plugins and frames do important work at rederer creation time.
  13066. * html/HTMLFrameSetElement.cpp:
  13067. (WebCore::HTMLFrameSetElement::recalcStyle): Change order so that
  13068. reattach works properly.
  13069. * html/HTMLObjectElement.h:
  13070. (WebCore::HTMLObjectElement::canLazyAttach): Refuse lazy attach, since
  13071. plugins and frames do important work at rederer creation time.
  13072. * html/HTMLOptGroupElement.cpp:
  13073. (WebCore::HTMLOptGroupElement::insertBefore): Pass along extra param.
  13074. (WebCore::HTMLOptGroupElement::replaceChild): ditto
  13075. (WebCore::HTMLOptGroupElement::appendChild): ditto
  13076. * html/HTMLOptGroupElement.h:
  13077. * html/HTMLSelectElement.cpp:
  13078. (WebCore::HTMLSelectElement::insertBefore): Pass along extra param.
  13079. (WebCore::HTMLSelectElement::replaceChild): ditto
  13080. (WebCore::HTMLSelectElement::appendChild): ditto
  13081. * html/HTMLSelectElement.h:
  13082. * svg/SVGLocatable.cpp:
  13083. (WebCore::SVGLocatable::getBBox): Add missing updateLayout call.
  13084. * svg/SVGTextContentElement.cpp:
  13085. (WebCore::SVGTextContentElement::getNumberOfChars): ditto
  13086. (WebCore::SVGTextContentElement::getComputedTextLength): ditto
  13087. (WebCore::SVGTextContentElement::getSubStringLength): ditto
  13088. (WebCore::SVGTextContentElement::getStartPositionOfChar): ditto
  13089. (WebCore::SVGTextContentElement::getEndPositionOfChar): ditto
  13090. (WebCore::SVGTextContentElement::getExtentOfChar): ditto
  13091. (WebCore::SVGTextContentElement::getRotationOfChar): ditto
  13092. (WebCore::SVGTextContentElement::getCharNumAtPosition): ditto
  13093. 2008-05-28 Ada Chan <adachan@apple.com>
  13094. <rdar://problem/5957036> REGRESSION (r31960): 20-30% slowdown in i-Bench JavaScript test on XP Home
  13095. Conditionalize the timer latency change (r31960) only for vista since it does not
  13096. help xp anyway.
  13097. Reviewed by Steve Falkenburg.
  13098. * platform/win/SharedTimerWin.cpp:
  13099. (WebCore::isRunningOnVistaOrLater):
  13100. (WebCore::TimerWindowWndProc):
  13101. (WebCore::setSharedTimerFireTime):
  13102. 2008-05-28 Anders Carlsson <andersca@apple.com>
  13103. Build fix.
  13104. * storage/LocalStorage.cpp:
  13105. (WebCore::LocalStorage::scheduleImport):
  13106. 2008-05-28 Anders Carlsson <andersca@apple.com>
  13107. Reviewed by Tim.
  13108. <rdar://problem/5965960>
  13109. CrashTracer: [USER] 4 crashes in Safari at libxml2.2.dylib: xmlGenericErrorDefaultFunc + 76
  13110. Turns out that while libxml has two different error callbacks, they both use the same context, so we need to
  13111. set both error callbacks to prevent one of the error callbacks from using the context as a FILE pointer.
  13112. * xml/XSLStyleSheet.cpp:
  13113. (WebCore::XSLStyleSheet::parseString):
  13114. * xml/XSLTProcessor.cpp:
  13115. (WebCore::XSLTProcessor::genericErrorFunc):
  13116. (WebCore::docLoaderFunc):
  13117. * xml/XSLTProcessor.h:
  13118. 2008-05-28 Brady Eidson <beidson@apple.com>
  13119. Reviewed by Adam
  13120. Fix hang I introduced to WebKit clients without their LocalStorage paths set
  13121. Such as DRT...
  13122. * storage/LocalStorage.cpp:
  13123. (WebCore::LocalStorage::scheduleImport): Return a bool, namely to signify
  13124. whether or not there is a LocalStorageThread to schedule the import on.
  13125. * storage/LocalStorage.h:
  13126. * storage/LocalStorageArea.cpp:
  13127. (WebCore::LocalStorageArea::LocalStorageArea): If the scheduleImport failed,
  13128. mark the imported flag as true so the LocalStorageArea doesn't wait around
  13129. locking the main thread.
  13130. 2008-05-28 Anthony Ricaud <rik24d@gmail.com>
  13131. User stylesheets are now non-editable and displayed as user-stylesheets
  13132. <https://bugs.webkit.org/show_bug.cgi?id=17602>
  13133. <rdar://problem/5967637>
  13134. Reviewed by Tim Hatcher.
  13135. * English.lproj/localizedStrings.js: Added a string
  13136. * page/inspector/StylesSidebarPane.js:
  13137. 2008-05-28 Anders Carlsson <andersca@apple.com>
  13138. Reviewed by Mitz.
  13139. <rdar://problem/5819989>
  13140. Crash in WebKit!KJS::Window::printErrorMessage quitting Safari after pop up window on uk.real.com was closed
  13141. Add null check for Frame::settings().
  13142. * bindings/js/JSDOMWindowBase.cpp:
  13143. (WebCore::JSDOMWindowBase::printErrorMessage):
  13144. 2008-05-27 Geoffrey Garen <ggaren@apple.com>
  13145. Reviewed by Tim Hatcher.
  13146. Fixed https://bugs.webkit.org/show_bug.cgi?id=19183
  13147. REGRESSION (r33979): Crash in DebuggerCallFrame::functionName when
  13148. clicking button in returnEvent-crash.html
  13149. Added implementations for willExecuteProgram and didExecuteProgram. They
  13150. take care to update our call frame when entering and exiting programs,
  13151. preventing us from keeping around a stale global frame after executing
  13152. a program.
  13153. eval programs now show up as "anonymous function" in a new scope. This
  13154. is slightly better than what they used to do -- overwriting the current
  13155. scope -- but obviously we can do better.
  13156. 2008-05-28 Brady Eidson <beidson@apple.com>
  13157. Reviewed by Dan Bernstein
  13158. <rdar://problem/5946834> - LocalStorage threads appearing in apps that don't want them.
  13159. Decided to fix this bug from a few different avenues to make sure we only create LocalStorage resources
  13160. when we *really* want them.
  13161. * page/DOMWindow.cpp:
  13162. (WebCore::DOMWindow::localStorage): Account for the possibility that the LocalStorage object might be null.
  13163. * storage/LocalStorage.cpp:
  13164. (WebCore::LocalStorage::LocalStorage): Don't create the thread if there is no path name - we know we'll never
  13165. be needing it when there is no file backing us on disk.
  13166. (WebCore::LocalStorage::scheduleImport): Null check the thread, as it might not exist.
  13167. (WebCore::LocalStorage::scheduleSync): Ditto
  13168. * storage/LocalStorageThread.cpp:
  13169. (WebCore::LocalStorageThread::localStorageThread): Clear the threadID after termination - clear way to signify
  13170. that this thread is truly done.
  13171. (WebCore::LocalStorageThread::scheduleImport): ASSERT that the queue is live, and the threadID exists
  13172. (WebCore::LocalStorageThread::scheduleSync): Ditto
  13173. (WebCore::LocalStorageThread::terminate): Don't schedule termination and wait for it to complete if the thread
  13174. isn't live.
  13175. 2008-05-28 Alexander Vassilev <avasilev@voipgate.com>
  13176. Reviewed by Kevin Ollivier.
  13177. Rescale image to fit the destination rect so that we don't get a crash when drawing
  13178. in a destination rect that's bigger than the image rect. Also adds an optimization for
  13179. drawing an image that is a solid color.
  13180. https://bugs.webkit.org/show_bug.cgi?id=18465
  13181. * platform/graphics/wx/ImageWx.cpp:
  13182. (WebCore::BitmapImage::draw):
  13183. 2008-05-27 Tor Arne Vestbø <tavestbo@trolltech.com>
  13184. Reviewed by Simon
  13185. Close the video widget explicitly so we don't hang
  13186. when exiting the application.
  13187. * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
  13188. (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
  13189. 2008-05-27 Justin Garcia <justin.garcia@apple.com>
  13190. Reviewed by Oliver.
  13191. <rdar://problem/5803706> Pressing return at the end of a header doesn't break out of header (17460)
  13192. It wasn't enough to break out of the header, to match other browsers we
  13193. also need to not preserve the typing style.
  13194. * editing/InsertParagraphSeparatorCommand.cpp:
  13195. (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion):
  13196. (WebCore::InsertParagraphSeparatorCommand::doApply):
  13197. * editing/InsertParagraphSeparatorCommand.h:
  13198. 2008-05-27 Timothy Hatcher <timothy@apple.com>
  13199. <rdar://problem/5966961> REGRESSION: Font previews in the Web
  13200. Inspector always show in Lucida Grande (not the real font)
  13201. Reviewed by Adam Roben.
  13202. * page/inspector/FontView.js: Add a style element that loads the
  13203. @font-face rule that is excepted by the preview element.
  13204. 2008-05-27 Timothy Hatcher <timothy@apple.com>
  13205. Fixes a regression where the Image and Font preview views do not
  13206. size correctly.
  13207. <rdar://problem/5966723> REGRESSION (r33991): Image and font previews
  13208. are shrunken and can't be made larger (19281)
  13209. Reviewed by Adam Roben.
  13210. * page/inspector/FontView.js: Adjust the font size based only on the
  13211. container width minus padding.
  13212. * page/inspector/inspector.css: Updated styles for the image and
  13213. font views.
  13214. 2008-05-27 Adam Roben <aroben@apple.com>
  13215. Fix Bug 19276: XHR resources are classified as "Other" until Inspector
  13216. is closed and reopened
  13217. <https://bugs.webkit.org/show_bug.cgi?id=19276>
  13218. <rdar://problem/5965742>
  13219. Reviewed by Tim Hatcher.
  13220. * page/InspectorController.cpp:
  13221. (WebCore::InspectorController::updateScriptResourceResponse): Moved
  13222. code that updates the resource's type from here...
  13223. (WebCore::InspectorController::updateScriptResourceType): ...to here.
  13224. (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
  13225. Call updateScriptResourceType now that we know this resource was
  13226. retrieved via an XHR.
  13227. * page/InspectorController.h:
  13228. 2008-05-27 Timothy Hatcher <timothy@apple.com>
  13229. Removes a redundant call to InspectorController::stopDebugging().
  13230. Rubber-stamped by Adam Roben.
  13231. * page/InspectorController.cpp:
  13232. (WebCore::InspectorController::showWindow):
  13233. 2008-05-27 Kevin McCullough <kmccullough@apple.com>
  13234. Reviewed by Tim.
  13235. - Added and updated some manual test for the profiler.
  13236. * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html:
  13237. * manual-tests/inspector/profiler-test-apply.html:
  13238. * manual-tests/inspector/profiler-test-call.html:
  13239. * manual-tests/inspector/profiler-test-deep-recursion.html: Added.
  13240. * manual-tests/inspector/profiler-test-simple-event-call.html: Added.
  13241. 2008-05-27 Kevin Ollivier <kevino@theolliviers.com>
  13242. wx build fix. Accidently left a couple fixes out of the previous commit.
  13243. * webcore-base.bkl:
  13244. 2008-05-27 Kevin Ollivier <kevino@theolliviers.com>
  13245. wx build fix. Adding JSHTMLElementWrapperFactory.cpp.
  13246. * WebCoreSources.bkl:
  13247. 2008-05-27 Ariya Hidayat <ariya.hidayat@trolltech.com>
  13248. Reviewed by Simon.
  13249. Fix linking error (missing gdi32 and user32 libraries).
  13250. * WebCore.pro:
  13251. 2008-05-27 Ariya Hidayat <ariya.hidayat@trolltech.com>
  13252. Reviewed by Simon.
  13253. Update the WebKit.qrc so that Web Inspector is functional again.
  13254. * page/inspector/WebKit.qrc:
  13255. 2008-05-26 Alp Toker <alp@nuanti.com>
  13256. Reviewed by Anders.
  13257. http://bugs.webkit.org/show_bug.cgi?id=16495
  13258. [GTK] Accessibility support with ATK/AT-SPI
  13259. Implement basic action, text and editable text accessibility.
  13260. Provide utility functions to simplify const string return and casting
  13261. and add some more stubs.
  13262. It's now possible to navigate and manipulate forms and text using
  13263. assistive technologies.
  13264. * page/gtk/AccessibilityObjectWrapperAtk.cpp:
  13265. (returnString):
  13266. (core):
  13267. * platform/gtk/LocalizedStringsGtk.cpp:
  13268. (WebCore::AXButtonActionVerb):
  13269. (WebCore::AXRadioButtonActionVerb):
  13270. (WebCore::AXTextFieldActionVerb):
  13271. (WebCore::AXCheckedCheckBoxActionVerb):
  13272. (WebCore::AXUncheckedCheckBoxActionVerb):
  13273. (WebCore::AXLinkActionVerb):
  13274. (WebCore::imageTitle):
  13275. 2008-05-25 Maciej Stachowiak <mjs@apple.com>
  13276. Reviewed by Anders.
  13277. - bind the window's "document" and "window" properties to static slots
  13278. 1.7% speedup on Acid3 test 26
  13279. Only the "document" part matters for Acid3, but since I was doing
  13280. this anyway, "window" also seemed like a good one to optimize.
  13281. * bindings/js/JSDOMWindowBase.cpp:
  13282. (WebCore::JSDOMWindowBase::JSDOMWindowBase): Allocate variable
  13283. slots for document and window; but just put null in the document
  13284. slot for now.
  13285. (WebCore::JSDOMWindowBase::updateDocument): Fill in the document
  13286. slot.
  13287. (WebCore::JSDOMWindowBase::~JSDOMWindowBase): Make our shell stop
  13288. tracking us.
  13289. * bindings/js/JSDOMWindowBase.h:
  13290. * bindings/js/JSDOMWindowShell.cpp:
  13291. (WebCore::JSDOMWindowShell::JSDOMWindowShell): Allocate HashSet
  13292. for our still-not-dead inner windows.
  13293. (WebCore::JSDOMWindowShell::updateDocument): Update all our
  13294. inner windows ever (to make sure the update to the document
  13295. property shows up everywhere).
  13296. * bindings/js/JSDOMWindowShell.h:
  13297. (WebCore::JSDOMWindowShell::setWindow): Update our hash.
  13298. (WebCore::JSDOMWindowShell::clearFormerWindow): Ditto.
  13299. * bindings/js/JSDocumentCustom.cpp:
  13300. (WebCore::toJS): Don't set self as a property map property of
  13301. the window, this is no longer necessary.
  13302. * bindings/js/kjs_proxy.cpp:
  13303. (WebCore::KJSProxy::initScript): Update document for the
  13304. newly created window.
  13305. * bindings/js/kjs_proxy.h:
  13306. * page/Frame.cpp:
  13307. (WebCore::Frame::setDocument): If the document is not null,
  13308. update our window.
  13309. 2008-05-26 Anders Carlsson <andersca@apple.com>
  13310. Reviewed by Sam.
  13311. This patch does two things:
  13312. * It adds a toJSNewlyCreated function for creating JS wrappers for nodes where we know
  13313. that the node doesn't have a wrapper. This avoids a hash lookup.
  13314. * It adds toJSNewlyCreated methods for JSElement and JSText.
  13315. All in all this is a 4.3% speedup on Acid 3 test 26.
  13316. * WebCore.vcproj/WebCore.vcproj:
  13317. * WebCore.xcodeproj/project.pbxproj:
  13318. * bindings/js/JSElementCustom.cpp:
  13319. (WebCore::toJSNewlyCreated):
  13320. * bindings/js/JSNodeCustom.cpp:
  13321. (WebCore::createWrapper):
  13322. (WebCore::toJSNewlyCreated):
  13323. (WebCore::toJS):
  13324. * bindings/js/JSTextCustom.cpp: Added.
  13325. (WebCore::toJSNewlyCreated):
  13326. * bindings/scripts/CodeGeneratorJS.pm:
  13327. * dom/Document.idl:
  13328. 2008-05-26 Sam Weinig <sam@webkit.org>
  13329. Reviewed by Anders Carlsson.
  13330. Inline the getOwnPropertySlot for JSNode, JSEventTargetNode, JSElement,
  13331. and JSDocument for a 1-2% speedup on Acid 3 test 26.
  13332. * bindings/js/JSEventTargetNode.cpp:
  13333. * bindings/js/JSEventTargetNode.h:
  13334. (WebCore::JSEventTargetNode::getOwnPropertySlot):
  13335. (WebCore::JSEventTargetNode::getValueProperty):
  13336. (WebCore::JSEventTargetNode::put):
  13337. (WebCore::JSEventTargetNode::putValueProperty):
  13338. * bindings/scripts/CodeGeneratorJS.pm:
  13339. * dom/Document.idl:
  13340. * dom/Element.idl:
  13341. * dom/Node.idl:
  13342. 2008-05-26 Darin Adler <darin@apple.com>
  13343. Reviewed by Maciej.
  13344. - https://bugs.webkit.org/show_bug.cgi?id=19239
  13345. Removed code that would only useful if if there was any way to create an Entity
  13346. node or if we populated EntityReference nodes. It's likely that we'll remove
  13347. these node types entirely in some future version of WebKit, depending in part
  13348. on what happens with these in HTML 5.
  13349. 1.8% speedup of Acid3 test 26.
  13350. The only read-only nodes we ever create are EntityReference nodes.
  13351. These are only created by explicit calls to the Document.createEntityReference
  13352. function. Since the created nodes are read-only, there can be no children of
  13353. these nodes, so no other types of nodes can be read-only despite the rule that
  13354. makes descendants of Entity and EntityReference nodes read-only.
  13355. * bindings/objc/DOM.mm: Removed unneeded include.
  13356. * dom/Attr.cpp:
  13357. (WebCore::Attr::setValue): Removed unnecessary isReadOnlyNode check.
  13358. (WebCore::Attr::setNodeValue): Ditto.
  13359. * dom/CharacterData.cpp:
  13360. (WebCore::CharacterData::setData): Removed unnecessary isReadOnlyNode check.
  13361. (WebCore::CharacterData::substringData): Don't initialize the ec variable before
  13362. calling checkCharDataOperation, since that function already does it.
  13363. (WebCore::CharacterData::appendData): Removed unnecessary isReadOnlyNode check.
  13364. (WebCore::CharacterData::insertData): Don't initialize ec.
  13365. (WebCore::CharacterData::deleteData): Ditto.
  13366. (WebCore::CharacterData::replaceData): Ditto.
  13367. (WebCore::CharacterData::setNodeValue): Removed now-misleading comment.
  13368. (WebCore::CharacterData::checkCharDataOperation): Removed unnecessary
  13369. isReadOnlyNode check.
  13370. * dom/CharacterData.h: Made checkCharDataOperation private and non-virtual
  13371. since it's never used or defined in any other class.
  13372. * dom/Element.cpp:
  13373. (WebCore::Element::setAttribute): Removed unneeded isReadOnlyNode check.
  13374. * dom/Entity.cpp: Removed the entire contents of this file.
  13375. * dom/Entity.h: Replaced the class with a stub -- just enough to keep the
  13376. public bindings (JavaScript and Objective-C compiling), but the class is
  13377. abstract and can't be instantianted.
  13378. * dom/EntityReference.cpp: Removed unused constructor.
  13379. (WebCore::EntityReference::cloneNode): Removed unneeded code and comments
  13380. to clone nonexistent child nodes.
  13381. * dom/EntityReference.h: Removed unused constructor and unnecessary override
  13382. of childTypeAllowed, since no children are allowed at all.
  13383. * dom/NamedAttrMap.cpp:
  13384. (WebCore::NamedAttrMap::setNamedItem): Removed unneeded isReadOnlyNode check.
  13385. (WebCore::NamedAttrMap::removeNamedItem): Ditto.
  13386. * dom/NamedAttrMap.h: Removed isReadOnlyNode function.
  13387. * dom/Node.cpp: Removed the old isReadOnlyNode function. It made lots of
  13388. virtual nodeType function calls.
  13389. * dom/Node.h:
  13390. (WebCore::Node::isReadOnlyNode): Replaced the old virtual isReadOnlyNode
  13391. function with a new simple non-virtual one.
  13392. * dom/ProcessingInstruction.cpp:
  13393. (WebCore::ProcessingInstruction::setData): Removed unneeded isReadOnlyNode
  13394. check.
  13395. * dom/Text.cpp:
  13396. (WebCore::Text::splitText): Removed unneeded isReadOnlyNode check.
  13397. (WebCore::Text::replaceWholeText): Removed unnecessary isReadOnlyNode assertion.
  13398. There is no reason for this function to go out of its way to mention the
  13399. read-only node issue when none of the other DOM mutation functions do.
  13400. 2008-05-26 Adam Barth <abarth@webkit.org>
  13401. Reviewed by Sam.
  13402. Cleanup SecurityOrigin::canAccess. Removed comment referring to an
  13403. old version of the code. Removed some useless code.
  13404. * platform/SecurityOrigin.cpp:
  13405. (WebCore::SecurityOrigin::canAccess):
  13406. 2008-05-26 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>
  13407. Reviewed by Alp Toker.
  13408. * platform/gtk/LocalizedStringsGtk.cpp:
  13409. (WebCore::contextMenuItemTagSelectAll): Fix GTK+ version check.
  13410. 2008-05-25 Chris Fleizach <cfleizach@apple.com>
  13411. Reviewed by David Harrison
  13412. <rdar://problem/3582905> elements on separate pages need to be distinct
  13413. * page/AccessibilityListBox.h:
  13414. * page/AccessibilityObject.h:
  13415. (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId):
  13416. * page/AccessibilityRenderObject.cpp:
  13417. * page/AccessibilityRenderObject.h:
  13418. 2008-05-25 Maciej Stachowiak <mjs@apple.com>
  13419. Reviewed by Darin.
  13420. - don't repaint nodes that are removed before layout
  13421. 4.3% speedup on Acid3 test 26
  13422. Mitz points out the new flag can also be used to optimize other
  13423. cases of needless repaint such as
  13424. <https://bugs.webkit.org/show_bug.cgi?id=15129>.
  13425. * rendering/RenderContainer.cpp:
  13426. (WebCore::RenderContainer::removeChildNode): If the child has never had a layout,
  13427. don't bother to repaint it, since there's nothing to dirty.
  13428. * rendering/RenderObject.cpp:
  13429. (WebCore::RenderObject::RenderObject): Initialize m_everHadLayout to false.
  13430. (WebCore::RenderObject::setNeedsLayout): Set m_everHadLayout to true if we
  13431. are being marked as not needing layout.
  13432. * rendering/RenderObject.h:
  13433. 2008-05-25 Dan Bernstein <mitz@apple.com>
  13434. Reviewed by Darin Adler.
  13435. - fix https://bugs.webkit.org/show_bug.cgi?id=19086
  13436. <rdar://problem/5962254> REGRESSION (r28519-r28535): Caret doesn't paint past the right edge of a block
  13437. Test: fast/repaint/caret-outside-block.html
  13438. * editing/SelectionController.cpp:
  13439. (WebCore::repaintRectForCaret): Restored this function which was removed
  13440. in r28523, but changed it to inflate only the width.
  13441. (WebCore::SelectionController::caretRepaintRect): Changed back to use
  13442. repaintRectForCaret().
  13443. (WebCore::SelectionController::recomputeCaretRect): Ditto.
  13444. 2008-05-25 Marco Barisione <marco.barisione@collabora.co.uk>
  13445. Reviewed by Alp Toker.
  13446. http://bugs.webkit.org/show_bug.cgi?id=18940
  13447. [CURL] Allow \n as line terminator for headers
  13448. The line terminator for message-header fields should be CRLF. However,
  13449. it is recommended to recognise as a line terminator also a single LF.
  13450. * platform/network/curl/ResourceHandleManager.cpp:
  13451. (WebCore::headerCallback): Allow headers to be terminated by "\n" and
  13452. not just by "\r\n".
  13453. 2008-05-25 Jan Michael Alonzo <jmalonzo@webkit.org>
  13454. Reviewed by Alp Toker.
  13455. WARNING: NO TEST CASES ADDED OR CHANGED
  13456. http://bugs.webkit.org/show_bug.cgi?id=19142
  13457. [Gtk] Remove build options --svg-experimental and --cross-document-messaging
  13458. * GNUmakefile.am:
  13459. 2008-05-24 Rob Buis <buis@kde.org>
  13460. Reviewed by Eric.
  13461. https://bugs.webkit.org/show_bug.cgi?id=18927
  13462. Unify path data debug output
  13463. Implement unified path data output for Mac svg tests.
  13464. * platform/graphics/cg/PathCG.cpp:
  13465. (WebCore::CGPathToCFStringApplierFunction):
  13466. (WebCore::CFStringFromCGPath):
  13467. 2008-05-24 Timothy Hatcher <timothy@apple.com>
  13468. Fixes a huge leak with the Inspector where it was protecting
  13469. a large object that was not being unprotected.
  13470. <rdar://problem/5961999> Inspector protects a large JavaScript
  13471. object and never unprotects it (large leak)
  13472. Reviewed by Darin Adler.
  13473. * page/InspectorController.cpp:
  13474. (WebCore::InspectorController::inspectedPageDestroyed): Call close()
  13475. and removed a call to stopDebugging() and moved it to close().
  13476. (WebCore::InspectorController::close): Add stopDebugging() and
  13477. stopUserInitiatedProfiling(). Removed an ASSERT and added an
  13478. if statement before calling JSValueUnprotect. We don't always have
  13479. a m_scriptContext and m_scriptObject.
  13480. 2008-05-24 Alp Toker <alp@nuanti.com>
  13481. Win32/gcc3 build fix in Pango font backend. UChar needs to be
  13482. explicitly cast to gunichar2.
  13483. * platform/graphics/gtk/FontGtk.cpp:
  13484. (WebCore::utf16_to_utf8):
  13485. 2008-05-24 Timothy Hatcher <timothy@apple.com>
  13486. Fixes a crash where a new Inspector would get an old
  13487. JSInspectedObjectWrapper for a user agent CSSStyleDeclaration.
  13488. Since these style objects shared between pages, the wrapper cache
  13489. would have a wrapper for the object still. But the wrapper was
  13490. for a previous global object and with a disconnected frame. This
  13491. fixes the wrapper cache so wrappers are remembered per global object
  13492. and the object they are wrapping.
  13493. <rdar://problem/5958567> repro crash in WebCore::Frame::keepAlive()
  13494. opening inspector window after closing it
  13495. Reviewed by Darin Adler.
  13496. * bindings/js/JSInspectedObjectWrapper.cpp:
  13497. (WebCore::wrappers): Return a GlobalObjectWrapperMap reference.
  13498. (WebCore::JSInspectedObjectWrapper::wrap): Find the WrapperMap
  13499. by the dynamicGlobalObject then find the wrapper for unwrappedObject.
  13500. (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper): Changes
  13501. how the wrapper is added to the wrapper cache.
  13502. (WebCore::JSInspectedObjectWrapper::~JSInspectedObjectWrapper): Changes
  13503. how the wrapper is removed from the wrapper cache.
  13504. * bindings/js/JSQuarantinedObjectWrapper.h:
  13505. (WebCore::JSQuarantinedObjectWrapper:unwrappedGlobalObject): Added.
  13506. 2008-05-24 Alexey Proskuryakov <ap@webkit.org>
  13507. Reviewed by Maciej.
  13508. Optimize Node::textContent() to avoid O(n^2) string appending behavior.
  13509. 1.6% speedup at Acid3 test 26.
  13510. * WebCore.xcodeproj/project.pbxproj:
  13511. * GNUmakefile.am:
  13512. * WebCore.pro:
  13513. * WebCoreSources.bkl:
  13514. * WebCore.vcproj/WebCore.vcproj:
  13515. * platform/text/StringBuilder.cpp: Added.
  13516. (WebCore::StringBuilder::append):
  13517. (WebCore::StringBuilder::toString):
  13518. * platform/text/StringBuilder.h: Added.
  13519. (WebCore::StringBuilder::StringBuilder):
  13520. (WebCore::StringBuilder::isNull):
  13521. Added a simple class to efficiently build a string by appending. Potentially, it can be
  13522. extended to be more like java.lang.StringBuilder, but we don't need that much flexibility now.
  13523. * dom/Node.cpp:
  13524. (WebCore::Node::appendTextContent):
  13525. (WebCore::Node::textContent):
  13526. * dom/Node.h:
  13527. Changed to use StringBuilder.
  13528. 2008-05-24 Julien Chaffraix <jchaffraix@webkit.org>
  13529. Reviewed by Eric.
  13530. Bug 9191: JS*ElementWrapperFactory should be autogenerated
  13531. https://bugs.webkit.org/show_bug.cgi?id=9191
  13532. This is a first pass for generation of JS*ElementWrapperFactory, in the long term we should move the make_names.pl
  13533. intelligence to the *.in files.
  13534. - Add a new parameter to make_names.pl --wrapperFactory which works like --wrapper but generates the
  13535. JS*ElementWrapperFactory files.
  13536. - Removed JS*ElementWrapperFactory files in WebCore/bindings/js, replaced by the generated ones.
  13537. - Updated the build systems to account for the previous changes.
  13538. * DerivedSources.make:
  13539. * GNUmakefile.am:
  13540. * WebCore.pro:
  13541. * WebCore.vcproj/WebCore.vcproj:
  13542. * WebCore.xcodeproj/project.pbxproj:
  13543. * WebCoreSources.bkl:
  13544. * bindings/js/JSHTMLElementWrapperFactory.cpp: Removed.
  13545. * bindings/js/JSHTMLElementWrapperFactory.h: Removed.
  13546. * bindings/js/JSSVGElementWrapperFactory.cpp: Removed.
  13547. * bindings/js/JSSVGElementWrapperFactory.h: Removed.
  13548. * dom/make_names.pl:
  13549. 2008-05-24 Oleg Finkelshteyn <olegfink@gmail.com>
  13550. Rubber-stamped and landed by Alexey.
  13551. Build fix for gcc 4.3.
  13552. * WebCore/page/Console.cpp:
  13553. Add missing standard includes.
  13554. 2008-05-23 Timothy Hatcher <timothy@apple.com>
  13555. Fixes a bug where a timer would keep firing after the Inspector
  13556. was closed. It turns out this timer wasn't needed anymore now
  13557. that we can add an event listener to the inspected page and have
  13558. it get called in the Inspector's context.
  13559. https://bugs.webkit.org/show_bug.cgi?id=18577
  13560. Reviewed by Mark Rowe.
  13561. * page/inspector/ElementsPanel.js:
  13562. 2008-05-23 Anthony Ricaud <rik24d@gmail.com>
  13563. Changes the largerResourcesButton tooltip to toggle.
  13564. https://bugs.webkit.org/show_bug.cgi?id=19210
  13565. Reviewed by Tim Hatcher.
  13566. * WebCore/English.lproj/localizedStrings.js: New string and clean an
  13567. double string "Dock to main window."
  13568. * WebCore/page/inspector/ResourcesPanel.js: Toggle the tooltip and
  13569. change the default tooltip
  13570. 2008-05-23 Justin Garcia <justin.garcia@apple.com>
  13571. Reviewed by Darin.
  13572. <rdar://problem/5939887> REGRESSION: With no selection, copy does not fire oncopy handler (affects CIFilterBrowser widget)
  13573. Execute cut, copy and paste if they are invoked explicitly, via execCommand or -[WebView copy:], even
  13574. if they are disabled. This will fire oncopy, oncut and onpaste, but won't perform any other work, like
  13575. writing to the pasteboard during cut/copy or deleting the selection during cut/paste. This matches FF3,
  13576. which actually goes further and fires oncopy on any Command-C.
  13577. * editing/EditorCommand.cpp:
  13578. (WebCore::CommandEntry::):
  13579. (WebCore::Editor::Command::execute):
  13580. 2008-05-23 Timothy Hatcher <timothy@apple.com>
  13581. Adds a percentage toggle button the profile view status bar that
  13582. changes the time columns between absolute and percents.
  13583. https://bugs.webkit.org/show_bug.cgi?id=19224
  13584. Reviewed by Kevin McCullough.
  13585. * English.lproj/localizedStrings.js: New strings.
  13586. * page/inspector/Images/percentButtons.png: Added.
  13587. * page/inspector/ProfileView.js: Make the button and add it to the
  13588. status bar. Make clicking toggle the showAsPercent* properties.
  13589. * page/inspector/inspector.css: New styles.
  13590. 2008-05-23 Timothy Hatcher <timothy@apple.com>
  13591. Fixes a bug where excluding nodes from the profile could
  13592. show an empty parent node.
  13593. <rdar://problem/5959573> Excluding nodes from the profile could show
  13594. an empty parent node
  13595. Reviewed by Kevin McCullough.
  13596. * page/inspector/ProfileView.js: Only say we have children if
  13597. all of our children nodes are visible.
  13598. 2008-05-23 Anders Carlsson <andersca@apple.com>
  13599. Reviewed by Adam.
  13600. Add IconFetcher to project.
  13601. * WebCore.vcproj/WebCore.vcproj:
  13602. 2008-05-23 Timothy Hatcher <timothy@apple.com>
  13603. Fixes a bug where the Web Insepctor would jump back to
  13604. Elements each time it is opened instead of staying at the
  13605. last selected panel.
  13606. <rdar://problem/5959475> Inspector jumps to the Elements panel
  13607. each time it is opened, instead of staying at the previous panel
  13608. Reviewed by Adam Roben.
  13609. * page/InspectorController.cpp:
  13610. (WebCore::InspectorController::setWindowVisible): Reset
  13611. m_showAfterVisible to CurrentPanel, so the next time setWindowVisible
  13612. is called it will use CurrentPanel unless showPanel was called again.
  13613. 2008-05-23 chris fleizach <cfleizach@apple.com>
  13614. Reviewed by Darin Adler.
  13615. <rdar://problem/5933759> REGRESSION: Frames don't appear as AX children of the top level web area
  13616. * page/AccessibilityRenderObject.cpp:
  13617. (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
  13618. 2008-05-23 Ariya Hidayat <ariya.hidayat@trolltech.com>
  13619. Reviewed by Simon.
  13620. For Qt port, support painting to native Windows HDC.
  13621. * platform/graphics/GraphicsContext.h:
  13622. * platform/graphics/qt/GraphicsContextQt.cpp:
  13623. (WebCore::GraphicsContext::getWindowsContext):
  13624. (WebCore::GraphicsContext::releaseWindowsContext):
  13625. 2008-05-23 Timothy Hatcher <timothy@apple.com>
  13626. Fixes a bug where the Inspector could have 0ms timers firing
  13627. even after it is closed.
  13628. https://bugs.webkit.org/show_bug.cgi?id=18577
  13629. Reviewed by Oliver Hunt.
  13630. * page/inspector/DatabasesPanel.js: Removes setTimeouts that call
  13631. the same function with a 0ms delay. These we not doing any good anyway,
  13632. so they weren't needed and just caused problems.
  13633. * page/inspector/ElementsPanel.js: Ditto.
  13634. * page/inspector/ProfilesPanel.js: Ditto.
  13635. * page/inspector/ResourcesPanel.js: Ditto.
  13636. 2008-05-23 Timothy Hatcher <timothy@apple.com>
  13637. Make the Inspector correctly populate the profiles when
  13638. closed and re-opened.
  13639. Reviewed by Adam Roben.
  13640. * page/InspectorController.cpp:
  13641. (WebCore::InspectorController::populateScriptObjects): Call populateInterface
  13642. in inspector.js.
  13643. * page/inspector/ProfilesPanel.js:
  13644. (WebInspector.ProfilesPanel.prototype.populateInterface): If visible,
  13645. call _populateProfiles. Else just set this._shouldPopulateProfiles to true.
  13646. (WebInspector.ProfilesPanel.prototype.reset): Don't call _populateProfiles.
  13647. Just set this._shouldPopulateProfiles to true.
  13648. (WebInspector.ProfilesPanel.prototype._populateProfiles): Delete
  13649. this._shouldPopulateProfiles.
  13650. * page/inspector/inspector.js:
  13651. (WebInspector.populateInterface): Added. Call populateInterface on all the
  13652. panels if they implement it.
  13653. 2008-05-23 Kevin McCullough <kmccullough@apple.com>
  13654. RS = Adam.
  13655. Editorial changes
  13656. * manual-tests/inspector/profiler-test-apply.html:
  13657. * manual-tests/inspector/profiler-test-document-dot-write.html:
  13658. * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html:
  13659. * manual-tests/inspector/profiler-test-one-execution-context.html:
  13660. * manual-tests/inspector/profiler-test-two-execution-contexts.html:
  13661. 2008-05-23 Timothy Hatcher <timothy@apple.com>
  13662. Fixes the bug where the profile was not added when finished.
  13663. <rdar://problem/5958851> Stop Profiling from the Develop menu does
  13664. not add the Profile to the Inspector
  13665. Reviewed by Adam Roben.
  13666. * page/InspectorController.cpp:
  13667. (WebCore::InspectorController::stopUserInitiatedProfiling): Call
  13668. addProfile with the result of stopProfiling.
  13669. 2008-05-23 Timothy Hatcher <timothy@apple.com>
  13670. Tweak the Web Insector toolbar look to be smaller when attached to
  13671. the inspected page.
  13672. Reviewed by Adam Roben.
  13673. * page/inspector/inspector.css:
  13674. 2008-05-23 Simon Hausmann <hausmann@webkit.org>
  13675. Fix compilation without accessibility by providing an empty stub for
  13676. AXObjectCache::handleAriaRoleChanged.
  13677. * page/AXObjectCache.h:
  13678. 2008-05-23 Alice Liu <alice.liu@apple.com>
  13679. Reviewed by Mark Rowe.
  13680. Remove call to function whose body was commented out. Returning the
  13681. children for a menu button by the normal calculation works just as well.
  13682. * page/AccessibilityRenderObject.cpp:
  13683. (WebCore::AccessibilityRenderObject::addChildren):
  13684. * page/AccessibilityRenderObject.h:
  13685. 2008-05-22 Timothy Hatcher <timothy@apple.com>
  13686. Fixes the bug where resource would show up multiple times in the
  13687. Inspector. This happened when a resource was used multiple times or
  13688. when the preloader was scanning ahead to fetch resources.
  13689. <rdar://problem/5689373> Cached resources re-appear in Web Inspector
  13690. for each access (18223)
  13691. Reviewed by Adam Roben.
  13692. * page/InspectorController.cpp:
  13693. (WebCore::InspectorController::addResource): Add the URL to m_knownResources.
  13694. (WebCore::InspectorController::removeResource): Remove the URL from m_knownResources
  13695. (WebCore::InspectorController::didLoadResourceFromMemoryCache): If the URL
  13696. is in m_knownResources, then early return.
  13697. * page/InspectorController.h: Added m_knownResources.
  13698. 2008-05-22 Alice Liu <alice.liu@apple.com>
  13699. Reviewed by Adele, Dan Bernstein.
  13700. Fixed <rdar://problem/5943104> Need to implement ARIA role="menu" and related roles
  13701. <rdar://problem/5943132> Need to implement ARIA role="menuitem"
  13702. <rdar://problem/5943173> Need to implement ARIA role="menubar"
  13703. These changes added a handler for determining the ARIA role when the
  13704. attribute changes. Before we were querying for the attribute over and
  13705. over every time we queried for the role.
  13706. * dom/Element.cpp:
  13707. (WebCore::Element::attributeChanged):
  13708. * page/AXObjectCache.cpp:
  13709. (WebCore::AXObjectCache::handleAriaRoleChanged):
  13710. * page/AXObjectCache.h:
  13711. The rest of these changes implement menu, menuitem, and menubar. the last 2 of those
  13712. have to, for now, be represented as a Group and MenuButton instead, because AppKit
  13713. won't recognize menubar and menubaritems within apps.
  13714. * page/AccessibilityObject.h:
  13715. (WebCore::AccessibilityObject::isMenuRelated):
  13716. (WebCore::AccessibilityObject::isMenu):
  13717. (WebCore::AccessibilityObject::isMenuBar):
  13718. (WebCore::AccessibilityObject::isMenuButton):
  13719. (WebCore::AccessibilityObject::isMenuItem):
  13720. * page/AccessibilityRenderObject.cpp:
  13721. (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
  13722. (WebCore::AccessibilityRenderObject::parentObject):
  13723. (WebCore::AccessibilityRenderObject::isMenuRelated):
  13724. (WebCore::AccessibilityRenderObject::isMenu):
  13725. (WebCore::AccessibilityRenderObject::isMenuBar):
  13726. (WebCore::AccessibilityRenderObject::isMenuButton):
  13727. (WebCore::AccessibilityRenderObject::isMenuItem):
  13728. (WebCore::siblingWithAriaRole):
  13729. (WebCore::AccessibilityRenderObject::menuElementForMenuButton):
  13730. (WebCore::AccessibilityRenderObject::menuForMenuButton):
  13731. (WebCore::AccessibilityRenderObject::menuItemElementForMenu):
  13732. (WebCore::AccessibilityRenderObject::menuButtonForMenu):
  13733. (WebCore::AccessibilityRenderObject::title):
  13734. (WebCore::AccessibilityRenderObject::accessibilityShouldUseUniqueId):
  13735. (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
  13736. (WebCore::RoleEntry::):
  13737. (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
  13738. (WebCore::AccessibilityRenderObject::setAriaRole):
  13739. (WebCore::AccessibilityRenderObject::ariaRoleAttribute):
  13740. (WebCore::AccessibilityRenderObject::addChildren):
  13741. (WebCore::AccessibilityRenderObject::ariaMenuButtonChildren):
  13742. * page/AccessibilityRenderObject.h:
  13743. * page/mac/AccessibilityObjectWrapper.mm:
  13744. (-[AccessibilityObjectWrapper accessibilityActionNames]):
  13745. (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
  13746. (-[AccessibilityObjectWrapper roleDescription]):
  13747. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  13748. (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
  13749. 2008-05-22 Adam Roben <aroben@apple.com>
  13750. Make top-level resources show their full URLs again instead of just
  13751. "/"
  13752. Reviewed by Tim Hatcher.
  13753. * page/inspector/Resource.js:
  13754. (WebInspector.Resource.prototype.displayName): If the title has gotten
  13755. down to just "/", which will happen for, e.g., http://webkit.org/,
  13756. just show the entire URL.
  13757. 2008-05-22 Timothy Hatcher <timothy@apple.com>
  13758. Shorten URLs shown in the Web Inspector to the file name. This makes
  13759. finding files in the Console or the Scripts panel easier.
  13760. Reviewed by Adam Roben.
  13761. * page/inspector/Console.js:
  13762. (WebInspector.ConsoleMessage.prototype.get shortURL): Removed dead code.
  13763. (WebInspector.ConsoleMessage.prototype.toMessageElement): Call WebInspector.displayNameForURL
  13764. for the URL before making the link element.
  13765. * page/inspector/ProfileView.js:
  13766. (WebInspector.ProfileDataGridNode.prototype.createCell): Use WebInspector.displayNameForURL.
  13767. * page/inspector/Resource.js:
  13768. (WebInspector.Resource.prototype.get displayName): Use trimURL to
  13769. trim the URL with the main resource's domain.
  13770. * page/inspector/ScriptsPanel.js:
  13771. (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Use WebInspector.displayNameForURL.
  13772. * page/inspector/StylesSidebarPane.js:
  13773. (WebInspector.StylePropertiesSection): Ditto.
  13774. * page/inspector/inspector.js:
  13775. (WebInspector.displayNameForURL): Added.
  13776. (WebInspector.resourceForURL): Check for a direct match in resourceURLMap first.
  13777. 2008-05-22 Adam Roben <aroben@apple.com>
  13778. Fix Bug 19204: Inspector should highlight source lines when following
  13779. links to them
  13780. <https://bugs.webkit.org/show_bug.cgi?id=19204>
  13781. Reviewed by Tim Hatcher.
  13782. Test: manual-tests/inspector/highlight-source-line.html
  13783. * manual-tests/inspector/highlight-source-line.html: Added.
  13784. * page/inspector/ResourcesPanel.js:
  13785. (WebInspector.ResourcesPanel.prototype.showResource): Call
  13786. highlightLine on the view if that function exists.
  13787. * page/inspector/SourceFrame.js:
  13788. (WebInspector.SourceFrame.prototype.highlightLine): Added. Adds the
  13789. webkit-highlighted-line class to the relevant line, then removes it
  13790. after a short delay.
  13791. (WebInspector.SourceFrame.prototype._loaded): Added styles for the
  13792. highlighted line(s).
  13793. * page/inspector/SourceView.js:
  13794. (WebInspector.SourceView.prototype.highlightLine): Added. Calls
  13795. through to the SourceFrame.
  13796. 2008-05-22 Rob Buis <buis@kde.org>
  13797. Reviewed by Eric.
  13798. https://bugs.webkit.org/show_bug.cgi?id=12053
  13799. SVGPathSeg*(Abs|Rel) classses should be combined to reduce code size
  13800. Reduce code size through shared base classes.
  13801. * svg/SVGPathSeg.h:
  13802. (WebCore::SVGPathSegSingleCoord::SVGPathSegSingleCoord):
  13803. (WebCore::SVGPathSegSingleCoord::setX):
  13804. (WebCore::SVGPathSegSingleCoord::x):
  13805. (WebCore::SVGPathSegSingleCoord::setY):
  13806. (WebCore::SVGPathSegSingleCoord::y):
  13807. (WebCore::SVGPathSegSingleCoord::toString):
  13808. * svg/SVGPathSegArc.cpp:
  13809. (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
  13810. (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
  13811. * svg/SVGPathSegArc.h:
  13812. (WebCore::SVGPathSegArc::SVGPathSegArc):
  13813. (WebCore::SVGPathSegArc::toString):
  13814. (WebCore::SVGPathSegArc::setX):
  13815. (WebCore::SVGPathSegArc::x):
  13816. (WebCore::SVGPathSegArc::setY):
  13817. (WebCore::SVGPathSegArc::y):
  13818. (WebCore::SVGPathSegArc::setR1):
  13819. (WebCore::SVGPathSegArc::r1):
  13820. (WebCore::SVGPathSegArc::setR2):
  13821. (WebCore::SVGPathSegArc::r2):
  13822. (WebCore::SVGPathSegArc::setAngle):
  13823. (WebCore::SVGPathSegArc::angle):
  13824. (WebCore::SVGPathSegArc::setLargeArcFlag):
  13825. (WebCore::SVGPathSegArc::largeArcFlag):
  13826. (WebCore::SVGPathSegArc::setSweepFlag):
  13827. (WebCore::SVGPathSegArc::sweepFlag):
  13828. (WebCore::SVGPathSegArcAbs::create):
  13829. (WebCore::SVGPathSegArcAbs::pathSegType):
  13830. (WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter):
  13831. (WebCore::SVGPathSegArcRel::create):
  13832. (WebCore::SVGPathSegArcRel::pathSegTypeAsLetter):
  13833. * svg/SVGPathSegCurvetoCubic.cpp:
  13834. (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
  13835. (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
  13836. * svg/SVGPathSegCurvetoCubic.h:
  13837. (WebCore::SVGPathSegCurvetoCubic::SVGPathSegCurvetoCubic):
  13838. (WebCore::SVGPathSegCurvetoCubic::toString):
  13839. (WebCore::SVGPathSegCurvetoCubic::setX):
  13840. (WebCore::SVGPathSegCurvetoCubic::x):
  13841. (WebCore::SVGPathSegCurvetoCubic::setY):
  13842. (WebCore::SVGPathSegCurvetoCubic::y):
  13843. (WebCore::SVGPathSegCurvetoCubic::setX1):
  13844. (WebCore::SVGPathSegCurvetoCubic::x1):
  13845. (WebCore::SVGPathSegCurvetoCubic::setY1):
  13846. (WebCore::SVGPathSegCurvetoCubic::y1):
  13847. (WebCore::SVGPathSegCurvetoCubic::setX2):
  13848. (WebCore::SVGPathSegCurvetoCubic::x2):
  13849. (WebCore::SVGPathSegCurvetoCubic::setY2):
  13850. (WebCore::SVGPathSegCurvetoCubic::y2):
  13851. (WebCore::SVGPathSegCurvetoCubicAbs::create):
  13852. (WebCore::SVGPathSegCurvetoCubicAbs::pathSegType):
  13853. (WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter):
  13854. (WebCore::SVGPathSegCurvetoCubicRel::create):
  13855. (WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter):
  13856. * svg/SVGPathSegCurvetoCubicSmooth.cpp:
  13857. (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
  13858. (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
  13859. * svg/SVGPathSegCurvetoCubicSmooth.h:
  13860. (WebCore::SVGPathSegCurvetoCubicSmooth::SVGPathSegCurvetoCubicSmooth):
  13861. (WebCore::SVGPathSegCurvetoCubicSmooth::toString):
  13862. (WebCore::SVGPathSegCurvetoCubicSmooth::setX):
  13863. (WebCore::SVGPathSegCurvetoCubicSmooth::x):
  13864. (WebCore::SVGPathSegCurvetoCubicSmooth::setY):
  13865. (WebCore::SVGPathSegCurvetoCubicSmooth::y):
  13866. (WebCore::SVGPathSegCurvetoCubicSmooth::setX2):
  13867. (WebCore::SVGPathSegCurvetoCubicSmooth::x2):
  13868. (WebCore::SVGPathSegCurvetoCubicSmooth::setY2):
  13869. (WebCore::SVGPathSegCurvetoCubicSmooth::y2):
  13870. (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
  13871. (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegType):
  13872. (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter):
  13873. (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
  13874. (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegType):
  13875. (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter):
  13876. * svg/SVGPathSegCurvetoQuadratic.cpp:
  13877. (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
  13878. (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
  13879. * svg/SVGPathSegCurvetoQuadratic.h:
  13880. (WebCore::SVGPathSegCurvetoQuadratic::SVGPathSegCurvetoQuadratic):
  13881. (WebCore::SVGPathSegCurvetoQuadratic::toString):
  13882. (WebCore::SVGPathSegCurvetoQuadratic::setX):
  13883. (WebCore::SVGPathSegCurvetoQuadratic::x):
  13884. (WebCore::SVGPathSegCurvetoQuadratic::setY):
  13885. (WebCore::SVGPathSegCurvetoQuadratic::y):
  13886. (WebCore::SVGPathSegCurvetoQuadratic::setX1):
  13887. (WebCore::SVGPathSegCurvetoQuadratic::x1):
  13888. (WebCore::SVGPathSegCurvetoQuadratic::setY1):
  13889. (WebCore::SVGPathSegCurvetoQuadratic::y1):
  13890. (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
  13891. (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegType):
  13892. (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter):
  13893. (WebCore::SVGPathSegCurvetoQuadraticRel::create):
  13894. (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegType):
  13895. (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter):
  13896. * svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
  13897. (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
  13898. (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
  13899. * svg/SVGPathSegCurvetoQuadraticSmooth.h:
  13900. (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
  13901. (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter):
  13902. (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
  13903. (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter):
  13904. * svg/SVGPathSegLineto.cpp:
  13905. (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
  13906. (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
  13907. * svg/SVGPathSegLineto.h:
  13908. (WebCore::SVGPathSegLinetoAbs::create):
  13909. (WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter):
  13910. (WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter):
  13911. * svg/SVGPathSegLinetoHorizontal.cpp:
  13912. (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
  13913. (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
  13914. * svg/SVGPathSegLinetoHorizontal.h:
  13915. (WebCore::SVGPathSegLinetoHorizontal::SVGPathSegLinetoHorizontal):
  13916. (WebCore::SVGPathSegLinetoHorizontal::toString):
  13917. (WebCore::SVGPathSegLinetoHorizontal::setX):
  13918. (WebCore::SVGPathSegLinetoHorizontal::x):
  13919. (WebCore::SVGPathSegLinetoHorizontalAbs::create):
  13920. (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter):
  13921. (WebCore::SVGPathSegLinetoHorizontalRel::create):
  13922. (WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter):
  13923. * svg/SVGPathSegLinetoVertical.cpp:
  13924. (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
  13925. (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
  13926. * svg/SVGPathSegLinetoVertical.h:
  13927. (WebCore::SVGPathSegLinetoVertical::SVGPathSegLinetoVertical):
  13928. (WebCore::SVGPathSegLinetoVertical::toString):
  13929. (WebCore::SVGPathSegLinetoVertical::setY):
  13930. (WebCore::SVGPathSegLinetoVertical::y):
  13931. (WebCore::SVGPathSegLinetoVerticalAbs::create):
  13932. (WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter):
  13933. (WebCore::SVGPathSegLinetoVerticalRel::create):
  13934. (WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter):
  13935. * svg/SVGPathSegMoveto.cpp:
  13936. (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
  13937. (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
  13938. * svg/SVGPathSegMoveto.h:
  13939. (WebCore::SVGPathSegMovetoAbs::create):
  13940. (WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter):
  13941. (WebCore::SVGPathSegMovetoRel::create):
  13942. (WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter):
  13943. 2008-05-22 Alp Toker <alp@nuanti.com>
  13944. GTK+/DirectFB build fix attempt.
  13945. * plugins/PluginDatabase.cpp:
  13946. (WebCore::PluginDatabase::isPreferredPluginDirectory):
  13947. * plugins/gtk/PluginDatabaseGtk.cpp:
  13948. (WebCore::PluginDatabase::isPreferredPluginDirectory):
  13949. 2008-05-22 Timothy Hatcher <timothy@apple.com>
  13950. Adds Focus, Exclude and Restore buttons to the Profile view
  13951. Status bar. Also adds a Record button to create new profiles.
  13952. <rdar://problem/5950867> JSProfiler: Allow the profiler to "Focus" a profile node.
  13953. <rdar://problem/5951529> JSProfiler: Allow the profiler to "Exclude" a profile node.
  13954. Reviewed by Adam Roben.
  13955. * English.lproj/localizedStrings.js: Added new strings.
  13956. * page/JavaScriptProfile.cpp:
  13957. (WebCore::restoreAll): Call Profile::restoreAll.
  13958. (WebCore::ProfileClass): Added restoreAll to the static functions.
  13959. * page/inspector/Images/excludeButtons.png: Added.
  13960. * page/inspector/Images/focusButtons.png: Added.
  13961. * page/inspector/Images/recordButtons.png: Added.
  13962. * page/inspector/Images/reloadButtons.png: Added.
  13963. * page/inspector/ProfileView.js:
  13964. (WebInspector.ProfileView): Create the buttons elements.
  13965. (WebInspector.ProfileView.prototype.get statusBarItems): Return the three
  13966. status bar buttons.
  13967. (WebInspector.ProfileView.prototype.refresh): Only create ProfileDataGridNodes
  13968. for ProfileNodes that are visible.
  13969. (WebInspector.ProfileView.prototype.refreshShowAsPercents): Just call
  13970. refresh on the children, now that they have access to the ProfileView's properties.
  13971. (WebInspector.ProfileView.prototype._focusClicked): Call focus
  13972. on the profile, refresh the ProfileView and show the reset button.
  13973. (WebInspector.ProfileView.prototype._excludeClicked): Call exclude
  13974. on the profile, refresh the ProfileView and show the reset button.
  13975. (WebInspector.ProfileView.prototype._resetClicked): Call restoreAll
  13976. on the profile, refresh the ProfileView and hide the reset button.
  13977. (WebInspector.ProfileView.prototype._dataGridNodeSelected): Enable the
  13978. focus and exclude buttons.
  13979. (WebInspector.ProfileView.prototype._dataGridNodeDeselected): Disable the
  13980. focus and exclude buttons.
  13981. (WebInspector.ProfileDataGridNode): Take a ProfileView, and remove the
  13982. showPercentAs* arguments.
  13983. * page/inspector/ProfilesPanel.js: Add a record status bar button and
  13984. th ability to have per-view status bar buttons.
  13985. * page/inspector/inspector.css: New styles.
  13986. 2008-05-22 Mark Rowe <mrowe@apple.com>
  13987. Reviewed by Tim Hatcher.
  13988. <rdar://problem/5956612> ibtool crashes during build
  13989. SCDynamicStoreCreate will return null if it cannot create a dynamic store object. We need
  13990. to check for failure rather than continuing with a null store as this results in us
  13991. passing a null CFRunLoopSourceRef to CFRunLoopAddSource, which promptly crashes.
  13992. * platform/network/mac/NetworkStateNotifierMac.cpp:
  13993. (WebCore::NetworkStateNotifier::NetworkStateNotifier): Null check SCDynamicStoreCreate and
  13994. SCDynamicStoreCreateRunLoopSource as it is possible for them to fail.
  13995. 2008-05-22 Adam Roben <aroben@apple.com>
  13996. Add a test for calling a NodeList as a function while profiling
  13997. Reviewed by Kevin McCullough.
  13998. * manual-tests/inspector/profiler-test-call-nodelist-as-function.html: Added.
  13999. 2008-05-22 Kevin McCullough <kmccullough@apple.com>
  14000. Rubber stamped by Adam.
  14001. -Added new profiler tests.
  14002. * manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html: Added.
  14003. * manual-tests/inspector/profiler-test-constructor.html: Added.
  14004. * manual-tests/inspector/profiler-test-document-dot-write.html: Added.
  14005. * manual-tests/inspector/profiler-test-simple-no-level-change.html: Added.
  14006. * manual-tests/inspector/profiler-test-throw-exception-from-eval.html: Added.
  14007. * manual-tests/inspector/profiler-test-window-dot-eval.html: Added.
  14008. 2008-05-22 Kevin McCullough <kmccullough@apple.com>
  14009. Reviewed by Tim.
  14010. <rdar://problem/5951529> JSProfiler: Allow the profiler to "Exclude" a
  14011. profile node.
  14012. -Expose the 'exclude' function to the WebInspector.
  14013. -Also fix a bug with 'focus' and expose whether or not a node is visible
  14014. * page/JavaScriptProfile.cpp: Renamed profileClass to have a capital P.
  14015. (WebCore::getTitleCallback):
  14016. (WebCore::getHeadCallback):
  14017. (WebCore::focus): Now correctly compares against a ProfileNodeClass
  14018. instead of ProfileClass.
  14019. (WebCore::exclude): Expose 'exclude' function to the WebInspector.
  14020. (WebCore::ProfileClass):
  14021. (WebCore::toJS):
  14022. * page/JavaScriptProfileNode.cpp: Declare the ProfileNodeClass in the
  14023. header so that ProfileClass can use it.
  14024. (WebCore::getVisible): Expose a node's visiblity to the WebInspector.
  14025. (WebCore::ProfileNodeClass):
  14026. * page/JavaScriptProfileNode.h:
  14027. 2008-05-22 Sam Weinig <sam@webkit.org>
  14028. Reviewed by Anders Carlsson.
  14029. <rdar://problem/5838772> Support cross-site XMLHttpRequest
  14030. - Implement support for cross-site non-GET requests using the HTTP header
  14031. Access-control mechanism.
  14032. Tests: http/tests/xmlhttprequest/access-control-basic-allow-async.html
  14033. http/tests/xmlhttprequest/access-control-basic-not-get-allow-async.html
  14034. http/tests/xmlhttprequest/access-control-basic-not-get-allow.html
  14035. * xml/XMLHttpRequest.cpp:
  14036. (WebCore::XMLHttpRequest::XMLHttpRequest):
  14037. (WebCore::XMLHttpRequest::send):
  14038. Don't continue send if inside the method check preflight (only happens for async).
  14039. (WebCore::XMLHttpRequest::crossSiteAccessRequest):
  14040. Add support for non-GET requests, starting off a method check preflight.
  14041. (WebCore::XMLHttpRequest::handleAsynchronousMethodCheckResult):
  14042. Handler for finishing up after an asynchronous method check has completed.
  14043. (WebCore::XMLHttpRequest::didFinishLoading):
  14044. (WebCore::XMLHttpRequest::didFinishLoadingMethodCheck):
  14045. (WebCore::XMLHttpRequest::didReceiveResponse):
  14046. (WebCore::XMLHttpRequest::didReceiveResponseMethodCheck):
  14047. (WebCore::XMLHttpRequest::didReceiveData):
  14048. Do a limited set of access control when in the method check preflight.
  14049. * xml/XMLHttpRequest.h:
  14050. 2008-05-22 Timothy Hatcher <timothy@apple.com>
  14051. Make sure we don't call findTreeElement with the same representedObject
  14052. again, to prevent infinite recursion. Added many comments to this
  14053. code so it can be understood later.
  14054. https://bugs.webkit.org/show_bug.cgi?id=19164
  14055. Reviewed by Adam Roben.
  14056. * page/inspector/treeoutline.js:
  14057. 2008-05-22 Timothy Hatcher <timothy@apple.com>
  14058. Re-word the "Attach Debugger" overlay to never say "Attach". The new
  14059. wording is "Start Debugging". This makes the overlay consistent with
  14060. other wording used for starting the debugger. Also fixes the tooltips
  14061. for the Pause on Exceptions button.
  14062. Reviewed by Adam Roben and Dan Bernstein.
  14063. * English.lproj/localizedStrings.js: Adds new strings.
  14064. * page/inspector/ScriptsPanel.js: Changes the wording. Flips the
  14065. tooltips for the Pause on Exceptions buttons so the tooltip says
  14066. what will happen when the button is pressed.
  14067. 2008-05-22 Timothy Hatcher <timothy@apple.com>
  14068. Remove some non-functional elements from the Scripts panel
  14069. so they don't confuse users why they aren't working.
  14070. Reviewed by Adam Roben.
  14071. * page/inspector/ScriptsPanel.js: Removes the back/forward buttons
  14072. and the function menu.
  14073. * page/inspector/inspector.css: Make the files menu wider since there
  14074. is more room now.
  14075. 2008-05-22 Timothy Hatcher <timothy@apple.com>
  14076. <rdar://problem/5956403> Update the Develop menu to match the new Inspector items
  14077. Reviewed by Adam Roben.
  14078. * English.lproj/localizedStrings.js:
  14079. * WebCore.base.exp:
  14080. * page/InspectorController.cpp:
  14081. (WebCore::InspectorController::InspectorController):
  14082. (WebCore::InspectorController::inspect):
  14083. (WebCore::InspectorController::setWindowVisible):
  14084. (WebCore::InspectorController::showPanel):
  14085. (WebCore::InspectorController::startUserInitiatedProfiling):
  14086. (WebCore::InspectorController::stopUserInitiatedProfiling):
  14087. (WebCore::InspectorController::startDebuggingAndReloadInspectedPage):
  14088. (WebCore::InspectorController::stopDebugging):
  14089. * page/InspectorController.h:
  14090. (WebCore::InspectorController::):
  14091. (WebCore::InspectorController::isRecordingUserInitiatedProfile):
  14092. * page/inspector/ProfilesPanel.js:
  14093. * page/inspector/ScriptsPanel.js:
  14094. * page/inspector/inspector.js:
  14095. 2008-05-22 Josh Aas <joshmoz@gmail.com>
  14096. Reviewed by Anders.
  14097. <rdar://problem/5956429>
  14098. https://bugs.webkit.org/show_bug.cgi?id=19192
  14099. remove NPNVpluginEventModel, fix example plugin
  14100. Remove NPNVpluginEventModel enum variable.
  14101. * bridge/npapi.h:
  14102. 2008-05-22 Stephanie Lewis <slewis@apple.com>
  14103. Reviewed by Dan.
  14104. Fix <rdar://problem/5952405>. The unbeforeunload count cannot be cleared when it is dispatched because it is possible to be called again. Clear it after the unload event is dispatched.
  14105. Test: fast/events/onunload-clears-onbeforeunload.html
  14106. * loader/FrameLoader.cpp:
  14107. (WebCore::FrameLoader::stopLoading):
  14108. * page/Frame.cpp:
  14109. (WebCore::Frame::shouldClose):
  14110. 2008-05-22 Simon Hausmann <hausmann@webkit.org>
  14111. Reviewed by Oliver.
  14112. Qt build fix.
  14113. * bindings/js/StringSourceProvider.h: Remove text at end of
  14114. preprocessor statement.
  14115. * bridge/qt/qt_instance.cpp:
  14116. (KJS::Bindings::QtRuntimeObjectImp::getConstructData): Replaced
  14117. implementsConstruct() with getConstructData().
  14118. (KJS::Bindings::QtInstance::getCallData): Replaced implementsCall with
  14119. getCallData().
  14120. (KJS::Bindings::QtInstance::invokeDefaultMethod): Use getCallData()
  14121. instead of implementsCall().
  14122. * bridge/qt/qt_instance.h:
  14123. 2008-05-22 Adam Roben <aroben@apple.com>
  14124. Massively speed up date-format-tofte with the debugger attached
  14125. On a debug Windows build (I know, hardly a good testcase) this patch
  14126. makes this test run 57.25x as fast.
  14127. Reviewed by Mark Rowe.
  14128. * page/inspector/ScriptsPanel.js:
  14129. (WebInspector.ScriptsPanel.prototype.reset): Clear the
  14130. _scriptsForURLsInFilesSelect object.
  14131. (WebInspector.ScriptsPanel.prototype._showScriptOrResource): Instead
  14132. of looping over all the options in the select to find the option we
  14133. want, get the script object from _scriptsForURLsInFilesSelect and get
  14134. the option element from the script object.
  14135. (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Use
  14136. _scriptsForURLsInFilesSelect to cache the script objects. Store the
  14137. option element for each script on the script object so we can quickly
  14138. retrieve it later.
  14139. 2008-05-22 Adam Roben <aroben@apple.com>
  14140. Remove some dead code from ScriptsPanel.js
  14141. Reviewed by Mark Rowe.
  14142. * page/inspector/ScriptsPanel.js:
  14143. 2008-05-21 Adam Roben <aroben@apple.com>
  14144. Fix Bug 19178: Inspector should support sorting resources by latency
  14145. <https://bugs.webkit.org/show_bug.cgi?id=19178>
  14146. I replaced "Sort by Time" with the following sorting options:
  14147. - Sort by Start Time
  14148. - Sort by Response Time
  14149. - Sort by End Time
  14150. - Sort by Duration
  14151. - Sort by Latency
  14152. You can no longer sort by Size when looking at the Time graph, and you
  14153. can't use any of the time-based sorting functions when looking at the
  14154. Size graph.
  14155. Reviewed by Tim Hatcher.
  14156. * page/inspector/Resource.js:
  14157. (WebInspector.Resource.prototype.get duration): Added.
  14158. (WebInspector.Resource.prototype.get latency): Added.
  14159. (WebInspector.Resource.CompareByStartTime): Added.
  14160. (WebInspector.Resource.CompareByResponseReceivedTime): Added.
  14161. (WebInspector.Resource.CompareByEndTime): Added.
  14162. (WebInspector.Resource.CompareByDuration): Added.
  14163. (WebInspector.Resource.CompareByLatency): Added.
  14164. * page/inspector/ResourcesPanel.js:
  14165. (WebInspector.ResourcesPanel):
  14166. - Each graph sidebar item now holds a list of sorting options
  14167. - Graph sidebar items no longer have a calculator property. This is
  14168. stored on the sorting options instead, to allow each kind of
  14169. sorting to have a different calculator.
  14170. - The sortingSelectElement starts out empty, and is populated in
  14171. _graphSelected
  14172. - The sortingFunction starts out uninitialized and is set as a
  14173. side-effect of _graphSelected.
  14174. (WebInspector.ResourcesPanel.prototype.set calculator): Don't do
  14175. anything if the calculator hasn't changed.
  14176. (WebInspector.ResourcesPanel.prototype.closeVisibleResource): Use the
  14177. _lastSelectedGraphTreeElement property instead of getting the graph
  14178. element from the calculator.
  14179. (WebInspector.ResourcesPanel.prototype._graphSelected):
  14180. - Store the tree element in the _lastSelectedGraphTreeElement
  14181. property
  14182. - Popuplate sortingSelectElement with the sortingOptions and select
  14183. the option that was last selected
  14184. (WebInspector.ResourcesPanel.prototype._changeSortingFunction): Set
  14185. our calculator from the sorting option.
  14186. (WebInspector.ResourceTimeCalculator): Renamed from
  14187. ResourceTransferTimeCalculator. Now takes a parameter to specify
  14188. whether the bars should all start at zero.
  14189. (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphPercentages):
  14190. Take this.startAtZero into account.
  14191. (WebInspector.ResourceTimeCalculator.prototype.updateBoundries):
  14192. Abstracted the lower/upper bounds of a resource into methods.
  14193. (WebInspector.ResourceTimeCalculator.prototype._lowerBound): Added.
  14194. (WebInspector.ResourceTimeCalculator.prototype._upperBound): Added.
  14195. (WebInspector.ResourceTransferTimeCalculator): Added. This is now a
  14196. subclass of ResourceTimeCalculator
  14197. (WebInspector.ResourceTransferDurationCalculator): Added.
  14198. (WebInspector.ResourceSidebarTreeElement.CompareByAscendingStartTime): Added.
  14199. (WebInspector.ResourceSidebarTreeElement.CompareByAscendingResponseReceivedTime): Added.
  14200. (WebInspector.ResourceSidebarTreeElement.CompareByAscendingEndTime): Added.
  14201. (WebInspector.ResourceSidebarTreeElement.CompareByDescendingDuration): Added.
  14202. (WebInspector.ResourceSidebarTreeElement.CompareByDescendingLatency): Added.
  14203. (WebInspector.ResourceSidebarTreeElement.CompareByDescendingSize):
  14204. Changed to call CompareBySize.
  14205. 2008-05-21 Adam Roben <aroben@apple.com>
  14206. Fix Bug 19173: Tool tips for Inspector debugger status bar buttons are
  14207. wrong/missing
  14208. <https://bugs.webkit.org/show_bug.cgi?id=19173>
  14209. Reviewed by Tim Hatcher.
  14210. * manual-tests/inspector/debugger-status-bar-buttons-state.html:
  14211. Added.
  14212. * page/inspector/ScriptsPanel.js:
  14213. (WebInspector.ScriptsPanel.prototype._toggleDebugging): Call
  14214. _clearInterface (which updates the buttons' tool tips) after
  14215. attaching/detaching the debugger so that the buttons will reflect the
  14216. new state.
  14217. (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
  14218. Set the title of the pauseOnExceptionsButton, not the debuggingButton.
  14219. 2008-05-20 Adam Roben <aroben@apple.com>
  14220. Fix Bug 19153: Inspector should support console.debug
  14221. <https://bugs.webkit.org/show_bug.cgi?id=19153>
  14222. <rdar://problem/5950856>
  14223. Reviewed by Tim Hatcher.
  14224. Test: manual-tests/inspector/console-log-formatting.html
  14225. * bindings/js/JSConsoleCustom.cpp:
  14226. (WebCore::JSConsole::debug): Added.
  14227. * manual-tests/inspector/console-log-formatting.html: Changed to test
  14228. console.debug as well.
  14229. * page/Console.cpp:
  14230. (WebCore::Console::debug): Added. Just calls through to log().
  14231. * page/Console.h:
  14232. * page/Console.idl: Added debug() declaration.
  14233. 2008-05-21 Kevin McCullough <kmccullough@apple.com>
  14234. Reviewed by Adam.
  14235. <rdar://problem/5950867> JSProfiler: Allow the profiler to "Focus" a
  14236. profile node.
  14237. - Expose the Profile's 'focus' ability to WebCore and the WebInspector.
  14238. * page/JavaScriptProfile.cpp:
  14239. (WebCore::focus):
  14240. (WebCore::profileClass):
  14241. 2008-05-21 Timothy Hatcher <timothy@apple.com>
  14242. Remove the rest of the debug code inside DEBUG_DEBUGGER_CALLBACKS
  14243. since the parts the remain aren't useful.
  14244. * page/JavaScriptDebugServer.cpp:
  14245. (WebCore::JavaScriptDebugServer::sourceParsed):
  14246. 2008-05-21 Beth Dakin <bdakin@apple.com>
  14247. Reviewed by Anders.
  14248. Fix for <rdar://problem/5848161> REGRESSION (r31438?): Crash
  14249. beneath ResourceHandle::setDefersLoading while running fast/loader/
  14250. simultaneous-reloads-assert.html (null CFURLConnection)
  14251. * platform/network/cf/ResourceHandleCFNet.cpp:
  14252. (WebCore::ResourceHandle::setDefersLoading): Added simple null-
  14253. check.
  14254. 2008-05-21 Timothy Hatcher <timothy@apple.com>
  14255. Adds the Request and Response headers to the Resource view.
  14256. <rdar://problem/5940782> REGRESSION: Resource Request and Response
  14257. headers aren't shown (18451)
  14258. Reviewed by Adam Roben.
  14259. * English.lproj/localizedStrings.js: Added new strings.
  14260. * css/view-source.css: Add comments to make sure a couple of
  14261. style rules stay in sync with inspector.css.
  14262. * page/inspector/Resource.js:
  14263. (WebInspector.Resource.prototype.set url): Dispatch an event when
  14264. this property changes.
  14265. (WebInspector.Resource.prototype.set requestHeaders): Ditto.
  14266. (WebInspector.Resource.prototype.set responseHeaders): Ditto.
  14267. * page/inspector/ResourceView.js:
  14268. (WebInspector.ResourceView): Add new elements for the headers
  14269. and a headers TreeOutline. Add event listeners for resource
  14270. property changes. Calls the three new refresh functions.
  14271. (WebInspector.ResourceView.prototype.set headersVisible): Implemented.
  14272. Toggles the headers-visible class name.
  14273. (WebInspector.ResourceView.prototype._refreshURL): Update the URL
  14274. tree element.
  14275. (WebInspector.ResourceView.prototype._refreshRequestHeaders): Call _refreshHeaders.
  14276. (WebInspector.ResourceView.prototype._refreshResponseHeaders): Ditto.
  14277. (WebInspector.ResourceView.prototype._refreshHeaders): Remove the previous
  14278. headers fromm the tree element. Loop throuh the headers and create new
  14279. tree elements and append them.
  14280. * page/inspector/ResourcesPanel.js:
  14281. (WebInspector.ResourcesPanel.prototype._updateSidebarWidth): Call resize
  14282. on the visible view if it is implemented.
  14283. * page/inspector/SourceFrame.js:
  14284. (WebInspector.SourceFrame.prototype.get autoSizesToFitContentHeight):
  14285. (WebInspector.SourceFrame.prototype.set autoSizesToFitContentHeight):
  14286. (WebInspector.SourceFrame.prototype.sizeToFitContentHeight):
  14287. (WebInspector.SourceFrame.prototype._loaded):
  14288. (WebInspector.SourceFrame.prototype._windowResized):
  14289. * page/inspector/SourceView.js:
  14290. (WebInspector.SourceView): Move the SourceFrame creation so it is
  14291. available when headersVisible is set. Add a gutter element to fill
  14292. the vertical space no covered by the SourceFrame now.
  14293. (WebInspector.SourceView.prototype.set headersVisible): Set the
  14294. SourceFrame.autoSizesToFitContentHeight when this property changes.
  14295. (WebInspector.SourceView.prototype.resize): Call SourceFrame.sizeToFitContentHeight
  14296. when autoSizesToFitContentHeight is true. This happens when resizing the
  14297. Resources sidebar.
  14298. * page/inspector/inspector.css: Add a copy of webkit-line-gutter-backdrop
  14299. and a comment to keep in sync with view-source.css. Adds other styles
  14300. for the headers area of resource-view.
  14301. 2008-05-21 Sam Weinig <sam@webkit.org>
  14302. Reviewed by Anders Carlsson.
  14303. <rdar://problem/5838772> Support cross-site XMLHttpRequest
  14304. - Implement support for cross-site GET requests using the HTTP header
  14305. Access-control mechanism.
  14306. Tests: http/tests/xmlhttprequest/access-control-basic-allow-headers.html
  14307. http/tests/xmlhttprequest/access-control-basic-allow.html
  14308. http/tests/xmlhttprequest/access-control-basic-denied.html
  14309. http/tests/xmlhttprequest/access-control-basic-exclude.html
  14310. * xml/AccessControlList.cpp:
  14311. (WebCore::AccessControlList::checkOrigin): Implement the list check algorithm.
  14312. * xml/AccessControlList.h:
  14313. * xml/AccessItem.cpp:
  14314. (WebCore::AccessItem::AccessItem):
  14315. (WebCore::AccessItem::matches):
  14316. * xml/AccessItem.h:
  14317. Temporarily use a SecurityOrigin as the bases of AccessItem matching. Using
  14318. the isSameSchemeHostPort test of the SecurityOrigin allows for a legal subset
  14319. of the AccessItem match algorithm to be used, until the complete parsing of
  14320. the wildcards and optional pieces is complete.
  14321. * xml/AccessItemRule.cpp:
  14322. (WebCore::matchesAny):
  14323. (WebCore::AccessItemRule::allowListMatchesAny):
  14324. (WebCore::AccessItemRule::excludeListMatchesAny):
  14325. * xml/AccessItemRule.h:
  14326. More of the implementation of the list check algorithm. Check if any of the items
  14327. in the rule match the control origin.
  14328. * xml/XMLHttpRequest.cpp:
  14329. (WebCore::XMLHttpRequest::XMLHttpRequest):
  14330. (WebCore::XMLHttpRequest::open): Don't throw a SECURITY_ERR for cross-domain requests anymore.
  14331. (WebCore::XMLHttpRequest::send): Use different paths for same origin and cross-domain requests.
  14332. (WebCore::XMLHttpRequest::crossSiteAccessRequest): Temporarily only support the GET method for
  14333. cross-domain requests.
  14334. (WebCore::XMLHttpRequest::loadRequestSynchronously):
  14335. (WebCore::XMLHttpRequest::processSyncLoadResults):
  14336. This can now throw an exception if a cross-domain request is denied by the access control
  14337. (WebCore::XMLHttpRequest::didFinishLoading):
  14338. Add support for cross-domain GET request. ASSERT temporarily that the method is GET, since we
  14339. should have bailed out much earlier for non-GET methods.
  14340. (WebCore::XMLHttpRequest::willSendRequest):
  14341. (WebCore::XMLHttpRequest::didReceiveResponse):
  14342. Do the HTTP header access-control check as soon as the headers arrive.
  14343. * xml/XMLHttpRequest.h:
  14344. 2008-05-21 Alp Toker <alp@nuanti.com>
  14345. Rubber-stamped by Maciej.
  14346. Replace non-standard #pragma marks with comments to avoid compiler
  14347. warnings.
  14348. * page/InspectorController.cpp:
  14349. === End merge of squirrelfish ===
  14350. 2008-05-21 Geoffrey Garen <ggaren@apple.com>
  14351. Reviewed by Tim Hatcher.
  14352. Merged with trunk WebCore's new debugger.
  14353. * page/InspectorController.cpp:
  14354. (WebCore::currentCallFrame): Updated to use the DebuggerCallFrame API.
  14355. (WebCore::InspectorController::pauseInDebugger): Updated for name change
  14356. explained below.
  14357. (WebCore::InspectorController::resumeDebugger): ditto
  14358. (WebCore::InspectorController::didParseSource): Fixed a bug that would
  14359. produce garbled text in some cases: Don't treat JS source as null-
  14360. terminated UTF8; it's UTF16.
  14361. * page/JavaScriptCallFrame.cpp:
  14362. * page/JavaScriptCallFrame.h: Changed this class to do all of its processing
  14363. through a JavaScriptCore DebuggerCallFrame. We have to copy the DebuggerCallFrame
  14364. because it's a temporary.
  14365. (WebCore::JavaScriptCallFrame::update): Added an API for updating a call
  14366. frame during execution: this is how we handle "with" and "eval".
  14367. * page/JavaScriptDebugServer.cpp: Separated "m_paused" from
  14368. "m_doneProcessingDebuggerEvents", because they have different semantics:
  14369. "m_paused" is the flag the debug server uses to indicate that new debugger
  14370. callbacks should be ignored, because they come from the debugger's own
  14371. JS code; "m_doneProcessingDebuggerEvents" is the flag the debugger UI
  14372. uses to indicate that it's done processing events, and would like execution
  14373. to continue. When these flags were one, the debugger would erroneously
  14374. process callbacks that ocurred while unwinding from its own JS code.
  14375. (WebCore::toPage): Removed some unnecessary NULL checking. Added some
  14376. missing NULL checking.
  14377. (WebCore::JavaScriptDebugServer::pauseIfNeeded): Changed pause tracking
  14378. to track a JavaScriptCallFrame instead of an ExecState, since ExecState
  14379. is no longer a unique identifier for a call frame.
  14380. I removed the updateCurrentCallFrame scheme, and replaced it with
  14381. individual tracking inside these callbacks:
  14382. (WebCore::JavaScriptDebugServer::callEvent):
  14383. (WebCore::JavaScriptDebugServer::atStatement):
  14384. (WebCore::JavaScriptDebugServer::returnEvent):
  14385. (WebCore::JavaScriptDebugServer::exception):
  14386. The updateCurrentCallFrame scheme was just too incompatible with the
  14387. squirrelfish execution model. Everything still works as before, except
  14388. for eval, which no longer shows up as an independent call frame. We'll
  14389. need to augment our debugger callbacks to bring back support for that.
  14390. * page/inspector/ScopeChainSidebarPane.js: Updated to use the activation
  14391. class's new name.
  14392. 2008-05-21 Maciej Stachowiak <mjs@apple.com>
  14393. Reviewed by Oliver.
  14394. - write directly to the slot we used to check for override properties, when possible
  14395. 2.6% speedup on in-browser SunSpider
  14396. * bindings/js/JSDOMWindowCustom.h:
  14397. (WebCore::JSDOMWindow::customPut):
  14398. 2008-05-20 Maciej Stachowiak <mjs@apple.com>
  14399. Reviewed by Oliver.
  14400. - inline JSDOMWindow security checks
  14401. 0.9% speedup to SunSpider in-browser
  14402. * bindings/js/JSDOMWindowBase.cpp:
  14403. * bindings/js/JSDOMWindowCustom.h:
  14404. (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate):
  14405. (WebCore::JSDOMWindowBase::allowsAccessFrom):
  14406. (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
  14407. (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
  14408. * bindings/js/kjs_binding.cpp:
  14409. 2008-05-20 Maciej Stachowiak <mjs@apple.com>
  14410. Reviewed by Adam.
  14411. - use ALWAYS_INLINE on customGetOwnPropertySlot since it wasn't inlining
  14412. 2% speedup to SunSpider in-browser
  14413. * bindings/js/JSDOMWindowCustom.h:
  14414. (WebCore::JSDOMWindow::customGetOwnPropertySlot):
  14415. 2008-05-20 Maciej Stachowiak <mjs@apple.com>
  14416. Reviewed by Adam.
  14417. - inline JSDOMWindow's customPut and customGetOwnPropertySlot methods
  14418. 1.2% speedup to SunSpider in-browser
  14419. The approach here is to make the code generator include a
  14420. JS{classname}Custom.h header in the autogenerated implementation,
  14421. which we can use to provide inline versions.
  14422. * bindings/js/JSCSSStyleDeclarationCustom.cpp:
  14423. * bindings/js/JSCSSStyleDeclarationCustom.h: Added.
  14424. * bindings/js/JSDOMWindowCustom.cpp:
  14425. * bindings/js/JSDOMWindowCustom.h:
  14426. (WebCore::asJSDOMWindow):
  14427. (WebCore::JSDOMWindow::customGetOwnPropertySlot):
  14428. (WebCore::JSDOMWindow::customPut):
  14429. * bindings/js/JSHTMLAppletElementCustom.cpp:
  14430. * bindings/js/JSHTMLAppletElementCustom.h: Added.
  14431. * bindings/js/JSHTMLEmbedElementCustom.cpp:
  14432. * bindings/js/JSHTMLEmbedElementCustom.h: Added.
  14433. * bindings/js/JSHTMLObjectElementCustom.cpp:
  14434. * bindings/js/JSHTMLObjectElementCustom.h: Added.
  14435. * bindings/js/JSHistoryCustom.cpp:
  14436. * bindings/js/JSHistoryCustom.h: Added.
  14437. * bindings/js/JSLocationCustom.cpp:
  14438. * bindings/js/JSLocationCustom.h: Added.
  14439. * bindings/js/JSStorageCustom.cpp:
  14440. * bindings/js/JSStorageCustom.h: Added.
  14441. * bindings/scripts/CodeGeneratorJS.pm:
  14442. 2008-05-19 Maciej Stachowiak <mjs@apple.com>
  14443. Reviewed by Anders.
  14444. - inline asDOMWindow (using a new JSDOMWindowCustom.h header) since it is just a cast
  14445. 1% speedup to SunSpider in-browser
  14446. * WebCore.vcproj/WebCore.vcproj:
  14447. * WebCore.xcodeproj/project.pbxproj:
  14448. * bindings/js/JSCustomVoidCallback.cpp:
  14449. * bindings/js/JSCustomXPathNSResolver.cpp:
  14450. * bindings/js/JSDOMApplicationCacheCustom.cpp:
  14451. * bindings/js/JSDOMWindowBase.cpp:
  14452. * bindings/js/JSDOMWindowBase.h:
  14453. * bindings/js/JSDOMWindowCustom.cpp:
  14454. * bindings/js/JSDOMWindowCustom.h: Added.
  14455. (WebCore::asJSDOMWindow):
  14456. * bindings/js/JSDatabaseCustom.cpp:
  14457. * bindings/js/JSDocumentCustom.cpp:
  14458. * bindings/js/JSLocationCustom.cpp:
  14459. * bindings/js/JSSQLTransactionCustom.cpp:
  14460. * bindings/js/JSXMLHttpRequestCustom.cpp:
  14461. * page/JavaScriptDebugServer.cpp:
  14462. 2008-05-19 Maciej Stachowiak <mjs@apple.com>
  14463. Reviewed by Oliver.
  14464. - obtain current inner window of outer window in a more efficient way
  14465. 1.6% speedup to SunSpider in-browser
  14466. * bindings/js/JSDOMWindowBase.cpp:
  14467. (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
  14468. 2008-05-19 Maciej Stachowiak <mjs@apple.com>
  14469. Reviewed by Adam.
  14470. - make impl() method for JSWindow inline
  14471. 0.6% speedup to SunSpider in-browser
  14472. * WebCore.base.exp: Remove now-inline symbol
  14473. * bindings/scripts/CodeGeneratorJS.pm: Make the codegen script inline impl()
  14474. even for classes with a parent class.
  14475. 2008-05-17 Geoffrey Garen <ggaren@apple.com>
  14476. Reviewed by Oliver Hunt.
  14477. Updated for API changes in KJS::Debugger.
  14478. 2008-05-13 Geoffrey Garen <ggaren@apple.com>
  14479. Reviewed by Oliver Hunt.
  14480. Updated for API changes in KJS::Debugger.
  14481. * page/JavaScriptDebugServer.cpp:
  14482. (WebCore::JavaScriptDebugServer::callEvent):
  14483. (WebCore::JavaScriptDebugServer::atStatement):
  14484. (WebCore::JavaScriptDebugServer::returnEvent):
  14485. (WebCore::JavaScriptDebugServer::exception):
  14486. * page/JavaScriptDebugServer.h:
  14487. 2008-05-13 Geoffrey Garen <ggaren@apple.com>
  14488. Reviewed by Oliver Hunt.
  14489. Updated JavaScriptDebugServer API to accept a SourceProvider instead
  14490. of a UString, to avoid copying.
  14491. * page/JavaScriptDebugServer.cpp:
  14492. (WebCore::JavaScriptDebugServer::sourceParsed): Updated this function
  14493. not to return a value.
  14494. 2008-05-10 Maciej Stachowiak <mjs@apple.com>
  14495. Build fix.
  14496. - add missing forwarding header
  14497. * ForwardingHeaders/kjs/SourceProvider.h: Added.
  14498. 2008-05-10 Maciej Stachowiak <mjs@apple.com>
  14499. Reviewed by Oliver.
  14500. - WebCore part of fix for: "SQUIRRELFISH: function toString broken after calling"
  14501. https://bugs.webkit.org/show_bug.cgi?id=18869
  14502. * bindings/js/StringSourceProvider.h: Added. SourceProvider subclass backed by a WebCore::String.
  14503. (WebCore::StringSourceProvider::create):
  14504. (WebCore::StringSourceProvider::getRange):
  14505. (WebCore::StringSourceProvider::data):
  14506. (WebCore::StringSourceProvider::length):
  14507. (WebCore::StringSourceProvider::StringSourceProvider):
  14508. * bindings/js/kjs_proxy.cpp:
  14509. (WebCore::KJSProxy::evaluate): Pass a StringSourceProvider to
  14510. evaluate() instead of UChar* / length.
  14511. * html/HTMLScriptElement.cpp:
  14512. (WebCore::HTMLScriptElement::text): Modified to return the
  14513. original string as-is when the script element contains only a
  14514. single text node, to avoid excess memory use.
  14515. * WebCore.vcproj/WebCore.vcproj: Add new file to build.
  14516. * WebCore.xcodeproj/project.pbxproj: ditto
  14517. 2008-05-09 Oliver Hunt <oliver@apple.com>
  14518. Reviewed by Geoff.
  14519. Build fixes for SquirrelFish on windows.
  14520. * bindings/js/JSNavigatorCustom.cpp:
  14521. 2008-05-08 Geoffrey Garen <ggaren@apple.com>
  14522. Reviewed by Oliver Hunt.
  14523. Fixed platform/mac/plugins/bindings-test-objc.html.
  14524. I've restored -[WebScriptObject setException] and
  14525. +[WebScriptObject throwException].
  14526. Instead of mucking around in the JavaScript engine's execution state,
  14527. throwing an exception sets a global exception string, along with the
  14528. environment in which to throw it. An ObjC callback checks the global
  14529. exception string and, if it's non-nil and the environment matches the
  14530. current exceution environment, throws the global exception string as a
  14531. JS exception.
  14532. I also removed the old currentGlobalObject infrastructure: it's no longer
  14533. used.
  14534. 2008-05-06 Oliver Hunt <oliver@apple.com>
  14535. Reviewed by Maciej.
  14536. Bug 18866: SQUIRRELFISH: JS/ObjC bridge is broken <https://bugs.webkit.org/show_bug.cgi?id=18866>
  14537. Bug 18867: SQUIRRELFISH: JS/NPRuntime bridge is broken <https://bugs.webkit.org/show_bug.cgi?id=18867>
  14538. This fixes function binding logic for the ObjC and NPRuntime by
  14539. replacing incorrect implementations of implementsCall (which is
  14540. no longer virtual) with implementations of getCallData.
  14541. * bindings/js/JSQuarantinedObjectWrapper.cpp:
  14542. (WebCore::JSQuarantinedObjectWrapper::getCallData):
  14543. * bindings/js/JSQuarantinedObjectWrapper.h:
  14544. * bridge/c/c_instance.cpp:
  14545. * bridge/c/c_instance.h:
  14546. * bridge/objc/objc_instance.h:
  14547. * bridge/objc/objc_instance.mm:
  14548. * bridge/objc/objc_runtime.h:
  14549. * bridge/objc/objc_runtime.mm:
  14550. (ObjcFallbackObjectImp::getCallData):
  14551. * bridge/runtime.h:
  14552. * bridge/runtime_object.cpp:
  14553. (RuntimeObjectImp::getCallData):
  14554. * bridge/runtime_object.h:
  14555. 2008-04-30 Geoffrey Garen <ggaren@apple.com>
  14556. Build fix: supply a parameter that used to be implicit to
  14557. Interpreter::evaluate.
  14558. 2008-04-30 Geoffrey Garen <ggaren@apple.com>
  14559. Build fix: #ifdef'd out some code that doesn't work anymore.
  14560. * bindings/objc/WebScriptObject.mm:
  14561. (+[WebScriptObject throwException:]):
  14562. (-[WebScriptObject setException:]):
  14563. 2008-04-14 Gabor Loki <loki@inf.u-szeged.hu>
  14564. Reviewed by Geoffrey Garen.
  14565. Bug 18489: Squirrelfish doesn't build on linux
  14566. <https://bugs.webkit.org/show_bug.cgi?id=18489>
  14567. * WebCore.pro: Add JavaScriptCore/VM into include path
  14568. 2008-04-10 Sam Weinig <sam@webkit.org>
  14569. Reviewed by Geoffrey Garen.
  14570. Adjusted WebCore JS functions to the new "getConstructData" calling convention.
  14571. 2008-03-30 Geoffrey Garen <ggaren@apple.com>
  14572. Reviewed by Oliver Hunt.
  14573. Adjusted WebCore JS functions to the new "getCallData" calling convention.
  14574. === Start merge of squirrelfish ===
  14575. 2008-05-21 Anders Carlsson <andersca@apple.com>
  14576. Reviewed by Mitz.
  14577. Add IconFetcher implementation.
  14578. * WebCore.base.exp:
  14579. * WebCore.xcodeproj/project.pbxproj:
  14580. * html/HTMLLinkElement.h:
  14581. (WebCore::HTMLLinkElement::isIcon):
  14582. * loader/icon/IconFetcher.cpp: Added.
  14583. (WebCore::IconLinkEntry::):
  14584. (WebCore::IconLinkEntry::IconLinkEntry):
  14585. (WebCore::IconLinkEntry::type):
  14586. (WebCore::IconLinkEntry::url):
  14587. (WebCore::IconLinkEntry::buffer):
  14588. (WebCore::parseIconLink):
  14589. (WebCore::IconFetcher::create):
  14590. (WebCore::IconFetcher::IconFetcher):
  14591. (WebCore::IconFetcher::~IconFetcher):
  14592. (WebCore::IconFetcher::cancel):
  14593. (WebCore::IconFetcher::createIcon):
  14594. (WebCore::IconFetcher::loadEntry):
  14595. (WebCore::IconFetcher::loadFailed):
  14596. (WebCore::IconFetcher::didReceiveResponse):
  14597. (WebCore::IconFetcher::didReceiveData):
  14598. (WebCore::IconFetcher::didFinishLoading):
  14599. (WebCore::IconFetcher::didFail):
  14600. * loader/icon/IconFetcher.h: Added.
  14601. (WebCore::IconFetcherClient::~IconFetcherClient):
  14602. 2008-05-21 Dan Bernstein <mitz@apple.com>
  14603. Reviewed by Dave Hyatt.
  14604. - fix https://bugs.webkit.org/show_bug.cgi?id=18352
  14605. <rdar://problem/5854517> crash loading malicious font
  14606. * platform/graphics/mac/SimpleFontDataMac.mm:
  14607. (WebCore::SimpleFontData::platformInit): In the case of a custom font,
  14608. there is no NSFont to base the fallback font on, so get a font based on
  14609. fallback family name alone.
  14610. 2008-05-21 Timothy Hatcher <timothy@apple.com>
  14611. Adds the files and line numbers to the Profile call tree.
  14612. <rdar://problem/5952924> Inspector needs to show file and line number
  14613. in the Profile call tree
  14614. Reviewed by Geoff Garen.
  14615. * page/JavaScriptProfileNode.cpp:
  14616. (WebCore::getFunctionName): Fixes a JSStringRef leak.
  14617. (WebCore::getURL): Call ProfileNode::url.
  14618. (WebCore::getLineNumber): Call ProfileNode::lineNumber.
  14619. (WebCore::ProfileNodeClass): Add the url and lineNumber properties.
  14620. * page/inspector/ProfileView.js:
  14621. (WebInspector.ProfileDataGridNode.prototype.createCell): Overload the
  14622. DataGridNode.createCell and add the file and lineNumber to the
  14623. cell if the column is the function column.
  14624. * page/inspector/inspector.css: New styles for the file and line.
  14625. 2008-05-21 Timothy Hatcher <timothy@apple.com>
  14626. Restores logging of console calls to the STDOUT
  14627. when Interpreter::shouldPrintExceptions() is true.
  14628. <rdar://problem/5636442> REGRESSION: Console.log no longer logs to
  14629. the system console or terminal
  14630. <rdar://problem/5146079> JavaScript exception logging should print
  14631. accurate file and line info when called from WebScriptObject
  14632. Reviewed by Adam Roben.
  14633. * bindings/js/JSCustomSQLStatementCallback.cpp:
  14634. (WebCore::JSCustomSQLStatementCallback::handleEvent): Remove existing
  14635. printf and check for Interpreter::shouldPrintExceptions() since there is
  14636. a call to Console::addMessage.
  14637. * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
  14638. (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): Ditto.
  14639. * bindings/js/JSCustomSQLTransactionCallback.cpp:
  14640. (WebCore::JSCustomSQLTransactionCallback::handleEvent): Ditto.
  14641. * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
  14642. (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Ditto.
  14643. * bindings/js/JSCustomVoidCallback.cpp:
  14644. (WebCore::JSCustomVoidCallback::handleEvent): Ditto.
  14645. * bindings/js/JSCustomXPathNSResolver.cpp:
  14646. (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): Ditto.
  14647. * bindings/js/JSDOMWindowBase.cpp:
  14648. (WebCore::JSDOMWindowBase::printErrorMessage): Ditto.
  14649. * bindings/js/ScheduledAction.cpp:
  14650. (WebCore::ScheduledAction::execute): Ditto.
  14651. * bindings/js/kjs_events.cpp:
  14652. (WebCore::JSAbstractEventListener::handleEvent): Ditto.
  14653. * loader/FrameLoader.cpp:
  14654. (WebCore::FrameLoader::shouldAllowNavigation): Ditto.
  14655. * bindings/objc/WebScriptObject.mm:
  14656. (WebCore::addExceptionToConsole): Added helper static function that
  14657. calls Console::addMessage.
  14658. (-[WebScriptObject callWebScriptMethod:withArguments:]): Call addExceptionToConsole.
  14659. (-[WebScriptObject evaluateWebScript:]): Ditto.
  14660. (-[WebScriptObject setValue:forKey:]): Ditto.
  14661. (-[WebScriptObject valueForKey:]): Ditto.
  14662. (-[WebScriptObject removeWebScriptKey:]): Ditto.
  14663. (-[WebScriptObject webScriptValueAtIndex:]): Ditto.
  14664. (-[WebScriptObject setWebScriptValueAtIndex:value:]): Ditto.
  14665. * page/Console.cpp:
  14666. (WebCore::Console::addMessage): Print the level, message,
  14667. URL and line number to STDOUT.
  14668. (WebCore::printToStandardOut): Helper static function that
  14669. takes a prefix string, ExecState, an argument List and URL.
  14670. Prints the prefix and loops through the arguments calling
  14671. toString on each and printing the string. Finally printing
  14672. the URL and new line.
  14673. (WebCore::Console::error): Call printToStandardOut.
  14674. (WebCore::Console::info): Ditto.
  14675. (WebCore::Console::log): Ditto.
  14676. (WebCore::Console::assertCondition): Ditto.
  14677. (WebCore::Console::warn): Ditto.
  14678. 2008-05-20 Timothy Hatcher <timothy@apple.com>
  14679. Changes to work with the new Profiler API. The Profile is now
  14680. stored by the InspectorController when Console.profileEnd is called.
  14681. This solves three issues with the previous design. First, we don't
  14682. keep profiles around unless the Inspector is enabled. Second, we
  14683. only show Profiles initiated by the Page in it's Inspector, not every
  14684. Profile for the whole process. Third, we now show Profiles in the
  14685. Inspector when they are created.
  14686. <rdar://problem/5951562> New profiles aren't added to the Inspector
  14687. as they finish
  14688. Reviewed by Kevin McCullough.
  14689. * bindings/js/JSConsoleCustom.cpp:
  14690. (WebCore::JSConsole::profileEnd): Added. Calls impl()->profileEnd()
  14691. and passes the ExecState and arguments.
  14692. * page/Console.cpp:
  14693. (WebCore::Console::profile):
  14694. (WebCore::Console::profileEnd): Accept the optional title argument
  14695. and pass it to Profilier::stopProfiling along with the ExecState.
  14696. Calls InspectorController::addProfile with the result Profile.
  14697. * page/Console.h:
  14698. * page/Console.idl: Made profileEnd Custom so we can get the ExecState.
  14699. * page/InspectorController.cpp:
  14700. (WebCore::profiles): Renamed from allProfiles. Uses the controller's
  14701. profiles vector.
  14702. (WebCore::InspectorController::addProfile): Appends to m_profiles.
  14703. Calls addScriptProfile if the window is visible.
  14704. (WebCore::InspectorController::windowScriptObjectAvailable): Renamed
  14705. allProfiles to profiles.
  14706. (WebCore::InspectorController::addScriptProfile): Calls addProfile on
  14707. the JavaScript side.
  14708. (WebCore::InspectorController::didCommitLoad): Clears m_profiles.
  14709. * page/InspectorController.h:
  14710. * page/inspector/ProfilesPanel.js: Populates the profiles sidebar the first
  14711. time the panel is shown after a rest.
  14712. * page/inspector/inspector.js: Added addProfile, calls ProfilesPanel's
  14713. addProfile function.
  14714. 2008-05-21 Alexey Proskuryakov <ap@webkit.org>
  14715. Reviewed by Darin.
  14716. https://bugs.webkit.org/show_bug.cgi?id=19169
  14717. <rdar://5952342> REGRESSION: nakarte.ru searches don't work
  14718. Test: http/tests/xmlhttprequest/encode-request-url.html
  14719. * platform/KURL.cpp: (WebCore::KURL::init): Don't allow UTF-8 encoded data to be implicitly
  14720. converted to String, as it will be encoded again by parse().
  14721. 2008-05-21 Ariya Hidayat <ariya.hidayat@trolltech.com>
  14722. Reviewed by Simon.
  14723. For the Qt port, fix building with Qt for Embedded Linux.
  14724. * WebCore.pro:
  14725. 2008-05-21 Ariya Hidayat <ariya.hidayat@trolltech.com>
  14726. Reviewed by Simon.
  14727. For the Qt port, allow building without NPAPI plugin support.
  14728. * WebCore.pro:
  14729. * plugins/PluginView.h:
  14730. 2008-05-20 Kevin McCullough <kmccullough@apple.com>
  14731. Reviewed by Tim.
  14732. Added all of my personal manual tests for the profiler.
  14733. * manual-tests/inspector/profiler-test-anonymous-event-handler.html: Added.
  14734. * manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html: Added.
  14735. * manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html: Added.
  14736. * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html: Added.
  14737. * manual-tests/inspector/profiler-test-apply.html: Added.
  14738. * manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html: Added.
  14739. * manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html: Added.
  14740. * manual-tests/inspector/profiler-test-call.html: Added.
  14741. * manual-tests/inspector/profiler-test-dead-time.html: Added.
  14742. * manual-tests/inspector/profiler-test-event-handler.html: Added.
  14743. * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html: Added.
  14744. * manual-tests/inspector/profiler-test-inline-event-handler.html: Added.
  14745. * manual-tests/inspector/profiler-test-many-calls-in-the-same-scope.html: Added.
  14746. * manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html: Added.
  14747. * manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html: Added.
  14748. * manual-tests/inspector/profiler-test-multiple-frames.html: Added.
  14749. * manual-tests/inspector/profiler-test-multiple-windows.html: Added.
  14750. * manual-tests/inspector/profiler-test-nested-anonymous-functon.html: Added.
  14751. * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: Added.
  14752. * manual-tests/inspector/profiler-test-no-execution-context.html: Added.
  14753. * manual-tests/inspector/profiler-test-one-execution-context.html: Added.
  14754. * manual-tests/inspector/profiler-test-profile-calls-in-included-file.html: Added.
  14755. * manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Added.
  14756. * manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html: Added.
  14757. * manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html: Added.
  14758. * manual-tests/inspector/profiler-test-two-execution-contexts.html: Added.
  14759. * manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html: Added.
  14760. * manual-tests/inspector/resources: Added.
  14761. * manual-tests/inspector/resources/other-frame.html: Added.
  14762. * manual-tests/inspector/resources/other-window.html: Added.
  14763. * manual-tests/inspector/resources/profiler-test-JS-resources.js: Added.
  14764. 2008-05-20 Adam Roben <aroben@apple.com>
  14765. Use KJS::List::getSlice instead of reimplementing it
  14766. Rubberstamped and suggested by Sam Weinig.
  14767. * bindings/js/JSConsoleCustom.cpp:
  14768. (WebCore::JSConsole::assertCondition):
  14769. 2008-05-20 Kevin Calhoun <kcalhoun@apple.com>
  14770. Reviewed by Darin.
  14771. Fix <rdar://problem/5929010> Adopt new QTKit methods for <video> implementation
  14772. If the class QTVideoRendererWebKitOnly is present use it to render video,
  14773. otherwise fall back to existing use of QTMovieView/QTMovieContentView.
  14774. * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  14775. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  14776. (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
  14777. (WebCore::MediaPlayerPrivate::createQTMovie):
  14778. (WebCore::QTVideoRendererClass):
  14779. (WebCore::MediaPlayerPrivate::detachQTMovieView):
  14780. (WebCore::MediaPlayerPrivate::createQTVideoRenderer):
  14781. (WebCore::MediaPlayerPrivate::destroyQTVideoRenderer):
  14782. (WebCore::MediaPlayerPrivate::setUpVideoRendering):
  14783. (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
  14784. (WebCore::MediaPlayerPrivate::load):
  14785. (WebCore::MediaPlayerPrivate::cancelLoad):
  14786. (WebCore::MediaPlayerPrivate::setVisible):
  14787. (WebCore::MediaPlayerPrivate::paint):
  14788. (-[WebCoreMovieObserver newImageAvailable:]):
  14789. 2008-05-19 Adam Roben <aroben@apple.com>
  14790. Fix Bug 19134: Inspector should support console.assert
  14791. <https://bugs.webkit.org/show_bug.cgi?id=19134>
  14792. Reviewed by Tim Hatcher.
  14793. Test: manual-tests/inspector/console-assert.html
  14794. * bindings/js/JSConsoleCustom.cpp:
  14795. (WebCore::JSConsole::assertCondition): Added.
  14796. * bindings/scripts/CodeGeneratorJS.pm: Added parsing of the
  14797. ImplementationFunction extended attribute, which allows you to
  14798. override the name of the C++ function used to implement this method.
  14799. * manual-tests/inspector/console-assert.html: Added.
  14800. * page/Console.cpp:
  14801. (WebCore::Console::assertCondition): Added.
  14802. * page/Console.h:
  14803. * page/Console.idl: Added assert().
  14804. 2008-05-20 Alice Liu <alice.liu@apple.com>
  14805. Reviewed by Brady.
  14806. fix <rdar://problem/5908580> 10A58: Dictionary Panel hangs in WebCore::Cache::pruneDeadResources()
  14807. * loader/Cache.cpp:
  14808. (WebCore::Cache::requestUserCSSStyleSheet):
  14809. Add a call to resourceAccessed() to more closely mirror what is done in requestResource()
  14810. (WebCore::Cache::insertInLRUList):
  14811. Assert that any resource in the LRU list has been accessed. This is early detection of a
  14812. potential hang later when pruning resources, and also agrees with the early return in
  14813. removeFromLRUList().
  14814. 2008-05-20 Dan Bernstein <mitz@apple.com>
  14815. Reviewed by Darin Adler.
  14816. - fix https://bugs.webkit.org/show_bug.cgi?id=17655
  14817. <rdar://problem/5778077> REGRESSION (3.1.1-TOT): Reproducible crash calling querySelector on viewless Document
  14818. Test: fast/dom/SelectorAPI/viewless-document.html
  14819. * css/CSSStyleSelector.cpp:
  14820. (WebCore::CSSStyleSelector::CSSStyleSelector): Updated to initialize the
  14821. selector checker.
  14822. (WebCore::CSSStyleSelector::init): Removed initialization of
  14823. m_collectRulesOnly, which is now part of the selector checker.
  14824. (WebCore::CSSStyleSelector::matchRules): Updated for renames and data
  14825. moved into the selector checker.
  14826. (WebCore::CSSStyleSelector::matchRulesForList): Ditto.
  14827. (WebCore::CSSStyleSelector::initForStyleResolve): Added a PseudoId
  14828. argument, which is used to initialize a data member of the selector
  14829. checker. Updated for renames. Removed initialization of m_isXMLDoc
  14830. because this bit is now initialized only once in the selector checker's
  14831. constructor.
  14832. (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker): Added.
  14833. (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState): Changed
  14834. into a SelectorChecker method.
  14835. (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): Added. Used
  14836. by querySelector() and querySelectorAll().
  14837. (WebCore::CSSStyleSelector::canShareStyleWithElement): Updated for data
  14838. moved into the selector checker.
  14839. (WebCore::CSSStyleSelector::matchUARules): Ditto.
  14840. (WebCore::CSSStyleSelector::styleForElement):
  14841. (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto. Also removed
  14842. code that set the parentStyle variable after the last place it is
  14843. accessed, and changed to ensure that m_style is set early in this
  14844. function.
  14845. (WebCore::CSSStyleSelector::adjustRenderStyle): Updated for data moved
  14846. into the selector checker.
  14847. (WebCore::CSSStyleSelector::styleRulesForElement): Ditto.
  14848. (WebCore::CSSStyleSelector::checkSelector): Ditto. Also changed to pass
  14849. the element's style and the parent style to the selector checker, as
  14850. well as the dynamic pseudo variable and the selector attributes vector.
  14851. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added
  14852. arguments for the style of the base element and its parent. When the
  14853. elementStyle argument is 0, the style is fetched from the element
  14854. and its parent as needed. Also changed to take a reference to the
  14855. dynamic pseudo ID and a pointer to the vector of attributes affecting
  14856. the match.
  14857. (WebCore::CSSStyleSelector::applyProperty): Updated for data moved
  14858. into the selector checker.
  14859. (WebCore::CSSStyleSelector::checkForGenericFamilyChange): Ditto.
  14860. (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Ditto.
  14861. (WebCore::CSSStyleSelector::fontSizeForKeyword): Ditto.
  14862. (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Ditto.
  14863. (WebCore::CSSStyleSelector::SelectorChecker::allVisitedStateChanged):
  14864. Changed into a SelectorChecker method.
  14865. (WebCore::CSSStyleSelector::SelectorChecker::visitedStateChanged):
  14866. Ditto.
  14867. * css/CSSStyleSelector.h:
  14868. Added a SelectorChecker class and moved data and methods used in
  14869. checking selectors into it.
  14870. (WebCore::CSSStyleSelector::allVisitedStateChanged): Changed to call the
  14871. SelectorChecker method.
  14872. (WebCore::CSSStyleSelector::visitedStateChanged): Ditto.
  14873. * dom/Node.cpp:
  14874. (WebCore::Node::querySelector): Changed to use a SelectorChecker instead
  14875. of the document's style selector.
  14876. * dom/SelectorNodeList.cpp:
  14877. (WebCore::SelectorNodeList::SelectorNodeList): Ditto.
  14878. 2008-05-20 Timothy Hatcher <timothy@apple.com>
  14879. Implements the Profiles panel and Profile view.
  14880. Reviewed by Kevin McCullough.
  14881. * English.lproj/localizedStrings.js: Added new strings.
  14882. * page/inspector/Images/profileIcon.png: Added.
  14883. * page/inspector/Images/profilesIcon.png: Changed. New icon design
  14884. that fits in with the other toolbar icons.
  14885. * page/inspector/ProfileView.js:
  14886. (WebInspector.ProfileView): Remove custom table elements
  14887. and create a DataGrid. Sorts the profile by descending total time,
  14888. since the profiles aren't sorted by default.
  14889. (WebInspector.ProfileView.prototype.refresh): Clears the DataGrid
  14890. and recreates all the nodes. The selection is preserved.
  14891. (WebInspector.ProfileView.prototype.refreshShowAsPercents): Traverse
  14892. all the children and change showTotalTimeAsPercent and showSelfTimeAsPercent
  14893. to match the ProfileView values. Then call refresh on the child.
  14894. (WebInspector.ProfileView.prototype._sortData): Determine the sort
  14895. function to call on the head profile node. Call it and then call
  14896. refresh to rebuild the DataGrid.
  14897. (WebInspector.ProfileView.prototype._mouseDownInDataGrid): Return early
  14898. if the event is not a double-click. When it is a double-click, determine
  14899. the column that was targeted and if it was total or self toggle the
  14900. show as percent property. Call refreshShowAsPercents.
  14901. (WebInspector.ProfileDataGridNode):
  14902. (WebInspector.ProfileDataGridNode.prototype.get data):
  14903. (WebInspector.ProfileDataGridNode.prototype.expand):
  14904. (WebInspector.ProfileDataGridNode.prototype.collapse):
  14905. (WebInspector.ProfileDataGridNode.prototype._populate):
  14906. * page/inspector/ProfilesPanel.js:
  14907. (WebInspector.ProfilesPanel):
  14908. (WebInspector.ProfilesPanel.prototype.show): Populate the sidebar
  14909. with all profiles. This is a workaround until the Inspector
  14910. is told about new profiles.
  14911. (WebInspector.ProfilesPanel.prototype.reset): Clear the sidebar and
  14912. profile views.
  14913. (WebInspector.ProfilesPanel.prototype.handleKeyEvent): Pass the key
  14914. event to the sidebar.
  14915. (WebInspector.ProfilesPanel.prototype.addProfile): Create a
  14916. ProfileSidebarTreeElement object and add it to the sidebar.
  14917. (WebInspector.ProfilesPanel.prototype.showProfile): Create a ProfileView
  14918. and show it.
  14919. (WebInspector.ProfilesPanel.prototype.closeVisibleView): Hide the
  14920. visible view.
  14921. (WebInspector.ProfilesPanel.prototype._startSidebarDragging): Call
  14922. WebInspector.elementDragStart.
  14923. (WebInspector.ProfilesPanel.prototype._sidebarDragging): Call _updateSidebarWidth.
  14924. (WebInspector.ProfilesPanel.prototype._endSidebarDragging):
  14925. Call WebInspector.elementDragEnd.
  14926. (WebInspector.ProfilesPanel.prototype._updateSidebarWidth): Update the
  14927. sidebar width based on the passed in value.
  14928. (WebInspector.ProfileSidebarTreeElement): Subclass WebInspector.SidebarTreeElement.
  14929. (WebInspector.ProfileSidebarTreeElement.prototype.onselect): Call ProfilesPanel.showProfile.
  14930. (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle): Return profile.title.
  14931. (WebInspector.ProfileSidebarTreeElement.prototype.set mainTitle): Do nothing.
  14932. (WebInspector.ProfileSidebarTreeElement.prototype.get subtitle): Ditto.
  14933. (WebInspector.ProfileSidebarTreeElement.prototype.set subtitle): Ditto.
  14934. * page/inspector/inspector.css: New styles for the profile sidebar
  14935. item and profile data grid columns.
  14936. * page/inspector/inspector.js:
  14937. * page/inspector/utilities.js:
  14938. (Number.secondsToString): Added a higherResolution argument
  14939. that returns fractional milliseconds.
  14940. 2008-05-20 chris fleizach <cfleizach@apple.com>
  14941. Reviewed by Darin Adler, Alice Liu
  14942. <rdar://problem/3438014> Might need accessibility solution for context menus in web pages
  14943. <rdar://problem/5060458> Elements without AXActions should not return kAXErrorFailure
  14944. * page/AccessibilityObject.cpp:
  14945. (WebCore::AccessibilityObject::clickPoint):
  14946. * page/AccessibilityObject.h:
  14947. * page/mac/AccessibilityObjectWrapper.mm:
  14948. (-[AccessibilityObjectWrapper accessibilityActionNames]):
  14949. (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
  14950. (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
  14951. (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
  14952. (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
  14953. 2008-05-20 Timothy Hatcher <timothy@apple.com>
  14954. Expose the ProfileNode functionName sorting functions on
  14955. JavaScriptProfileNode.
  14956. Reviewed by Kevin McCullough.
  14957. * page/JavaScriptProfileNode.cpp:
  14958. (WebCore::sortFunctionNameDescending): Call ProfileNode.
  14959. (WebCore::sortFunctionNameAscending): Ditto.
  14960. (WebCore::ProfileNodeClass): Add static functions.
  14961. 2008-05-20 Darin Adler <darin@apple.com>
  14962. Reviewed by Mitz.
  14963. - a first small step of CSS DOM refactoring -- the eventual goal is to
  14964. reduce StyleBase and possibly eliminate it, since it has multiple
  14965. purposes and unneccessarily ties many classes together
  14966. * css/CSSCursorImageValue.cpp:
  14967. (WebCore::isSVGCursorIdentifier): Mark static so it has internal linkage.
  14968. (WebCore::resourceReferencedByCursorElement): Ditto.
  14969. (WebCore::CSSCursorImageValue::CSSCursorImageValue): Removed unused style
  14970. argument.
  14971. (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Removed code to
  14972. check if X and Y changed before changing them -- there's no reason to do
  14973. that. Removed code that depended on the internals of CSSImageValue. The
  14974. new code uses only protected functions rather than going right at the
  14975. fields and uing internal knowledge of the base class.
  14976. * css/CSSCursorImageValue.h: Added a create function, made constructor
  14977. private, removed unused style argument.
  14978. * css/CSSImageValue.cpp:
  14979. (WebCore::CSSImageValue::CSSImageValue): Removed unused style argument.
  14980. (WebCore::CSSImageValue::cachedImageURL): Added. A protected function for
  14981. use by CSSCursorImageValue that gives the URL.
  14982. (WebCore::CSSImageValue::clearCachedImage): Added. A protected function for
  14983. use by CSSCursorImageValue that clears the CachedImage.
  14984. * css/CSSImageValue.h: Added create functions, made constructors protected
  14985. and private, removed unused style argument, made data members private, added
  14986. some protected functions for use by CSSCursorImageValue.
  14987. * css/CSSImportRule.cpp:
  14988. (WebCore::CSSImportRule::setCSSStyleSheet): Changed to call checkLoaded on
  14989. the parent. This is part of preparation to move the checkLoaded function from
  14990. StyleBase to StyleSheet.
  14991. (WebCore::CSSImportRule::insertedIntoParent): Changed code to check the URL
  14992. of the style sheet to use the href function of the style sheet rather than
  14993. the baseURL function. This eliminates an O(n^2) algorithm here and reduces
  14994. the use of baseURL, part of preparation to move it from StyleBase
  14995. to CSSStyleSheet.
  14996. * css/CSSMutableStyleDeclaration.cpp:
  14997. (WebCore::CSSMutableStyleDeclaration::setImageProperty): Changed to use create
  14998. function instead of a direct call to new for the CSSImageValue classes.
  14999. * css/CSSParser.cpp:
  15000. (WebCore::CSSParser::parseValue): Ditto.
  15001. (WebCore::CSSParser::parseContent): Ditto.
  15002. (WebCore::CSSParser::parseFillImage): Ditto.
  15003. (WebCore::CSSParser::parseBorderImage): Ditto.
  15004. * css/CSSStyleSelector.cpp: Removed unneeded include of CSSImageValue.h.
  15005. * rendering/style/RenderStyle.h: Removed unneeded include of
  15006. CSSCursorImageValue.h, which was causing us to rebuild the world way too often.
  15007. * xml/XSLImportRule.cpp:
  15008. (WebCore::XSLImportRule::setXSLStyleSheet): See change to CSSImportRule above.
  15009. (WebCore::XSLImportRule::loadSheet): Ditto.
  15010. 2008-05-20 Kevin McCullough <kmccullough@apple.com>
  15011. Rubber stamped by Adam.
  15012. -Minor fix. Should not use a reference since the original may disappear.
  15013. * page/Console.cpp:
  15014. (WebCore::Console::profile):
  15015. 2008-05-20 Kevin Ollivier <kevino@theolliviers.com>
  15016. wx build fix. userAgent should return a value.
  15017. * plugins/wx/PluginViewWx.cpp:
  15018. (WebCore::PluginView::userAgent):
  15019. 2008-05-19 Timothy Hatcher <timothy@apple.com>
  15020. Expose the ProfileNode sorting functions on JavaScriptProfileNode.
  15021. Reviewed by Kevin McCullough.
  15022. * page/JavaScriptProfileNode.cpp:
  15023. (WebCore::sortTotalTimeDescending): Call ProfileNode.
  15024. (WebCore::sortTotalTimeAscending): Ditto.
  15025. (WebCore::sortSelfTimeDescending): Ditto.
  15026. (WebCore::sortSelfTimeAscending): Ditto.
  15027. (WebCore::sortCallsDescending): Ditto.
  15028. (WebCore::sortCallsAscending): Ditto.
  15029. (WebCore::ProfileNodeClass): Add static functions.
  15030. 2008-05-19 Timothy Hatcher <timothy@apple.com>
  15031. * page/InspectorController.cpp: Change the include for
  15032. JavaScriptProfile.h to sue double quotes instead of backets.
  15033. 2008-05-19 Timothy Hatcher <timothy@apple.com>
  15034. Adds a DataGrid object that is used for multi-column data
  15035. and can contain hierarchical content with disclosure arrows.
  15036. A lot of DataGrid was copied from treeoutline.js. This change
  15037. makes the database views use the DataGrid. It will later be
  15038. used by the ProfileView.
  15039. Reviewed by Adam Roben.
  15040. * page/inspector/DataGrid.js: Added. Most copied from treeoutline.js
  15041. and modified to work with table elements.
  15042. * page/inspector/DatabaseQueryView.js:
  15043. (WebInspector.DatabaseQueryView.prototype._queryFinished):
  15044. Call DatabasesPanel.dataGridForResult and adds the inline style to
  15045. the DataGrid element.
  15046. * page/inspector/DatabaseTableView.js:
  15047. (WebInspector.DatabaseTableView.prototype._queryFinished):
  15048. Call DatabasesPanel.dataGridForResult.
  15049. * page/inspector/DatabasesPanel.js:
  15050. (WebInspector.DatabasesPanel.prototype._tableForResult): Removed.
  15051. (WebInspector.DatabasesPanel.prototype.dataGridForResult): Added.
  15052. Similar to the previous _tableForResult function, but makes a DataGrid.
  15053. * page/inspector/inspector.css: Changes to the data-grid
  15054. style rules.
  15055. * WebCore.vcproj/WebCore.vcproj: Add DataGrid.js.
  15056. * page/inspector/WebKit.qrc: Ditto.
  15057. * page/inspector/inspector.html: Ditto.
  15058. 2008-05-19 Kevin McCullough <kmccullough@apple.com>
  15059. Reviewed by Adam.
  15060. -build fix.
  15061. * bindings/js/JSConsoleCustom.cpp:
  15062. (WebCore::JSConsole::profile):
  15063. * page/Console.cpp:
  15064. (WebCore::Console::profile):
  15065. * page/Console.h:
  15066. * page/Console.idl:
  15067. 2008-05-19 Alp Toker <alp@nuanti.com>
  15068. Reviewed by Maciej.
  15069. GTK+/soup fixes:
  15070. Remove the fragment part of the URL since the file backend doesn't
  15071. deal with it.
  15072. Fix a typo in the cleanup function.
  15073. * platform/network/soup/ResourceHandleSoup.cpp:
  15074. (WebCore::cleanupGioOperation):
  15075. (WebCore::ResourceHandle::startGio):
  15076. 2008-05-19 Kevin McCullough <kmccullough@apple.com>
  15077. Reviewed by Adam.
  15078. <rdar://problem/5770054> JavaScript profiler (10928)
  15079. - Send the executing context to the profiler so it can attribute time
  15080. correctly to parent functions when calling profile() and profileEnd()
  15081. while nested.
  15082. * page/Console.cpp:
  15083. (WebCore::Console::profile):
  15084. (WebCore::Console::profileEnd):
  15085. * page/Console.h:
  15086. 2008-05-19 Alp Toker <alp@nuanti.com>
  15087. Reviewed by Anders and Beth.
  15088. http://bugs.webkit.org/show_bug.cgi?id=16495
  15089. [GTK] Accessibility support with ATK/AT-SPI
  15090. Initial ATK/AT-SPI accessibility support for the GTK+ port.
  15091. * GNUmakefile.am:
  15092. * page/AccessibilityObject.cpp:
  15093. (WebCore::AccessibilityObject::AccessibilityObject):
  15094. (WebCore::AccessibilityObject::detach):
  15095. * page/AccessibilityObject.h:
  15096. * page/gtk/AXObjectCacheAtk.cpp: Added.
  15097. (WebCore::AXObjectCache::detachWrapper):
  15098. (WebCore::AXObjectCache::attachWrapper):
  15099. (WebCore::AXObjectCache::postNotification):
  15100. (WebCore::AXObjectCache::postNotificationToElement):
  15101. (WebCore::AXObjectCache::handleFocusedUIElementChanged):
  15102. * page/gtk/AccessibilityObjectWrapperAtk.cpp: Added.
  15103. (WebCore::AccessibilityObject::wrapper):
  15104. (WebCore::AccessibilityObject::setWrapper):
  15105. * page/gtk/AccessibilityObjectWrapperAtk.h: Added.
  15106. 2008-05-19 Anders Carlsson <andersca@apple.com>
  15107. Reviewed by Adam.
  15108. <rdar://problem/5946454>
  15109. Support navigator.onLine from HTML5.
  15110. Add Windows NetworkStateNotifier implementation using the IP Helper API.
  15111. * WebCore.vcproj/WebCore.vcproj:
  15112. * platform/network/NetworkStateNotifier.h:
  15113. (WebCore::updateState):
  15114. * platform/network/win/NetworkStateNotifierWin.cpp: Added.
  15115. (WebCore::NetworkStateNotifier::updateState):
  15116. (WebCore::NetworkStateNotifier::addressChanged):
  15117. (WebCore::NetworkStateNotifier::callAddressChanged):
  15118. (WebCore::NetworkStateNotifier::addrChangeCallback):
  15119. (WebCore::NetworkStateNotifier::registerForAddressChange):
  15120. (WebCore::NetworkStateNotifier::NetworkStateNotifier):
  15121. 2008-05-19 Steve Falkenburg <sfalken@apple.com>
  15122. Disable C4273, C4565 for CSSGrammar.cpp, XPathGrammar.cpp to fix build.
  15123. Reviewed by Adam Roben.
  15124. * WebCore.vcproj/WebCore.vcproj:
  15125. 2008-05-19 Adam Roben <aroben@apple.com>
  15126. Fix Bug 19065: Resources with a space in their URL don't get
  15127. error/warning bubbles
  15128. <https://bugs.webkit.org/show_bug.cgi?id=19065>
  15129. Reviewed by Dan Bernstein.
  15130. Test: manual-tests/inspector/errors-with-space in-url.html
  15131. * manual-tests/inspector/errors-with-space in-url.html: Added.
  15132. * page/Console.cpp:
  15133. (WebCore::Console::error):
  15134. (WebCore::Console::info):
  15135. (WebCore::Console::log):
  15136. (WebCore::Console::warn):
  15137. Pass the raw URL to the Inspector, not the pretty URL, to match the
  15138. URL that was used when initially telling the Inspector about this
  15139. resource. We continue to pass the pretty URL to the ChromeClient for
  15140. backwards compatibility.
  15141. 2008-05-19 Stephanie Lewis <slewis@apple.com>
  15142. Reviewed by Darin.
  15143. more fast teardown performance work, WebCore plumbing
  15144. * page/Chrome.cpp:
  15145. (WebCore::Chrome::disableSuddenTermination):
  15146. (WebCore::Chrome::enableSuddenTermination):
  15147. (WebCore::ChromeClient::disableSuddenTermination):
  15148. (WebCore::ChromeClient::enableSuddenTermination):
  15149. * page/Chrome.h:
  15150. * page/ChromeClient.h:
  15151. * page/Page.cpp:
  15152. (WebCore::Page::changePendingUnloadEventCount):
  15153. (WebCore::Page::changePendingBeforeUnloadEventCount):
  15154. 2008-05-19 Kuchhal <kuchal@yahoo.com>
  15155. Reviewed by Justin.
  15156. <rdar://problem/5863412> Crash when Ctrl C is pressed after a series of specific mouse events (18506)
  15157. * editing/markup.cpp:
  15158. (WebCore::createMarkup): Null check.
  15159. 2008-05-19 Chris Fleizach <cfleizach@apple.com>
  15160. Reviewed by Beth Dakin.
  15161. <rdar://problem/5912195> CrashTracer: [USER] 1 crash in Mail at -[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]
  15162. * page/mac/AccessibilityObjectWrapper.mm:
  15163. (visiblePositionForTextMarker):
  15164. 2008-05-19 Ada Chan <adachan@apple.com>
  15165. Added CookieStorageWin.h/cpp, introducing methods to get/set the current CFHTTPCookieStorageRef.
  15166. When setting cookies-related attributes in CFURLRequest, make sure we get them from the
  15167. current CFHTTPCookieStorageRef. Also, set the cookie storage in CFURLRequest.
  15168. Reviewed by Steve Falkenburg.
  15169. * WebCore.vcproj/WebCore.vcproj:
  15170. * platform/network/cf/ResourceHandleCFNet.cpp:
  15171. (WebCore::makeFinalRequest):
  15172. * platform/network/cf/ResourceRequestCFNet.cpp:
  15173. (WebCore::ResourceRequest::doUpdatePlatformRequest):
  15174. * platform/network/win/CookieJarCFNetWin.cpp:
  15175. (WebCore::setCookies):
  15176. (WebCore::cookies):
  15177. (WebCore::cookiesEnabled):
  15178. * platform/network/win/CookieStorageWin.cpp: Added.
  15179. (WebCore::currentCookieStorage):
  15180. (WebCore::setCurrentCookieStorage):
  15181. * platform/network/win/CookieStorageWin.h: Added.
  15182. 2008-05-19 Alexey Proskuryakov <ap@webkit.org>
  15183. Reviewed by Darin.
  15184. http://bugs.webkit.org/show_bug.cgi?id=18308
  15185. SVG Encoding error with fill attribute
  15186. This is caused by problems with data: URL loading. Besides what is fixed by this patch,
  15187. I filed <rdar://problem/5845875> for CFNetwork.
  15188. While at it, fixed a related javascript: URL issue.
  15189. Tests: fast/loader/data-url-encoding-html.html
  15190. fast/loader/data-url-encoding-svg.html
  15191. fast/loader/javascript-url-encoding.html
  15192. * platform/KURL.cpp:
  15193. (WebCore::KURL::parse): Fix a FIXME, use UTF-8 instead of dropping high bytes. This fixes
  15194. javascript: URL handling.
  15195. (WebCore::encodeRelativeString): Like mailto: URLs, data: ones are all UTF-8. Restructured
  15196. the code to not search for "#" if both parts are to be encoded as UTF-8 anyway.
  15197. 2008-05-19 Alexey Proskuryakov <ap@webkit.org>
  15198. Reviewed by Darin.
  15199. https://bugs.webkit.org/show_bug.cgi?id=18421
  15200. <rdar://problem/5857369> XMLHttpRequest does not properly encode & and < in outgoing messages
  15201. Test: http/tests/xmlhttprequest/serialize-document.html
  15202. * bindings/js/JSXMLHttpRequestCustom.cpp:
  15203. (WebCore::JSXMLHttpRequest::send): Use createMarkup() instead of Document::toString().
  15204. * dom/Attr.cpp:
  15205. * dom/Attr.h:
  15206. * dom/Document.cpp:
  15207. * dom/Document.h:
  15208. * dom/DocumentFragment.cpp:
  15209. * dom/DocumentFragment.h:
  15210. * dom/Element.cpp:
  15211. * dom/Element.h:
  15212. * dom/Entity.cpp:
  15213. * dom/Entity.h:
  15214. * dom/EntityReference.cpp:
  15215. * dom/EntityReference.h:
  15216. * dom/Node.h:
  15217. * dom/Text.cpp:
  15218. * dom/Text.h:
  15219. * html/HTMLElement.cpp:
  15220. * html/HTMLElement.h:
  15221. Removed most Node::toString() methods, which were massively wrong, and only used for
  15222. XMLHttpRequest::send(). The remanining ones are still used in markup.cpp, but should probably
  15223. be folded into it for consistency.
  15224. 2008-05-19 Anders Carlsson <andersca@apple.com>
  15225. Fix Windows build.
  15226. * plugins/win/PluginViewWin.cpp:
  15227. (WebCore::PluginView::userAgentStatic):
  15228. (WebCore::PluginView::getValueStatic):
  15229. (WebCore::PluginView::getValue):
  15230. 2008-05-19 Chris Fleizach <cfleizach@apple.com>
  15231. Reviewed by Darin Adler.
  15232. <rdar://problem/5935694> AX: crash in text marker range
  15233. * page/mac/AccessibilityObjectWrapper.mm:
  15234. (textMarkerRangeFromMarkers):
  15235. 2008-05-19 Darin Adler <darin@apple.com>
  15236. - fix WebKit build
  15237. * WebCore.xcodeproj/project.pbxproj: Make CSSReflectionDirection.h "private" instead of "project".
  15238. 2008-05-19 chris fleizach <cfleizach@apple.com>
  15239. Reviewed by Darin Adler
  15240. <rdar://problem/5700830> VO: VoiceOver should fall back to title attr if form element is not labeled
  15241. * page/AccessibilityRenderObject.cpp:
  15242. (WebCore::AccessibilityRenderObject::title):
  15243. 2008-05-19 Darin Adler <darin@apple.com>
  15244. Reviewed by Mitz.
  15245. - tweak CSSReflectValue, possibly fixing the leaks seen on the buildbot
  15246. * WebCore.vcproj/WebCore.vcproj: Added CSSReflectionDirection.h.
  15247. * WebCore.xcodeproj/project.pbxproj: Ditto.
  15248. * css/CSSReflectionDirection.h: Added.
  15249. * css/CSSComputedStyleDeclaration.cpp:
  15250. (WebCore::valueForReflection): Changed to use CSSReflectValue::create.
  15251. * css/CSSParser.cpp:
  15252. (WebCore::CSSParser::parseReflect): Ditto.
  15253. * css/CSSReflectValue.h: Added a create function. Got rid of the setter
  15254. functions, which had const PassRefPtr& arguments -- those probably caused
  15255. the leaks although I'm not exactly sure why. Made the contructor and all
  15256. the data members private.
  15257. * rendering/style/RenderStyle.h: Changed to include CSSReflectionDirection.h
  15258. instead of CSSReflectValue.h so we can tweak CSSReflectValue without
  15259. recompiling the world.
  15260. 2008-05-19 Holger Hans Peter Freyther <zecke@selfish.org>
  15261. Rubber Stamped by Simon.
  15262. Enforce the WebKit Coding Style.
  15263. * plugins/PluginView.cpp:
  15264. (WebCore::PluginView::load):
  15265. (WebCore::PluginView::setValue):
  15266. * plugins/gtk/PluginViewGtk.cpp:
  15267. (WebCore::PluginView::setFocus):
  15268. (WebCore::PluginView::show):
  15269. (WebCore::PluginView::hide):
  15270. (WebCore::PluginView::attachToWindow):
  15271. (WebCore::PluginView::detachFromWindow):
  15272. (WebCore::PluginView::getValueStatic):
  15273. (WebCore::PluginView::getValue):
  15274. * plugins/qt/PluginViewQt.cpp:
  15275. (WebCore::PluginView::updateWindow):
  15276. (WebCore::PluginView::detachFromWindow):
  15277. (WebCore::PluginView::handlePostReadFile):
  15278. (WebCore::PluginView::getValueStatic):
  15279. (WebCore::PluginView::getValue):
  15280. 2008-05-14 Marc Ordinas i Llopis <marc.ordinasillopis@collabora.co.uk>
  15281. Reviewed by Holger.
  15282. https://bugs.webkit.org/show_bug.cgi?id=18882
  15283. https://bugs.webkit.org/show_bug.cgi?id=18892
  15284. Based also on work by Chris Lord.
  15285. Provides support for NPAPI plugins that pass NULL as their instance
  15286. info. There are two kinds:
  15287. - Some call NPN_UserAgent and NPN_GetValue before a PluginView has
  15288. been created. For those we provide static versions of those functions.
  15289. - Others call NPN_* functions with a NULL instance inside NPP_*
  15290. calls, for those we've added extra currentPluginView guards.
  15291. * plugins/PluginView.cpp: Add additional currentPluginView guards and
  15292. some small style changes.
  15293. (WebCore::PluginView::start):
  15294. (WebCore::PluginView::performRequest):
  15295. (WebCore::PluginView::bindingInstance):
  15296. (WebCore::PluginView::handlePost):
  15297. * plugins/PluginView.h: Added static versions of NPN_UserAgent and
  15298. NPN_GetValue.
  15299. * plugins/gtk/PluginViewGtk.cpp: Add additional currentPluginView
  15300. guards and some small style changes.
  15301. (WebCore::PluginView::setNPWindowRect):
  15302. (WebCore::PluginView::stop):
  15303. (WebCore::PluginView::userAgentStatic): Added to deal with plugins
  15304. that query this before having a PluginView.
  15305. (WebCore::PluginView::getValueStatic): Added to deal with plugins
  15306. that call this before we have created a PluginView.
  15307. (WebCore::PluginView::getValue): Moved some code to getValueStatic.
  15308. (WebCore::PluginView::init):
  15309. * plugins/npapi.cpp: Call PluginView::userAgentStatic
  15310. and PluginView::getValueStatic if no PluginView is
  15311. present.
  15312. (NPN_UserAgent):
  15313. (NPN_GetValue):
  15314. * plugins/qt/PluginPackageQt.cpp:
  15315. (WebCore::PluginPackage::fetchInfo): Corrected split args because ignoring
  15316. empty entries crashed.
  15317. (WebCore::PluginPackage::load): Resolve all symbols when loading plugins
  15318. to protect against XPCOM dependencies.
  15319. * plugins/qt/PluginViewQt.cpp: Add additional currentPluginView guards and
  15320. some small style changes.
  15321. (WebCore::PluginView::updateWindow):
  15322. (WebCore::PluginView::setNPWindowRect):
  15323. (WebCore::PluginView::stop):
  15324. (WebCore::PluginView::userAgentStatic): Added to deal with plugins
  15325. that query this before having a PluginView.
  15326. (WebCore::PluginView::handlePostReadFile):
  15327. (WebCore::PluginView::getValueStatic): Added to deal with plugins
  15328. that call this before we have created a PluginView.
  15329. (WebCore::PluginView::getValue): Moved some code to getValueStatic.
  15330. (WebCore::PluginView::init): m_needsXEmbed init was moved to constructor.
  15331. 2008-05-19 Alp Toker <alp@nuanti.com>
  15332. GTK+ build fix on Mac. Conditionalize XP_UNIX use.
  15333. * plugins/gtk/PluginPackageGtk.cpp:
  15334. (WebCore::PluginPackage::fetchInfo):
  15335. (WebCore::PluginPackage::load):
  15336. * plugins/gtk/PluginViewGtk.cpp:
  15337. 2008-05-18 Chris Fleizach <cfleizach@apple.com>
  15338. Reviewed by Darin Adler
  15339. <rdar://problem/5942076> WebKit can no longer find URL links with VoiceOVer-U command (19100)
  15340. * page/AccessibilityObject.h:
  15341. 2008-05-18 Darin Adler <darin@apple.com>
  15342. Reviewed by Sam.
  15343. - fix <rdar://problem/5943569> crash due to stale ownerNode pointer
  15344. Test: fast/dom/StyleSheet/ownerNode-lifetime.html
  15345. * bindings/js/JSStyleSheetCustom.cpp:
  15346. (WebCore::JSStyleSheet::mark): Added code to mark ownerNode. Includes a comment about how
  15347. it would be even better to solve this in the DOM rather than just in the JavaScript binding.
  15348. * css/StyleSheet.idl: Added CustomMarkFunction attribute.
  15349. 2008-05-18 Brady Eidson <beidson@apple.com>
  15350. Reviewed by Sam Weinig
  15351. Fix for https://bugs.webkit.org/show_bug.cgi?id=19111
  15352. Allow `delete storage.itemName` syntax as an alias for `storage.removeItem("itemName")`
  15353. Tests: storage/domstorage/localstorage/delete-removal.html
  15354. storage/domstorage/sessionstorage/delete-removal.html
  15355. * bindings/js/JSStorageCustom.cpp:
  15356. (WebCore::JSStorage::deleteProperty): Only do the delete for non-built in properties
  15357. * storage/Storage.idl:
  15358. 2008-05-17 Sam Weinig <sam@webkit.org>
  15359. Reviewed by Mark Rowe.
  15360. Re-factor core setRequestHeader logic into setRequestHeaderInternal.
  15361. * xml/XMLHttpRequest.cpp:
  15362. (WebCore::XMLHttpRequest::sameOriginRequest):
  15363. (WebCore::XMLHttpRequest::setRequestHeader):
  15364. (WebCore::XMLHttpRequest::setRequestHeaderInternal):
  15365. * xml/XMLHttpRequest.h:
  15366. 2008-05-17 Sam Weinig <sam@webkit.org>
  15367. Reviewed by Mark Rowe.
  15368. Differentiate between cancelation errors and generic network error in XHR.
  15369. * loader/FrameLoader.cpp:
  15370. (WebCore::FrameLoader::requestFromDelegate):
  15371. (WebCore::FrameLoader::cancelledError):
  15372. * platform/network/ResourceErrorBase.h:
  15373. (WebCore::ResourceErrorBase::setIsCancelation):
  15374. (WebCore::ResourceErrorBase::isCancelation):
  15375. (WebCore::ResourceErrorBase::ResourceErrorBase):
  15376. Add state that differentiates between errors created by cancelation and those made
  15377. by all other generic network errors as this differentiation is needed by some specs.
  15378. * xml/XMLHttpRequest.cpp:
  15379. (WebCore::XMLHttpRequest::open):
  15380. (WebCore::XMLHttpRequest::loadRequestSynchronously):
  15381. (WebCore::XMLHttpRequest::clearResponseEntityBody):
  15382. (WebCore::XMLHttpRequest::genericError):
  15383. (WebCore::XMLHttpRequest::networkError):
  15384. (WebCore::XMLHttpRequest::abortError):
  15385. (WebCore::XMLHttpRequest::didFail):
  15386. * xml/XMLHttpRequest.h:
  15387. * xml/XMLHttpRequestException.h:
  15388. (WebCore::XMLHttpRequestException::):
  15389. * xml/XMLHttpRequestException.idl:
  15390. Add ABORT_ERR. This error cannot be raised with the current WebKit architecture
  15391. as it requires the ability to cancel a synchronous XHR, which we cannot currently
  15392. do. It may be possible in the future though.
  15393. 2008-05-17 Mark Rowe <mrowe@apple.com>
  15394. Reviewed by Sam Weinig.
  15395. Including wtf/Platform.h or using any of the macros it defines in headers that may be
  15396. included from outside of the WebKit project causes any project using those headers to
  15397. fail to build.
  15398. * page/mac/WebDashboardRegion.h:
  15399. 2008-05-17 Sam Weinig <sam@webkit.org>
  15400. Reviewed by Brady Eidson.
  15401. Re-factor send() logic a little to make adding cross-site requests easier.
  15402. * xml/XMLHttpRequest.cpp:
  15403. (WebCore::XMLHttpRequest::send):
  15404. (WebCore::XMLHttpRequest::sameOriginRequest):
  15405. (WebCore::XMLHttpRequest::loadRequestSynchronously):
  15406. (WebCore::XMLHttpRequest::loadRequestAsynchronously):
  15407. * xml/XMLHttpRequest.h:
  15408. 2008-05-16 Anders Carlsson <andersca@apple.com>
  15409. Reviewed by Mitz.
  15410. Copy appcache headers.
  15411. * WebCore.vcproj/WebCore.vcproj:
  15412. 2008-05-16 Antti Koivisto <antti@apple.com>
  15413. Reviewed by Anders.
  15414. Fix <rdar://problem/5934400>
  15415. Movie controller does not update on first load of http://www.apple.com/getamac/ads/
  15416. The issue is that we execute scripts while there are still pending stylesheet loads.
  15417. If the script depends on a stylesheet having been applied it may fail.
  15418. This will make external script execution block on external stylesheet loads. A full
  15419. fix (as discussed with Hyatt) will also need to block inline script execution.
  15420. Test: http/tests/local/stylesheet-and-script-load-order-http.html
  15421. * html/HTMLTokenizer.cpp:
  15422. (WebCore::HTMLTokenizer::notifyFinished):
  15423. 2008-05-16 chris fleizach <cfleizach@apple.com>
  15424. Reviewed by Jon Honeycutt
  15425. <rdar://problem/5582483> Mail compose area needs to allow AXValue to be settable
  15426. * page/AccessibilityRenderObject.cpp:
  15427. (WebCore::AccessibilityRenderObject::isReadOnly):
  15428. (WebCore::AccessibilityRenderObject::canSetValueAttribute):
  15429. 2008-05-16 Stephanie Lewis <slewis@apple.com>
  15430. Reviewed by Maciej.
  15431. track onbeforeunlaod event counts. Pretty much identical to unload event tracking.
  15432. Also rename methods from onunload tracking to be more clear.
  15433. increment/decrement event counts when onunload and onbeforeunload events are added/removed
  15434. * dom/Document.cpp:
  15435. (WebCore::Document::removeHTMLWindowEventListener):
  15436. (WebCore::Document::addWindowEventListener):
  15437. (WebCore::Document::removeWindowEventListener):
  15438. (WebCore::Document::addPendingFrameUnloadEventCount):
  15439. (WebCore::Document::removePendingFrameUnloadEventCount):
  15440. (WebCore::Document::addPendingFrameBeforeUnloadEventCount):
  15441. (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
  15442. * dom/Document.h:
  15443. clear onunload count after unload events are dispatched
  15444. * loader/FrameLoader.cpp:
  15445. (WebCore::FrameLoader::stopLoading):
  15446. track onunload and onbeforeunload event counts for each frame
  15447. * page/EventHandler.cpp:
  15448. (WebCore::EventHandler::EventHandler):
  15449. (WebCore::EventHandler::addPendingFrameUnloadEventCount):
  15450. (WebCore::EventHandler::removePendingFrameUnloadEventCount):
  15451. (WebCore::EventHandler::clearPendingFrameUnloadEventCount):
  15452. (WebCore::EventHandler::pendingFrameBeforeUnloadEventCount):
  15453. (WebCore::EventHandler::addPendingFrameBeforeUnloadEventCount):
  15454. (WebCore::EventHandler::removePendingFrameBeforeUnloadEventCount):
  15455. (WebCore::EventHandler::clearPendingFrameBeforeUnloadEventCount):
  15456. * page/EventHandler.h:
  15457. clear unbeforeunload count after unbeforeunload events are detached
  15458. * page/Frame.cpp:
  15459. (WebCore::Frame::shouldClose):
  15460. track total event count at page level
  15461. * page/Page.cpp:
  15462. (WebCore::Page::Page):
  15463. (WebCore::Page::changePendingUnloadEventCount):
  15464. (WebCore::Page::pendingBeforeUnloadEventCount):
  15465. (WebCore::Page::changePendingBeforeUnloadEventCount):
  15466. * page/Page.h:
  15467. 2008-05-16 Anders Carlsson <andersca@apple.com>
  15468. Reviewed by Mitz.
  15469. <rdar://problem/5787788>
  15470. REGRESSION: fast/loader/xmlhttprequest-missing-file-exception.html fails on Windows.
  15471. Replicate the Mac behavior when a sync load fails.
  15472. * platform/network/cf/ResourceHandleCFNet.cpp:
  15473. (WebCore::ResourceHandle::loadResourceSynchronously):
  15474. 2008-05-16 Anders Carlsson <andersca@apple.com>
  15475. Reviewed by Brady.
  15476. Parse and set the headers on the response.
  15477. * loader/appcache/ApplicationCacheStorage.cpp:
  15478. (WebCore::ApplicationCacheStorage::store):
  15479. (WebCore::parseHeader):
  15480. (WebCore::parseHeaders):
  15481. (WebCore::ApplicationCacheStorage::loadCache):
  15482. 2008-05-16 Timothy Hatcher <timothy@apple.com>
  15483. Adds the "this" object to the Local scope section of the
  15484. Scope Variables pane.
  15485. <rdar://problem/5774773> Web Inspector doesn't show the "this"
  15486. object in its variables list (10438)
  15487. Reviewed by Oliver Hunt.
  15488. * bindings/js/JSJavaScriptCallFrameCustom.cpp:
  15489. (WebCore::JSJavaScriptCallFrame::thisObject): Returns the thisObject
  15490. of the JavaScriptCallFrame impl. Returns jsNull if the impl is invalid.
  15491. * page/JavaScriptCallFrame.cpp:
  15492. (WebCore::JavaScriptCallFrame::thisObject): Return the thisValue from
  15493. the ExecState. Return 0 if m_exec is null.
  15494. * page/JavaScriptCallFrame.h:
  15495. * page/JavaScriptCallFrame.idl: Add thisObject.
  15496. * page/inspector/ObjectPropertiesSection.js:
  15497. (WebInspector.ObjectPropertiesSection): Adds two new arguments.
  15498. The ignoreHasOwnProperty tells the section to show all properties,
  15499. including inherited ones. And extraProperties is an object of
  15500. additional properties to show.
  15501. (WebInspector.ObjectPropertiesSection.prototype): Honor the
  15502. extraProperties and ignoreHasOwnProperty properties.
  15503. * page/inspector/ScopeChainSidebarPane.js:
  15504. (WebInspector.ScopeChainSidebarPane.prototype.update): Add a this
  15505. property to an extra object that is passed to the ObjectPropertiesSection.
  15506. Also pass true for ignoreHasOwnProperty since we want to show all properties.
  15507. 2008-05-16 Anders Carlsson <andersca@apple.com>
  15508. Reviewed by Brady.
  15509. Add mimeType and textEncodingName to the resource table.
  15510. * loader/appcache/ApplicationCacheStorage.cpp:
  15511. (WebCore::ApplicationCacheStorage::openDatabase):
  15512. (WebCore::ApplicationCacheStorage::store):
  15513. (WebCore::ApplicationCacheStorage::loadCache):
  15514. 2008-05-16 Kevin McCullough <kmccullough@apple.com>
  15515. Reviewed by Tim.
  15516. <rdar://problem/5770054> JavaScript profiler (10928)
  15517. Use a Vector instead of a Deque since we don't use the extra capabilities
  15518. of the Deque.
  15519. * page/JavaScriptProfileNode.cpp:
  15520. (WebCore::getChildren):
  15521. (WebCore::toJS):
  15522. 2008-05-16 Anders Carlsson <andersca@apple.com>
  15523. Reviewed by Brady.
  15524. Add a version table to the database.
  15525. * loader/appcache/ApplicationCacheStorage.cpp:
  15526. (WebCore::ApplicationCacheStorage::verifySchemaVersion):
  15527. (WebCore::ApplicationCacheStorage::openDatabase):
  15528. * loader/appcache/ApplicationCacheStorage.h:
  15529. 2008-05-16 Timothy Hatcher <timothy@apple.com>
  15530. Adds the ability to evaluate expressions in the local scope
  15531. of the selected call frame.
  15532. https://bugs.webkit.org/show_bug.cgi?id=19052
  15533. Reviewed by Geoff Garen.
  15534. * bindings/js/JSJavaScriptCallFrameCustom.cpp:
  15535. (WebCore::JSJavaScriptCallFrame::evaluate): Pass the exception
  15536. from evaluate to the calling ExecState.
  15537. * page/JavaScriptCallFrame.cpp:
  15538. (WebCore::JavaScriptCallFrame::evaluate): Added an exception out
  15539. argument. Simplified the code by calling KJS:eval directly.
  15540. * page/JavaScriptCallFrame.h: Change evalutate to take an exception
  15541. out argument.
  15542. * page/inspector/Console.js: Check if the debugger is paused and
  15543. call evaluateInSelectedCallFrame on the Scripts panel.
  15544. * page/inspector/ScriptsPanel.js: Added a paused getter and
  15545. evaluateInSelectedCallFrame which does the evaluation and updates
  15546. the scope variables pane afterwards.
  15547. 2008-05-16 Timothy Hatcher <timothy@apple.com>
  15548. Fixed the bug where the Inspector node highlight would not show
  15549. in the correct place for nodes in frames.
  15550. <rdar://problem/5712834> Elements in iframes are highlighted incorrectly (14408)
  15551. Reviewed by John Sullivan.
  15552. * page/InspectorController.cpp:
  15553. (WebCore::convertFromFrameToMainFrame): Helper function to convert
  15554. IntRect coordinates from one frame to the main frame.
  15555. (WebCore::InspectorController::drawNodeHighlight): Call the
  15556. convertFromFrameToMainFrame helper for all the rects we get from
  15557. the node since they are in the owner frame's coordinate space.
  15558. 2008-05-16 Julien Chaffraix <jchaffraix@webkit.org>
  15559. Reviewed by Eric.
  15560. Preparatory work for bug 9191: JS*ElementWrapperFactory should be autogenerated
  15561. Make video tags use a header guard so that make_names.pl for factory generation.
  15562. - Add video tag guard in HTMLTagNames.in & give an extraDefines parameter to make_names.pl
  15563. when generating HTMLNames.
  15564. - Modify the different build systems to accomodate the new parameter.
  15565. - Small make_names.pl clean up (mainly code generated coding style issue).
  15566. * DerivedSources.make: Add HTML_FLAGS and pass it to make_names.pl
  15567. if it is defined (similar to SVG)
  15568. * GNUmakefile.am: Add HTML_FEATURES & HTML_FLAGS and pass it to
  15569. make_names.pl if HTML_FLAGS is defined.
  15570. * WebCore.pro: Pass $${DEFINES} to make_names.pl.
  15571. * dom/make_names.pl:
  15572. * html/HTMLElement.cpp:
  15573. (WebCore::inlineTagList): Add ENABLE(VIDEO) guard.
  15574. * html/HTMLTagNames.in: Ditto.
  15575. 2008-05-16 Anders Carlsson <andersca@apple.com>
  15576. Reviewed by Mitz.
  15577. Fire progress events.
  15578. * loader/appcache/ApplicationCacheGroup.cpp:
  15579. (WebCore::ApplicationCacheGroup::startLoadingEntry):
  15580. 2008-05-16 Anders Carlsson <andersca@apple.com>
  15581. Reviewed by John.
  15582. Handle the case where the main resource load is cancelled while the cache attempt is in progress.
  15583. * loader/DocumentLoader.cpp:
  15584. (WebCore::DocumentLoader::mainReceivedError):
  15585. Tell the group that the main resource failed to load.
  15586. * loader/appcache/ApplicationCacheGroup.cpp:
  15587. (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
  15588. Call cacheUpdateFailed.
  15589. (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
  15590. Stop loading if the update failed.
  15591. * loader/appcache/ApplicationCacheGroup.h:
  15592. 2008-05-16 Chris Fleizach <cfleizach@apple.com>
  15593. Reviewed by Alice Liu
  15594. <rdar://problem/5710317> REGRESSION:Selecting ranges of text should be possible using the keyboard (15310)
  15595. * WebCore.base.exp:
  15596. * editing/VisiblePosition.cpp:
  15597. (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
  15598. (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
  15599. * page/AXObjectCache.cpp:
  15600. * page/AXObjectCache.h:
  15601. (WebCore::AXObjectCache::enableEnhancedUserInterfaceAccessibility):
  15602. (WebCore::AXObjectCache::accessibilityEnabled):
  15603. (WebCore::AXObjectCache::accessibilityEnhancedUserInterfaceEnabled):
  15604. * page/AccessibilityRenderObject.cpp:
  15605. (WebCore::AccessibilityRenderObject::visiblePositionRange):
  15606. (WebCore::AccessibilityRenderObject::doSetAXSelectedTextMarkerRange):
  15607. (WebCore::AccessibilityRenderObject::addChildren):
  15608. (WebCore::AccessibilityRenderObject::actionVerb):
  15609. * page/EventHandler.cpp:
  15610. (WebCore::EventHandler::handleKeyboardSelectionMovement):
  15611. (WebCore::EventHandler::defaultKeyboardEventHandler):
  15612. * page/EventHandler.h:
  15613. 2008-05-15 Ariya Hidayat <ariya.hidayat@trolltech.com>
  15614. Reviewed by Simon.
  15615. Since WebKitGtk is fully using autotools now, clean-up the .pro/.pri files
  15616. from gtk-port.
  15617. * WebCore.pro:
  15618. 2008-05-16 Simon Hausmann <hausmann@webkit.org>
  15619. Fix the Gtk build.
  15620. * GNUmakefile.am: Added rendering/style to the include paths.
  15621. 2008-05-16 Simon Hausmann <hausmann@webkit.org>
  15622. Fix the Qt build.
  15623. * WebCore.pro: Added rendering/style to the include paths
  15624. * page/AXObjectCache.cpp:
  15625. (WebCore::AXObjectCache::handleActiveDescendantChanged): Don't compile
  15626. this method unless a17n is enabled.
  15627. 2008-05-15 Rob Buis <buis@kde.org>
  15628. Reviewed by Dave Hyatt.
  15629. https://bugs.webkit.org/show_bug.cgi?id=17433
  15630. getComputedStyle() -> clip returns empty string
  15631. Make getComputedStyle return a shape value for clip
  15632. if it is set.
  15633. Tests: fast/css/getPropertyValue-clip.html
  15634. * css/CSSComputedStyleDeclaration.cpp:
  15635. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  15636. 2008-05-15 Kevin Ollivier <kevino@theolliviers.com>
  15637. wx build fix. Add rendering/style to includes dir.
  15638. * webcore-base.bkl:
  15639. 2008-05-15 Alice Liu <alice.liu@apple.com>
  15640. Reviewed by Beth Dakin.
  15641. Fixed <rdar://problem/5882283> Implement ARIA aria-activedescendant
  15642. Also added support for aria roles listbox and option, and aria-selected,
  15643. and aria-multiselectable for listboxes
  15644. * dom/Element.cpp:
  15645. (WebCore::Element::attributeChanged):
  15646. * dom/Element.h:
  15647. * dom/StyledElement.cpp:
  15648. (WebCore::StyledElement::attributeChanged):
  15649. * html/HTMLAttributeNames.in:
  15650. * page/AXObjectCache.cpp:
  15651. (WebCore::AXObjectCache::handleActiveDescendantChanged):
  15652. * page/AXObjectCache.h:
  15653. (WebCore::AXObjectCache::accessibilityEnabled):
  15654. (WebCore::AXObjectCache::handleActiveDescendantChanged):
  15655. * page/AccessibilityListBox.cpp:
  15656. (WebCore::AccessibilityListBox::selectedChildren):
  15657. (WebCore::AccessibilityListBox::visibleChildren):
  15658. * page/AccessibilityListBox.h:
  15659. * page/AccessibilityListBoxOption.h:
  15660. (WebCore::AccessibilityListBoxOption::selectedChildren):
  15661. (WebCore::AccessibilityListBoxOption::visibleChildren):
  15662. * page/AccessibilityObject.cpp:
  15663. * page/AccessibilityObject.h:
  15664. (WebCore::AccessibilityObject::isListBox):
  15665. (WebCore::AccessibilityObject::shouldFocusActiveDescendant):
  15666. (WebCore::AccessibilityObject::activeDescendant):
  15667. (WebCore::AccessibilityObject::handleActiveDescendantChanged):
  15668. * page/AccessibilityRenderObject.cpp:
  15669. (WebCore::AccessibilityRenderObject::title):
  15670. (WebCore::AccessibilityRenderObject::accessibilityShouldUseUniqueId):
  15671. (WebCore::AccessibilityRenderObject::focusedUIElement):
  15672. (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant):
  15673. (WebCore::AccessibilityRenderObject::activeDescendant):
  15674. (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
  15675. (WebCore::RoleEntry::):
  15676. (WebCore::AccessibilityRenderObject::ariaRoleAttribute):
  15677. (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
  15678. (WebCore::AccessibilityRenderObject::selectedChildren):
  15679. (WebCore::AccessibilityRenderObject::ariaListboxVisibleChildren):
  15680. (WebCore::AccessibilityRenderObject::visibleChildren):
  15681. * page/AccessibilityRenderObject.h:
  15682. (WebCore::AccessibilityRenderObject::isDetached):
  15683. * page/mac/AccessibilityObjectWrapper.mm:
  15684. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  15685. 2008-05-15 Timothy Hatcher <timothy@apple.com>
  15686. Adds an error and warning count indicator at the bottom right in the
  15687. Inspector's status bar.
  15688. https://bugs.webkit.org/show_bug.cgi?id=18650
  15689. Initial implementation by Adam Roben.
  15690. Reviewed by Sam Weinig.
  15691. Test: manual-tests/inspector/error-warning-count.html
  15692. * English.lproj/localizedStrings.js: Added new strings.
  15693. * manual-tests/inspector/error-warning-count.html: Added.
  15694. * page/inspector/Console.js:
  15695. (WebInspector.Console.prototype.show): Don't do anything if visible.
  15696. (WebInspector.Console.prototype.hide): Don't do anything if hidden.
  15697. Temporally set properties and classes to mimic the post-animation
  15698. values so panels like Elements in their updateStatusBarItems call will
  15699. size things to fit the final location.
  15700. * page/inspector/ElementsPanel.js:
  15701. (WebInspector.ElementsPanel.prototype.updateBreadcrumbSizes):
  15702. Account for the #error-warning-count width when sizing breadcrumbs.
  15703. * page/inspector/Resource.js:
  15704. (WebInspector.Resource.prototype.set errors): Update the global error count.
  15705. (WebInspector.Resource.prototype.set warnings): Update the global warning count.
  15706. * page/inspector/inspector.css: Make .hidden's display property
  15707. !important to ensure things really hide, and added styling for the new
  15708. #error-warning-count element.
  15709. * page/inspector/inspector.html: Added an #error-warning-count div
  15710. in the #anchored-status-bar-items div.
  15711. * page/inspector/inspector.js:
  15712. (WebInspector.get errors): Added.
  15713. (WebInspector.set errors): Added. Calls _updateErrorAndWarningCounts.
  15714. (WebInspector.get warnings): Added.
  15715. (WebInspector.set warnings): Added. Calls _updateErrorAndWarningCounts.
  15716. (WebInspector._updateErrorAndWarningCounts): Added. Update the
  15717. #error-warning-count div with the current error/warning count.
  15718. (WebInspector.loaded): Add a click event listener to the
  15719. #error-warning-count element that will show the Console. Call
  15720. _updateErrorAndWarningCounts to display the initial error/warning counts.
  15721. 2008-05-15 Timothy Hatcher <timothy@apple.com>
  15722. Fixes a bug in the view source parsing of text within <script>,
  15723. <style>, <xmp>, <textarea> and other special tags. The text was
  15724. being parsed as HTML and would be syntax highlighted if a "<"
  15725. was encountered.
  15726. <rdar://problem/5790805> Inspector's source view missing some words,
  15727. doubles others in JS source in <script> tag (17752)
  15728. Reviewed by Dave Hyatt.
  15729. Added test: fast/frames/viewsource-plain-text-tags.html
  15730. * html/HTMLTokenizer.cpp:
  15731. (WebCore::HTMLTokenizer::scriptHandler): Set scriptCodeSize and
  15732. scriptCodeResync to zero before an early return in view source mode.
  15733. This was causing text from a previous script tag to show up in
  15734. then next style tag.
  15735. (WebCore::HTMLTokenizer::parseTag): Enter an if block in view source
  15736. mode even if n is null. The n is property guarded in other places
  15737. and not used by view source mode. Removes a redundant null check on n.
  15738. Add a new null check of n before setting scriptSrcCharset. Other code
  15739. in HTMLTokenizer is already guarded for this code path.
  15740. 2008-05-15 Timothy Hatcher <timothy@apple.com>
  15741. Changes the Web Inspector node highlight to be less aggressive
  15742. and only highlight when hovering over the selected node in the DOM
  15743. tree or breadcrumbs. You can highlight on hover for any node if
  15744. you hold down the Alt/Option key while hovering.
  15745. Reviewed by Kevin McCullough.
  15746. * page/inspector/ElementsPanel.js:
  15747. * page/inspector/inspector.js:
  15748. 2008-05-15 Stephanie Lewis <slewis@apple.com>
  15749. Fix windows build
  15750. * loader/FrameLoader.cpp:
  15751. (WebCore::FrameLoader::stopLoading):
  15752. 2008-05-15 Stephanie Lewis <slewis@apple.com>
  15753. Reviewed by Anders.
  15754. export a symbol needed for fast teardown
  15755. * WebCore.base.exp:
  15756. 2008-05-15 Stephanie Lewis <slewis@apple.com>
  15757. Reviewed by Anders.
  15758. Keep track on pending unload event counts
  15759. No change in behavior so no new tests, but I am dumping the
  15760. unload event count to track the new variable.
  15761. * WebCore.base.exp:
  15762. increment/decrement the count when an event is added/removed
  15763. * dom/Document.cpp:
  15764. (WebCore::Document::removeHTMLWindowEventListener):
  15765. (WebCore::Document::addWindowEventListener):
  15766. (WebCore::Document::removeWindowEventListener):
  15767. (WebCore::Document::setPendingFrameUnloadEventCount):
  15768. * dom/Document.h:
  15769. set the count to 0 for each frame after the unload event has been dispatched
  15770. * loader/FrameLoader.cpp:
  15771. (WebCore::FrameLoader::stopLoading):
  15772. keep track of the number of pending unload events for the eventHandler's frame
  15773. * page/EventHandler.cpp:
  15774. (WebCore::EventHandler::EventHandler):
  15775. (WebCore::EventHandler::pendingFrameUnloadEventCount):
  15776. (WebCore::EventHandler::setPendingFrameUnloadEventCount):
  15777. * page/EventHandler.h:
  15778. keep track of the total number of pending unload events for all of the frames
  15779. * page/Page.cpp:
  15780. (WebCore::Page::Page):
  15781. (WebCore::Page::pendingUnloadEventCount):
  15782. (WebCore::Page::setPendingUnloadEventCount):
  15783. * page/Page.h:
  15784. 2008-05-15 Steve Falkenburg <sfalken@apple.com>
  15785. Fix build.
  15786. * WebCore.vcproj/WebCore.vcproj:
  15787. 2008-05-15 Steve Falkenburg <sfalken@apple.com>
  15788. Fix build.
  15789. * WebCore.vcproj/WebCore.vcproj:
  15790. 2008-05-15 Steve Falkenburg <sfalken@apple.com>
  15791. Fix build.
  15792. * WebCore.vcproj/WebCore.vcproj:
  15793. 2008-05-15 David Kilzer <ddkilzer@apple.com>
  15794. Bug 19085: font-family: initial sets font-family differently than font: initial
  15795. <https://bugs.webkit.org/show_bug.cgi?id=19085>
  15796. <rdar://problem/5939391>
  15797. Reviewed by David Hyatt.
  15798. Test: fast/css/font-family-initial.html
  15799. * css/CSSStyleSelector.cpp:
  15800. (WebCore::CSSStyleSelector::applyProperty): Don't set family if first
  15801. family of initial font description is empty.
  15802. 2008-05-15 David Hyatt <hyatt@apple.com>
  15803. Move RenderStyle into a new subdirectory, rendering/style/, in preparation for breaking it up into
  15804. a bunch of smaller files.
  15805. Reviewed by Dan Bernstein
  15806. * GNUmakefile.am:
  15807. * WebCore.pro:
  15808. * WebCore.vcproj/WebCore.vcproj:
  15809. * WebCore.xcodeproj/project.pbxproj:
  15810. * WebCoreSources.bkl:
  15811. * rendering/RenderStyle.cpp: Removed.
  15812. * rendering/RenderStyle.h: Removed.
  15813. * rendering/style: Added.
  15814. * rendering/style/RenderStyle.cpp: Copied from rendering/RenderStyle.cpp.
  15815. * rendering/style/RenderStyle.h: Copied from rendering/RenderStyle.h.
  15816. 2008-05-15 David Kilzer <ddkilzer@apple.com>
  15817. Fix leaks when stopping a page from loading
  15818. Patch suggested by Antti. Reviewed by Antti.
  15819. * loader/DocLoader.cpp:
  15820. (WebCore::DocLoader::clearPreloads): If a resource is in m_preloads but
  15821. never made it to the cache, delete it to prevent it from leaking.
  15822. 2008-05-15 Julien Chaffraix <jchaffraix@webkit.org>
  15823. Reviewed by Darin.
  15824. https://bugs.webkit.org/show_bug.cgi?id=13942
  15825. ASSERTION FAILED: !attrName.contains('/') in HTMLTokenizer.cpp:132 when loading http://bamanzi.blogeden.cn/
  15826. In HTML, when an attribute was null (for example when we parse '="somevalue"'
  15827. (attribute forgotten or there is a space between the attribute and the '=')),
  15828. the fallback was to assign the value to the attribute. However if the value was
  15829. a url or did contain a '/', we would trigger the assertion.
  15830. To avoid that, we check the value before assigning it now and do not assign it
  15831. if it means adding a '/'.
  15832. Test: fast/parser/assertion-empty-attribute.html
  15833. * html/HTMLTokenizer.cpp:
  15834. (WebCore::HTMLTokenizer::parseTag): Add check for '/' in value before
  15835. assigning it to an attribute when the attribute is null.
  15836. 2008-05-15 Kevin Ollivier <kevino@theolliviers.com>
  15837. wx build fix for recent breakages. Add EventLoopWx.cpp, update the Bakefiles,
  15838. and add stubs for new Plugins functions. Also move plugin functions outside of
  15839. TemporaryLinkStubs.cpp so that they are more noticeable.
  15840. * WebCoreSources.bkl:
  15841. * platform/wx/EventLoopWx.cpp: Added.
  15842. (WebCore::EventLoop::cycle):
  15843. * platform/wx/TemporaryLinkStubs.cpp:
  15844. * plugins/wx: Added.
  15845. * plugins/wx/PluginDataWx.cpp: Added.
  15846. (WebCore::PluginData::initPlugins):
  15847. (WebCore::PluginData::refresh):
  15848. * plugins/wx/PluginDatabaseWx.cpp: Added.
  15849. (WebCore::PluginDatabase::getPluginPathsInDirectories):
  15850. (WebCore::PluginDatabase::defaultPluginDirectories):
  15851. (WebCore::PluginDatabase::isPreferredPluginDirectory):
  15852. * plugins/wx/PluginPackageWx.cpp: Added.
  15853. (WebCore::PluginPackage::determineQuirks):
  15854. (WebCore::PluginPackage::fetchInfo):
  15855. (WebCore::PluginPackage::load):
  15856. (WebCore::PluginPackage::hash):
  15857. (WebCore::PluginPackage::equal):
  15858. (WebCore::PluginPackage::compareFileVersion):
  15859. * plugins/wx/PluginViewWx.cpp: Added.
  15860. (WebCore::PluginView::updateWindow):
  15861. (WebCore::PluginView::setFocus):
  15862. (WebCore::PluginView::show):
  15863. (WebCore::PluginView::hide):
  15864. (WebCore::PluginView::paint):
  15865. (WebCore::PluginView::handleKeyboardEvent):
  15866. (WebCore::PluginView::handleMouseEvent):
  15867. (WebCore::PluginView::setParent):
  15868. (WebCore::PluginView::setNPWindowRect):
  15869. (WebCore::PluginView::attachToWindow):
  15870. (WebCore::PluginView::detachFromWindow):
  15871. (WebCore::PluginView::stop):
  15872. (WebCore::PluginView::userAgent):
  15873. (WebCore::PluginView::handlePostReadFile):
  15874. (WebCore::PluginView::getValue):
  15875. (WebCore::PluginView::invalidateRect):
  15876. (WebCore::PluginView::invalidateRegion):
  15877. (WebCore::PluginView::forceRedraw):
  15878. (WebCore::PluginView::~PluginView):
  15879. (WebCore::PluginView::init):
  15880. * webcore-wx.bkl:
  15881. 2008-05-15 Adam Treat <treat@kde.org>
  15882. Reviewed by Simon.
  15883. Don't try to setCompositionMode for devices that do not support PorterDuff
  15884. * platform/graphics/qt/GraphicsContextQt.cpp:
  15885. (WebCore::TransparencyLayer::TransparencyLayer):
  15886. (WebCore::GraphicsContext::strokeRect):
  15887. (WebCore::GraphicsContext::clip):
  15888. 2008-05-15 Adele Peterson <adele@apple.com>
  15889. Reviewed and landed by Alexey.
  15890. Use TextIterator in +[NSAttributedString _web_attributedStringFromRange:].
  15891. * WebCore.base.exp: Exported TextIterator methods.
  15892. 2008-05-15 Simon Hausmann <hausmann@webkit.org>
  15893. Fix the Qt build by adding NetworkStateNotifier.cpp to the build.
  15894. * WebCore.pro:
  15895. 2008-05-14 Dan Bernstein <mitz@apple.com>
  15896. Reviewed by Mark Rowe.
  15897. - fix <rdar://problem/5907633> Memory corruption after closing a document that uses box-reflect
  15898. Test: fast/reflections/teardown-crash.html
  15899. * rendering/RenderLayer.cpp:
  15900. (WebCore::RenderLayer::~RenderLayer): Changed to not call removeLayers()
  15901. on the reflection if the document is being destroyed, because in that
  15902. case the layer tree is not being maintained.
  15903. 2008-05-14 Kevin McCullough <kmccullough@apple.com>
  15904. Reviewed by Tim.
  15905. <rdar://problem/5770054> JavaScript profiler (10928)
  15906. - Expose the new Profiler functions to the WebInspector.
  15907. * page/JavaScriptProfileNode.cpp:
  15908. (WebCore::getTotalPercent):
  15909. (WebCore::getSelfPercent):
  15910. (WebCore::ProfileNodeClass):
  15911. 2008-05-14 Timothy Hatcher <timothy@apple.com>
  15912. Fixes a crash in JavaScriptDebugServer::returnEvent when debugging
  15913. code that contains an eval. This change makes stepping into eval
  15914. code work as expected.
  15915. http://bugs.webkit.org/show_bug.cgi?id=19038
  15916. Reviewed by Kevin McCullough.
  15917. Tested with: manual-tests/inspector/returnEvent-crash.html
  15918. * manual-tests/inspector/returnEvent-crash.html: Added.
  15919. * page/JavaScriptDebugServer.cpp:
  15920. (WebCore::JavaScriptDebugServer::sourceParsed): Adds #ifdefed
  15921. debugging code to prevent the sourceID and URL.
  15922. (WebCore::updateCurrentCallFrame): Added. A helper function that
  15923. is called from all 4 of the debugger hooks below. This function will
  15924. update and/or create JavaScriptCallFrames to match the exec state,
  15925. sourceID and lineNumber passed into it. Contains #ifdefed debugging
  15926. code that was helpful while fixing this bug.
  15927. (WebCore::JavaScriptDebugServer::callEvent): Call updateCurrentCallFrame
  15928. before pauseIfNeeded.
  15929. (WebCore::JavaScriptDebugServer::atStatement): Ditto.
  15930. (WebCore::JavaScriptDebugServer::returnEvent): Ditto.
  15931. (WebCore::JavaScriptDebugServer::exception): Ditto.
  15932. 2008-05-14 Alp Toker <alp@nuanti.com>
  15933. GTK+ build fix for r33457. Add NetworkStateNotifier.cpp to the build.
  15934. * GNUmakefile.am:
  15935. 2008-05-14 Alp Toker <alp@nuanti.com>
  15936. GTK+ build fix. Include value.h from kjs, not JavaScriptCore.
  15937. * page/JavaScriptProfile.cpp:
  15938. * page/JavaScriptProfileNode.cpp:
  15939. 2008-05-14 Adam Roben <aroben@apple.com>
  15940. Windows release build fix
  15941. * WebCore.vcproj/WebCore.vcproj: Make sure the warnings we disable on
  15942. XPathGrammar.cpp are disabled for all configurations, not just
  15943. Debug_Internal.
  15944. 2008-05-14 Kevin McCullough <kmccullough@apple.com>
  15945. Reviewed by Sam.
  15946. <rdar://problem/5770054> JavaScript profiler (10928)
  15947. - Rename FunctionCallProfile to ProfileNode
  15948. * ForwardingHeaders/profiler/FunctionCallProfile.h: Removed.
  15949. * ForwardingHeaders/profiler/ProfileNode.h: Copied from ForwardingHeaders/profiler/FunctionCallProfile.h.
  15950. * GNUmakefile.am:
  15951. * WebCore.pro:
  15952. * WebCore.vcproj/WebCore.vcproj:
  15953. * WebCore.xcodeproj/project.pbxproj:
  15954. * WebCoreSources.bkl:
  15955. * page/JavaScriptFunctionCallProfile.cpp: Removed.
  15956. * page/JavaScriptFunctionCallProfile.h: Removed.
  15957. * page/JavaScriptProfile.cpp:
  15958. * page/JavaScriptProfileNode.cpp: Copied from page/JavaScriptFunctionCallProfile.cpp.
  15959. (WebCore::ProfileNodeCache):
  15960. (WebCore::getFunctionName):
  15961. (WebCore::getTotalTime):
  15962. (WebCore::getSelfTime):
  15963. (WebCore::getNumberOfCalls):
  15964. (WebCore::getChildren):
  15965. (WebCore::finalize):
  15966. (WebCore::ProfileNodeClass):
  15967. (WebCore::toJS):
  15968. * page/JavaScriptProfileNode.h: Copied from page/JavaScriptFunctionCallProfile.h.
  15969. 2008-05-13 Beth Dakin <bdakin@apple.com>
  15970. Reviewed by Brady.
  15971. This patch adds support for the ARIA progressbar role and the
  15972. following ARIA states (ie HTML attributes): aria-checked, aria-
  15973. level, aria-pressed, aria-valuenow, aria-valuemin, and aria-
  15974. valuemax.
  15975. * html/HTMLAttributeNames.in:
  15976. * page/AccessibilityObject.h:
  15977. (WebCore::AccessibilityObject::isProgressIndicator):
  15978. (WebCore::AccessibilityObject::valueForRange):
  15979. (WebCore::AccessibilityObject::maxValueForRange):
  15980. (WebCore::AccessibilityObject::minValueForRange):
  15981. * page/AccessibilityRenderObject.cpp:
  15982. (WebCore::AccessibilityRenderObject::isProgressIndicator):
  15983. (WebCore::AccessibilityRenderObject::isPressed): Check the aria-
  15984. pressed attribute if this is an ARIA button.
  15985. (WebCore::AccessibilityRenderObject::headingLevel): Check the aria-
  15986. level attribute if this is an ARIA heading.
  15987. (WebCore::AccessibilityRenderObject::intValue): Check the aria-
  15988. checked attribute if this is an ARIA radio button or checkbox.
  15989. (WebCore::AccessibilityRenderObject::valueForRange):
  15990. (WebCore::AccessibilityRenderObject::maxValueForRange):
  15991. (WebCore::AccessibilityRenderObject::minValueForRange):
  15992. (WebCore::RoleEntry::):
  15993. (WebCore::AccessibilityRenderObject::canSetValueAttribute):
  15994. * page/AccessibilityRenderObject.h:
  15995. * page/mac/AccessibilityObjectWrapper.mm:
  15996. (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
  15997. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  15998. 2008-05-14 Kevin McCullough <kmccullough@apple.com>
  15999. Reviewed by John.
  16000. -<rdar://problem/5770054> JavaScript profiler (10928)
  16001. Use the FunctionCallProfile's new total and self time functions.
  16002. * page/JavaScriptFunctionCallProfile.cpp:
  16003. (WebCore::getTotalTime):
  16004. (WebCore::getSelfTime):
  16005. 2008-05-14 Anders Carlsson <andersca@apple.com>
  16006. Reviewed by Adam.
  16007. Don't try to store the resource data if it's empty.
  16008. * loader/appcache/ApplicationCacheStorage.cpp:
  16009. (WebCore::ApplicationCacheStorage::store):
  16010. 2008-05-14 Adam Roben <aroben@apple.com>
  16011. Windows build fix
  16012. * platform/network/NetworkStateNotifier.cpp: Added a missing #include.
  16013. * platform/network/NetworkStateNotifier.h:
  16014. (WebCore::NetworkStateNotifier::NetworkStateNotifier): Removed 'void'
  16015. return type from the constructor, and fixed the spelling of a member
  16016. variable.
  16017. 2008-05-14 Kevin McCullough <kmccullough@apple.com>
  16018. Reviewed by Adam.
  16019. <rdar://problem/5770054> JavaScript profiler (10928)
  16020. - Add support for interacting with the JavaScriptCore profiler.
  16021. * ForwardingHeaders/profiler/FunctionCallProfile.h: Added.
  16022. * ForwardingHeaders/profiler/Profile.h: Added.
  16023. * GNUmakefile.am: Add the new files to all the projects.
  16024. * WebCore.pro:
  16025. * WebCore.vcproj/WebCore.vcproj:
  16026. * WebCore.xcodeproj/project.pbxproj:
  16027. * WebCoreSources.bkl:
  16028. * page/InspectorController.cpp: Add the ability to retrieve all of the
  16029. profiles in JavaScript from the InspectorController.
  16030. (WebCore::allProfiles):
  16031. (WebCore::InspectorController::windowScriptObjectAvailable):
  16032. * page/JavaScriptFunctionCallProfile.cpp: Added. Wrapper around the JSC
  16033. FunctionCallProfile.
  16034. (WebCore::functionCallProfileCache): This cache makes sure we don't
  16035. needlessly create duplicate wrappers around the same
  16036. FunctionCallProfile*.
  16037. (WebCore::getFunctionName): Callback to return the name of the function.
  16038. (WebCore::getTotalTime): Callback to return the total time spent in the
  16039. function.
  16040. (WebCore::getSelfTime): Callback to return the time spent in self (total
  16041. - time in children) in the function.
  16042. (WebCore::getNumberOfCalls): Callback to return the number of times this
  16043. function was called.
  16044. (WebCore::getChildren): Callback to return the children of this function
  16045. where the children are the functions this function called.
  16046. (WebCore::finalize): Cleanup.
  16047. (WebCore::functionCallProfileClass): Define the JSClassRef for this
  16048. object.
  16049. (WebCore::toJS): Create a conversion function to make a usable JSValue
  16050. to wrap the FunctionCallProfile in JSC.
  16051. * page/JavaScriptFunctionCallProfile.h: Added.
  16052. * page/JavaScriptProfile.cpp: Added. Wrapper around the JSC Profile.
  16053. (WebCore::profileCache): This cache makes sure we don't needlessly
  16054. create duplicate wrappers aroudn the same Profile*.
  16055. (WebCore::getHeadCallback): Callback to return the head of the graph of
  16056. the functions profiled durring this profile's run.
  16057. (WebCore::finalize):
  16058. (WebCore::profileClass): Define the JSClassRef for this object.
  16059. (WebCore::toJS): Create a conversion function to make a usable JSValue
  16060. to wrap the Profile from JSC.
  16061. * page/JavaScriptProfile.h: Added.
  16062. 2008-05-14 David Hyatt <hyatt@apple.com>
  16063. Fix for bug https://bugs.webkit.org/show_bug.cgi?id=16130.
  16064. Opacity, transforms, reflections and masks should not honor z-index unless the element is also
  16065. positioned. Always reset to auto if the element is not positioned (and then the following code will
  16066. adjust auto to 0 as needed).
  16067. Reviewed by Dan Bernstein
  16068. * css/CSSStyleSelector.cpp:
  16069. (WebCore::CSSStyleSelector::adjustRenderStyle):
  16070. 2008-05-14 Anders Carlsson <andersca@apple.com>
  16071. Reviewed by Brady.
  16072. <rdar://problem/5931742> Support navigator.onLine from HTML5
  16073. * WebCore.vcproj/WebCore.vcproj:
  16074. * WebCore.xcodeproj/project.pbxproj:
  16075. Add NetworkStateNotifier files.
  16076. * dom/EventNames.h:
  16077. Add offline and online events.
  16078. * page/Navigator.cpp:
  16079. (WebCore::Navigator::onLine):
  16080. * page/Navigator.h:
  16081. * page/Navigator.idl:
  16082. Add navigator.onLine.
  16083. * page/Page.cpp:
  16084. (WebCore::networkStateChanged):
  16085. Dispatch offline/online events to all frames.
  16086. (WebCore::Page::Page):
  16087. Set state change callback.
  16088. * platform/network/NetworkStateNotifier.cpp: Added.
  16089. * platform/network/NetworkStateNotifier.h: Added.
  16090. * platform/network/mac/NetworkStateNotifierMac.cpp: Added.
  16091. Mac network state notifier.
  16092. 2008-05-14 Adam Roben <aroben@apple.com>
  16093. Fix Bug 18888: REGRESSION (r32731): console.log always prints
  16094. "undefined"
  16095. <https://bugs.webkit.org/show_bug.cgi?id=18888>
  16096. Reviewed by Tim Hatcher.
  16097. Tested by pre-existing
  16098. manual-tests/inspector/console-log-formatting.html.
  16099. * page/inspector/Console.js:
  16100. (WebInspector.ConsoleMessage.prototype._format): Changed to explicitly
  16101. wrap Console._format instead of using bind to do it. Using bind was
  16102. causing us to pass plainText in as the first parameter instead of as
  16103. the second.
  16104. 2008-05-14 Timothy Hatcher <timothy@apple.com>
  16105. Fixes the bug where stepping out of a function would show the wrong
  16106. call stack (would look like it stepped out twice.)
  16107. Reviewed by Adam Roben.
  16108. * page/JavaScriptDebugServer.cpp:
  16109. (WebCore::JavaScriptDebugServer::returnEvent):
  16110. Call pauseIfNeeded before setting m_currentCallFrame to the caller.
  16111. 2008-05-14 Stephanie Lewis <slewis@apple.com>
  16112. Fix 64bit build
  16113. * plugins/PluginView.h:
  16114. 2008-05-14 David Kilzer <ddkilzer@apple.com>
  16115. REGRESSION (r26474): WebKit fails jQuery test 64 core module: text(String) subtest 1 Check escaped text (createTextNode)
  16116. <https://bugs.webkit.org/show_bug.cgi?id=18976>
  16117. <rdar://problem/5924793>
  16118. Reviewed by Darin.
  16119. Tests: fast/dom/dom-parse-serialize-expected.txt:
  16120. fast/xsl/xslt-processor-expected.txt:
  16121. fast/xsl/xslt-text-expected.txt:
  16122. Commit r26474 removed escaping of '>' characters to '&gt;' in serialized
  16123. HTML content, which broke one jQuery test. This change restores that
  16124. serialization behavior to both attributes and content for consistency.
  16125. * editing/markup.cpp:
  16126. (WebCore::appendAttributeValue): Escape '>' as '&gt;'.
  16127. (WebCore::escapeContentText): Ditto.
  16128. (WebCore::appendEscapedContent): Ditto. This is the bug fix for the jQuery test.
  16129. 2008-05-14 Adam Roben <aroben@apple.com>
  16130. Fix Bug 19051: REGRESSION (r33447): Assertion in
  16131. JSDebugServer::removeListener closing tab with Inspector open
  16132. <https://bugs.webkit.org/show_bug.cgi?id=19051>
  16133. m_inspectedPage is now cleared when the Page is destroyed, which never
  16134. used to happen. Some of InspectorController's code was not prepared
  16135. for this.
  16136. Reviewed by Dave Hyatt.
  16137. * page/InspectorController.cpp:
  16138. (WebCore::InspectorController::~InspectorController): Removed a call
  16139. to stopDebugging and added an assertion. Debugging should have already
  16140. been stopped by this point.
  16141. (WebCore::InspectorController::inspectedPageDestroyed): Moved here
  16142. from the header file. Added a call to stopDebugging.
  16143. (WebCore::InspectorController::enabled): Return false if our inspected
  16144. Page has already been destroyed, since we can't really do much at this
  16145. point anyway.
  16146. (WebCore::InspectorController::didCommitLoad):
  16147. (WebCore::InspectorController::didLoadResourceFromMemoryCache):
  16148. (WebCore::InspectorController::identifierForInitialRequest):
  16149. (WebCore::InspectorController::startDebuggingAndReloadInspectedPage):
  16150. (WebCore::InspectorController::stopDebugging):
  16151. (WebCore::InspectorController::drawNodeHighlight):
  16152. Assert that m_inspectedPage hasn't been cleared.
  16153. * page/InspectorController.h:
  16154. 2008-05-14 Justin Garcia <justin.garcia@apple.com>
  16155. Reviewed by Darin.
  16156. <rdar://problem/5914803> Improve performance of WebCore::Editor::setComposition
  16157. * editing/Editor.cpp:
  16158. (WebCore::Editor::confirmComposition): Remove the previous composition
  16159. when we insert the new one, not with a separate, slower, delete operation.
  16160. (WebCore::Editor::setComposition): Ditto.
  16161. * editing/InsertTextCommand.cpp:
  16162. (WebCore::InsertTextCommand::performTrivialReplace): Remove the selected
  16163. text with a low level operation that doesn't perform a layout and insert
  16164. the new text in a way that won't trigger a layout from the removal.
  16165. (WebCore::InsertTextCommand::input): Call the optimized replace.
  16166. * editing/InsertTextCommand.h:
  16167. * editing/htmlediting.cpp:
  16168. (WebCore::isTabSpanNode): Check to see if the node is a span, to avoid
  16169. the expense of getAttribute in the common case.
  16170. * page/Frame.cpp:
  16171. (WebCore::Frame::selectionLayoutChanged): Selection::start() and end()
  16172. will already be at VisiblePosition deepEquivalents. Selection::validate()
  16173. ensures this.
  16174. 2008-05-14 Adam Roben <aroben@apple.com>
  16175. Make the Inspector able to handle being reloaded
  16176. When Reload was selected from the context menu in the Inspector, the
  16177. Inspector window would close and never be openable again. Now it
  16178. closes, then reopens when the page finishes loading.
  16179. Reviewed by Tim Hatcher.
  16180. * page/InspectorController.cpp:
  16181. (WebCore::InspectorController::close): Removed code that cleared out
  16182. m_page. This is now handled by pageDestroyed.
  16183. * page/InspectorController.h:
  16184. (WebCore::InspectorController::inspectedPageDestroyed): Added.
  16185. * page/Page.cpp:
  16186. (WebCore::Page::~Page): Fixed a bug and added a call to the new
  16187. inspectedPageDestroyed. If we have a parent InspectorController, that
  16188. means that we are the Page in the Inspector's window (i.e., we are the
  16189. Inspector's UI), so when we are destroyed we should call
  16190. InspectorController::pageDestroyed. We also need to call
  16191. inspectedPageDestroyed on our own InspectorController so that it won't
  16192. try to call into us.
  16193. 2008-05-14 Timothy Hatcher <timothy@apple.com>
  16194. Add pause on exception support to the Inspector debugger
  16195. with a toggle buttons to enable or disable it.
  16196. Reviewed by Adam Roben.
  16197. * page/InspectorController.cpp:
  16198. (WebCore::pauseOnExceptions): Call the InspectorController.
  16199. (WebCore::setPauseOnExceptions): Ditto.
  16200. (WebCore::InspectorController::windowScriptObjectAvailable): Add the new
  16201. setPauseOnExceptions and pauseOnExceptions functions to the JS class.
  16202. (WebCore::InspectorController::pauseOnExceptions): Call JavaScriptDebugServer.
  16203. (WebCore::InspectorController::setPauseOnExceptions): Ditto.
  16204. * page/InspectorController.h:
  16205. * page/JavaScriptDebugServer.cpp:
  16206. (WebCore::JavaScriptDebugServer::setPauseOnExceptions): Set m_pauseOnExceptions.
  16207. (WebCore::JavaScriptDebugServer::exception): Check m_pauseOnExceptions
  16208. and set m_pauseOnNextStatement to true before calling pauseIfNeeded.
  16209. * page/JavaScriptDebugServer.h:
  16210. * page/inspector/Images/pauseOnExceptionButtons.png: Added.
  16211. * page/inspector/ScriptsPanel.js: Adds a status bar button that calls
  16212. the new InspectorController functions.
  16213. * page/inspector/inspector.css: New styles.
  16214. 2008-05-14 Timothy Hatcher <timothy@apple.com>
  16215. Rename the Scope Chain pane to Scope Variables. Name the global
  16216. object Global. Name objects before the locals "With Block".
  16217. Name colsure scopes "Closure". Name any element or document
  16218. after Local, "Event Target" and "Event Document", respectfully.
  16219. Reviewed by Adam Roben.
  16220. * English.lproj/localizedStrings.js: Add new strings.
  16221. * page/inspector/ObjectPropertiesSection.js:
  16222. (WebInspector.ObjectPropertiesSection): Add a new argument that is used
  16223. for the empty placeholder text.
  16224. (WebInspector.ObjectPropertiesSection.prototype.onpopulate): Use the
  16225. empty placeholder text.
  16226. * page/inspector/ScopeChainSidebarPane.js:
  16227. (WebInspector.ScopeChainSidebarPane): Rename Scope Chain to Scope Variables.
  16228. (WebInspector.ScopeChainSidebarPane.prototype.update): Use the object name as
  16229. the subtitle. Use "Global" for the global object title. Use "With Block" for
  16230. the title of objects before the locals. Use "No Variables" for the empty
  16231. placeholder text for locals.
  16232. 2008-05-14 Michael A. Puls II <shadow2531@gmail.com>
  16233. Reviewed by Alexey.
  16234. Fix for https://bugs.webkit.org/show_bug.cgi?id=16923
  16235. Attr nodes with a value of "" should not have any childNodes
  16236. In Opera, Firefox and IE, when an attribute node has a value
  16237. of "", the attribute node doesn't have any childNodes. This
  16238. is true in WebKit also, but not when you assign "" to the
  16239. Attr's value when the existing value is non-empty.
  16240. Test: fast/dom/attribute-empty-value-no-children.html
  16241. * dom/Attr.cpp: (WebCore::Attr::setValue): Use createTextChild(), which only appends
  16242. a child text node if the value being assigned is not empty.
  16243. 2008-05-14 Julien Chaffraix <jchaffraix@webkit.org>
  16244. Reviewed by Eric.
  16245. GCC 4.3 build fix.
  16246. Removes some compiler warnings.
  16247. * dom/Document.h:
  16248. (WebCore::FormElementKey::hashTableDeletedValue): GCC complained about the const keyword
  16249. so remove it as it is only used inside FormElementKey.
  16250. * html/HTMLSelectElement.cpp:
  16251. (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Correct coding style (removes
  16252. a warning too).
  16253. * loader/appcache/ApplicationCacheResource.cpp: Include stdio.h for gcc4.3 build.
  16254. * plugins/PluginPackage.cpp:
  16255. (WebCore::PluginPackage::PluginPackage): Changed initialization order in the constructor.
  16256. * plugins/PluginView.cpp:
  16257. (WebCore::PluginView::PluginView): Ditto.
  16258. * plugins/PluginView.h:
  16259. * xml/AccessControlList.cpp: Include stdio.h
  16260. * xml/AccessItem.cpp: Ditto.
  16261. * xml/AccessItemRule.cpp: Ditto.
  16262. 2008-05-14 Ariya Hidayat <ariya.hidayat@trolltech.com>
  16263. Reviewed by Simon.
  16264. Qt build fix. Add JSJavaScriptCallFrameCustom.cpp to the build
  16265. and implemented EventLoopQt.
  16266. * WebCore.pro:
  16267. * platform/qt/EventLoopQt.cpp: Added.
  16268. 2008-05-14 Ariya Hidayat <ariya.hidayat@trolltech.com>
  16269. Reviewed by Simon.
  16270. Qt build fix. Add JavaScriptCallFrame.{idl,cpp} to the build.
  16271. * WebCore.pro:
  16272. 2008-05-13 Dan Bernstein <mitz@apple.com>
  16273. Reviewed by John Sullivan.
  16274. - Windows part of <rdar://problem/5725912> improve render quality of transformed text
  16275. * platform/graphics/win/FontCGWin.cpp:
  16276. (WebCore::Font::drawGlyphs): Added call to
  16277. wkSetCGContextFontRenderingStyle().
  16278. 2008-05-13 Alp Toker <alp@nuanti.com>
  16279. GTK+ build fix. Implement EventLoopGtk.cpp.
  16280. * GNUmakefile.am:
  16281. * platform/gtk/EventLoopGtk.cpp: Added.
  16282. (WebCore::EventLoop::cycle):
  16283. 2008-05-13 Alp Toker <alp@nuanti.com>
  16284. GTK+ build fix. Fix IDL filename typo and add JavaScriptCallFrame.cpp
  16285. to the build.
  16286. * GNUmakefile.am:
  16287. 2008-05-13 Matt Lilek <webkit@mattlilek.com>
  16288. Not reviewed, partial Gtk build fix.
  16289. * GNUmakefile.am:
  16290. 2008-05-13 Timothy Hatcher <timothy@apple.com>
  16291. Fixes a crash when stepping out in the Inspector's debugger.
  16292. http://bugs.webkit.org/show_bug.cgi?id=19037
  16293. Reviewed by Dan Bernstein.
  16294. * page/InspectorController.cpp:
  16295. (WebCore::currentCallFrame): Adds a null check of currentCallFrame,
  16296. since it can be null. Also returns JSNull to better signify this.
  16297. * page/inspector/ScriptsPanel.js: Updates the debugger interface
  16298. when stepping so the currentCallFrame isn't accessed when not paused.
  16299. Adds a _clearInterface function to remove duplicate code.
  16300. 2008-05-13 chris fleizach <cfleizach@apple.com>
  16301. Reviewed by Beth Dakin
  16302. <rdar://problem/5932677> AX: Submit buttons aren't returning AXTitle
  16303. * page/AccessibilityRenderObject.cpp:
  16304. (WebCore::AccessibilityRenderObject::title):
  16305. 2008-05-13 Timothy Hatcher <timothy@apple.com>
  16306. Adds an overlay window that covers the scripts panel and
  16307. informs the user that they need to attach the debugger.
  16308. Provides an "Attach Debugger" button below the info text.
  16309. Reviewed by Dan Bernstein.
  16310. * English.lproj/localizedStrings.js: New strings.
  16311. * page/inspector/ScriptsPanel.js:
  16312. (WebInspector.ScriptsPanel): Create the overlay elements and
  16313. append to the main panel element.
  16314. * page/inspector/inspector.css: New styles for the over lay elements.
  16315. 2008-05-13 Timothy Hatcher <timothy@apple.com>
  16316. Fixes the assertion and crash that would happen when inspecting a element from a frame.
  16317. This change makes JSInspectedObjectWrapper pass unwrapped objects around for global objects
  16318. that share the same page group identifier. Also returns jsUndefined() instead of 0 to prevent
  16319. crashing in release builds if the page groups don't match.
  16320. Passes all the tests in: manual-tests/inspector-wrappers
  16321. Reviewed by Adam Roben.
  16322. * bindings/js/JSInspectedObjectWrapper.cpp:
  16323. (WebCore::JSInspectedObjectWrapper::prepareIncomingValue): Return jsUndefined() instead of 0.
  16324. Call allowsUnwrappedAccessFrom instead of unwrappedExecStateMatches.
  16325. * bindings/js/JSQuarantinedObjectWrapper.cpp:
  16326. (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): Renamed from unwrappedExecStateMatches.
  16327. Return true if the pageGroupIdentifier of both wrappers match.
  16328. (WebCore::JSQuarantinedObjectWrapper::callAsFunction): Return jsUndefined() instead of 0.
  16329. * bindings/js/JSQuarantinedObjectWrapper.h: Renamed unwrappedExecStateMatches to allowsUnwrappedAccessFrom.
  16330. 2008-05-13 Timothy Hatcher <timothy@apple.com>
  16331. Fixes the hang that could happen when option-clicking to expand
  16332. a disclosure triangle in the Properties pane. This change limits
  16333. the recursion depth when expanding the tree elements.
  16334. <rdar://problem/5847681> Safari hangs when option-clicking a
  16335. disclosure triangle in the Inspector's Properties pane
  16336. Reviewed by John Sullivan.
  16337. * page/inspector/treeoutline.js:
  16338. (TreeElement.prototype.expandRecursively): Pass an empty info object to
  16339. traverseNextTreeElement to get the depthChange value. This is used to
  16340. compute a current depth. If the depth exceeds the maxDepth argument, the
  16341. item isn't expanded and children wont be populated when traverseNextTreeElement
  16342. is called until the depth goes below the maxDepth.
  16343. (TreeElement.prototype.traverseNextTreeElement): Added a new info
  16344. argument that can be optionally used to return extra info like depth change.
  16345. 2008-05-13 Timothy Hatcher <timothy@apple.com>
  16346. Adds info text to panes and sections in the Inspector's sidebars
  16347. that would normally be empty. These help the user know why there
  16348. is nothing in these sections.
  16349. Reviewed by John Sullivan.
  16350. * English.lproj/localizedStrings.js: Add strings.
  16351. * page/inspector/BreakpointsSidebarPane.js: Adds "No Breakpoints".
  16352. * page/inspector/CallStackSidebarPane.js: Adds "Not Paused".
  16353. * page/inspector/ObjectPropertiesSection.js: Adds "No Properties".
  16354. * page/inspector/ScopeChainSidebarPane.js: Adds "Not Paused".
  16355. * page/inspector/inspector.css: Adds style rules for the info elements.
  16356. 2008-05-13 Timothy Hatcher <timothy@apple.com>
  16357. Implements the rest of the Scripts panel to get the debugger
  16358. mostly working. "Basic debugging seems to work."
  16359. Reviewed by Geoff Garen.
  16360. * English.lproj/localizedStrings.js: Adds new strings.
  16361. * page/inspector/Resource.js:
  16362. (WebInspector.Resource.prototype.get scripts): Returns _scripts and
  16363. creates it lazily.
  16364. (WebInspector.Resource.prototype.addScript): Add the script object to the
  16365. front of the _scripts array.
  16366. (WebInspector.Resource.prototype.removeAllScripts): Removed all the scripts
  16367. and removes the resource back-reference.
  16368. (WebInspector.Resource.prototype.removeScript): Removes the script and
  16369. breaks the resource back-reference.
  16370. * page/inspector/ResourceView.js:
  16371. (WebInspector.ResourceView): Adds a reminder comment.
  16372. (WebInspector.ResourceView.prototype.get headersVisible): Returns _headersVisible.
  16373. (WebInspector.ResourceView.prototype.set headersVisible): Stubs out
  16374. a setter that currently just sets _headersVisible. Has a comment that
  16375. points out this needs implemented when network headers are added.
  16376. * page/inspector/ResourcesPanel.js:
  16377. (WebInspector.ResourcesPanel.prototype.show): Sets the headersVisible property of
  16378. the visible view to true and shows it again, in case it was being shown in Scripts.
  16379. (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
  16380. Copies the headersVisible property from the old view to the new view.
  16381. (WebInspector.ResourcesPanel.prototype.showResource): Sets the headersVisible
  16382. property to true before showing.
  16383. * page/inspector/ScriptView.js:
  16384. (WebInspector.ScriptView): Passes in _addBreakpoint for the add breakpoint delegate.
  16385. (WebInspector.ScriptView.prototype._addBreakpoint): Calls ScriptsPanel's addBreakpoint
  16386. for the current Script.sourceID and line.
  16387. * page/inspector/ScriptsPanel.js:
  16388. (WebInspector.ScriptsPanel):
  16389. (WebInspector.ScriptsPanel.prototype.show): Sets the headersVisible property of
  16390. the visible view to false and shows it again, in case it was being shown in Resources.
  16391. (WebInspector.ScriptsPanel.prototype.addScript): Makes a new Script object and
  16392. adds it to a Resource if one is found. Registers any breakpoint that match
  16393. the new Script's source URL, and sets the sourceID of the breakpoints.
  16394. (WebInspector.ScriptsPanel.prototype.addBreakpoint): Adds the breakpoint to the
  16395. BreakpointsSidebarPane. Also adds it to _breakpointsURLMap so it can be found
  16396. later in addScript by URL. Finally adds the breakpoint to the SourceFrame that
  16397. represents the resources or script.
  16398. (WebInspector.ScriptsPanel.prototype.removeBreakpoint): Removes the breakpoint from
  16399. the BreakpointsSidebarPane, _breakpointsURLMap and SourceFrame.
  16400. (WebInspector.ScriptsPanel.prototype.debuggerPaused): Update the debugger
  16401. state variables, the buttons and the CallStackSidebarPane.
  16402. (WebInspector.ScriptsPanel.prototype.reset): Clears and resets debugger
  16403. and interface state.
  16404. (WebInspector.ScriptsPanel.prototype.get visibleView): Returns _visibleView.
  16405. (WebInspector.ScriptsPanel.prototype.set visibleView): Sets _visibleView and
  16406. calls hide on the old view and show on the new view.
  16407. (WebInspector.ScriptsPanel.prototype.showScript): Calls _showScriptOrResource.
  16408. (WebInspector.ScriptsPanel.prototype.showResource): Ditto.
  16409. (WebInspector.ScriptsPanel.prototype.scriptViewForScript): Lazily creates a
  16410. ScriptView for the Script and returns it.
  16411. (WebInspector.ScriptsPanel.prototype.sourceFrameForScript): Returns the SourceFrame
  16412. for the Script.
  16413. (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource): Returns the
  16414. SourceFrame based on the type of object passed in.
  16415. (WebInspector.ScriptsPanel.prototype._showScriptOrResource): Shows the view based on
  16416. the type of object passed in. If the object is a resource and there are breakpoints
  16417. defined for that Resource URL, then populate the SourceFrame with the breakpoints.
  16418. (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Adds a script to the
  16419. files menu. If the Script is part of a resource, that resource is added.
  16420. (WebInspector.ScriptsPanel.prototype._removeScriptFromFilesMenu): Remove a script from
  16421. the files menu. If that script is part of a resource and it is the last script of that
  16422. resource, then remove the whole resource.
  16423. (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine): Clears the execution
  16424. line from the SourceFrame that is showing it.
  16425. (WebInspector.ScriptsPanel.prototype._callFrameSelected): Event listener for when the
  16426. call frame changes in the CallStackSidebarPane. Triggers updates to the ScopeChainSidebarPane
  16427. and the visible view.
  16428. (WebInspector.ScriptsPanel.prototype._changeVisibleFile): Event listener for the change state
  16429. of the files select element.
  16430. (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Update more of the
  16431. buttons to reflect the current debugger state. Updates the status text too.
  16432. (WebInspector.ScriptsPanel.prototype._toggleDebugging): Reset the UI and state when
  16433. the debugger is attached/detached.
  16434. (WebInspector.ScriptsPanel.prototype._togglePause): Call InspectorController.resumeDebugger or
  16435. InspectorController.pauseInDebugger depending on the paused state.
  16436. (WebInspector.ScriptsPanel.prototype._stepOverClicked): Call InspectorController.stepOverStatementInDebugger.
  16437. (WebInspector.ScriptsPanel.prototype._stepIntoClicked): Call InspectorController.stepIntoStatementInDebugger.
  16438. (WebInspector.ScriptsPanel.prototype._stepOutClicked): InspectorController.stepOutOfFunctionInDebugger.
  16439. * page/inspector/SourceView.js:
  16440. (WebInspector.SourceView): Passes in _addBreakpoint for the add breakpoint delegate.
  16441. (WebInspector.SourceView.prototype._addBreakpoint): Calls ScriptsPanel's addBreakpoint
  16442. for the nearest Script's sourceID and passed in line.
  16443. * page/inspector/inspector.css: New style rules for the UI changes.
  16444. * page/inspector/inspector.js:
  16445. (WebInspector.loaded): Add the ScriptsPanel to the panels list.
  16446. (WebInspector.parsedScriptSource): Call ScriptsPanel.addScript.
  16447. (WebInspector.failedToParseScriptSource): Ditto.
  16448. (WebInspector.pausedScript): Call ScriptsPanel.debuggerPaused.
  16449. 2008-05-13 Timothy Hatcher <timothy@apple.com>
  16450. Adds implementations of the Scope Chain and Call Stack sidebar panes.
  16451. These panes use the JSJavaScriptCallFrame object that will be passed
  16452. to the update functions.
  16453. Reviewed by Kevin McCullough.
  16454. * English.lproj/localizedStrings.js: Adds new strings.
  16455. * WebCore.vcproj/WebCore.vcproj: Adds new files.
  16456. * page/inspector/CallStackSidebarPane.js:
  16457. (WebInspector.CallStackSidebarPane.prototype.update): Walk the
  16458. caller chain of the call frame and make placards for each.
  16459. (WebInspector.CallStackSidebarPane.prototype.get selectedCallFrame):
  16460. Return _selectedCallFrame.
  16461. (WebInspector.CallStackSidebarPane.prototype.set selectedCallFrame):
  16462. Set _selectedCallFrame and dispatch the "call frame selected" event.
  16463. (WebInspector.CallStackSidebarPane.prototype._placardSelected):
  16464. Set the selectedCallFrame based on the clicked placard.
  16465. * page/inspector/Placard.js: Added. A user interface object that can
  16466. be used to show a title and a subtitle block with a selected state.
  16467. * page/inspector/ScopeChainSidebarPane.js: Added.
  16468. (WebInspector.ScopeChainSidebarPane): Call the base object and set the title.
  16469. (WebInspector.ScopeChainSidebarPane.prototype.update): Iterate over the
  16470. call frame's scope chain and make ObjectPropertiesSections for each.
  16471. * page/inspector/SidebarPane.js:
  16472. (WebInspector.SidebarPane.prototype): Inherit from WebInspector.Object.
  16473. * page/inspector/WebKit.qrc: Add new files.
  16474. * page/inspector/inspector.css: Add placard styles.
  16475. * page/inspector/inspector.html: Add new files.
  16476. 2008-05-13 Timothy Hatcher <timothy@apple.com>
  16477. Fixes the bug where SourceViews would be blank if shown before
  16478. the Resource finished loading.
  16479. <rdar://problem/5807420> Safari's Web Inspector won't display the
  16480. contents of some CSS and JS files
  16481. Reviewed by Kevin McCullough.
  16482. * page/inspector/Resource.js:
  16483. (WebInspector.Resource.prototype.set finished): Dispatch the finished event
  16484. (WebInspector.Resource.prototype): Inherit from WebInspector.Object.prototype.
  16485. * page/inspector/SourceView.js:
  16486. (WebInspector.SourceView): Register for the finished event on the resource.
  16487. When the event fires, setup the source frame and deregister the event.
  16488. 2008-05-13 Timothy Hatcher <timothy@apple.com>
  16489. Factored most of SourceView out into SourceFrame so it can be shared
  16490. by the new ScriptView. Added the ScriptView class to be used for
  16491. scripts that arn't Resources (like eval code.) Added a simple Script
  16492. object that hold the data from the debugger parsedSource hooks. A
  16493. ScriptView holds a Script object, and uses it for source data.
  16494. Added breakpoint and execution line support to the SourceFrame
  16495. where they are visually represented in the source.
  16496. Reviewed by Kevin McCullough.
  16497. * page/inspector/inspector.js:
  16498. (WebInspector.performSearch): Change the caller of sourceFrameForResource
  16499. to use the SourceFrame result's element property.
  16500. * page/inspector/ResourcesPanel.js: Use the new SourceFrame.
  16501. * page/inspector/Script.js: Added.
  16502. * page/inspector/ScriptView.js: Added.
  16503. * page/inspector/SourceFrame.js: Added.
  16504. * page/inspector/SourceView.js: Use the new SourceFrame.
  16505. * WebCore.vcproj/WebCore.vcproj: Add new files.
  16506. * page/inspector/WebKit.qrc: Ditto.
  16507. * page/inspector/inspector.html: Ditto.
  16508. 2008-05-13 Timothy Hatcher <timothy@apple.com>
  16509. Adds a Breakpoint object and basic add/remove functions on
  16510. BreakpointsSidebarPane that call the InspectorController to
  16511. add/remove the breakpoint.
  16512. Reviewed by Kevin McCullough.
  16513. * page/inspector/Breakpoint.js:
  16514. (WebInspector.Breakpoint):
  16515. (WebInspector.Breakpoint.prototype.get enabled): Return _enabled.
  16516. (WebInspector.Breakpoint.prototype.set enabled): Set _enabled and
  16517. dispatch the enabled/disabled event to listeners.
  16518. * page/inspector/BreakpointsSidebarPane.js:
  16519. (WebInspector.BreakpointsSidebarPane): Add a breakpoints array.
  16520. (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
  16521. Adds the breakpoint to the breakpoints array. Registers for the disabled
  16522. and enabled event types. Call InspectorController.addBreakpoint if attached.
  16523. (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
  16524. Removes the breakpoint from the breakpoints array. Deregisters for the disabled
  16525. and enabled event types. Call InspectorController.removeBreakpoint if attached.
  16526. (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
  16527. Call InspectorController.addBreakpoint or InspectorController.removeBreakpoint
  16528. depending on the enabled state of the breakpoint.
  16529. * WebCore.vcproj/WebCore.vcproj: Add new files.
  16530. * page/inspector/WebKit.qrc: Ditto.
  16531. * page/inspector/inspector.html: Ditto.
  16532. 2008-05-13 Timothy Hatcher <timothy@apple.com>
  16533. Make addSourceToFrame not dependent on InspectorResource so it
  16534. can be used to add source of a passed in string and mime-type to
  16535. a frame. Added addResourceSourceToFrame for use by SourceView.
  16536. Also fixes an assertion because of an incorrect static_cast of identifiers
  16537. to unsigned long long, when they can be unsigned.
  16538. Reviewed by Geoff Garen.
  16539. * page/InspectorController.cpp:
  16540. (WebCore::addSourceToFrame): Helper function used by addSourceToFrame
  16541. and addResourceSourceToFrame.
  16542. (WebCore::addSourceToFrame): Generalized to take a source and mime-type string.
  16543. (WebCore::addResourceSourceToFrame): Renamed from addSourceToFrame.
  16544. (WebCore::getResourceDocumentNode): Fixes the static_cast to be long long.
  16545. (WebCore::InspectorController::windowScriptObjectAvailable): Adds
  16546. addResourceSourceToFrame to the JavaScript class.
  16547. * page/inspector/SourceView.js: Use the new addResourceSourceToFrame.
  16548. 2008-05-13 Timothy Hatcher <timothy@apple.com>
  16549. Add debugger related functions to the InspectorController and
  16550. expose them to the JavaScript side of InspectorController.
  16551. Reviewed by Geoff Garen.
  16552. * page/InspectorController.cpp:
  16553. (WebCore::jsStringRef): Added helper to convert a UString to a JSStringRef.
  16554. (WebCore::currentCallFrame): Call InspectorController::currentCallFrame.
  16555. (WebCore::pauseInDebugger): Call InspectorController::pauseInDebugger.
  16556. (WebCore::resumeDebugger): Call InspectorController::resumeDebugger.
  16557. (WebCore::stepOverStatementInDebugger): Call InspectorController::stepOverStatementInDebugger.
  16558. (WebCore::stepIntoStatementInDebugger): Call InspectorController::stepIntoStatementInDebugger.
  16559. (WebCore::stepOutOfFunctionInDebugger): Call InspectorController::stepOutOfFunctionInDebugger.
  16560. (WebCore::addBreakpoint): Call InspectorController::addBreakpoint.
  16561. (WebCore::removeBreakpoint): Call InspectorController::removeBreakpoint.
  16562. (WebCore::InspectorController::windowScriptObjectAvailable): Add the new functions to the
  16563. InspectorController JavaScript class.
  16564. (WebCore::InspectorController::startDebuggingAndReloadInspectedPage): Clear breakpoints.
  16565. (WebCore::InspectorController::currentCallFrame): Return the currentCallFrame from the
  16566. JavaScriptDebugServer.
  16567. (WebCore::InspectorController::pauseInDebugger): Call JavaScriptDebugServer's pauseOnNextStatement.
  16568. (WebCore::InspectorController::resumeDebugger): Call JavaScriptDebugServer's resume.
  16569. (WebCore::InspectorController::stepOverStatementInDebugger): Call JavaScriptDebugServer's stepOverStatement.
  16570. (WebCore::InspectorController::stepIntoStatementInDebugger): Call JavaScriptDebugServer's stepIntoStatement.
  16571. (WebCore::InspectorController::stepOutOfFunctionInDebugger): Call JavaScriptDebugServer's stepOutOfFunction.
  16572. (WebCore::InspectorController::addBreakpoint): Call JavaScriptDebugServer's addBreakpoint.
  16573. (WebCore::InspectorController::removeBreakpoint): Call JavaScriptDebugServer's removeBreakpoint.
  16574. (WebCore::InspectorController::didParseSource): Call into the Inspector's JavaScript.
  16575. (WebCore::InspectorController::failedToParseSource): Ditto.
  16576. (WebCore::InspectorController::didPause): Ditto.
  16577. * page/InspectorController.h: Add new functions.
  16578. 2008-05-13 Timothy Hatcher <timothy@apple.com>
  16579. Implements more debugger APIs on JavaScriptDebugServer and reduces
  16580. the number of callbacks to JavaScriptDebugListeners. These changes
  16581. will better facilitate debugger optimizations when SquirrelFish merges.
  16582. Reviewed by Kevin McCullough.
  16583. * page/InspectorController.cpp:
  16584. (WebCore::InspectorController::didParseSource): Removed the ExecState.
  16585. (WebCore::InspectorController::failedToParseSource): Ditto.
  16586. (WebCore::InspectorController::didPause): Added.
  16587. * page/InspectorController.h: Changed the JavaScriptDebugListener functions.
  16588. * page/JavaScriptDebugListener.h: Removed some callbacks and added didPause.
  16589. * page/JavaScriptDebugServer.cpp:
  16590. (WebCore::JavaScriptDebugServer::JavaScriptDebugServer): Initialize new data members.
  16591. (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): Delete all values of m_breakpoints.
  16592. (WebCore::JavaScriptDebugServer::removeListener): Call resume if the last listener was removed.
  16593. (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage): Returns true if there are any
  16594. global listeners or a listener for the page.
  16595. (WebCore::JavaScriptDebugServer::addBreakpoint): Adds and entry to m_breakpoints.
  16596. (WebCore::JavaScriptDebugServer::removeBreakpoint): Removes a entry in m_breakpoints.
  16597. (WebCore::JavaScriptDebugServer::hasBreakpoint): Checks if there is a breakpoint for the
  16598. sourceID and line.
  16599. (WebCore::JavaScriptDebugServer::clearBreakpoints): Removed all breakpoints.
  16600. (WebCore::JavaScriptDebugServer::pauseOnNextStatement): Sets m_pauseOnNextStatement to true.
  16601. (WebCore::JavaScriptDebugServer::resume): Sets m_paused to false.
  16602. (WebCore::JavaScriptDebugServer::stepIntoStatement): Calls resume and sets
  16603. m_pauseOnNextStatement to true.
  16604. (WebCore::JavaScriptDebugServer::stepOverStatement): Calls resume and sets m_pauseOnExecState to
  16605. the current call frame's ExecState.
  16606. (WebCore::JavaScriptDebugServer::stepOutOfFunction): Calls resume and sets m_pauseOnExecState to
  16607. the current call frame's caller ExecState.
  16608. (WebCore::JavaScriptDebugServer::currentCallFrame): Returns m_currentCallFrame if paused.
  16609. (WebCore::dispatchDidParseSource): Removed the ExecState argument.
  16610. (WebCore::dispatchFailedToParseSource): Ditto.
  16611. (WebCore::JavaScriptDebugServer::sourceParsed): Doesn't pass the ExecState to dispatchDidParseSource
  16612. or dispatchFailedToParseSource.
  16613. (WebCore::dispatchFunctionToListeners):
  16614. (WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Removes all the arguments passed
  16615. to the callback.
  16616. (WebCore::JavaScriptDebugServer::setJavaScriptPaused): Various overloaded functions
  16617. to pause parts of WebCore to prevent JavaScript execution while paused.
  16618. (WebCore::JavaScriptDebugServer::pauseIfNeeded): Decides if the debugger should pause based
  16619. on the passed in ExecState, source ID and line number. This checks for breakpoints, stepping, etc.
  16620. Calls didPause on all the listeners and spins a EventLoop until resume is called.
  16621. (WebCore::JavaScriptDebugServer::callEvent): Call pauseIfNeeded.
  16622. (WebCore::JavaScriptDebugServer::atStatement): Ditto.
  16623. (WebCore::JavaScriptDebugServer::returnEvent): Ditto.
  16624. (WebCore::JavaScriptDebugServer::exception): Ditto.
  16625. * page/JavaScriptDebugServer.h: Added new functions.
  16626. 2008-05-13 Timothy Hatcher <timothy@apple.com>
  16627. Change View.show to call detach if the parentNode dosen't
  16628. match before appending to the passed in parent element.
  16629. This also prevents appending to the same parent element
  16630. multiple times.
  16631. Reviewed by John Sullivan.
  16632. * page/inspector/FontView.js:
  16633. (WebInspector.FontView.prototype.show): Pass the parent element to View.show.
  16634. * page/inspector/ResourceView.js: Optimize the attach method to no append if
  16635. there is a parentNode already.
  16636. * page/inspector/SourceView.js: Ditto.
  16637. * page/inspector/View.js: Call detach before appending if the parentNode
  16638. doesn't match the passed in element.
  16639. 2008-05-13 Timothy Hatcher <timothy@apple.com>
  16640. Optimize the panel attach method to no append if there is a
  16641. parentNode already.
  16642. Reviewed by Adam Roben.
  16643. * page/inspector/Panel.js:
  16644. (WebInspector.Panel.prototype.attach): Don't append to main-panels
  16645. if the panel element already has a parentNode.
  16646. 2008-05-13 Timothy Hatcher <timothy@apple.com>
  16647. Add Widget::isPluginView so the JavaScriptDebugServer can identify
  16648. plugins that need to be paused during debugging. This will be used
  16649. in a upcoming commit.
  16650. Reviewed by Kevin McCullough.
  16651. * platform/Widget.h: Add isPluginView. Return false.
  16652. * plugins/PluginView.h: Add isPluginView. Return true.
  16653. 2008-05-13 Timothy Hatcher <timothy@apple.com>
  16654. Adds an event loop abstraction to platform. This abstraction will be
  16655. used by the JavaScriptDebugServer to implement pausing.
  16656. Reviewed by Kevin McCullough.
  16657. * platform/EventLoop.h: Added.
  16658. (WebCore::EventLoop::EventLoop):
  16659. (WebCore::EventLoop::ended): Return m_ended.
  16660. * platform/mac/EventLoopMac.mm: Added.
  16661. (WebCore::EventLoop::cycle): Call nextEventMatchingMask and then sendEvent.
  16662. * platform/win/EventLoopWin.cpp: Added.
  16663. (WebCore::EventLoop::cycle): Call GetMessage, TranslateMessage and DispatchMessage.
  16664. * WebCore.xcodeproj/project.pbxproj: Add new files.
  16665. * WebCore.vcproj/WebCore.vcproj: Ditto.
  16666. 2008-05-13 Timothy Hatcher <timothy@apple.com>
  16667. Breaks out ObjectPropertiesSection from PropertiesSidebarPane
  16668. so it can be used by the Scripts panel's Scope Chain pane.
  16669. Rubber-stamped by Adam Roben.
  16670. * page/inspector/ObjectPropertiesSection.js: Added.
  16671. * page/inspector/PropertiesSidebarPane.js: Moved ObjectPropertiesSection
  16672. to ObjectPropertiesSection.js.
  16673. * WebCore.vcproj/WebCore.vcproj: Add the new file.
  16674. * page/inspector/WebKit.qrc: Ditto.
  16675. * page/inspector/inspector.html: Ditto.
  16676. 2008-05-13 Timothy Hatcher <timothy@apple.com>
  16677. Add a helper function to the Inspector's Array prototype
  16678. that will remove any identical values/objects from the array.
  16679. Reviewed by Kevin McCullough.
  16680. * page/inspector/utilities.js:
  16681. (Array.prototype.remove): Iterate over the array and strict
  16682. compare to the passed in value. If they match, splice that index
  16683. out of the array. If onlyFirst is true, return after the first splice.
  16684. 2008-05-13 Timothy Hatcher <timothy@apple.com>
  16685. Adds a JavaScriptCallFrame object and JavaScript binding with an IDL.
  16686. This object will expose the stack to the Inspector's debugger.
  16687. Reviewed by Adam Roben.
  16688. * DerivedSources.make: Add JavaScriptCallFrame.
  16689. * bindings/js/JSJavaScriptCallFrameCustom.cpp: Added.
  16690. (WebCore::JSJavaScriptCallFrame::evaluate): Calls impl evaluate and returns the result.
  16691. (WebCore::JSJavaScriptCallFrame::scopeChain): Makes an array of the ScopeChain.
  16692. * page/JavaScriptCallFrame.cpp: Added.
  16693. (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
  16694. (WebCore::JavaScriptCallFrame::caller): Returns m_caller.
  16695. (WebCore::JavaScriptCallFrame::functionName): Returns the function
  16696. name from the ExecState if this is not global code or anonymous.
  16697. (WebCore::JavaScriptCallFrame::evaluate): Evaluates a script string
  16698. in the scope of the call frame.
  16699. * page/JavaScriptCallFrame.h: Added.
  16700. (WebCore::JavaScriptCallFrame::create): Call the ctor can return in a PassRefPtr.
  16701. (WebCore::JavaScriptCallFrame::invalidate): Sets m_mexec to 0. This prevents a
  16702. stale ExecState from being accessed after the lifetime of the ExecState.
  16703. (WebCore::JavaScriptCallFrame::isValid): Checks if m_exec is 0.
  16704. (WebCore::JavaScriptCallFrame::execState): Returns m_exec.
  16705. (WebCore::JavaScriptCallFrame::sourceIdentifier): Returns m_sourceID.
  16706. (WebCore::JavaScriptCallFrame::line): Returns m_line.
  16707. (WebCore::JavaScriptCallFrame::setLine): Sets m_line.
  16708. (WebCore::JavaScriptCallFrame::scopeChain): Returns by reference m_exec->scopeChain().
  16709. * page/JavaScriptCallFrame.idl: Added.
  16710. * WebCore.xcodeproj/project.pbxproj: Add new files.
  16711. * WebCore.vcproj/WebCore.vcproj: Ditto.
  16712. 2008-05-13 Timothy Hatcher <timothy@apple.com>
  16713. Add a new WebInspector.Object base class that will be used for
  16714. a few objects in the Web Inspector to support listeners on any
  16715. object. This will help add more abstraction to the Inspector.
  16716. Reviewed by Adam Roben.
  16717. * page/inspector/Object.js: Added.
  16718. (WebInspector.Object): Does nothing.
  16719. (WebInspector.Object.prototype.addEventListener): Adds the listener to
  16720. the _listeners map by type. Supports a this object argument, for easy
  16721. addition of listeners without the need for bind.
  16722. (WebInspector.Object.prototype.removeEventListener): Remove the listener
  16723. from the _listeners map. If the listener is null and the thisObject was
  16724. passed, remove any listener for that thisObject.
  16725. (WebInspector.Object.prototype.dispatchEventToListeners): Sends an event
  16726. for a type to all listeners for that type. Mimics some of the DOMEvent
  16727. methods and properties for the event object passed to the listeners.
  16728. * WebCore.vcproj/WebCore.vcproj: Add new files.
  16729. * page/inspector/WebKit.qrc: Ditto.
  16730. * page/inspector/inspector.html: Ditto.
  16731. 2008-05-13 Timothy Hatcher <timothy@apple.com>
  16732. Update the view source CSS to better match the new Inspector mock-ups.
  16733. Reviewed by Kevin McCullough.
  16734. * css/view-source.css:
  16735. 2008-05-13 John Sullivan <sullivan@apple.com>
  16736. Reviewed by Dan Bernstein and Kevin Decker
  16737. - fixed <rdar://problem/5879597> reproducible crash in HTMLSelectElement::typeAheadFind
  16738. Test: fast/forms/select-type-ahead-list-box-no-selection.html
  16739. * html/HTMLSelectElement.cpp:
  16740. (WebCore::HTMLSelectElement::typeAheadFind):
  16741. When there's no initially-selected element, we were accessing index -1. Check for this
  16742. case and start at 0.
  16743. 2008-05-13 Sam Weinig <sam@webkit.org>
  16744. Reviewed by Dan Bernstein.
  16745. Small cleanup to XMLHttpRequest in preparation for Access Control changes.
  16746. * xml/XMLHttpRequest.cpp:
  16747. (WebCore::XMLHttpRequest::XMLHttpRequest):
  16748. (WebCore::XMLHttpRequest::~XMLHttpRequest):
  16749. (WebCore::XMLHttpRequest::open):
  16750. (WebCore::XMLHttpRequest::send):
  16751. (WebCore::XMLHttpRequest::internalAbort):
  16752. (WebCore::XMLHttpRequest::processSyncLoadResults):
  16753. (WebCore::XMLHttpRequest::didFinishLoading):
  16754. (WebCore::XMLHttpRequest::didReceiveResponse):
  16755. (WebCore::XMLHttpRequest::didReceiveData):
  16756. * xml/XMLHttpRequest.h:
  16757. 2008-05-13 chris fleizach <cfleizach@apple.com>
  16758. Beth Dakin
  16759. <rdar://problem/5701210> VO: If image is missing, VoiceOver does not speak the alternative text.
  16760. * page/AccessibilityRenderObject.cpp:
  16761. (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
  16762. 2008-05-13 chris fleizach <cfleizach@apple.com>
  16763. Beth Dakin
  16764. <rdar://problem/5908446> AX: webkit needs to return blockquote information for all AX objects, not just in AXTextMarker info
  16765. * page/mac/AccessibilityObjectWrapper.mm:
  16766. (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
  16767. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  16768. 2008-05-13 Alexey Proskuryakov <ap@webkit.org>
  16769. Reviewed by John Sullivan.
  16770. <rdar://problem/4852077> REGRESSION: The content of the HTML file which is saved as Thai
  16771. (ISO 8859-11) disappear.
  16772. <rdar://problem/5842597> Thai ISO-8859-11 should be upgraded to Windows-874
  16773. Test: fast/encoding/char-decoding.html
  16774. * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
  16775. Register ISO-8859-11, which doesn't have a standard IANA name, despite following
  16776. the usual 8859 naming scheme. Also, made TIS-620 map to windows-874-2000 explicitly.
  16777. 2008-05-13 chris fleizach <cfleizach@apple.com>
  16778. Reviewed by Beth Dakin
  16779. <rdar://problem/5471973> Some AXLinks are not getting AXTitles though there is title text
  16780. * page/AccessibilityRenderObject.cpp:
  16781. (WebCore::AccessibilityRenderObject::title):
  16782. 2008-05-13 Alexey Proskuryakov <ap@webkit.org>
  16783. Reviewed by Eric Seidel.
  16784. https://bugs.webkit.org/show_bug.cgi?id=18681
  16785. <rdar://problem/5888130> WebKit should not remove BOM characters from content.
  16786. We were only trying to match Firefox, and it doesn't do this any more.
  16787. Tests: fast/encoding/bom-in-content.html
  16788. fast/encoding/bom-in-content-utf16.html
  16789. * platform/text/TextDecoder.cpp: (WebCore::TextDecoder::checkForBOM): Skip the BOM if it's
  16790. at the start of input stream.
  16791. * platform/text/TextCodec.cpp:
  16792. * platform/text/TextCodec.h:
  16793. * platform/text/TextCodecICU.cpp:
  16794. (WebCore::TextCodecICU::decode):
  16795. * platform/text/TextCodecUTF16.cpp:
  16796. (WebCore::TextCodecUTF16::decode):
  16797. * platform/text/mac/TextCodecMac.cpp:
  16798. (WebCore::TextCodecMac::decode):
  16799. Don't remove the BOM.
  16800. 2008-05-13 Anders Carlsson <andersca@apple.com>
  16801. Reviewed by Darin.
  16802. Don't crash when a document loader is destroyed while an initial caching attempt
  16803. is in progress.
  16804. * loader/appcache/ApplicationCacheGroup.cpp:
  16805. (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
  16806. Stop loading.
  16807. (WebCore::ApplicationCacheGroup::stopLoading):
  16808. New method that stops a cache update.
  16809. (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
  16810. Delete ourselves here.
  16811. * loader/appcache/ApplicationCacheGroup.h:
  16812. 2008-05-13 Alexey Proskuryakov <ap@webkit.org>
  16813. Reviewed by Darin.
  16814. <rdar://problem/5841351> Turkish ISO 8859-9 encoding should be treated as windows-1254
  16815. Match IE and upgrade ISO-8859-9 to windows-1254, which is its strict superset.
  16816. Test: fast/encoding/char-decoding.html
  16817. * platform/text/TextCodecICU.cpp:
  16818. (WebCore::TextCodecICU::registerExtendedEncodingNames): Register the standard name
  16819. unconditionally. Previously, we registered windows-949-2000 as a special case that lacked
  16820. an IANA standard name, and got away with not registering GBK because it happened
  16821. to be reported by ICU normally earlier than any encoding upgraded to it.
  16822. 2008-05-13 Tor Arne Vestbø <tavestbo@trolltech.com>
  16823. Reviewed by Simon
  16824. Fix QtWebKit build on Qt embedded.
  16825. * WebCore.pro:
  16826. * platform/FileSystem.h:
  16827. * platform/qt/FileSystemQt.cpp:
  16828. 2008-05-13 Ariya Hidayat <ariya.hidayat@trolltech.com>
  16829. Reviewed by Simon.
  16830. For Gtk/X11 and Qt/X11, use a more extensive plug-ins scan directories set
  16831. * plugins/PluginDatabase.cpp:
  16832. (WebCore::addMozillaPluginDirectories):
  16833. (WebCore::PluginDatabase::isPreferredPluginDirectory):
  16834. 2008-05-12 Adam Roben <aroben@apple.com>
  16835. Turn on warnings as errors in WebCore.vcproj
  16836. Rubberstamped by Anders Carlsson.
  16837. * WebCore.vcproj/WebCore.vcproj: Also let VS reformat the file as it
  16838. saw fit. The important part is the removal of the WarnAsError="false"
  16839. lines.
  16840. 2008-05-12 Adam Roben <aroben@apple.com>
  16841. Fix a MSVC warning in PluginViewWin
  16842. Reviewed by Anders Carlsson.
  16843. Test: http/tests/plugins/post-url-file.html
  16844. * plugins/win/PluginViewWin.cpp:
  16845. (WebCore::PluginView::handlePostReadFile): Added a missing return
  16846. statement.
  16847. 2008-05-12 Adam Roben <aroben@apple.com>
  16848. Fix a MSVC warning in GetEOTHeader
  16849. Reviewed by Dan Bernstein.
  16850. * platform/graphics/win/GetEOTHeader.cpp:
  16851. (WebCore::getEOTHeader): MSVC complains that having a 0-sized array in
  16852. a struct is a non-standard extension. I've replaced the 0-sized arrays
  16853. with arrays of 1 element, and replaced sizeof(structType) with
  16854. offsetof(structType, arrayMember).
  16855. 2008-05-09 Adam Roben <aroben@apple.com>
  16856. Fix a MSVC warning in TextCodecICU
  16857. Reviewed by John Sullivan and Dan Bernstein.
  16858. * platform/text/TextCodecICU.cpp:
  16859. (WebCore::ErrorCallbackSetter::~ErrorCallbackSetter):
  16860. UCNV_SUB_STOP_ON_ILLEGAL is a string literal, so using == with it
  16861. doesn't really do what we want. Use strcmp instead. It's OK to pass an
  16862. unknown value to strcmp here since 1) UCNV_SUB_STOP_ON_ILLEGAL is only
  16863. a single character long so we're not going to ready more than 2 bytes
  16864. from oldContext, and 2) we're inside an ASSERT which will cause a
  16865. crash anyway if it fails.
  16866. 2008-05-09 Adam Roben <aroben@apple.com>
  16867. Fix a MSVC warning in CSSComputedStyleDeclaration
  16868. Reviewed by Geoff Garen.
  16869. * css/CSSComputedStyleDeclaration.cpp:
  16870. (WebCore::valueForRepeatRule): Removed some unreachable code.
  16871. 2008-05-09 Adam Roben <aroben@apple.com>
  16872. Fix a MSVC warning in InlineTextBox
  16873. Reviewed by Dan Bernstein.
  16874. * rendering/InlineTextBox.cpp:
  16875. (WebCore::InlineTextBox::paint): Initialize some variables that MSVC
  16876. isn't smart enough to figure out will always be initialized in the
  16877. cases where they are used.
  16878. 2008-05-09 Adam Roben <aroben@apple.com>
  16879. Fix a MSVC warning in Position
  16880. Reviewed by Darin Adler.
  16881. * dom/Position.cpp:
  16882. (WebCore::Position::getInlineBoxAndOffset): Use parentheses to make
  16883. the precedence of our expressions explicit.
  16884. 2008-05-09 Adam Roben <aroben@apple.com>
  16885. Fix a MSVC warning in String
  16886. Reviewed by Geoff Garen.
  16887. * platform/text/String.cpp:
  16888. (WebCore::toIntegralType): Disable a bogus warning about using unary -
  16889. on an unsigned value. MSVC isn't smart enough to figure out that
  16890. isNegative will always be false when value is unsigned.
  16891. 2008-05-09 Adam Roben <aroben@apple.com>
  16892. Fix a MSVC warning in XMLHttpRequest
  16893. Reviewed by Geoff Garen.
  16894. * xml/XMLHttpRequest.cpp:
  16895. (WebCore::XMLHttpRequest::XMLHttpRequest): Added static_cast<unsigned
  16896. long>.
  16897. 2008-05-12 Anders Carlsson <andersca@apple.com>
  16898. Reviewed by Adam.
  16899. Handle the case when a resource with the same URL as the manifest is listed in the manifest.
  16900. * loader/appcache/ApplicationCacheGroup.cpp:
  16901. (WebCore::ApplicationCacheGroup::addEntry):
  16902. 2008-05-12 Sam Weinig <sam@webkit.org>
  16903. Reviewed by Dan Bernstein.
  16904. Add parsing of AccessControlHeader and AccessItemRule.
  16905. * xml/AccessControlList.cpp:
  16906. (WebCore::AccessControlList::parseAccessControlHeader): When multiple http headers are sent
  16907. in the response, the engine will concatenate them with commas separating the rules. This simply
  16908. reverses that process by splitting on the commas.
  16909. (WebCore::AccessControlList::show):
  16910. * xml/AccessControlList.h:
  16911. * xml/AccessItem.cpp:
  16912. (WebCore::AccessItem::AccessItem):
  16913. (WebCore::AccessItem::show):
  16914. * xml/AccessItem.h:
  16915. (WebCore::AccessItem::isValid):
  16916. * xml/AccessItemRule.cpp:
  16917. (WebCore::skipLWS):
  16918. (WebCore::AccessItemRule::parseAccessItemRule): Parse the rule according to the BNF provided by
  16919. the Access Control spec.
  16920. (WebCore::AccessItemRule::parsePatternList):
  16921. (WebCore::AccessItemRule::invalidate):
  16922. (WebCore::AccessItemRule::show):
  16923. * xml/AccessItemRule.h:
  16924. 2008-05-12 David Kilzer <ddkilzer@apple.com>
  16925. Fix logic error in DocLoader::clearPreloads()
  16926. Reviewed by Antti.
  16927. * loader/DocLoader.cpp:
  16928. (WebCore::DocLoader::clearPreloads): Be sure to decrease the preload count for
  16929. the cached resource before trying to remove it from the cache. A non-zero
  16930. preload count can prevent the resource from being removed from the cache.
  16931. 2008-05-12 Anders Carlsson <andersca@apple.com>
  16932. Reviewed by Adam.
  16933. Handle empty manifest files without crashing.
  16934. * loader/appcache/ApplicationCacheGroup.cpp:
  16935. (WebCore::ApplicationCacheGroup::startLoadingEntry):
  16936. 2008-05-12 Alp Toker <alp@nuanti.com>
  16937. GTK+ build fix for breakage in r33056. Include limits.h for INT_MAX.
  16938. * platform/graphics/FontCache.h:
  16939. 2008-05-12 Anders Carlsson <andersca@apple.com>
  16940. Reviewed by Adam.
  16941. Add user agent to requests when loading/updating the cache.
  16942. * loader/FrameLoader.h:
  16943. * loader/appcache/ApplicationCacheGroup.cpp:
  16944. (WebCore::ApplicationCacheGroup::update):
  16945. (WebCore::ApplicationCacheGroup::startLoadingEntry):
  16946. 2008-05-12 Anders Carlsson <andersca@apple.com>
  16947. Reviewed by Adam.
  16948. Make it possible to perform synchronous loads from the application cache.
  16949. * loader/DocumentLoader.cpp:
  16950. (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache):
  16951. Factor out code from scheduleApplicationCacheLoad in its own method.
  16952. (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
  16953. Call shouldLoadResourceFromApplicationCache here instead.
  16954. * loader/DocumentLoader.h:
  16955. * loader/FrameLoader.cpp:
  16956. (WebCore::FrameLoader::loadResourceSynchronously):
  16957. Call shouldLoadResourceFromApplicationCache.
  16958. 2008-05-12 Dan Bernstein <mitz@apple.com>
  16959. Reviewed by Ada Chan and Sam Weinig.
  16960. - WebCore changes for https://bugs.webkit.org/show_bug.cgi?id=17097
  16961. <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound
  16962. Added a way for clients to let the cache know that they no longer need
  16963. font data, which lets the cache release it. Changed clients to track
  16964. most of the font data they get from the cache so that they can later
  16965. release it. Some instances of font data -- namely, those used for system
  16966. font fallback -- are still not tracked and will therefore remain in the
  16967. cache indefinitely.
  16968. * WebCore.base.exp: Added exports for WebCoreStatistics in WebKit.
  16969. * platform/graphics/Font.cpp:
  16970. (WebCore::Font::Font): Changed to use FontFallbackList::create().
  16971. (WebCore::Font::update): Ditto.
  16972. * platform/graphics/FontCache.cpp:
  16973. (WebCore::FontCache::getCachedFontData): Added code to track the number
  16974. of times a SimpleFontData instance has been requested from the cache,
  16975. remove requested instances from the inactive list, and purge inactive
  16976. font data if the inactive list has grown above its maximum allowed size.
  16977. (WebCore::FontCache::releaseFontData): Added. Called by clients to let
  16978. the cache know that they no longer need the font data. Adds the font
  16979. data to the inactive list if the last client has released it.
  16980. (WebCore::FontCache::purgeInactiveFontData): Added. Removes inactive
  16981. font data from the cache (and the inactive list).
  16982. (WebCore::FontCache::fontDataCount): Added to provide statistics.
  16983. (WebCore::FontCache::inactiveFontDataCount): Ditto.
  16984. * platform/graphics/FontCache.h:
  16985. * platform/graphics/FontData.h:
  16986. (WebCore::FontData::FontData): Added a member variable to store the
  16987. highest glyph page tree level in which there is a node for this FontData.
  16988. This is used to limit the depth of the search when pruning glyph page
  16989. trees.
  16990. (WebCore::FontData::setMaxGlyphPageTreeLevel): Added this accessor.
  16991. (WebCore::FontData::maxGlyphPageTreeLevel): Ditto.
  16992. * platform/graphics/FontFallbackList.cpp:
  16993. (WebCore::FontFallbackList::FontFallbackList): Changed to start with a
  16994. refcount of 1.
  16995. (WebCore::FontFallbackList::invalidate): Added a call to
  16996. releaseFontData().
  16997. (WebCore::FontFallbackList::releaseFontData): Added. Lets the font cache
  16998. know that we no longer need the FontData in our font list.
  16999. (WebCore::FontFallbackList::fontDataAt): Changed to record in the font
  17000. list whether the font data is a custom font data or not.
  17001. (WebCore::FontFallbackList::setPlatformFont): Ditto.
  17002. * platform/graphics/FontFallbackList.h:
  17003. (WebCore::FontFallbackList::create): Added and made the constructor
  17004. private.
  17005. (WebCore::FontFallbackList::~FontFallbackList): Added a call to
  17006. releaseFontData().
  17007. * platform/graphics/GlyphPageTreeNode.cpp:
  17008. (WebCore::GlyphPageTreeNode::treeGlyphPageCount): Added to provide
  17009. statistics.
  17010. (WebCore::GlyphPageTreeNode::pageCount): Ditto.
  17011. (WebCore::GlyphPageTreeNode::pruneTreeFontData): Added.
  17012. (WebCore::GlyphPageTreeNode::getChild): Added code to update the font
  17013. data's maximum glyph page tree level.
  17014. (WebCore::GlyphPageTreeNode::pruneFontData): Added.
  17015. * platform/graphics/GlyphPageTreeNode.h:
  17016. * platform/graphics/SimpleFontData.cpp:
  17017. (WebCore::SimpleFontData::~SimpleFontData): Added code to let the font
  17018. cache know that we no longer need the small caps font data and to prune
  17019. the glyph page trees.
  17020. 2008-05-12 Anders Carlsson <andersca@apple.com>
  17021. Reviewed by Alexey.
  17022. Add ApplicationCacheStorage::empty() method which will empty
  17023. the application cache database.
  17024. * WebCore.base.exp:
  17025. * loader/appcache/ApplicationCache.cpp:
  17026. (WebCore::ApplicationCache::clearStorageID):
  17027. * loader/appcache/ApplicationCache.h:
  17028. * loader/appcache/ApplicationCacheGroup.cpp:
  17029. (WebCore::ApplicationCacheGroup::clearStorageID):
  17030. * loader/appcache/ApplicationCacheGroup.h:
  17031. * loader/appcache/ApplicationCacheResource.h:
  17032. (WebCore::ApplicationCacheResource::clearStorageID):
  17033. * loader/appcache/ApplicationCacheStorage.cpp:
  17034. (WebCore::ApplicationCacheStorage::empty):
  17035. * loader/appcache/ApplicationCacheStorage.h:
  17036. 2008-05-12 Anders Carlsson <andersca@apple.com>
  17037. Reviewed by John.
  17038. Don't throw an exception if the string passed in is an invalid URL.
  17039. * loader/appcache/DOMApplicationCache.cpp:
  17040. (WebCore::DOMApplicationCache::remove):
  17041. 2008-05-12 Anders Carlsson <andersca@apple.com>
  17042. Reviewed by Mitz.
  17043. Add the variable enums for getting the input vtables.
  17044. * bridge/npapi.h:
  17045. 2008-05-12 Adam Roben <aroben@apple.com>
  17046. Windows build fix
  17047. * WebCorePrefix.cpp: Touched this so that it will rebuild now that
  17048. ENABLE_CROSS_DOCUMENT_MESSAGING has been removed.
  17049. 2008-05-12 Alexey Proskuryakov <ap@webkit.org>
  17050. Roll out recent threading changes (r32807, r32810, r32819, r32822) to simplify
  17051. SquirrelFish merging.
  17052. * bindings/js/GCController.cpp:
  17053. (WebCore::collect):
  17054. (WebCore::GCController::gcTimerFired):
  17055. (WebCore::GCController::garbageCollectNow):
  17056. * bindings/js/JSAudioConstructor.cpp:
  17057. (WebCore::JSAudioConstructor::JSAudioConstructor):
  17058. * bindings/js/JSCSSRuleCustom.cpp:
  17059. (WebCore::toJS):
  17060. * bindings/js/JSCSSStyleDeclarationCustom.cpp:
  17061. (WebCore::JSCSSStyleDeclaration::nameGetter):
  17062. * bindings/js/JSCSSValueCustom.cpp:
  17063. (WebCore::toJS):
  17064. * bindings/js/JSCanvasPixelArrayCustom.cpp:
  17065. (WebCore::JSCanvasPixelArray::indexGetter):
  17066. (WebCore::toJS):
  17067. * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
  17068. (WebCore::toJS):
  17069. * bindings/js/JSClipboardCustom.cpp:
  17070. (WebCore::JSClipboard::types):
  17071. (WebCore::JSClipboard::getData):
  17072. * bindings/js/JSCustomXPathNSResolver.cpp:
  17073. (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
  17074. * bindings/js/JSDOMApplicationCacheCustom.cpp:
  17075. (WebCore::JSDOMApplicationCache::addEventListener):
  17076. (WebCore::JSDOMApplicationCache::removeEventListener):
  17077. (WebCore::JSDOMApplicationCache::setOnchecking):
  17078. (WebCore::JSDOMApplicationCache::setOnerror):
  17079. (WebCore::JSDOMApplicationCache::setOnnoupdate):
  17080. (WebCore::JSDOMApplicationCache::setOndownloading):
  17081. (WebCore::JSDOMApplicationCache::setOnprogress):
  17082. (WebCore::JSDOMApplicationCache::setOnupdateready):
  17083. (WebCore::JSDOMApplicationCache::setOncached):
  17084. * bindings/js/JSDOMWindowBase.cpp:
  17085. (WebCore::JSDOMWindowBase::JSDOMWindowBase):
  17086. (WebCore::JSDOMWindowBase::getValueProperty):
  17087. (WebCore::JSDOMWindowBase::setListener):
  17088. (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
  17089. (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
  17090. (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
  17091. (WebCore::windowProtoFuncAToB):
  17092. (WebCore::windowProtoFuncBToA):
  17093. (WebCore::windowProtoFuncSetTimeout):
  17094. (WebCore::windowProtoFuncSetInterval):
  17095. (WebCore::windowProtoFuncAddEventListener):
  17096. * bindings/js/JSDOMWindowBase.h:
  17097. * bindings/js/JSDOMWindowShell.cpp:
  17098. * bindings/js/JSDOMWindowShell.h:
  17099. * bindings/js/JSDocumentCustom.cpp:
  17100. (WebCore::toJS):
  17101. * bindings/js/JSEventCustom.cpp:
  17102. (WebCore::toJS):
  17103. * bindings/js/JSEventTargetBase.cpp:
  17104. (WebCore::jsEventTargetAddEventListener):
  17105. * bindings/js/JSEventTargetBase.h:
  17106. (WebCore::JSEventTargetPrototype::self):
  17107. * bindings/js/JSEventTargetNode.cpp:
  17108. (WebCore::JSEventTargetNode::setListener):
  17109. * bindings/js/JSHTMLCollectionCustom.cpp:
  17110. (WebCore::getNamedItems):
  17111. (WebCore::toJS):
  17112. * bindings/js/JSHTMLElementWrapperFactory.cpp:
  17113. (WebCore::createJSHTMLWrapper):
  17114. * bindings/js/JSHTMLFormElementCustom.cpp:
  17115. (WebCore::JSHTMLFormElement::nameGetter):
  17116. * bindings/js/JSHTMLInputElementBase.cpp:
  17117. (WebCore::JSHTMLInputElementBase::getValueProperty):
  17118. * bindings/js/JSHTMLOptionElementConstructor.cpp:
  17119. (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
  17120. * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
  17121. (WebCore::JSHTMLOptionsCollection::length):
  17122. * bindings/js/JSInspectedObjectWrapper.cpp:
  17123. (WebCore::JSInspectedObjectWrapper::wrap):
  17124. * bindings/js/JSInspectorCallbackWrapper.cpp:
  17125. (WebCore::JSInspectorCallbackWrapper::wrap):
  17126. * bindings/js/JSLocationCustom.cpp:
  17127. (WebCore::JSLocation::toString):
  17128. * bindings/js/JSNamedNodesCollection.cpp:
  17129. (WebCore::JSNamedNodesCollection::lengthGetter):
  17130. * bindings/js/JSNavigatorCustom.cpp:
  17131. (WebCore::JSNavigator::appVersion):
  17132. * bindings/js/JSNodeCustom.cpp:
  17133. (WebCore::toJS):
  17134. * bindings/js/JSNodeFilterCustom.cpp:
  17135. (WebCore::JSNodeFilter::acceptNode):
  17136. * bindings/js/JSRGBColor.cpp:
  17137. (WebCore::getJSRGBColor):
  17138. * bindings/js/JSSQLResultSetRowListCustom.cpp:
  17139. (WebCore::JSSQLResultSetRowList::item):
  17140. * bindings/js/JSSVGElementWrapperFactory.cpp:
  17141. (WebCore::createJSSVGWrapper):
  17142. * bindings/js/JSSVGLazyEventListener.cpp:
  17143. (WebCore::JSSVGLazyEventListener::eventParameterName):
  17144. * bindings/js/JSStorageCustom.cpp:
  17145. (WebCore::JSStorage::nameGetter):
  17146. * bindings/js/JSStyleSheetCustom.cpp:
  17147. (WebCore::toJS):
  17148. * bindings/js/JSXMLHttpRequestConstructor.cpp:
  17149. (WebCore::JSXMLHttpRequestConstructor::construct):
  17150. * bindings/js/JSXMLHttpRequestCustom.cpp:
  17151. (WebCore::JSXMLHttpRequest::setOnreadystatechange):
  17152. (WebCore::JSXMLHttpRequest::setOnload):
  17153. (WebCore::JSXMLHttpRequest::setOnprogress):
  17154. (WebCore::JSXMLHttpRequest::getResponseHeader):
  17155. (WebCore::JSXMLHttpRequest::addEventListener):
  17156. (WebCore::JSXMLHttpRequest::removeEventListener):
  17157. * bindings/js/JSXSLTProcessorConstructor.cpp:
  17158. (WebCore::JSXSLTProcessorConstructor::construct):
  17159. * bindings/js/JSXSLTProcessorCustom.cpp:
  17160. (WebCore::JSXSLTProcessor::getParameter):
  17161. * bindings/js/kjs_binding.cpp:
  17162. (WebCore::jsStringOrNull):
  17163. (WebCore::jsOwnedStringOrNull):
  17164. (WebCore::jsStringOrUndefined):
  17165. (WebCore::jsStringOrFalse):
  17166. (WebCore::nonCachingStaticFunctionGetter):
  17167. (WebCore::objectToStringFunctionGetter):
  17168. * bindings/js/kjs_binding.h:
  17169. (WebCore::DOMObject::DOMObject):
  17170. (WebCore::cacheDOMObject):
  17171. (WebCore::cacheSVGDOMObject):
  17172. * bindings/js/kjs_events.cpp:
  17173. (WebCore::JSLazyEventListener::eventParameterName):
  17174. (WebCore::JSLazyEventListener::parseCode):
  17175. * bindings/js/kjs_html.cpp:
  17176. (WebCore::getRuntimeObject):
  17177. * bindings/scripts/CodeGeneratorJS.pm:
  17178. * bridge/c/c_instance.cpp:
  17179. (KJS::Bindings::CInstance::defaultValue):
  17180. (KJS::Bindings::CInstance::stringValue):
  17181. (KJS::Bindings::CInstance::numberValue):
  17182. (KJS::Bindings::CInstance::valueOf):
  17183. * bridge/c/c_instance.h:
  17184. * bridge/c/c_utility.cpp:
  17185. (KJS::Bindings::convertNPVariantToValue):
  17186. * bridge/jni/jni_instance.cpp:
  17187. (JavaInstance::stringValue):
  17188. (JavaInstance::numberValue):
  17189. (JavaInstance::invokeMethod):
  17190. (JavaInstance::defaultValue):
  17191. (JavaInstance::valueOf):
  17192. * bridge/jni/jni_instance.h:
  17193. * bridge/jni/jni_jsobject.h:
  17194. * bridge/jni/jni_jsobject.mm:
  17195. (JavaJSObject::call):
  17196. (JavaJSObject::setMember):
  17197. (JavaJSObject::setSlot):
  17198. (JavaJSObject::convertJObjectToValue):
  17199. (JavaJSObject::getListFromJArray):
  17200. * bridge/jni/jni_objc.mm:
  17201. (KJS::Bindings::dispatchJNICall):
  17202. * bridge/jni/jni_runtime.cpp:
  17203. (JavaArray::convertJObjectToArray):
  17204. (JavaField::dispatchValueFromInstance):
  17205. (JavaField::valueFromInstance):
  17206. (JavaField::dispatchSetValueToInstance):
  17207. (JavaArray::valueAt):
  17208. * bridge/jni/jni_utility.h:
  17209. * bridge/objc/objc_class.mm:
  17210. (KJS::Bindings::ObjcClass::fallbackObject):
  17211. * bridge/objc/objc_instance.h:
  17212. * bridge/objc/objc_instance.mm:
  17213. (ObjcInstance::defaultValue):
  17214. (ObjcInstance::stringValue):
  17215. (ObjcInstance::numberValue):
  17216. (ObjcInstance::valueOf):
  17217. * bridge/objc/objc_utility.h:
  17218. * bridge/objc/objc_utility.mm:
  17219. (KJS::Bindings::convertNSStringToString):
  17220. (KJS::Bindings::convertObjcValueToValue):
  17221. * bridge/qt/qt_class.cpp:
  17222. (KJS::Bindings::QtClass::fallbackObject):
  17223. * bridge/qt/qt_instance.cpp:
  17224. (KJS::Bindings::QtRuntimeObjectImp::construct):
  17225. (KJS::Bindings::QtInstance::getRuntimeObject):
  17226. (KJS::Bindings::QtInstance::invokeDefaultMethod):
  17227. (KJS::Bindings::QtInstance::defaultValue):
  17228. (KJS::Bindings::QtInstance::stringValue):
  17229. (KJS::Bindings::QtInstance::numberValue):
  17230. (KJS::Bindings::QtInstance::valueOf):
  17231. * bridge/qt/qt_instance.h:
  17232. * bridge/qt/qt_runtime.cpp:
  17233. (KJS::Bindings::convertValueToQVariant):
  17234. (KJS::Bindings::convertQVariantToValue):
  17235. (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter):
  17236. (KJS::Bindings::QtRuntimeMetaMethod::connectGetter):
  17237. (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter):
  17238. (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter):
  17239. (KJS::Bindings::QtConnectionObject::execute):
  17240. * bridge/runtime.cpp:
  17241. (KJS::Bindings::Instance::createRuntimeObject):
  17242. * bridge/runtime.h:
  17243. (KJS::Bindings::Instance::valueOf):
  17244. * bridge/runtime_array.cpp:
  17245. (RuntimeArray::lengthGetter):
  17246. * bridge/runtime_method.cpp:
  17247. (RuntimeMethod::lengthGetter):
  17248. * bridge/runtime_object.cpp:
  17249. (RuntimeObjectImp::RuntimeObjectImp):
  17250. (RuntimeObjectImp::methodGetter):
  17251. (RuntimeObjectImp::defaultValue):
  17252. * xml/XMLHttpRequest.cpp:
  17253. (WebCore::XMLHttpRequest::dropProtection):
  17254. 2008-05-11 Robin Dunn <robin@alldunn.com>
  17255. Reviewed by Kevin Ollivier.
  17256. Since wx popup menus dismiss themselves when an item is selected we need to
  17257. call hidePopup so webkit's internal state is correct.
  17258. https://bugs.webkit.org/show_bug.cgi?id=19000
  17259. * platform/wx/PopupMenuWx.cpp:
  17260. (WebCore::PopupMenu::OnMenuItemSelected):
  17261. (WebCore::PopupMenu::hide):
  17262. 2008-05-11 Sam Weinig <sam@webkit.org>
  17263. Reviewed by Mark Rowe.
  17264. Move some generic parsing functions into a new ParserUtilities header so that
  17265. they can be used for non-SVG builds too.
  17266. * WebCore.vcproj/WebCore.vcproj:
  17267. * WebCore.xcodeproj/project.pbxproj:
  17268. * platform/text/ParserUtilities.h: Added.
  17269. (WebCore::skipString):
  17270. * svg/SVGParserUtilities.h:
  17271. (WebCore::isWhitespace):
  17272. (WebCore::skipOptionalSpaces):
  17273. (WebCore::skipOptionalSpacesOrDelimiter):
  17274. 2008-05-11 Sam Weinig <sam@webkit.org>
  17275. Reviewed by Dan Bernstein.
  17276. Add scaffolding for the implementation of Access Control for Cross-site Requests.
  17277. * GNUmakefile.am:
  17278. * WebCore.pro:
  17279. * WebCore.vcproj/WebCore.vcproj:
  17280. * WebCore.xcodeproj/project.pbxproj:
  17281. * WebCoreSources.bkl:
  17282. * xml/AccessControlList.cpp: Added.
  17283. (WebCore::AccessControlList::AccessControlList):
  17284. (WebCore::AccessControlList::~AccessControlList):
  17285. (WebCore::AccessControlList::parseAccessControlHeader):
  17286. (WebCore::AccessControlList::checkOrigin):
  17287. * xml/AccessControlList.h: Added.
  17288. * xml/AccessItem.cpp: Added.
  17289. (WebCore::AccessItem::AccessItem):
  17290. (WebCore::AccessItem::parseAccessItem):
  17291. (WebCore::AccessItem::matches):
  17292. * xml/AccessItem.h: Added.
  17293. * xml/AccessItemRule.cpp: Added.
  17294. (WebCore::AccessItemRule::AccessItemRule):
  17295. (WebCore::AccessItemRule::parseAccessItemRule):
  17296. * xml/AccessItemRule.h: Added.
  17297. 2008-05-11 Julien Chaffraix <jchaffraix@webkit.org>
  17298. Debug build fix.
  17299. * loader/appcache/ApplicationCache.cpp: Include stdio.h
  17300. as we are using printf in ApplicationCache::dump().
  17301. 2008-05-10 Dan Bernstein <mitz@apple.com>
  17302. Reviewed by Jessica Kahn.
  17303. - add a copy assignment operator to FontPlatformData on Mac to properly
  17304. retain the m_font data member.
  17305. * platform/graphics/mac/FontPlatformData.h:
  17306. * platform/graphics/mac/FontPlatformDataMac.mm:
  17307. (WebCore::FontPlatformData::FontPlatformData):
  17308. (WebCore::~FontPlatformData):
  17309. (WebCore::FontPlatformData::operator=):
  17310. (WebCore::FontPlatformData::setFont):
  17311. 2008-05-10 Adele Peterson <adele@apple.com>
  17312. Reviewed by Tim Hatcher.
  17313. Fix crash for WebKit clients that don't set a group name for the WebView/Page.
  17314. * page/PageGroup.cpp: (WebCore::PageGroup::PageGroup): Instead of adding the Page directly to the group,
  17315. call the addPage method, since it does extra work initializing m_localStorage.
  17316. 2008-05-09 Sam Weinig <sam@webkit.org>
  17317. Reviewed by Mark Rowe.
  17318. Fix for https://bugs.webkit.org/show_bug.cgi?id=18958
  17319. NULL pointer dereference in NamedAttrMap::setNamedItem
  17320. Test: fast/dom/NamedNodeMap-setNamedItem-crash.html
  17321. * dom/NamedAttrMap.cpp:
  17322. (WebCore::NamedAttrMap::setNamedItem): Null check the argument.
  17323. 2008-05-09 Kevin McCullough <kmccullough@apple.com>
  17324. Build fix.
  17325. * page/Console.cpp:
  17326. (WebCore::Console::profile):
  17327. 2008-05-09 Sam Weinig <sam@webkit.org>
  17328. Rubber-stamped by Mark Rowe.
  17329. Remove the ENABLE_CROSS_DOCUMENT_MESSAGING #ifdefs.
  17330. * Configurations/WebCore.xcconfig:
  17331. * WebCore.vcproj/WebCore.vcproj:
  17332. * WebCore.vcproj/build-generated-files.sh:
  17333. * bindings/js/JSDOMWindowCustom.cpp:
  17334. (WebCore::JSDOMWindow::customGetOwnPropertySlot):
  17335. (WebCore::JSDOMWindow::postMessage):
  17336. * bindings/js/JSEventCustom.cpp:
  17337. (WebCore::toJS):
  17338. * bindings/objc/DOMEvents.mm:
  17339. (+[DOMEvent _wrapEvent:WebCore::]):
  17340. * dom/Document.cpp:
  17341. (WebCore::Document::createEvent):
  17342. * dom/Event.cpp:
  17343. (WebCore::Event::isMessageEvent):
  17344. * dom/Event.h:
  17345. * dom/MessageEvent.cpp:
  17346. * dom/MessageEvent.h:
  17347. * dom/MessageEvent.idl:
  17348. * page/DOMWindow.cpp:
  17349. (WebCore::DOMWindow::postMessageTimerFired):
  17350. * page/DOMWindow.h:
  17351. * page/DOMWindow.idl:
  17352. 2008-05-09 Adam Barth <abarth-webkit@adambarth.com>
  17353. Reviewed by Sam Weinig.
  17354. https://bugs.webkit.org/show_bug.cgi?id=18771
  17355. Make postMessage generate an event on the window instead of the
  17356. document.
  17357. Test: http/tests/messaging/cross-domain-message-event-dispatch.html
  17358. * dom/EventTargetNode.cpp:
  17359. (WebCore::EventTargetNode::dispatchWindowEvent):
  17360. * dom/EventTargetNode.h:
  17361. * page/DOMWindow.cpp:
  17362. (WebCore::DOMWindow::postMessageTimerFired):
  17363. 2008-05-09 Tor Arne Vestbø <tavestbo@trolltech.com>
  17364. Reviewed by Simon.
  17365. Replaced all instances of qDebug() with LOG(Media, ...)
  17366. in MediaPlayerPrivatePhonon.
  17367. * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
  17368. (WebCore::MediaPlayerPrivate::updateStates):
  17369. 2008-05-09 Tor Arne Vestbø <tavestbo@trolltech.com>
  17370. Reviewed by Simon
  17371. Fix the Qt/Mac build.
  17372. * platform/qt/FileSystemQt.cpp:
  17373. 2008-05-08 Sam Weinig <sam@webkit.org>
  17374. Reviewed by Anders Carlsson.
  17375. Rename the XMLHttpRequestState enum values to match the spec.
  17376. * xml/XMLHttpRequest.cpp:
  17377. (WebCore::XMLHttpRequest::responseXML):
  17378. (WebCore::XMLHttpRequest::XMLHttpRequest):
  17379. (WebCore::XMLHttpRequest::callReadyStateChangeListener):
  17380. (WebCore::XMLHttpRequest::open):
  17381. (WebCore::XMLHttpRequest::send):
  17382. (WebCore::XMLHttpRequest::abort):
  17383. (WebCore::XMLHttpRequest::setRequestHeader):
  17384. (WebCore::XMLHttpRequest::getAllResponseHeaders):
  17385. (WebCore::XMLHttpRequest::getResponseHeader):
  17386. (WebCore::XMLHttpRequest::status):
  17387. (WebCore::XMLHttpRequest::statusText):
  17388. (WebCore::XMLHttpRequest::processSyncLoadResults):
  17389. (WebCore::XMLHttpRequest::didFinishLoading):
  17390. (WebCore::XMLHttpRequest::didReceiveData):
  17391. * xml/XMLHttpRequest.h:
  17392. 2008-05-08 Dan Bernstein <mitz@apple.com>
  17393. Reviewed by Mark Rowe.
  17394. - fix https://bugs.webkit.org/show_bug.cgi?id=18818
  17395. <rdar://problem/5901544> REGRESSION (3.1.1-TOT): Character order (float:left ordered after the first letter)
  17396. Test: fast/css/first-letter-float-after-float.html
  17397. * rendering/RenderBlock.cpp:
  17398. (WebCore::RenderBlock::updateFirstLetter): Changed to add the first
  17399. letter container right before the rest of the text it is taken from,
  17400. instead of at the beginning of the block.
  17401. 2008-05-08 Chris Fleizach <cfleizach@apple.com>
  17402. Reviewed by Darin Adler.
  17403. <rdar://problem/5921046> AX: list box options have wrong AXPosition
  17404. * page/AccessibilityObject.cpp:
  17405. (WebCore::AccessibilityObject::documentFrameView):
  17406. * page/AccessibilityObject.h:
  17407. 2008-05-08 Julien Chaffraix <jchaffraix@webkit.org>
  17408. Reviewed by Eric.
  17409. Bug 18916: make_names.pl --factory needs to support custom c++ guard
  17410. Add --guardFactoryWith to handle the cpp guard around generated factories.
  17411. * DerivedSources.make: Set the guardFactoryWith variable for SVG factory.
  17412. * GNUmakefile.am: Ditto.
  17413. * WebCore.pro: Ditto.
  17414. * dom/make_names.pl: Add guardFactoryWith option.
  17415. 2008-05-08 Julien Chaffraix <jchaffraix@webkit.org>
  17416. Reviewed by Adam Roben.
  17417. wx & Gtk build fix.
  17418. Should also fix the cURL backend for the Windows port.
  17419. * WebCore.vcproj/WebCore.vcproj: Add FormDataStreamCurl information.
  17420. * platform/network/curl/FormDataStreamCurl.h: Include stdio.h which
  17421. fixes the build on some machine.
  17422. * webcore-wx.bkl: Add FormDataStreamCurl.cpp.
  17423. 2008-05-08 Timothy Hatcher <timothy@apple.com>
  17424. Fixes the bug where the Web Inspector could not
  17425. find any localization strings.
  17426. Reviewed by Mark Rowe.
  17427. * WebCore.xcodeproj/project.pbxproj: Add the localizedStrings.js
  17428. file to the WebCore Copy Resources phase. Also removes an idl from
  17429. the Copy Resources phase.
  17430. 2008-05-08 Dan Bernstein <mitz@apple.com>
  17431. Reviewed by Adam Roben.
  17432. - fix <rdar://problem/5697957> "No recent searches" label in a narrow search field's history popup is truncated
  17433. * platform/win/PopupMenuWin.cpp:
  17434. (WebCore::PopupMenu::calculatePositionAndSize): Changed to use a bold
  17435. font for measuring labels.
  17436. 2008-05-08 Dan Bernstein <mitz@apple.com>
  17437. Reviewed by Geoffrey Garen.
  17438. - cross-platform fix for http://bugs.webkit.org/show_bug.cgi?id=17590
  17439. ASSERTION FAILED: subject in jsRegExpExecute()
  17440. * page/Frame.cpp:
  17441. (WebCore::Frame::matchLabelsAgainstElement):
  17442. 2008-05-08 Holger Hans Peter Freyther <zecke@selfish.org>
  17443. Reviewed by Simon.
  17444. Simple ImageBuffer::image implementation.
  17445. In contrast to cg and cairo we do not use a special BitmapImage because
  17446. the ownership of the FrameData inside the BitmapImage is a bit backward
  17447. (actually owned by the ImageDecoderQt...). Further work is needed for image
  17448. and pixmap handling in the qt port...
  17449. * WebCore.pro:
  17450. * platform/graphics/ImageBuffer.h:
  17451. * platform/graphics/qt/ImageBufferQt.cpp:
  17452. (WebCore::ImageBuffer::image):
  17453. * platform/graphics/qt/ImageQt.cpp:
  17454. * platform/graphics/qt/StillImageQt.cpp: Added.
  17455. (WebCore::StillImage::StillImage):
  17456. (WebCore::StillImage::size):
  17457. (WebCore::StillImage::getPixmap):
  17458. (WebCore::StillImage::draw):
  17459. * platform/graphics/qt/StillImageQt.h: Added.
  17460. 2008-05-08 Holger Hans Peter Freyther <zecke@selfish.org>
  17461. Reviewed by Simon.
  17462. Update the WebKit.qrc of the inspector to be functional again
  17463. * page/inspector/WebKit.qrc:
  17464. 2008-05-08 Tor Arne Vestbø <tavestbo@trolltech.com>
  17465. Reviewed by Simon
  17466. Fix the Qt/Mac build.
  17467. * platform/FileSystem.h:
  17468. 2008-05-08 Ariya Hidayat <ariya.hidayat@trolltech.com>
  17469. Reviewed by Simon.
  17470. Use native Windows library handling (instead of QLibrary)
  17471. for Qt/Win32's PlatformModule.
  17472. * platform/FileSystem.h:
  17473. (WebCore::PlatformModuleVersion::PlatformModuleVersion):
  17474. * platform/qt/FileSystemQt.cpp:
  17475. (WebCore::unloadModule):
  17476. 2008-05-08 Simon Hausmann <hausmann@webkit.org>
  17477. Reviewed and found by Holger.
  17478. Include .css in the list of extensions for text/css. Fixes
  17479. fast/loader/local-css-allowed-in-strict-mode.html.
  17480. * platform/qt/MIMETypeRegistryQt.cpp:
  17481. 2008-05-08 Simon Hausmann <hausmann@webkit.org>
  17482. Fix the Qt and Wx build when compiling without offline app support.
  17483. * loader/FrameLoader.cpp:
  17484. (WebCore::FrameLoader::canCachePage):
  17485. 2008-05-07 Sam Weinig <sam@webkit.org>
  17486. Reviewed by Adele Peterson
  17487. Update MessageEvent to match the latest version of the HTML5 spec,
  17488. adding the lastEventId attribute.
  17489. * dom/MessageEvent.cpp:
  17490. (WebCore::MessageEvent::MessageEvent):
  17491. (WebCore::MessageEvent::initMessageEvent):
  17492. * dom/MessageEvent.h:
  17493. (WebCore::MessageEvent::lastEventId):
  17494. * dom/MessageEvent.idl:
  17495. * page/DOMWindow.cpp:
  17496. (WebCore::DOMWindow::postMessage):
  17497. 2008-05-07 Stephanie Lewis <slewis@apple.com>
  17498. Reviewed by Maciej.
  17499. remove non-functioning code. If onunload should be fired from these nodes then
  17500. a WindowEventListener needs to be set. However, Firefox and IE also do not
  17501. fire onunload events for these cases.
  17502. Test: fast/events/onunload-not-on-body.html
  17503. * html/HTMLFrameElementBase.cpp:
  17504. (WebCore::HTMLFrameElementBase::parseMappedAttribute):
  17505. * html/HTMLObjectElement.cpp
  17506. (WebCore::HTMLObjectElement::parseMappedAttribute):
  17507. 2008-05-07 Dan Bernstein <mitz@apple.com>
  17508. Reviewed by John Sullivan.
  17509. - fix https://bugs.webkit.org/show_bug.cgi?id=18909
  17510. <rdar://problem/5914165> REGRESSION (r31872-r31878): Viewed photos not closing completely at indycar.com
  17511. Test: fast/dynamic/positioned-movement-with-positioned-children.html
  17512. * rendering/RenderBlock.cpp:
  17513. (WebCore::RenderBlock::layoutOnlyPositionedObjects): Cover the case of
  17514. a positioned object that has only moved and has only positioned children
  17515. that have changed.
  17516. * rendering/RenderObject.h:
  17517. (WebCore::RenderObject::needsPositionedMovementLayout): Added this
  17518. accessor.
  17519. 2008-05-07 Anders Carlsson <andersca@apple.com>
  17520. Reviewed by John.
  17521. When no document loaders are associated with an application cache group,
  17522. release the reference to the newest cache group. This prevents reference cycles.
  17523. * loader/appcache/ApplicationCacheGroup.cpp:
  17524. (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
  17525. (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
  17526. (WebCore::ApplicationCacheGroup::cacheDestroyed):
  17527. * loader/appcache/ApplicationCacheGroup.h:
  17528. * loader/appcache/ApplicationCacheStorage.cpp:
  17529. (WebCore::ApplicationCacheStorage::cacheGroupForURL):
  17530. Return early if the datbase wasn't open.
  17531. (WebCore::ApplicationCacheStorage::loadCache):
  17532. Add error.
  17533. 2008-05-07 Anders Carlsson <andersca@apple.com>
  17534. Reviewed by Adam.
  17535. Don't put pages with an application cache in the BF cache.
  17536. * loader/FrameLoader.cpp:
  17537. (WebCore::FrameLoader::canCachePage):
  17538. 2008-05-07 Justin Garcia <justin.garcia@apple.com>
  17539. Reviewed by John Sullivan.
  17540. <rdar://problem/5666354> Crashes in Mail at WebCore::RemoveNodeCommand::doApply
  17541. When a single tab or series of tabs was copied, we weren't putting them into a
  17542. tab span. On Paste, we would be given a text node with a single tab or series
  17543. of tabs in it, and we would crash when inserting it at the start of a block
  17544. (where that kind of text becomes completely unrendered).
  17545. * editing/ReplaceSelectionCommand.cpp:
  17546. (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): Clean
  17547. up correctly and early return if we removed everything that was inserted.
  17548. * editing/markup.cpp:
  17549. (WebCore::createMarkup): Include the tab span when the only thing copied
  17550. was a tab or a series of tabs.
  17551. 2008-05-07 Julien Chaffraix <jchaffraix@webkit.org>
  17552. Reviewed by Adam Roben.
  17553. wx & Gtk build fix.
  17554. * platform/network/curl/FormDataStreamCurl.cpp: Added stdint.h include. We need to define
  17555. __STDC_LIMIT_MACROS to have SIZE_MAX exported.
  17556. * platform/network/curl/FormDataStreamCurl.h: Removed cstdint include (replaced by stdint.h)
  17557. as it is not present on the build bots.
  17558. * plugins/gtk/PluginDatabaseGtk.cpp: Added missing #endif.
  17559. 2008-05-07 David Kilzer <ddkilzer@apple.com>
  17560. Bug 18900: Password field has focus but can't type text (i.rememberthemilk.com)
  17561. <https://bugs.webkit.org/show_bug.cgi?id=18900>
  17562. <rdar://problem/5912383>
  17563. Original patch by Aaron Golden and Tim Omernick. Reviewed by Adele.
  17564. Test: fast/forms/textfield-to-password-on-focus.html
  17565. * html/HTMLInputElement.cpp:
  17566. (WebCore::HTMLInputElement::setInputType): If the current node has
  17567. focus, call updateFocusAppearance() to make sure its state is correct
  17568. after changing its type.
  17569. 2008-05-07 Chris Fleizach <cfleizach@apple.com>
  17570. Reviewed by Alice Liu
  17571. <rdar://problem/4867889> REGRESSION: "Choose File.." buttons are exposed as AXGroup instead of AXButton
  17572. * page/AccessibilityObject.h:
  17573. (WebCore::AccessibilityObject::isFileUploadButton):
  17574. * page/AccessibilityRenderObject.cpp:
  17575. (WebCore::AccessibilityRenderObject::isFileUploadButton):
  17576. (WebCore::AccessibilityRenderObject::actionElement):
  17577. (WebCore::AccessibilityRenderObject::textUnderElement):
  17578. (WebCore::AccessibilityRenderObject::stringValue):
  17579. (WebCore::AccessibilityRenderObject::roleValue):
  17580. * page/AccessibilityRenderObject.h:
  17581. * rendering/RenderFileUploadControl.cpp:
  17582. (WebCore::RenderFileUploadControl::buttonValue):
  17583. (WebCore::RenderFileUploadControl::fileTextValue):
  17584. * rendering/RenderFileUploadControl.h:
  17585. 2008-05-07 Julien Chaffraix <jchaffraix@webkit.org>
  17586. Reviewed by Eric.
  17587. Bug 17971: [Curl] FormData processing should be moved to its own class
  17588. Move FormData treatment into FormDataStream. The aim is to have FormDataStream behave like a stream that cURL
  17589. could manipulate.
  17590. First step into having complete file uploading facility in cURL.
  17591. No test case as it is only code refactoring.
  17592. * GNUmakefile.am: Add FormDataStreamCurl.cpp
  17593. * platform/network/ResourceHandleInternal.h: Move code to FormStreamDataCurl.h
  17594. (WebCore::ResourceHandleInternal::ResourceHandleInternal):
  17595. * platform/network/curl/FormDataStreamCurl.cpp: Added.
  17596. (WebCore::FormDataStream::~FormDataStream):
  17597. (WebCore::FormDataStream::read):
  17598. * platform/network/curl/FormDataStreamCurl.h: Added.
  17599. (WebCore::FormDataStream::FormDataStream):
  17600. * platform/network/curl/ResourceHandleCurl.cpp:
  17601. (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
  17602. * platform/network/curl/ResourceHandleManager.cpp:
  17603. (WebCore::readCallback): Move code to FormDataStreamCurl.cpp
  17604. 2008-05-07 Adam Treat <treat@kde.org>
  17605. Reviewed by Simon.
  17606. https://bugs.webkit.org/show_bug.cgi?id=18898
  17607. Fixed wrong transform being used for creating the pixmap for a new
  17608. transparency layer. This fixes the popup menus on dell.com.
  17609. * platform/graphics/qt/GraphicsContextQt.cpp:
  17610. (WebCore::GraphicsContext::beginTransparencyLayer):
  17611. 2008-05-07 Ariya Hidayat <ariya.hidayat@trolltech.com>
  17612. Reviewed by Simon.
  17613. Share the plug-in directories between Gtk and Qt/X11 port.
  17614. * platform/qt/FileSystemQt.cpp:
  17615. (WebCore::homeDirectoryPath): Implement it for Qt.
  17616. * plugins/PluginDatabase.cpp:
  17617. (WebCore::addMozillaPluginDirectories): Shared code.
  17618. (WebCore::PluginDatabase::defaultPluginDirectories):
  17619. (WebCore::PluginDatabase::isPreferredPluginDirectory): Shared code.
  17620. * plugins/gtk/PluginDatabaseGtk.cpp:
  17621. (WebCore::PluginDatabase::isPreferredPluginDirectory): Refactored.
  17622. * plugins/qt/PluginDatabaseQt.cpp: Refactored.
  17623. 2008-05-07 Tor Arne Vestbø <tavestbo@trolltech.com>
  17624. Reviewed by Simon
  17625. Fix build issues on Mac and refeactor the .pro file a bit.
  17626. * WebCore.pro:
  17627. * platform/qt/TemporaryLinkStubs.cpp:
  17628. (PluginPackage::fetchInfo):
  17629. 2008-05-07 Tor Arne Vestbø <tavestbo@trolltech.com>
  17630. Reviewed by Simon
  17631. Draw scrollview corners (between scrollbars) using the Qt style.
  17632. https://bugs.webkit.org/show_bug.cgi?id=18894
  17633. * platform/qt/ScrollViewQt.cpp:
  17634. (WebCore::drawScrollbarCorner):
  17635. (WebCore::ScrollView::paint):
  17636. 2008-05-07 Simon Hausmann <hausmann@webkit.org>
  17637. Fix the Qt build, added AccessibilityListBox and ListBoxOption.cpp to
  17638. the build.
  17639. * WebCore.pro:
  17640. 2008-05-07 Ariya Hidayat <ariya.hidayat@trolltech.com>
  17641. Rubber-stamped by Holger.
  17642. Fix building without storage support.
  17643. * page/PageGroup.cpp:
  17644. (WebCore::PageGroup::closeLocalStorage): proper #if
  17645. 2008-05-07 Ariya Hidayat <ariya.hidayat@trolltech.com>
  17646. Rubber-stamped by Oliver Hunt.
  17647. Fix building without accessibility.
  17648. * page/AXObjectCache.cpp:
  17649. (WebCore::AXObjectCache::selectedChildrenChanged): proper #if
  17650. 2008-05-06 Dan Bernstein <mitz@apple.com>
  17651. Reviewed by Darin Adler.
  17652. - fix <rdar://problem/5914544> Crash in layoutInlineChildren()
  17653. Test: fast/block/float/float-on-zero-height-line.html
  17654. * rendering/RenderBlock.cpp:
  17655. (WebCore::RenderBlock::markLinesDirtyInVerticalRange):
  17656. 2008-05-06 Alice Liu <alice.liu@apple.com>
  17657. Reviewed by Adele Peterson and John Sullivan.
  17658. changes needed to build on Windows after r32911 and r32927
  17659. * WebCore.vcproj/WebCore.vcproj:
  17660. * page/AXObjectCache.cpp:
  17661. (WebCore::AXObjectCache::selectedChildrenChanged):
  17662. * page/AccessibilityObject.h:
  17663. (WebCore::AccessibilityObject::document):
  17664. (WebCore::AccessibilityObject::topDocumentFrameView):
  17665. (WebCore::AccessibilityObject::documentFrameView):
  17666. * page/AccessibilityRenderObject.cpp:
  17667. (WebCore::AccessibilityRenderObject::document):
  17668. (WebCore::AccessibilityRenderObject::topDocumentFrameView):
  17669. (WebCore::AccessibilityRenderObject::documentFrameView):
  17670. * page/AccessibilityRenderObject.h:
  17671. * page/mac/AXObjectCacheMac.mm:
  17672. * page/mac/AccessibilityObjectWrapper.mm:
  17673. (-[AccessibilityObjectWrapper position]):
  17674. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  17675. 2008-05-06 Brady Eidson <beidson@apple.com>
  17676. Reviewed by Sam Weinig
  17677. Fix a few bugs with the final sync'ing of LocalStorageAreas when the thread is shut down.
  17678. 1 - A sync task actually needs to be scheduled for each LocalStorageArea when the shut down occurs.
  17679. 2 - Pending sync timers all need to be cancelled.
  17680. * storage/LocalStorage.cpp:
  17681. (WebCore::LocalStorage::storageArea):
  17682. (WebCore::LocalStorage::close): Tell each LocalStorageArea to schedule it's final sync before scheduling
  17683. thread termination.
  17684. * storage/LocalStorage.h: Change the map to be of LocalStorageAreas instead of StorageAreas
  17685. * storage/LocalStorageArea.cpp:
  17686. (WebCore::LocalStorageArea::LocalStorageArea):
  17687. (WebCore::LocalStorageArea::~LocalStorageArea): ASSERT the timer has been cancelled, but make SURE it is
  17688. in release builds.
  17689. (WebCore::LocalStorageArea::scheduleFinalSync): Cancel the sync timer, schedule the final sync, and set the
  17690. "final sync scheduled" flag
  17691. (WebCore::LocalStorageArea::scheduleItemForSync): ASSERT that the final sync hasn't already been scheduled
  17692. (WebCore::LocalStorageArea::scheduleClear): Ditto
  17693. * storage/LocalStorageArea.h:
  17694. 2008-05-06 Kevin Ollivier <kevino@theolliviers.com>
  17695. wx build fix. Adding files added in r32925 to the bakefiles.
  17696. * WebCoreSources.bkl:
  17697. 2008-05-06 Alp Toker <alp@nuanti.com>
  17698. GTK+ build fix. Add empty stub to keep non-accessible ports building.
  17699. * page/AXObjectCache.h:
  17700. (WebCore::AXObjectCache::selectedChildrenChanged):
  17701. 2008-05-06 Beth Dakin <bdakin@apple.com>
  17702. Reviewed by Darin.
  17703. Fix for <rdar://problem/5907916> Implement 'aria-labeledby' and
  17704. 'aria-describedby' attributes.
  17705. * html/HTMLAttributeNames.in: Added new attributes. Added both the
  17706. British spelling (since that is what is specified in the spec), and
  17707. the American spelling (since the bug filer and I are two Americans
  17708. who keep spelling it the American way by accident).
  17709. * page/AccessibilityObject.cpp: Added empty wrappers. These
  17710. functions can't do anything meaningful without a renderer.
  17711. (WebCore::AccessibilityObject::ariaAccessiblityName):
  17712. (WebCore::AccessibilityObject::ariaLabeledByAttribute):
  17713. (WebCore::AccessibilityObject::ariaDescribedByAttribute):
  17714. * page/AccessibilityObject.h:
  17715. Here is where the real work is done.
  17716. * page/AccessibilityRenderObject.h:
  17717. * page/AccessibilityRenderObject.cpp:
  17718. (WebCore::accessibleNameForNode): Takes a node and finds its
  17719. contribution to the accessible name, as defined by the Mozilla ARIA
  17720. Implementer's Guide.
  17721. (WebCore::AccessibilityRenderObject::ariaAccessiblityName): Takes a
  17722. string of space-separated IDs, fetches the corresponding element
  17723. for each ID, and concatenates an accessible name based on the
  17724. elements.
  17725. (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute):
  17726. Retrieve the labeledby attribute and send its contents to
  17727. ariaAccessibilityName().
  17728. (WebCore::AccessibilityRenderObject::title): Return the ARIA
  17729. labeledby value if one exists.
  17730. (WebCore::AccessibilityRenderObject::ariaDescribedByAttribute):
  17731. Retrieve the describedby attribute and send its contents to
  17732. ariaAccessibilityName().
  17733. (WebCore::AccessibilityRenderObject::accessibilityDescription):
  17734. Return the ARIA describedby attribute if one exists.
  17735. These are two bugs I spotted.
  17736. (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): Don't
  17737. ignore anything with an ARIA role.
  17738. (WebCore::AccessibilityRenderObject::roleValue): Button tags maps
  17739. to ButtonRole.
  17740. 2008-05-06 Anders Carlsson <andersca@apple.com>
  17741. Reviewed by Brady.
  17742. Support reading back app caches from the database.
  17743. * loader/appcache/ApplicationCache.cpp:
  17744. (WebCore::ApplicationCache::ApplicationCache):
  17745. Initialize m_storageID to 0.
  17746. * loader/appcache/ApplicationCacheGroup.cpp:
  17747. (WebCore::ApplicationCacheGroup::cacheDestroyed):
  17748. If the cache being destroyed is not the newest cache, it should no longer be
  17749. stored in the database. Remove it.
  17750. (WebCore::ApplicationCacheGroup::setNewestCache):
  17751. Don't store the cache here.
  17752. (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
  17753. Store it here instead.
  17754. * loader/appcache/ApplicationCacheStorage.cpp:
  17755. (WebCore::ApplicationCacheStorage::loadCacheGroup):
  17756. New method that loads a cache group with a given manifest URL (or returns 0 if the load fails).
  17757. (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
  17758. Search for the group in the database.
  17759. (WebCore::ApplicationCacheStorage::loadManifestHostHashes):
  17760. New method that loads the host hashes from the database.
  17761. (WebCore::ApplicationCacheStorage::cacheGroupForURL):
  17762. Search in the database for a cache that contains the resource.
  17763. (WebCore::ApplicationCacheStorage::loadCache):
  17764. New method that loads a cache with a given ID.
  17765. (WebCore::ApplicationCacheStorage::remove):
  17766. New method that removes a cache.
  17767. * loader/appcache/ApplicationCacheStorage.h:
  17768. Add definitions.
  17769. 2008-05-06 Alp Toker <alp@nuanti.com>
  17770. Partial GTK+ build fix. Add files from r32925 to the build and replace
  17771. 'nil' return with 0.
  17772. * GNUmakefile.am:
  17773. * page/AccessibilityListBoxOption.cpp:
  17774. (WebCore::AccessibilityListBoxOption::parentObject):
  17775. 2008-05-06 Brady Eidson <beidson@apple.com>
  17776. Reviewed by Anders
  17777. Make LocalStorage persistent using a SQLite database.
  17778. There's a few things going on here. Whenever an item is changed, we add it to a set of
  17779. "items to be sync'ed." Instead of immediately scheduling the sync'ing on the background
  17780. thread, we set a "sync timer" instead. This is to shield against a series of rapid changes
  17781. to avoid thread churn.
  17782. When the sync timer fires, we move the "items to be sync'ed" set to a background thread set
  17783. and schedule the sync task which is where the items are actually committed to disk.
  17784. Current design for reading items back in from disk is to be as aggressive as possible.
  17785. When a page first accesses it's LocalStorage area, we begin to import all items in from disk so
  17786. they are immediately available. A future enhancement will be to being this pre-fetching the
  17787. moment we start loading a page when we know that page has LocalStorage.
  17788. * storage/LocalStorageArea.cpp:
  17789. (WebCore::LocalStorageArea::LocalStorageArea):
  17790. (WebCore::LocalStorageArea::length): Return the length, or wait for the import to complete then return it.
  17791. (WebCore::LocalStorageArea::key): Return the key, or wait for the import to complete then return it.
  17792. (WebCore::LocalStorageArea::getItem): Return the item, or wait for the import to complete then return it.
  17793. (WebCore::LocalStorageArea::setItem): Set the item, or hold the import lock and set it. The second case is
  17794. because if the item is set while the import is still in progress, the new value should override whatever
  17795. the imported value is.
  17796. (WebCore::LocalStorageArea::removeItem): Remove the item, or hold the import lock and remove it. See the
  17797. explanation for setItem()
  17798. (WebCore::LocalStorageArea::contains): Return whether or not the item is contained. Do the same dance with
  17799. the import flag, import lock, and import condition that the above methods do.
  17800. (WebCore::LocalStorageArea::itemChanged): Schedule the item for sync'ing
  17801. (WebCore::LocalStorageArea::itemRemoved): Schedule the removal of the item for sync'ing
  17802. (WebCore::LocalStorageArea::areaCleared): Schedule the clear for sync'ing, and clear all previously
  17803. scheduled items.
  17804. (WebCore::LocalStorageArea::scheduleItemForSync): Add an item to the sync set.
  17805. (WebCore::LocalStorageArea::scheduleClear): Set a bool flag denoting "All items removed." If any
  17806. items are later set before the actual removal takes place, they will be written *after* the removal.
  17807. (WebCore::LocalStorageArea::syncTimerFired): Move the current sync-set to the background thread sync set, then
  17808. schedule a sync task. Also transfer the "items cleared" flag to the "background thread items cleared" flag
  17809. (WebCore::LocalStorageArea::performImport): Import all items from disk, then signal the import complete.
  17810. (WebCore::LocalStorageArea::markImported): Set the imported flag and signal the import complete
  17811. (WebCore::LocalStorageArea::performSync): If the clear flag is set then drop all items. Then update or delete
  17812. each item waiting to be sync'ed
  17813. * storage/LocalStorageArea.h:
  17814. 2008-05-06 Brady Eidson <beidson@apple.com>
  17815. Rubberstamped by Mitz Pettel RTL
  17816. * storage/LocalStorage.cpp:
  17817. (WebCore::LocalStorage::fullDatabaseFilename): Filename extensions for localstorage = all lowercase
  17818. 2008-05-06 Brady Eidson <beidson@apple.com>
  17819. Reviewed by Darin, Sam Weinig, and Anders
  17820. Preparation for upcoming work making LocalStorage persistent.
  17821. The final step before code that actually does storage and retrieval of LocalStorage items.
  17822. The LocalStorage set is responsible for controlling the path and filenames that individual
  17823. LocalStorageAreas will use for their persistent store. This adds the ability to return that
  17824. filename.
  17825. Also, add the scheduling methods that LocalStorageArea will use for importing and syncing
  17826. it's persistent items.
  17827. * storage/LocalStorage.cpp:
  17828. (WebCore::LocalStorage::storageArea): Add some comments re: the future direction of this
  17829. method once we actually do quota tracking.
  17830. (WebCore::LocalStorage::fullDatabaseFilename):
  17831. (WebCore::LocalStorage::scheduleImport):
  17832. (WebCore::LocalStorage::scheduleSync):
  17833. * storage/LocalStorage.h:
  17834. 2008-05-06 Chris Fleizach <cfleizach@apple.com>
  17835. Reviewed by Beth Dakin.
  17836. rdar://problem/5408464> REGRESSION: Unable to use Voiceover on combo boxes (disneyjobs.com)
  17837. * WebCore.xcodeproj/project.pbxproj:
  17838. * html/HTMLOptGroupElement.cpp:
  17839. (WebCore::HTMLOptGroupElement::ownerSelectElement):
  17840. (WebCore::HTMLOptGroupElement::accessKeyAction):
  17841. * html/HTMLOptGroupElement.h:
  17842. * html/HTMLOptionElement.cpp:
  17843. (WebCore::HTMLOptionElement::accessKeyAction):
  17844. (WebCore::HTMLOptionElement::index):
  17845. (WebCore::HTMLOptionElement::setSelected):
  17846. (WebCore::HTMLOptionElement::childrenChanged):
  17847. (WebCore::HTMLOptionElement::ownerSelectElement):
  17848. (WebCore::HTMLOptionElement::insertedIntoDocument):
  17849. * html/HTMLOptionElement.h:
  17850. * html/HTMLSelectElement.cpp:
  17851. (WebCore::HTMLSelectElement::childrenChanged):
  17852. (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
  17853. * html/HTMLSelectElement.h:
  17854. * page/AXObjectCache.cpp:
  17855. (WebCore::AXObjectCache::get):
  17856. * page/AccessibilityListBox.cpp: Added.
  17857. (WebCore::AccessibilityListBox::AccessibilityListBox):
  17858. (WebCore::AccessibilityListBox::~AccessibilityListBox):
  17859. (WebCore::AccessibilityListBox::create):
  17860. (WebCore::AccessibilityListBox::addChildren):
  17861. (WebCore::AccessibilityListBox::selectedChildren):
  17862. (WebCore::AccessibilityListBox::visibleChildren):
  17863. (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject):
  17864. (WebCore::AccessibilityListBox::doAccessibilityHitTest):
  17865. * page/AccessibilityListBox.h: Added.
  17866. (WebCore::AccessibilityListBox::accessibilityShouldUseUniqueId):
  17867. (WebCore::AccessibilityListBox::isListBox):
  17868. (WebCore::AccessibilityListBox::canSetFocusAttribute):
  17869. (WebCore::AccessibilityListBox::roleValue):
  17870. (WebCore::AccessibilityListBox::accessibilityIsIgnored):
  17871. * page/AccessibilityListBoxOption.cpp: Added.
  17872. (WebCore::AccessibilityListBoxOption::AccessibilityListBoxOption):
  17873. (WebCore::AccessibilityListBoxOption::~AccessibilityListBoxOption):
  17874. (WebCore::AccessibilityListBoxOption::create):
  17875. (WebCore::AccessibilityListBoxOption::isEnabled):
  17876. (WebCore::AccessibilityListBoxOption::isSelected):
  17877. (WebCore::AccessibilityListBoxOption::elementRect):
  17878. (WebCore::AccessibilityListBoxOption::title):
  17879. (WebCore::AccessibilityListBoxOption::size):
  17880. (WebCore::AccessibilityListBoxOption::actionElement):
  17881. (WebCore::AccessibilityListBoxOption::parentObject):
  17882. (WebCore::AccessibilityListBoxOption::listBoxOptionParentNode):
  17883. (WebCore::AccessibilityListBoxOption::listBoxOptionIndex):
  17884. * page/AccessibilityListBoxOption.h: Added.
  17885. (WebCore::AccessibilityListBoxOption::setHTMLElement):
  17886. (WebCore::AccessibilityListBoxOption::roleValue):
  17887. (WebCore::AccessibilityListBoxOption::accessibilityIsIgnored):
  17888. (WebCore::AccessibilityListBoxOption::isListBoxOption):
  17889. * page/AccessibilityObject.h:
  17890. (WebCore::AccessibilityObject::isListBox):
  17891. * page/AccessibilityRenderObject.cpp:
  17892. (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
  17893. * page/mac/AccessibilityObjectWrapper.mm:
  17894. (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
  17895. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  17896. * rendering/RenderListBox.cpp:
  17897. (WebCore::RenderListBox::selectionChanged):
  17898. * rendering/RenderListBox.h:
  17899. 2008-05-06 Chris Fleizach <cfleizach@apple.com>
  17900. Reviewed by Beth Dakin.
  17901. <rdar://problem/5455287> AXWebArea should include AXURL
  17902. * page/AccessibilityRenderObject.cpp:
  17903. (WebCore::AccessibilityRenderObject::url):
  17904. * page/mac/AccessibilityObjectWrapper.mm:
  17905. (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
  17906. 2008-05-06 Alice Liu <alice.liu@apple.com>
  17907. Rubber-stamped by Beth
  17908. stab-in-the-dark attempt at fixing non-mac builds.
  17909. * GNUmakefile.am:
  17910. * WebCore.pro:
  17911. * WebCore.vcproj/WebCore.vcproj:
  17912. * WebCoreSources.bkl:
  17913. 2008-05-06 Anders Carlsson <andersca@apple.com>
  17914. Reviewed by Adam.
  17915. Only use the toplevel application cache when loading subframes.
  17916. * loader/MainResourceLoader.cpp:
  17917. (WebCore::MainResourceLoader::load):
  17918. 2008-05-06 Adam Barth <abarth-webkit@adambarth.com>
  17919. Reviewed by Sam Weinig.
  17920. https://bugs.webkit.org/show_bug.cgi?id=18725
  17921. Implement asynchronous postMessage.
  17922. MessageEvent no longer bubbles as per r1237 in the HTML 5 working draft.
  17923. Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.
  17924. Test: http/tests/security/postMessage/delivery-order.html
  17925. * dom/MessageEvent.cpp:
  17926. (WebCore::MessageEvent::MessageEvent):
  17927. * page/DOMWindow.cpp:
  17928. (WebCore::PostMessageTimer::PostMessageTimer):
  17929. (WebCore::PostMessageTimer::event):
  17930. (WebCore::PostMessageTimer::targetOrigin):
  17931. (WebCore::PostMessageTimer::fired):
  17932. (WebCore::DOMWindow::postMessage):
  17933. (WebCore::DOMWindow::postMessageTimerFired):
  17934. * page/DOMWindow.h:
  17935. * page/DOMWindow.idl:
  17936. 2008-05-06 Anders Carlsson <andersca@apple.com>
  17937. Reviewed by Brady.
  17938. Store cache to the database.
  17939. * loader/appcache/ApplicationCache.cpp:
  17940. (WebCore::ApplicationCache::addResource):
  17941. If the cache has been saved to disk, save the resource as well.
  17942. * loader/appcache/ApplicationCache.h:
  17943. (WebCore::ApplicationCache::onlineWhitelist):
  17944. New method which returns the online whitelist.
  17945. (WebCore::ApplicationCache::setStorageId):
  17946. (WebCore::ApplicationCache::storageId):
  17947. Setter/getter for the application cache storage ID.
  17948. * loader/appcache/ApplicationCacheGroup.cpp:
  17949. (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
  17950. Save the cache/group to disk.
  17951. * loader/appcache/ApplicationCacheGroup.h:
  17952. (WebCore::ApplicationCacheGroup::setStorageID):
  17953. (WebCore::ApplicationCacheGroup::storageID):
  17954. Setter/getter for the application cache group storage ID.
  17955. * loader/appcache/ApplicationCacheResource.cpp:
  17956. (WebCore::ApplicationCacheResource::addType):
  17957. We can't add a new type if the resource has been saved to disk.
  17958. * loader/appcache/ApplicationCacheResource.h:
  17959. (WebCore::ApplicationCacheResource::setStorageID):
  17960. (WebCore::ApplicationCacheResource::storageID):
  17961. Setter/getter for the application cache resource storage ID.
  17962. * loader/appcache/ApplicationCacheStorage.cpp:
  17963. * loader/appcache/ApplicationCacheStorage.cpp:
  17964. (WebCore::ApplicationCacheStorage::executeSQLCommand):
  17965. New method for executing SQL and logging any errors.
  17966. (WebCore::ApplicationCacheStorage::openDatabase):
  17967. Create new tables.
  17968. (WebCore::ApplicationCacheStorage::executeStatement):
  17969. New method for executing an SQL statement and logging any errors.
  17970. (WebCore::ApplicationCacheStorage::store):
  17971. New methods for storing a cache group, cache and cache resource to the store.
  17972. (WebCore::ApplicationCacheStorage::storeNewestCache):
  17973. New method which stores the newest cache and updates the newest cache field in the cache group.
  17974. * loader/appcache/ApplicationCacheStorage.h:
  17975. Add new methods.
  17976. * platform/sql/SQLiteStatement.h:
  17977. (WebCore::SQLiteStatement::query):
  17978. Getter for the SQL query.
  17979. 2008-05-06 Brady Eidson <beidson@apple.com>
  17980. Reviewed by Darin Adler
  17981. Preparation for upcoming work making LocalStorage persistent.
  17982. Writing persistent values for LocalStorage will take place on a background thread.
  17983. Here is that background thread, as well as most of the hooks that will be utilized to
  17984. make the whole song and dance work.
  17985. The thread itself is very simple and MessageQueue based. LocalStorageTasks are what
  17986. mark the work that needs to be done and come in 5 flavors: Import and Sync a LocalStorage set,
  17987. Import and Sync a LocalStorageArea, and terminate the thread.
  17988. This patch accomplished 2 things:
  17989. 1 - Each PageGroup has its own LocalStorage set. Upon its creation its LocalStorageThread is
  17990. created and started.
  17991. 2 - At application shutdown, each thread is synchronously terminated.
  17992. What happens between steps 1 and 2 will come later.
  17993. * GNUmakefile.am:
  17994. * WebCore.pro:
  17995. * WebCore.vcproj/WebCore.vcproj:
  17996. * WebCore.xcodeproj/project.pbxproj:
  17997. * WebCoreSources.bkl:
  17998. * storage/LocalStorage.cpp: Add some threading ASSERTs to make it clear which thread each
  17999. method is meant to be called from.
  18000. (WebCore::LocalStorage::LocalStorage):
  18001. (WebCore::LocalStorage::storageArea):
  18002. (WebCore::LocalStorage::performImport): Placeholder for importing known origins and quotas
  18003. (WebCore::LocalStorage::performSync): Placeholder for writing out updated origins and quotas
  18004. (WebCore::LocalStorage::close): Synchronously terminate the thread.
  18005. * storage/LocalStorage.h:
  18006. * storage/LocalStorageArea.cpp: Add some threading ASSERTs to make it clear which thread each
  18007. method is meant to be called from.
  18008. (WebCore::LocalStorageArea::itemChanged):
  18009. (WebCore::LocalStorageArea::itemRemoved):
  18010. (WebCore::LocalStorageArea::areaCleared):
  18011. (WebCore::LocalStorageArea::dispatchStorageEvent):
  18012. (WebCore::LocalStorageArea::performImport): Placeholder for importing all items for this
  18013. LocalStorageArea to prime the page before the items are needed
  18014. (WebCore::LocalStorageArea::performSync): Placeholder for writing out dirty items to disk
  18015. * storage/LocalStorageArea.h:
  18016. * storage/LocalStorageTask.cpp: Added.
  18017. (WebCore::LocalStorageTask::LocalStorageTask):
  18018. (WebCore::LocalStorageTask::performTask):
  18019. * storage/LocalStorageTask.h: Added.
  18020. (WebCore::LocalStorageTask::):
  18021. (WebCore::LocalStorageTask::createImport):
  18022. (WebCore::LocalStorageTask::createSync):
  18023. (WebCore::LocalStorageTask::createTerminate):
  18024. * storage/LocalStorageThread.cpp: Added.
  18025. (WebCore::LocalStorageThread::create):
  18026. (WebCore::LocalStorageThread::LocalStorageThread):
  18027. (WebCore::LocalStorageThread::start):
  18028. (WebCore::LocalStorageThread::localStorageThreadStart):
  18029. (WebCore::LocalStorageThread::localStorageThread):
  18030. (WebCore::LocalStorageThread::scheduleImport):
  18031. (WebCore::LocalStorageThread::scheduleSync):
  18032. (WebCore::LocalStorageThread::terminate):
  18033. (WebCore::LocalStorageThread::performTerminate):
  18034. * storage/LocalStorageThread.h: Added.
  18035. 2008-05-06 Anders Carlsson <andersca@apple.com>
  18036. Reviewed by Darin.
  18037. Add NPN_PopUpContextMenu.
  18038. * bridge/npapi.h:
  18039. * plugins/npfunctions.h:
  18040. 2008-05-06 Alp Toker <alp@nuanti.com>
  18041. GTK+ build fix. Add file from r32911 to the build.
  18042. * GNUmakefile.am:
  18043. 2008-05-06 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>
  18044. Reviewed by Alp Toker.
  18045. http://bugs.webkit.org/show_bug.cgi?id=18906
  18046. [GTK] Fix varargs terminator in g_build_filename()
  18047. * plugins/gtk/PluginDatabaseGtk.cpp:
  18048. (WebCore::PluginDatabase::isPreferredPluginDirectory): Fix varargs
  18049. terminator.
  18050. 2008-05-06 Kevin McCullough <kmccullough@apple.com>
  18051. - Forgot to update localized Strings from previous checkin.
  18052. * English.lproj/localizedStrings.js:
  18053. 2008-05-06 Chris Fleizach <cfleizach@apple.com>
  18054. Reviewed by Beth Dakin
  18055. <rdar://problem/5408464> REGRESSION: Unable to use Voiceover on combo boxes (disneyjobs.com)
  18056. <rdar://problem/5895634> AX: AccessibilityObjectWrapper is being leaked all over the place
  18057. <rdar://problem/5893907> CrashTracer: [REGRESSION] 44 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityObject::clearChildren + 9
  18058. Initial prep work to support accessibility objects that do not have renderers.
  18059. * WebCore.xcodeproj/project.pbxproj:
  18060. * page/AXObjectCache.cpp:
  18061. (WebCore::AXObjectCache::~AXObjectCache):
  18062. (WebCore::AXObjectCache::get):
  18063. (WebCore::AXObjectCache::remove):
  18064. (WebCore::AXObjectCache::getAXID):
  18065. (WebCore::AXObjectCache::removeAXID):
  18066. (WebCore::AXObjectCache::childrenChanged):
  18067. * page/AXObjectCache.h:
  18068. (WebCore::AXObjectCache::isIDinUse):
  18069. * page/AccessibilityObject.cpp:
  18070. (WebCore::AccessibilityObject::AccessibilityObject):
  18071. (WebCore::AccessibilityObject::create):
  18072. (WebCore::AccessibilityObject::detach):
  18073. (WebCore::AccessibilityObject::firstChild):
  18074. (WebCore::AccessibilityObject::lastChild):
  18075. (WebCore::AccessibilityObject::previousSibling):
  18076. (WebCore::AccessibilityObject::nextSibling):
  18077. (WebCore::AccessibilityObject::parentObject):
  18078. (WebCore::AccessibilityObject::layoutCount):
  18079. (WebCore::AccessibilityObject::text):
  18080. (WebCore::AccessibilityObject::helpText):
  18081. (WebCore::AccessibilityObject::textUnderElement):
  18082. (WebCore::AccessibilityObject::isARIAInput):
  18083. (WebCore::AccessibilityObject::isARIAControl):
  18084. (WebCore::AccessibilityObject::intValue):
  18085. (WebCore::AccessibilityObject::stringValue):
  18086. (WebCore::AccessibilityObject::title):
  18087. (WebCore::AccessibilityObject::accessibilityDescription):
  18088. (WebCore::AccessibilityObject::boundingBoxRect):
  18089. (WebCore::AccessibilityObject::elementRect):
  18090. (WebCore::AccessibilityObject::size):
  18091. (WebCore::AccessibilityObject::linkedUIElement):
  18092. (WebCore::AccessibilityObject::textLength):
  18093. (WebCore::AccessibilityObject::ariaSelectedTextDOMRange):
  18094. (WebCore::AccessibilityObject::selectedText):
  18095. (WebCore::AccessibilityObject::accessKey):
  18096. (WebCore::AccessibilityObject::selection):
  18097. (WebCore::AccessibilityObject::selectedTextRange):
  18098. (WebCore::AccessibilityObject::setSelectedTextRange):
  18099. (WebCore::AccessibilityObject::url):
  18100. (WebCore::AccessibilityObject::setFocused):
  18101. (WebCore::AccessibilityObject::setValue):
  18102. (WebCore::AccessibilityObject::axObjectCache):
  18103. (WebCore::AccessibilityObject::getDocumentLinks):
  18104. (WebCore::AccessibilityObject::widget):
  18105. (WebCore::AccessibilityObject::widgetForAttachmentView):
  18106. (WebCore::AccessibilityObject::anchorElement):
  18107. (WebCore::AccessibilityObject::actionElement):
  18108. (WebCore::AccessibilityObject::visiblePositionRange):
  18109. (WebCore::AccessibilityObject::doAXTextMarkerRangeForLine):
  18110. (WebCore::AccessibilityObject::visiblePositionForIndex):
  18111. (WebCore::AccessibilityObject::indexForVisiblePosition):
  18112. (WebCore::AccessibilityObject::doAXBoundsForTextMarkerRange):
  18113. (WebCore::AccessibilityObject::doSetAXSelectedTextMarkerRange):
  18114. (WebCore::AccessibilityObject::doAXTextMarkerForPosition):
  18115. (WebCore::AccessibilityObject::textMarkerForIndex):
  18116. (WebCore::AccessibilityObject::rangeForTextMarkerRange):
  18117. (WebCore::AccessibilityObject::indexForTextMarker):
  18118. (WebCore::AccessibilityObject::doAXRangeForLine):
  18119. (WebCore::AccessibilityObject::doAXRangeForPosition):
  18120. (WebCore::AccessibilityObject::doAXRangeForIndex):
  18121. (WebCore::AccessibilityObject::doAXStyleRangeForIndex):
  18122. (WebCore::AccessibilityObject::doAXStringForRange):
  18123. (WebCore::AccessibilityObject::doAXBoundsForRange):
  18124. (WebCore::AccessibilityObject::doAccessibilityHitTest):
  18125. (WebCore::AccessibilityObject::focusedUIElement):
  18126. (WebCore::AccessibilityObject::observableObject):
  18127. (WebCore::AccessibilityObject::roleValue):
  18128. (WebCore::AccessibilityObject::ariaRoleAttribute):
  18129. (WebCore::AccessibilityObject::childrenChanged):
  18130. (WebCore::AccessibilityObject::addChildren):
  18131. (WebCore::AccessibilityObject::removeAXObjectID):
  18132. * page/AccessibilityObject.h:
  18133. (WebCore::PlainTextRange::PlainTextRange):
  18134. (WebCore::PlainTextRange::isNull):
  18135. (WebCore::AccessibilityObject::isAccessibilityRenderObject):
  18136. (WebCore::AccessibilityObject::isAnchor):
  18137. (WebCore::AccessibilityObject::isAttachment):
  18138. (WebCore::AccessibilityObject::isHeading):
  18139. (WebCore::AccessibilityObject::isLink):
  18140. (WebCore::AccessibilityObject::isImage):
  18141. (WebCore::AccessibilityObject::isNativeImage):
  18142. (WebCore::AccessibilityObject::isImageButton):
  18143. (WebCore::AccessibilityObject::isPasswordField):
  18144. (WebCore::AccessibilityObject::isTextControl):
  18145. (WebCore::AccessibilityObject::isNativeTextControl):
  18146. (WebCore::AccessibilityObject::isWebArea):
  18147. (WebCore::AccessibilityObject::isCheckboxOrRadio):
  18148. (WebCore::AccessibilityObject::isChecked):
  18149. (WebCore::AccessibilityObject::isEnabled):
  18150. (WebCore::AccessibilityObject::isSelected):
  18151. (WebCore::AccessibilityObject::isFocused):
  18152. (WebCore::AccessibilityObject::isHovered):
  18153. (WebCore::AccessibilityObject::isIndeterminate):
  18154. (WebCore::AccessibilityObject::isLoaded):
  18155. (WebCore::AccessibilityObject::isMultiSelect):
  18156. (WebCore::AccessibilityObject::isOffScreen):
  18157. (WebCore::AccessibilityObject::isPressed):
  18158. (WebCore::AccessibilityObject::isReadOnly):
  18159. (WebCore::AccessibilityObject::isVisited):
  18160. (WebCore::AccessibilityObject::canSetFocusAttribute):
  18161. (WebCore::AccessibilityObject::canSetTextRangeAttributes):
  18162. (WebCore::AccessibilityObject::canSetValueAttribute):
  18163. (WebCore::AccessibilityObject::hasIntValue):
  18164. (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId):
  18165. (WebCore::AccessibilityObject::accessibilityIsIgnored):
  18166. (WebCore::AccessibilityObject::children):
  18167. (WebCore::AccessibilityObject::hasChildren):
  18168. (WebCore::AccessibilityObject::setWrapper):
  18169. (WebCore::AccessibilityObject::isDetached):
  18170. * page/AccessibilityRenderObject.cpp: Added.
  18171. (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
  18172. (WebCore::AccessibilityRenderObject::~AccessibilityRenderObject):
  18173. (WebCore::AccessibilityRenderObject::create):
  18174. (WebCore::AccessibilityRenderObject::detach):
  18175. (WebCore::AccessibilityRenderObject::firstChild):
  18176. (WebCore::AccessibilityRenderObject::lastChild):
  18177. (WebCore::AccessibilityRenderObject::previousSibling):
  18178. (WebCore::AccessibilityRenderObject::nextSibling):
  18179. (WebCore::AccessibilityRenderObject::parentObject):
  18180. (WebCore::AccessibilityRenderObject::isWebArea):
  18181. (WebCore::AccessibilityRenderObject::isImageButton):
  18182. (WebCore::AccessibilityRenderObject::isAnchor):
  18183. (WebCore::AccessibilityRenderObject::isNativeTextControl):
  18184. (WebCore::AccessibilityRenderObject::isTextControl):
  18185. (WebCore::AccessibilityRenderObject::isNativeImage):
  18186. (WebCore::AccessibilityRenderObject::isImage):
  18187. (WebCore::AccessibilityRenderObject::isAttachment):
  18188. (WebCore::AccessibilityRenderObject::isPasswordField):
  18189. (WebCore::AccessibilityRenderObject::isCheckboxOrRadio):
  18190. (WebCore::AccessibilityRenderObject::isPressed):
  18191. (WebCore::AccessibilityRenderObject::isIndeterminate):
  18192. (WebCore::AccessibilityRenderObject::isChecked):
  18193. (WebCore::AccessibilityRenderObject::isHovered):
  18194. (WebCore::AccessibilityRenderObject::isMultiSelect):
  18195. (WebCore::AccessibilityRenderObject::isReadOnly):
  18196. (WebCore::AccessibilityRenderObject::isOffScreen):
  18197. (WebCore::AccessibilityRenderObject::headingLevel):
  18198. (WebCore::AccessibilityRenderObject::isHeading):
  18199. (WebCore::AccessibilityRenderObject::isLink):
  18200. (WebCore::AccessibilityRenderObject::anchorElement):
  18201. (WebCore::AccessibilityRenderObject::actionElement):
  18202. (WebCore::AccessibilityRenderObject::mouseButtonListener):
  18203. (WebCore::AccessibilityRenderObject::helpText):
  18204. (WebCore::AccessibilityRenderObject::textUnderElement):
  18205. (WebCore::AccessibilityRenderObject::hasIntValue):
  18206. (WebCore::AccessibilityRenderObject::intValue):
  18207. (WebCore::AccessibilityRenderObject::stringValue):
  18208. (WebCore::labelForElement):
  18209. (WebCore::AccessibilityRenderObject::title):
  18210. (WebCore::AccessibilityRenderObject::accessibilityDescription):
  18211. (WebCore::AccessibilityRenderObject::boundingBoxRect):
  18212. (WebCore::AccessibilityRenderObject::elementRect):
  18213. (WebCore::AccessibilityRenderObject::size):
  18214. (WebCore::AccessibilityRenderObject::linkedUIElement):
  18215. (WebCore::AccessibilityRenderObject::accessibilityShouldUseUniqueId):
  18216. (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
  18217. (WebCore::AccessibilityRenderObject::isLoaded):
  18218. (WebCore::AccessibilityRenderObject::layoutCount):
  18219. (WebCore::AccessibilityRenderObject::text):
  18220. (WebCore::AccessibilityRenderObject::textLength):
  18221. (WebCore::AccessibilityRenderObject::ariaSelectedTextDOMRange):
  18222. (WebCore::AccessibilityRenderObject::selectedText):
  18223. (WebCore::AccessibilityRenderObject::accessKey):
  18224. (WebCore::AccessibilityRenderObject::selection):
  18225. (WebCore::AccessibilityRenderObject::selectedTextRange):
  18226. (WebCore::AccessibilityRenderObject::setSelectedTextRange):
  18227. (WebCore::AccessibilityRenderObject::url):
  18228. (WebCore::AccessibilityRenderObject::isVisited):
  18229. (WebCore::AccessibilityRenderObject::isSelected):
  18230. (WebCore::AccessibilityRenderObject::isFocused):
  18231. (WebCore::AccessibilityRenderObject::setFocused):
  18232. (WebCore::AccessibilityRenderObject::setValue):
  18233. (WebCore::AccessibilityRenderObject::isEnabled):
  18234. (WebCore::AccessibilityRenderObject::topRenderer):
  18235. (WebCore::AccessibilityRenderObject::widget):
  18236. (WebCore::AccessibilityRenderObject::axObjectCache):
  18237. (WebCore::AccessibilityRenderObject::getDocumentLinks):
  18238. (WebCore::AccessibilityRenderObject::widgetForAttachmentView):
  18239. (WebCore::AccessibilityRenderObject::frameViewIfRenderView):
  18240. (WebCore::AccessibilityRenderObject::visiblePositionRange):
  18241. (WebCore::AccessibilityRenderObject::doAXTextMarkerRangeForLine):
  18242. (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
  18243. (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
  18244. (WebCore::AccessibilityRenderObject::doAXBoundsForTextMarkerRange):
  18245. (WebCore::AccessibilityRenderObject::doSetAXSelectedTextMarkerRange):
  18246. (WebCore::AccessibilityRenderObject::doAXTextMarkerForPosition):
  18247. (WebCore::AccessibilityRenderObject::textMarkerForIndex):
  18248. (WebCore::AccessibilityRenderObject::indexForTextMarker):
  18249. (WebCore::AccessibilityRenderObject::doAXRangeForLine):
  18250. (WebCore::AccessibilityRenderObject::doAXRangeForIndex):
  18251. (WebCore::AccessibilityRenderObject::doAXStringForRange):
  18252. (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
  18253. (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
  18254. (WebCore::AccessibilityRenderObject::focusedUIElement):
  18255. (WebCore::AccessibilityRenderObject::observableObject):
  18256. (WebCore::createARIARoleMap):
  18257. (WebCore::RoleEntry::):
  18258. (WebCore::ariaRoleToWebCoreRole):
  18259. (WebCore::AccessibilityRenderObject::ariaRoleAttribute):
  18260. (WebCore::AccessibilityRenderObject::roleValue):
  18261. (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
  18262. (WebCore::AccessibilityRenderObject::canSetValueAttribute):
  18263. (WebCore::AccessibilityRenderObject::canSetTextRangeAttributes):
  18264. (WebCore::AccessibilityRenderObject::childrenChanged):
  18265. (WebCore::AccessibilityRenderObject::children):
  18266. (WebCore::AccessibilityRenderObject::addChildren):
  18267. (WebCore::AccessibilityRenderObject::removeAXObjectID):
  18268. (WebCore::AccessibilityRenderObject::actionVerb):
  18269. * page/AccessibilityRenderObject.h: Added.
  18270. (WebCore::AccessibilityRenderObject::isAccessibilityRenderObject):
  18271. (WebCore::AccessibilityRenderObject::areaElement):
  18272. (WebCore::AccessibilityRenderObject::setRenderer):
  18273. (WebCore::AccessibilityRenderObject::renderer):
  18274. (WebCore::AccessibilityRenderObject::setRenderObject):
  18275. (WebCore::AccessibilityRenderObject::isDetached):
  18276. * page/mac/AXObjectCacheMac.mm:
  18277. (WebCore::AXObjectCache::detachWrapper):
  18278. (WebCore::AXObjectCache::selectedChildrenChanged):
  18279. (WebCore::AXObjectCache::postNotification):
  18280. * page/mac/AccessibilityObjectWrapper.mm:
  18281. (textMarkerForVisiblePosition):
  18282. (CreateCGColorIfDifferent):
  18283. (AXAttributeStringSetHeadingLevel):
  18284. (AXLinkElementForNode):
  18285. (AXAttributeStringSetElement):
  18286. (AXAttributedStringAppendText):
  18287. (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
  18288. (-[AccessibilityObjectWrapper documentFrameView:]):
  18289. (-[AccessibilityObjectWrapper position]):
  18290. (RoleEntry::):
  18291. (-[AccessibilityObjectWrapper roleDescription]):
  18292. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  18293. (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
  18294. (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
  18295. (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
  18296. (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]):
  18297. (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]):
  18298. (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
  18299. 2008-05-06 Jonathan Haas <myrdred@gmail.com>
  18300. Reviewed by Rob Buis.
  18301. https://bugs.webkit.org/show_bug.cgi?id=18859\
  18302. Prevented SVGRootInlineBox from static_casting a
  18303. node to a class it doesn't inherit
  18304. * rendering/SVGRootInlineBox.cpp:
  18305. (WebCore::SVGRootInlineBox::buildTextChunks):
  18306. 2008-05-06 Brady Eidson <beidson@apple.com>
  18307. Reviewed by Darin Adler
  18308. Preparation for upcoming work making LocalStorage persistent.
  18309. When the application terminates, all pending local storage writes need to be
  18310. sync'ed out to disk.
  18311. This works n combination with platform specific code in WebKit that calls it.
  18312. * WebCore.base.exp:
  18313. * page/PageGroup.cpp:
  18314. (WebCore::PageGroup::closeLocalStorage): Close all open LocalStorage objects
  18315. * page/PageGroup.h:
  18316. * storage/LocalStorage.cpp:
  18317. (WebCore::LocalStorage::close): Placeholder for what will sync and terminate the
  18318. local storage thread in the future.
  18319. * storage/LocalStorage.h:
  18320. 2008-05-06 Brady Eidson <beidson@apple.com>
  18321. Rubberstamped by David Kilzer
  18322. * WebCore.base.exp: Sort this mess!
  18323. 2008-05-05 Mark Rowe <mrowe@apple.com>
  18324. Reviewed by Dan Bernstein.
  18325. Fix 60 crashes seen on the buildbots that were misreported as hangs.
  18326. * dom/Document.cpp:
  18327. (WebCore::Document::detachNodeIterator): Null-check page() before dereferencing it.
  18328. (WebCore::Document::nodeWillBeRemoved): Ditto.
  18329. (WebCore::Document::textInserted): Ditto.
  18330. (WebCore::Document::textNodesMerged): Ditto.
  18331. (WebCore::Document::textRemoved): Ditto.
  18332. 2008-05-05 Brady Eidson <beidson@apple.com>
  18333. Reviewed by Mitz Pettel RTL
  18334. Preparation for upcoming work making LocalStorage persistent.
  18335. The other half of the StorageMap::importItem() addition.
  18336. * storage/StorageArea.cpp:
  18337. (WebCore::StorageArea::importItem):
  18338. * storage/StorageArea.h:
  18339. 2008-05-05 Brady Eidson <beidson@apple.com>
  18340. Reviewed by Mitz Pettel RTL
  18341. Preparation for upcoming work making LocalStorage persistent.
  18342. - Create the LocalStorage object for a PageGroup the moment the first Page is added to it
  18343. The Settings of the first Page define what persistent path the LocalStorage will use
  18344. - Add a Frame argument for the LocalStorageArea request - this will allow a client object
  18345. to be queried before the LocalStorageArea is established
  18346. * page/DOMWindow.cpp:
  18347. (WebCore::DOMWindow::localStorage):
  18348. * page/PageGroup.cpp:
  18349. (WebCore::PageGroup::addPage):
  18350. (WebCore::PageGroup::localStorage):
  18351. * storage/LocalStorage.cpp:
  18352. (WebCore::LocalStorage::LocalStorage): Take the path as a constructor argument. Deep copy
  18353. the path as it will be used from another thread.
  18354. (WebCore::LocalStorage::storageArea):
  18355. * storage/LocalStorage.h:
  18356. (WebCore::LocalStorage::create):
  18357. 2008-05-05 Brady Eidson <beidson@apple.com>
  18358. Reviewed by Mitz Pettel RTL
  18359. Preparation for upcoming work making LocalStorage persistent.
  18360. StorageMaps normally have copy-on-write semantics to help support SessionStorage.
  18361. For LocalStorage, we never want this behavior. When we forcefully import items into
  18362. a StorageMap from the LocalStorage background thread, this new import method will be used.
  18363. * storage/StorageMap.cpp:
  18364. (WebCore::StorageMap::importItem): Add a deep-copy of the item to the map without worrying
  18365. about copy-on-write.
  18366. * storage/StorageMap.h:
  18367. 2008-05-05 Kevin McCullough <kmccullough@apple.com>
  18368. Reviewed by Tim.
  18369. -<rdar://problem/5770054> JavaScript profiler (10928)
  18370. -Begininings of a UI for the Profiler in the WebInspector.
  18371. * English.lproj/InspectorLocalizedStrings.js: Add new strings to be
  18372. localized.
  18373. * page/inspector/DatabasesPanel.js: Changed the name of the Databae's
  18374. results table to be more generic as it is now also used by the profiler.
  18375. * page/inspector/Images/glossySelected.png: Added.
  18376. * page/inspector/Images/profilesIcon.png: Added.
  18377. * page/inspector/Images/treeUpTriangleBlack.png: Added.
  18378. * page/inspector/Images/treeUpTriangleWhite.png: Added.
  18379. * page/inspector/ProfileView.js: Added. Sets up the header of the table.
  18380. * page/inspector/ProfilesPanel.js: Added.
  18381. * page/inspector/ProfilesPanel.js: Added. Sets up the containers of the
  18382. profiler's content.
  18383. * page/inspector/inspector.css: Change database-result-table to be more
  18384. generic as well as add the styles needed by the profiler.
  18385. * page/inspector/inspector.html: Add profiler support.
  18386. 2008-05-05 Brady Eidson <beidson@apple.com>
  18387. Change by Darin, reviewed by Brady
  18388. Small efficiency improvement Darin just spotted
  18389. * storage/StorageMap.cpp:
  18390. (WebCore::StorageMap::setItem):
  18391. 2008-05-05 Antti Koivisto <antti@apple.com>
  18392. Reviewed by Anders.
  18393. Fix https://bugs.webkit.org/show_bug.cgi?id=18899
  18394. Bug 18899: REGRESSION (r32871): Non-Safari crash in WTF::HashTable on startup
  18395. * loader/loader.cpp:
  18396. (WebCore::Loader::Loader):
  18397. 2008-05-05 Brady Eidson <beidson@apple.com>
  18398. Reviewed by Sam Weinig
  18399. Fix a bug in StorageMap iterator tracking where the iterator was not successfully
  18400. invalidated at an appropriate time.
  18401. * storage/StorageMap.cpp:
  18402. (WebCore::StorageMap::setItem): ALWAYS invalidate it here
  18403. 2008-05-05 Justin Garcia <justin.garcia@apple.com>
  18404. Reviewed by Darin.
  18405. <rdar://problem/5865171> REGRESSION: Creating a new quote places caret at beginning of quote instead of the end
  18406. Disable Range mutation on document modifications in Tiger and Leopard Mail,
  18407. since they do their own mutation which interferes with ours.
  18408. * WebCore.base.exp:
  18409. * dom/Document.cpp:
  18410. (WebCore::Document::nodeChildrenChanged):
  18411. (WebCore::Document::nodeWillBeRemoved):
  18412. (WebCore::Document::textInserted):
  18413. (WebCore::Document::textRemoved):
  18414. (WebCore::Document::textNodesMerged):
  18415. (WebCore::Document::textNodeSplit):
  18416. * page/Settings.cpp:
  18417. (WebCore::Settings::Settings):
  18418. (WebCore::Settings::disableRangeMutationForOldAppleMail):
  18419. * page/Settings.h:
  18420. (WebCore::Settings::rangeMutationDisabledForOldAppleMail):
  18421. 2008-05-05 Sam Weinig <sam@webkit.org>
  18422. Reviewed by Tim Hatcher.
  18423. Make the Inspector's localizable strings file match the format used by Dashboard widgets.
  18424. * English.lproj/InspectorLocalizedStrings.js: Removed.
  18425. * English.lproj/localizedStrings.js: Added.
  18426. * WebCore.vcproj/WebCore.vcproj:
  18427. * WebCore.xcodeproj/project.pbxproj:
  18428. * page/inspector/inspector.js:
  18429. 2008-05-05 Steve Falkenburg <sfalken@apple.com>
  18430. Add support for default button appearance.
  18431. Add WebCore setting for app chrome mode.
  18432. Reviewed by Dave Hyatt.
  18433. * css/CSSPrimitiveValueMappings.h:
  18434. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  18435. * css/CSSValueKeywords.in: Added default-button value keyword.
  18436. * page/Settings.cpp:
  18437. (WebCore::Settings::Settings):
  18438. (WebCore::Settings::setApplicationChromeMode):
  18439. * page/Settings.h:
  18440. (WebCore::Settings::inApplicationChromeMode):
  18441. * rendering/RenderButton.cpp:
  18442. (WebCore::RenderButton::RenderButton):
  18443. (WebCore::RenderButton::setStyle):
  18444. (WebCore::RenderButton::timerFired):
  18445. * rendering/RenderButton.h:
  18446. * rendering/RenderStyle.h:
  18447. * rendering/RenderTheme.cpp:
  18448. (WebCore::RenderTheme::adjustStyle):
  18449. (WebCore::RenderTheme::paint):
  18450. (WebCore::RenderTheme::paintBorderOnly):
  18451. (WebCore::RenderTheme::paintDecorations):
  18452. (WebCore::RenderTheme::isControlStyled):
  18453. (WebCore::RenderTheme::isDefault):
  18454. * rendering/RenderTheme.h:
  18455. * rendering/RenderThemeSafari.cpp:
  18456. (WebCore::RenderThemeSafari::determineState):
  18457. (WebCore::RenderThemeSafari::adjustRepaintRect):
  18458. (WebCore::RenderThemeSafari::adjustButtonStyle):
  18459. * rendering/RenderThemeWin.cpp:
  18460. (WebCore::RenderThemeWin::supportsFocus):
  18461. 2008-05-05 Alexey Proskuryakov <ap@webkit.org>
  18462. Reviewed by Darin.
  18463. https://bugs.webkit.org/show_bug.cgi?id=11947
  18464. nbsps should be converted to entities in innerHTML
  18465. https://bugs.webkit.org/show_bug.cgi?id=18769
  18466. replacing &nbsp; with spaces using regexp creates inconsistent result
  18467. Tests: fast/dom/innerHTML-nbsp.html
  18468. fast/dom/innerHTML-escaping-attribute.html
  18469. * editing/markup.cpp:
  18470. (WebCore::appendAttributeValue):
  18471. (WebCore::escapeContentText):
  18472. (WebCore::appendEscapedContent):
  18473. Added U+00a0/nbsp to the list of characters to escape.
  18474. 2008-05-05 David Hyatt <hyatt@apple.com>
  18475. Fix for https://bugs.webkit.org/show_bug.cgi?id=18821. Fix some bugs in both get/PutImageData of <canvas>.
  18476. Reviewed by Eric
  18477. New tests added in fast/canvas/
  18478. * platform/graphics/cg/ImageBufferCG.cpp:
  18479. (WebCore::ImageBuffer::getImageData):
  18480. (WebCore::ImageBuffer::putImageData):
  18481. 2008-05-05 Dan Bernstein <mitz@apple.com>
  18482. Reviewed by Dave Hyatt.
  18483. - fix https://bugs.webkit.org/show_bug.cgi?id=18809
  18484. Forms with block level generated content and absolutely positioned labels break inline layout (fixed on reflow)
  18485. Test: fast/block/basic/adding-near-anonymous-block.html
  18486. * rendering/RenderBlock.cpp:
  18487. (WebCore::RenderBlock::addChildToFlow): When adding a floating or
  18488. positioned object, if it follows an anonymous block, put it
  18489. inside the anonymous block. When adding an inline, check if it comes
  18490. after an anonymous block and put it in the anonymous block.
  18491. 2008-05-05 Antti Koivisto <antti@apple.com>
  18492. Reviewed by Darin.
  18493. Speculative fix for <rdar://problem/5906790>
  18494. Crash in Loader::servePendingRequests() due to hash table being modified during iteration
  18495. I don't know how to reproduce this. It would require the load to fail (or succeed)
  18496. synchronously, something that should not usually happen.
  18497. * loader/loader.cpp:
  18498. (WebCore::Loader::Loader):
  18499. (WebCore::Loader::load):
  18500. (WebCore::Loader::servePendingRequests):
  18501. (WebCore::Loader::cancelRequests):
  18502. (WebCore::Loader::Host::Host):
  18503. * loader/loader.h:
  18504. (WebCore::Loader::Host::name):
  18505. 2008-05-05 Ariya Hidayat <ariya.hidayat@trolltech.com>
  18506. Reviewed by Simon.
  18507. Disable SVG As Image support in the Qt port again, as it
  18508. requires more work. Right now the chrome client is
  18509. assumed to be a ChromeClientQt, which the SVG Image support
  18510. changes.
  18511. * WebCore.pro:
  18512. 2008-05-02 Antti Koivisto <antti@apple.com>
  18513. Reviewed by Mitz.
  18514. Fix <rdar://problem/5840475>
  18515. CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::RenderBlock::insertPositionedObject
  18516. Non-block objects can have transforms so containingBlock() could end up returning null.
  18517. RenderObject::container() needs to match.
  18518. Test: fast/transforms/container-transform-crash.html
  18519. * rendering/RenderObject.cpp:
  18520. (WebCore::RenderObject::containingBlock):
  18521. (WebCore::RenderObject::container):
  18522. 2008-05-04 Sam Weinig <sam@webkit.org>
  18523. Roll out r32851. It broke tiger builds.
  18524. * bindings/objc/DOMUtility.mm:
  18525. (KJS::createDOMWrapper):
  18526. (WebCore::createDOMWrapper):
  18527. 2008-05-04 Dan Bernstein <mitz@apple.com>
  18528. Reviewed by Sam Weinig.
  18529. - fix https://bugs.webkit.org/show_bug.cgi?id=18879
  18530. <rdar://problem/5909481> Reproducible crash when removing a gradient
  18531. Test: fast/gradients/crash-on-remove.html
  18532. * css/CSSImageGeneratorValue.cpp:
  18533. (WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue):
  18534. (WebCore::CSSImageGeneratorValue::addClient): Added a call to ref() the
  18535. value.
  18536. (WebCore::CSSImageGeneratorValue::removeClient): Added code to deref()
  18537. the value.
  18538. 2008-05-03 Sam Weinig <sam@webkit.org>
  18539. Reviewed by Mark Rowe.
  18540. Move createDOMWrapper(JSObject* object) out of the KJS namespace and into
  18541. the WebCore namespace now that the required compilers don't freak out about
  18542. this anymore.
  18543. * bindings/objc/DOMUtility.mm:
  18544. (WebCore::createDOMWrapper):
  18545. 2008-05-03 Rob Buis <buis@kde.org>
  18546. Reviewed by Sam.
  18547. https://bugs.webkit.org/show_bug.cgi?id=18652
  18548. onchange events don't seem to fire for input[type=range] controls.
  18549. Fire changeEvent when clicking the slider outside the current
  18550. thumb position.
  18551. * rendering/RenderSlider.cpp:
  18552. (WebCore::RenderSlider::setValueForPosition):
  18553. 2008-05-03 Sam Weinig <sam@webkit.org>
  18554. Reviewed by Mark Rowe.
  18555. Remove unused enums from JSDOMWindowBase.
  18556. * bindings/js/JSDOMWindowBase.h:
  18557. (WebCore::JSDOMWindowBase::):
  18558. 2008-05-03 Sam Weinig <sam@webkit.org>
  18559. Real build fix.
  18560. * WebCore.xcodeproj/project.pbxproj:
  18561. 2008-05-03 Sam Weinig <sam@webkit.org>
  18562. Build fix.
  18563. * bindings/js/kjs_events.cpp:
  18564. (WebCore::JSAbstractEventListener::handleEvent):
  18565. 2008-05-03 Sam Weinig <sam@webkit.org>
  18566. Rubber-stamped by Geoffrey Garen.
  18567. Rename JSDOMWindowWrapper to JSDOMWindowShell.
  18568. 2008-05-01 Rob Buis <buis@kde.org>
  18569. Reviewed by Eric.
  18570. https://bugs.webkit.org/show_bug.cgi?id=18568
  18571. background: currentColor fails
  18572. Implement currentColor from CSS3 color module.
  18573. Tests: fast/css/background-currentcolor.html
  18574. * css/CSSParser.cpp:
  18575. (WebCore::CSSParser::parseValue):
  18576. (WebCore::CSSParser::parseBackgroundColor):
  18577. * css/CSSStyleSelector.cpp:
  18578. (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
  18579. * css/CSSValueKeywords.in:
  18580. * css/SVGCSSValueKeywords.in:
  18581. 2008-05-02 Anders Carlsson <andersca@apple.com>
  18582. Reviewed by Mark.
  18583. Turns out calling locationInWindow on keyboard events will not throw an exception,
  18584. but the point returned is completely bogus, so remove coordinates from the keyboard event struct.
  18585. * bridge/npapi.h:
  18586. (_NPCocoaEvent::):
  18587. 2008-05-02 Benjamin Otte <otte@gnome.org>
  18588. Reviewed by Alp Toker.
  18589. http://bugs.webkit.org/show_bug.cgi?id=18856
  18590. [GTK] variable initialization missing
  18591. Not initializing the m_needsXEmbed variable could have very funny
  18592. results. Most often those results would be crashes.
  18593. * plugins/PluginView.cpp:
  18594. (WebCore::PluginView::PluginView):
  18595. 2008-05-02 Jan Michael Alonzo <jmalonzo@unpluggable.com>
  18596. Reviewed by Eric.
  18597. https://bugs.webkit.org/show_bug.cgi?id=18811
  18598. Enable dashboard and offline web apps in autotools
  18599. * GNUmakefile.am:
  18600. 2008-05-02 Anders Carlsson <andersca@apple.com>
  18601. Reviewed by Sam.
  18602. Name the event union so it will work in plain C.
  18603. * bridge/npapi.h:
  18604. (_NPCocoaEvent::):
  18605. 2008-05-02 Dan Bernstein <mitz@apple.com>
  18606. Reviewed by John Sullivan.
  18607. - render text shadows with zero offset, as the shadow can be seen behind
  18608. the text if the text is translucent
  18609. Test: fast/text/shadow-no-blur.html
  18610. * platform/graphics/mac/FontMac.mm:
  18611. (WebCore::Font::drawComplexText): Removed the isEmpty() condition on the
  18612. shadow offset. Since isEmpty() is also true for sizes that have one or
  18613. more non-positive components, this also ensures that subpixel
  18614. antialiasing of the text is maintained with shadows in all directions.
  18615. (WebCore::Font::drawGlyphs): Ditto.
  18616. * platform/graphics/win/FontCGWin.cpp:
  18617. (WebCore::Font::drawGlyphs): Ditto.
  18618. 2008-05-02 Ariya Hidayat <ariya.hidayat@trolltech.com>
  18619. Reviewed by Simon.
  18620. Build the Qt port with SVG Use and As Image support.
  18621. * WebCore.pro:
  18622. 2008-05-02 Ariya Hidayat <ariya.hidayat@trolltech.com>
  18623. Reviewed by Simon.
  18624. Fixed potential crash on SVG animation (added more checks to the assert).
  18625. * svg/SVGUseElement.cpp:
  18626. (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
  18627. 2008-05-02 Alexey Proskuryakov <ap@webkit.org>
  18628. Rubber-stamped by John Sullivan.
  18629. Fix a debug-only crash in layout tests.
  18630. * loader/CachedResource.cpp:
  18631. (WebCore::CachedResource::~CachedResource): Don't call resourceForURL() for null URLs.
  18632. 2008-05-02 Simon Hausmann <shausman@trolltech.com>
  18633. Fix the Qt build on Windows when Phonon is enabled for Audio/Video support
  18634. * WebCore.pro: Don't use QT += phonon as it prepends the phonon
  18635. includes to the include paths. Instead add it manually and make sure
  18636. phonon comes last, to avoid the conflict of phonon's path.h with
  18637. WebCore's Path.h on case-insensitive filesystems.
  18638. 2008-05-02 Simon Hausmann <hausmann@webkit.org>
  18639. Fix the Qt build. Add ExecState where necessary.
  18640. * bridge/qt/qt_class.cpp:
  18641. (KJS::Bindings::QtClass::fallbackObject):
  18642. * bridge/qt/qt_instance.cpp:
  18643. (KJS::Bindings::QtRuntimeObjectImp::construct):
  18644. (KJS::Bindings::QtInstance::getRuntimeObject):
  18645. (KJS::Bindings::QtInstance::invokeDefaultMethod):
  18646. (KJS::Bindings::QtInstance::defaultValue):
  18647. (KJS::Bindings::QtInstance::stringValue):
  18648. * bridge/qt/qt_instance.h:
  18649. (KJS::Bindings::QtInstance::getObject):
  18650. * bridge/qt/qt_runtime.cpp:
  18651. (KJS::Bindings::convertValueToQVariant):
  18652. (KJS::Bindings::convertQVariantToValue):
  18653. (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter):
  18654. (KJS::Bindings::QtRuntimeMetaMethod::connectGetter):
  18655. (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter):
  18656. (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter):
  18657. (KJS::Bindings::QtConnectionObject::execute):
  18658. * bridge/runtime.cpp:
  18659. (KJS::Bindings::Instance::createRuntimeObject):
  18660. 2008-05-02 Simon Hausmann <shausman@trolltech.com>
  18661. Fix the Qt/Win build.
  18662. * WebCore.pro:
  18663. * platform/qt/TemporaryLinkStubs.cpp:
  18664. (PluginDatabase::getPluginPathsInDirectories):
  18665. (PluginDatabase::defaultPluginDirectories):
  18666. (PluginDatabase::isPreferredPluginDirectory):
  18667. (PluginView::setNPWindowRect):
  18668. (PluginView::userAgent):
  18669. (PluginView::invalidateRect):
  18670. (PluginView::invalidateRegion):
  18671. (PluginView::forceRedraw):
  18672. (PluginView::setFocus):
  18673. (PluginView::show):
  18674. (PluginView::hide):
  18675. (PluginView::paint):
  18676. (PluginView::setParent):
  18677. (PluginView::attachToWindow):
  18678. (PluginView::detachFromWindow):
  18679. (PluginView::updateWindow):
  18680. (PluginView::handleKeyboardEvent):
  18681. (PluginView::handleMouseEvent):
  18682. (PluginView::handlePostReadFile):
  18683. (PluginView::getValue):
  18684. * plugins/qt/PluginPackageQt.cpp:
  18685. (WebCore::PluginPackage::load):
  18686. 2008-05-02 Alexey Proskuryakov <ap@webkit.org>
  18687. Reviewed by Geoffrey Garen.
  18688. https://bugs.webkit.org/show_bug.cgi?id=18826
  18689. Make JavaScript heap per-thread
  18690. This is mostly adaptation for JSC changes. The most prominent one is that JSObject
  18691. allocator now takes ExecState, e.g. "new (exec) JSXMLHttpRequestConstructor(...)". It is
  18692. OK to pass either the current or global one, whichever is faster to get hold of, as both
  18693. have the same reference to a per-thread JS heap.
  18694. * bindings/scripts/CodeGeneratorJS.pm: Pass ExecState to functions that now need it.
  18695. JSDOMWindow, JSDOMWindowPrototype and JSDOMWindowWrapper are special, because they are
  18696. constructed before any ExecState comes into existence, so they use Heap::threadHeap()
  18697. directly for allocation.
  18698. * bindings/js/JSDOMWindowWrapper.cpp:
  18699. (WebCore::JSDOMWindowWrapper::operator new):
  18700. * bindings/js/JSDOMWindowWrapper.h:
  18701. Added a custom operator new to use per-thread heap when there's no ExecState around.
  18702. * bindings/js/JSAudioConstructor.cpp:
  18703. (WebCore::JSAudioConstructor::JSAudioConstructor):
  18704. * bindings/js/JSCSSRuleCustom.cpp:
  18705. (WebCore::toJS):
  18706. * bindings/js/JSCSSStyleDeclarationCustom.cpp:
  18707. (WebCore::JSCSSStyleDeclaration::nameGetter):
  18708. * bindings/js/JSCSSValueCustom.cpp:
  18709. (WebCore::toJS):
  18710. * bindings/js/JSCanvasPixelArrayCustom.cpp:
  18711. (WebCore::JSCanvasPixelArray::indexGetter):
  18712. (WebCore::toJS):
  18713. * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
  18714. (WebCore::toJS):
  18715. * bindings/js/JSClipboardCustom.cpp:
  18716. (WebCore::JSClipboard::types):
  18717. (WebCore::JSClipboard::getData):
  18718. * bindings/js/JSCustomXPathNSResolver.cpp:
  18719. (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
  18720. * bindings/js/JSDOMApplicationCacheCustom.cpp:
  18721. (WebCore::JSDOMApplicationCache::addEventListener):
  18722. (WebCore::JSDOMApplicationCache::removeEventListener):
  18723. (WebCore::JSDOMApplicationCache::setOnchecking):
  18724. (WebCore::JSDOMApplicationCache::setOnerror):
  18725. (WebCore::JSDOMApplicationCache::setOnnoupdate):
  18726. (WebCore::JSDOMApplicationCache::setOndownloading):
  18727. (WebCore::JSDOMApplicationCache::setOnprogress):
  18728. (WebCore::JSDOMApplicationCache::setOnupdateready):
  18729. (WebCore::JSDOMApplicationCache::setOncached):
  18730. * bindings/js/JSDOMWindowBase.cpp:
  18731. (WebCore::JSDOMWindowBase::JSDOMWindowBase):
  18732. (WebCore::JSDOMWindowBase::getValueProperty):
  18733. (WebCore::JSDOMWindowBase::setListener):
  18734. (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
  18735. (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
  18736. (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
  18737. (WebCore::windowProtoFuncAToB):
  18738. (WebCore::windowProtoFuncBToA):
  18739. (WebCore::windowProtoFuncSetTimeout):
  18740. (WebCore::windowProtoFuncSetInterval):
  18741. (WebCore::windowProtoFuncAddEventListener):
  18742. * bindings/js/JSDOMWindowBase.h:
  18743. * bindings/js/JSDocumentCustom.cpp:
  18744. (WebCore::toJS):
  18745. * bindings/js/JSEventCustom.cpp:
  18746. (WebCore::toJS):
  18747. * bindings/js/JSEventTargetBase.cpp:
  18748. (WebCore::jsEventTargetAddEventListener):
  18749. * bindings/js/JSEventTargetBase.h:
  18750. (WebCore::JSEventTargetPrototype::self):
  18751. * bindings/js/JSEventTargetNode.cpp:
  18752. (WebCore::JSEventTargetNode::setListener):
  18753. * bindings/js/JSHTMLCollectionCustom.cpp:
  18754. (WebCore::getNamedItems):
  18755. (WebCore::toJS):
  18756. * bindings/js/JSHTMLElementWrapperFactory.cpp:
  18757. (WebCore::createJSHTMLWrapper):
  18758. * bindings/js/JSHTMLFormElementCustom.cpp:
  18759. (WebCore::JSHTMLFormElement::nameGetter):
  18760. * bindings/js/JSHTMLInputElementBase.cpp:
  18761. (WebCore::JSHTMLInputElementBase::getValueProperty):
  18762. * bindings/js/JSHTMLOptionElementConstructor.cpp:
  18763. (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
  18764. * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
  18765. (WebCore::JSHTMLOptionsCollection::length):
  18766. * bindings/js/JSInspectedObjectWrapper.cpp:
  18767. (WebCore::JSInspectedObjectWrapper::wrap):
  18768. * bindings/js/JSInspectorCallbackWrapper.cpp:
  18769. (WebCore::JSInspectorCallbackWrapper::wrap):
  18770. * bindings/js/JSLocationCustom.cpp:
  18771. (WebCore::JSLocation::toString):
  18772. * bindings/js/JSNamedNodesCollection.cpp:
  18773. (WebCore::JSNamedNodesCollection::lengthGetter):
  18774. * bindings/js/JSNavigatorCustom.cpp:
  18775. (WebCore::JSNavigator::appVersion):
  18776. * bindings/js/JSNodeCustom.cpp:
  18777. (WebCore::toJS):
  18778. * bindings/js/JSNodeFilterCustom.cpp:
  18779. (WebCore::JSNodeFilter::acceptNode):
  18780. * bindings/js/JSRGBColor.cpp:
  18781. (WebCore::getJSRGBColor):
  18782. * bindings/js/JSSQLResultSetRowListCustom.cpp:
  18783. (WebCore::JSSQLResultSetRowList::item):
  18784. * bindings/js/JSSVGElementWrapperFactory.cpp:
  18785. (WebCore::createJSSVGWrapper):
  18786. * bindings/js/JSSVGLazyEventListener.cpp:
  18787. (WebCore::JSSVGLazyEventListener::eventParameterName):
  18788. * bindings/js/JSStorageCustom.cpp:
  18789. (WebCore::JSStorage::nameGetter):
  18790. * bindings/js/JSStyleSheetCustom.cpp:
  18791. (WebCore::toJS):
  18792. * bindings/js/JSXMLHttpRequestConstructor.cpp:
  18793. (WebCore::JSXMLHttpRequestConstructor::construct):
  18794. * bindings/js/JSXMLHttpRequestCustom.cpp:
  18795. (WebCore::JSXMLHttpRequest::setOnreadystatechange):
  18796. (WebCore::JSXMLHttpRequest::setOnload):
  18797. (WebCore::JSXMLHttpRequest::setOnprogress):
  18798. (WebCore::JSXMLHttpRequest::getResponseHeader):
  18799. (WebCore::JSXMLHttpRequest::addEventListener):
  18800. (WebCore::JSXMLHttpRequest::removeEventListener):
  18801. * bindings/js/JSXSLTProcessor.cpp:
  18802. (WebCore::jsXSLTProcessorPrototypeFunctionGetParameter):
  18803. (WebCore::JSXSLTProcessorConstructor::construct):
  18804. * bindings/js/kjs_binding.cpp:
  18805. (WebCore::jsStringOrNull):
  18806. (WebCore::jsOwnedStringOrNull):
  18807. (WebCore::jsStringOrUndefined):
  18808. (WebCore::jsStringOrFalse):
  18809. (WebCore::nonCachingStaticFunctionGetter):
  18810. (WebCore::objectToStringFunctionGetter):
  18811. * bindings/js/kjs_binding.h:
  18812. (WebCore::DOMObject::DOMObject):
  18813. (WebCore::cacheDOMObject):
  18814. (WebCore::cacheSVGDOMObject):
  18815. * bindings/js/kjs_events.cpp:
  18816. (WebCore::JSLazyEventListener::eventParameterName):
  18817. (WebCore::JSLazyEventListener::parseCode):
  18818. * bindings/js/kjs_html.cpp:
  18819. (WebCore::getRuntimeObject):
  18820. * bridge/c/c_instance.cpp:
  18821. (KJS::Bindings::CInstance::defaultValue):
  18822. (KJS::Bindings::CInstance::stringValue):
  18823. (KJS::Bindings::CInstance::numberValue):
  18824. (KJS::Bindings::CInstance::valueOf):
  18825. * bridge/c/c_instance.h:
  18826. * bridge/c/c_utility.cpp:
  18827. (KJS::Bindings::convertNPVariantToValue):
  18828. * bridge/jni/jni_instance.cpp:
  18829. (JavaInstance::stringValue):
  18830. (JavaInstance::numberValue):
  18831. (JavaInstance::invokeMethod):
  18832. (JavaInstance::defaultValue):
  18833. (JavaInstance::valueOf):
  18834. * bridge/jni/jni_instance.h:
  18835. * bridge/jni/jni_jsobject.h:
  18836. * bridge/jni/jni_jsobject.mm:
  18837. (JavaJSObject::call):
  18838. (JavaJSObject::setMember):
  18839. (JavaJSObject::setSlot):
  18840. (JavaJSObject::convertJObjectToValue):
  18841. (JavaJSObject::getListFromJArray):
  18842. * bridge/jni/jni_objc.mm:
  18843. (KJS::Bindings::dispatchJNICall):
  18844. * bridge/jni/jni_runtime.cpp:
  18845. (JavaArray::convertJObjectToArray):
  18846. (JavaField::dispatchValueFromInstance):
  18847. (JavaField::valueFromInstance):
  18848. (JavaField::dispatchSetValueToInstance):
  18849. (JavaArray::valueAt):
  18850. * bridge/jni/jni_utility.h:
  18851. * bridge/objc/objc_class.mm:
  18852. (KJS::Bindings::ObjcClass::fallbackObject):
  18853. * bridge/objc/objc_instance.h:
  18854. * bridge/objc/objc_instance.mm:
  18855. (ObjcInstance::defaultValue):
  18856. (ObjcInstance::stringValue):
  18857. (ObjcInstance::numberValue):
  18858. (ObjcInstance::valueOf):
  18859. * bridge/objc/objc_utility.h:
  18860. * bridge/objc/objc_utility.mm:
  18861. (KJS::Bindings::convertNSStringToString):
  18862. (KJS::Bindings::convertObjcValueToValue):
  18863. * bridge/runtime.cpp:
  18864. (KJS::Bindings::Instance::createRuntimeObject):
  18865. * bridge/runtime.h:
  18866. (KJS::Bindings::Instance::valueOf):
  18867. * bridge/runtime_array.cpp:
  18868. (RuntimeArray::lengthGetter):
  18869. * bridge/runtime_method.cpp:
  18870. (RuntimeMethod::lengthGetter):
  18871. * bridge/runtime_object.cpp:
  18872. (RuntimeObjectImp::RuntimeObjectImp):
  18873. (RuntimeObjectImp::methodGetter):
  18874. (RuntimeObjectImp::defaultValue):
  18875. * xml/XMLHttpRequest.cpp:
  18876. (WebCore::XMLHttpRequest::dropProtection):
  18877. * bindings/js/GCController.cpp:
  18878. (WebCore::GCController::gcTimerFired):
  18879. (WebCore::GCController::garbageCollectNow):
  18880. Adapted to JSC changes. Pass ExecState to functions that now need it. Removed
  18881. collectOnMainThreadOnly, as this is the only way to collect now. Replaced calls to static
  18882. Collector methods with calls to per-thread Heap ones.
  18883. 2008-05-02 Ariya Hidayat <ariya.hidayat@trolltech.com>
  18884. Reviewed by Simon.
  18885. Build the Qt port with SVG Animation support.
  18886. * WebCore.pro:
  18887. 2008-05-02 Simon Hausmann <hausmann@webkit.org>
  18888. Build fix for Qt/Gtk. Don't declare NP_InitializeFuncPtr twice
  18889. with different signatures.
  18890. * plugins/npfunctions.h:
  18891. 2008-05-01 Robin Dunn <robin@alldunn.com>
  18892. Reviewed by Kevin Ollivier.
  18893. Explicitly set the pen style in wx port to keep pen style changes from
  18894. affecting URL underline or text field drawing.
  18895. https://bugs.webkit.org/show_bug.cgi?id=18775
  18896. * platform/graphics/wx/GraphicsContextWx.cpp:
  18897. (WebCore::GraphicsContext::fillRect):
  18898. (WebCore::GraphicsContext::drawLineForText):
  18899. * platform/wx/RenderThemeWx.cpp:
  18900. (WebCore::RenderThemeWx::paintTextField):
  18901. 2008-05-01 Robin Dunn <robin@alldunn.com>
  18902. Reviewed by Kevin Ollivier.
  18903. Implement popup menu support for wx port.
  18904. https://bugs.webkit.org/show_bug.cgi?id=18776
  18905. * platform/PopupMenu.h:
  18906. * platform/wx/PopupMenuWx.cpp: Added.
  18907. (WebCore::PopupMenu::PopupMenu):
  18908. (WebCore::PopupMenu::~PopupMenu):
  18909. (WebCore::PopupMenu::show):
  18910. (WebCore::PopupMenu::OnMenuItemSelected):
  18911. (WebCore::PopupMenu::hide):
  18912. (WebCore::PopupMenu::updateFromElement):
  18913. (WebCore::PopupMenu::itemWritingDirectionIsNatural):
  18914. * platform/wx/TemporaryLinkStubs.cpp:
  18915. * webcore-wx.bkl:
  18916. 2008-05-01 Kevin Ollivier <kevino@theolliviers.com>
  18917. Reviewed by Eric Seidel.
  18918. Make sure we properly set the button for all mouse events,
  18919. not just mouse down, set the click count to 0
  18920. for non-click events, and finally set the timestamp.
  18921. https://bugs.webkit.org/show_bug.cgi?id=18464
  18922. * platform/wx/MouseEventWx.cpp:
  18923. (WebCore::PlatformMouseEvent::PlatformMouseEvent):
  18924. 2008-05-01 Sam Weinig <sam@webkit.org>
  18925. Reviewed by Mark Rowe (in his infinite wisdom).
  18926. Auto-generate the JSXSLTProcessor binding.
  18927. * DerivedSources.make:
  18928. * GNUmakefile.am:
  18929. * WebCore.pro:
  18930. * WebCore.vcproj/WebCore.vcproj:
  18931. * WebCore.xcodeproj/project.pbxproj:
  18932. * WebCoreSources.bkl:
  18933. * bindings/js/JSDOMWindowBase.cpp:
  18934. (WebCore::JSDOMWindowBase::getValueProperty):
  18935. * bindings/js/JSDOMWindowBase.h:
  18936. (WebCore::JSDOMWindowBase::):
  18937. * bindings/js/JSXSLTProcessor.cpp: Removed.
  18938. * bindings/js/JSXSLTProcessor.h: Removed.
  18939. * xml/XSLTProcessor.h:
  18940. 2008-05-01 Sam Weinig <sam@webkit.org>
  18941. Reviewed by Geoffrey Garen.
  18942. Fixes:
  18943. - https://bugs.webkit.org/show_bug.cgi?id=17249
  18944. Incorrect lexical scope after navigation leads to UXSS
  18945. <rdar://problem/5738497>
  18946. - https://bugs.webkit.org/show_bug.cgi?id=16824
  18947. Script authorization should follow lexical (not dynamic) scope
  18948. <rdar://problem/5683032>
  18949. This patch changes us to perform same-origin checks based on the lexical global object)
  18950. rather than dynamic global object, which is now possible we don't re-use the window on
  18951. navigations, but rather switch in a new one and re-use the outer shell. This is both
  18952. more secure and conforms with the HTML5 specification. Now that all the checks are
  18953. done based on the lexical global object, we can remove the SecurityOrigin::Reason
  18954. concept, as it was only around to work around an ebay.com bug that required the check to
  18955. be done that way.
  18956. An important thing to note is that we currently implement a stricter than necessary policy
  18957. and perform the same-origin check based on the currently active global object to avoid leaking
  18958. the document in cases when the target frame is navigated before access. This will be fixed in
  18959. an upcoming patch.
  18960. * bindings/js/JSDOMWindowBase.cpp:
  18961. (WebCore::JSDOMWindowBase::allowsAccessFrom):
  18962. (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
  18963. (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
  18964. (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
  18965. (WebCore::JSDOMWindowBase::printErrorMessage):
  18966. (WebCore::asJSDOMWindow):
  18967. * bindings/js/JSDOMWindowBase.h:
  18968. * html/CanvasRenderingContext2D.cpp:
  18969. (WebCore::CanvasRenderingContext2D::checkOrigin):
  18970. (WebCore::CanvasRenderingContext2D::createPattern):
  18971. * loader/FrameLoader.cpp:
  18972. (WebCore::FrameLoader::begin):
  18973. (WebCore::FrameLoader::write):
  18974. (WebCore::FrameLoader::setOpener):
  18975. (WebCore::FrameLoader::shouldAllowNavigation):
  18976. * page/DOMWindow.h:
  18977. (WebCore::DOMWindow::setSecurityOrigin):
  18978. (WebCore::DOMWindow::securityOrigin):
  18979. (WebCore::DOMWindow::setURL):
  18980. (WebCore::DOMWindow::url):
  18981. * platform/SecurityOrigin.cpp:
  18982. (WebCore::SecurityOrigin::canAccess):
  18983. (WebCore::SecurityOrigin::isSecureTransitionTo):
  18984. * platform/SecurityOrigin.h:
  18985. 2008-05-01 Anders Carlsson <andersca@apple.com>
  18986. Reviewed by Mark.
  18987. Enable 64-bit NPAPI plugins.
  18988. * WebCore.xcodeproj/project.pbxproj:
  18989. Don't remove NPAPI related symbols from the 64-bit .exp file.
  18990. * bridge/npruntime.h:
  18991. Remove now unnecessary #error.
  18992. 2008-05-01 Maciej Stachowiak <mjs@apple.com>
  18993. Reviewed by Oliver (a while ago)
  18994. - just a wee bit more bindings speedup
  18995. Store the per-document Node --> JS wrapper cache in the document
  18996. instead of an external hashtable.
  18997. * bindings/js/kjs_binding.cpp:
  18998. (WebCore::ScriptInterpreter::getDOMNodeForDocument):
  18999. (WebCore::ScriptInterpreter::forgetDOMNodeForDocument):
  19000. (WebCore::ScriptInterpreter::putDOMNodeForDocument):
  19001. (WebCore::ScriptInterpreter::forgetAllDOMNodesForDocument):
  19002. (WebCore::ScriptInterpreter::markDOMNodesForDocument):
  19003. * dom/Document.h:
  19004. (WebCore::Document::wrapperCache):
  19005. 2008-05-01 Anders Carlsson <andersca@apple.com>
  19006. Reviewed by Tim.
  19007. Remove duplicate npfunctions.h header from WebKit.
  19008. * WebCore.xcodeproj/project.pbxproj:
  19009. Add npfunctions.h and set its role to private.
  19010. * plugins/npfunctions.h:
  19011. Merge Mac specific changes.
  19012. 2008-05-01 Sam Weinig <sam@webkit.org>
  19013. Reviewed by Geoffrey Garen.
  19014. Rename toJSDOMWindow(KJS::JSGlobalObject) to asJSDOMWindow, as all it does is
  19015. cast.
  19016. * bindings/js/JSCustomVoidCallback.cpp:
  19017. (WebCore::toVoidCallback):
  19018. * bindings/js/JSCustomXPathNSResolver.cpp:
  19019. (WebCore::JSCustomXPathNSResolver::create):
  19020. * bindings/js/JSDOMApplicationCacheCustom.cpp:
  19021. (WebCore::JSDOMApplicationCache::add):
  19022. (WebCore::JSDOMApplicationCache::remove):
  19023. * bindings/js/JSDOMWindowBase.cpp:
  19024. (WebCore::allowPopUp):
  19025. (WebCore::createWindow):
  19026. (WebCore::windowProtoFuncOpen):
  19027. (WebCore::asJSDOMWindow):
  19028. * bindings/js/JSDOMWindowBase.h:
  19029. * bindings/js/JSDOMWindowCustom.cpp:
  19030. (WebCore::JSDOMWindow::setLocation):
  19031. (WebCore::JSDOMWindow::postMessage):
  19032. * bindings/js/JSDatabaseCustom.cpp:
  19033. (WebCore::JSDatabase::changeVersion):
  19034. (WebCore::JSDatabase::transaction):
  19035. * bindings/js/JSDocumentCustom.cpp:
  19036. (WebCore::JSDocument::setLocation):
  19037. * bindings/js/JSLocationCustom.cpp:
  19038. (WebCore::navigateIfAllowed):
  19039. (WebCore::JSLocation::setHref):
  19040. (WebCore::JSLocation::replace):
  19041. (WebCore::JSLocation::reload):
  19042. (WebCore::JSLocation::assign):
  19043. * bindings/js/JSSQLTransactionCustom.cpp:
  19044. (WebCore::JSSQLTransaction::executeSql):
  19045. * bindings/js/JSXMLHttpRequestCustom.cpp:
  19046. (WebCore::JSXMLHttpRequest::open):
  19047. * page/JavaScriptDebugServer.cpp:
  19048. (WebCore::toPage):
  19049. 2008-05-01 Anatoli Papirovski <apapirovski@mac.com>
  19050. Reviewed by Dave Hyatt.
  19051. - fix https://bugs.webkit.org/show_bug.cgi?id=18347
  19052. Absolutely positioned image percentage width does not respect container's padding
  19053. Test: fast/replaced/absolute-position-percentage-width.html
  19054. * rendering/RenderBox.cpp:
  19055. (WebCore::RenderBox::calcReplacedWidthUsing):
  19056. 2008-05-01 Dan Bernstein <mitz@apple.com>
  19057. - Windows build fix
  19058. * platform/graphics/win/FontCGWin.cpp:
  19059. (WebCore::Font::drawGlyphs):
  19060. 2008-05-01 Dan Bernstein <mitz@apple.com>
  19061. Reviewed by Darin Adler.
  19062. - make synthetic bold and synthetic italics work in GDI text
  19063. - account for synthetic bold in complex text on Windows
  19064. * platform/graphics/win/FontCGWin.cpp:
  19065. (WebCore::Font::drawGlyphs): Adjusted the text rectangle's x coordinates
  19066. to fit italics. Added a skew transform for synthetic italics and a
  19067. second paint pass for synthetic bold.
  19068. * platform/graphics/win/SimpleFontDataWin.cpp:
  19069. (WebCore::SimpleFontData::widthForGDIGlyph): Added the synthetic bold
  19070. offset.
  19071. * platform/graphics/win/UniscribeController.cpp:
  19072. (WebCore::UniscribeController::shapeAndPlaceItem): Added the synthetic
  19073. bold offset.
  19074. 2008-05-01 Alp Toker <alp@nuanti.com>
  19075. Qt/Win build fix attempt following plugin changes. Add missing return
  19076. statements.
  19077. Also fixes some newly introduced coding style issues in the Qt port.
  19078. * platform/qt/FileSystemQt.cpp:
  19079. (WebCore::openTemporaryFile):
  19080. (WebCore::closeFile):
  19081. (WebCore::writeToFile):
  19082. (WebCore::unloadModule):
  19083. 2008-05-01 Anders Carlsson <andersca@apple.com>
  19084. Reviewed by Adam.
  19085. Export methods needed to subclass Widget. (See r32770.)
  19086. * WebCore.base.exp:
  19087. 2008-05-01 Marc Ordinas i Llopis <marc.ordinasillopis@collabora.co.uk>
  19088. Reviewed by Alp Toker.
  19089. Qt parts OK'ed by Simon Hausmann.
  19090. https://bugs.webkit.org/show_bug.cgi?id=14750
  19091. Added support for NPAPI plugins on Gtk and Qt-x11 ports.
  19092. * GNUmakefile.am: Added Gtk plugin files.
  19093. * WebCore.pro: Added Qt plugins files, defined XP_UNIX and
  19094. ENABLE_NETSCAPE_PLUGIN_API
  19095. * bridge/npruntime_internal.h: Additional undefs that conflict
  19096. with Qt headers.
  19097. * page/gtk/FrameGtk.cpp: Create js bindings for PluginView.
  19098. (WebCore::Frame::createScriptInstanceForWidget):
  19099. * page/qt/FrameQt.cpp: Create js bindings for PluginView.
  19100. (WebCore::Frame::createScriptInstanceForWidget):
  19101. (WebCore::Frame::clearPlatformScriptObjects):
  19102. (WebCore::Frame::disconnectPlatformScriptObjects):
  19103. * platform/FileSystem.h: Qt FileSystem implementation.
  19104. * platform/Widget.h: Members to differentiate between Qt plugins and
  19105. NPAPI ones.
  19106. * platform/gtk/ScrollViewGtk.cpp:
  19107. (WebCore::ScrollView::addChild): Set containing window before calling setParent.
  19108. * platform/gtk/TemporaryLinkStubs.cpp: Removed implemented functions.
  19109. (PluginView::invalidateRegion):
  19110. * platform/qt/FileSystemQt.cpp: Implemented functions necessary for
  19111. NPAPI plugins.
  19112. (WebCore::openTemporaryFile):
  19113. (WebCore::closeFile):
  19114. (WebCore::writeToFile):
  19115. (WebCore::unloadModule): Delete module if unloaded.
  19116. * platform/qt/TemporaryLinkStubs.cpp: Removed implemented functions.
  19117. * platform/qt/WidgetQt.cpp: Differentiate between Qt plugins and
  19118. NPAPI ones.
  19119. (WebCore::WidgetPrivate::WidgetPrivate):
  19120. (WebCore::Widget::isNPAPIPlugin):
  19121. (WebCore::Widget::setIsNPAPIPlugin):
  19122. * plugins/PluginPackage.cpp:
  19123. (WebCore::PluginPackage::~PluginPackage): Unload the module before
  19124. destruction.
  19125. (WebCore::PluginPackage::compare): Moved here as it's platform
  19126. independent.
  19127. * plugins/PluginView.cpp: Moved platform-independent functions here.
  19128. (WebCore::PluginView::PluginView): Initialize m_npWindow.ws_info on
  19129. Unix platforms.
  19130. (WebCore::PluginView::freeStringArray):
  19131. (WebCore::startsWithBlankLine):
  19132. (WebCore::locationAfterFirstBlankLine):
  19133. (WebCore::findEOL):
  19134. (WebCore::capitalizeRFC822HeaderFieldName):
  19135. (WebCore::parseRFC822HeaderFields):
  19136. (WebCore::PluginView::handlePost):
  19137. * plugins/PluginView.h: Moved platform-independent functions here.
  19138. Added member to signal plugin needs XEmbed extension.
  19139. * plugins/gtk/PluginDataGtk.cpp: Added.
  19140. (WebCore::PluginData::initPlugins):
  19141. (WebCore::PluginData::refresh):
  19142. * plugins/gtk/PluginDatabaseGtk.cpp:
  19143. (WebCore::PluginDatabase::defaultPluginDirectories):
  19144. (WebCore::PluginDatabase::isPreferredPluginDirectory):
  19145. * plugins/gtk/PluginPackageGtk.cpp: Added.
  19146. (WebCore::PluginPackage::determineQuirks):
  19147. (WebCore::PluginPackage::fetchInfo):
  19148. (WebCore::PluginPackage::load):
  19149. (WebCore::PluginPackage::hash):
  19150. (WebCore::PluginPackage::equal):
  19151. (WebCore::PluginPackage::compareFileVersion):
  19152. * plugins/gtk/PluginViewGtk.cpp: Added.
  19153. (WebCore::PluginView::updateWindow):
  19154. (WebCore::PluginView::setFocus):
  19155. (WebCore::PluginView::show):
  19156. (WebCore::PluginView::hide):
  19157. (WebCore::PluginView::paint):
  19158. (WebCore::PluginView::handleKeyboardEvent):
  19159. (WebCore::PluginView::handleMouseEvent):
  19160. (WebCore::PluginView::setParent):
  19161. (WebCore::PluginView::setNPWindowRect):
  19162. (WebCore::PluginView::attachToWindow):
  19163. (WebCore::PluginView::detachFromWindow):
  19164. (WebCore::PluginView::stop):
  19165. (WebCore::PluginView::userAgent):
  19166. (WebCore::PluginView::handlePostReadFile):
  19167. (WebCore::PluginView::getValue):
  19168. (WebCore::PluginView::invalidateRect):
  19169. (WebCore::PluginView::forceRedraw):
  19170. (WebCore::PluginView::~PluginView):
  19171. (WebCore::plug_removed_cb): Added callback to handle plug removal.
  19172. (WebCore::PluginView::init):
  19173. * plugins/gtk/xembed.h: Added.
  19174. * plugins/npapi.cpp:
  19175. (NPN_GetValue): Return error if no view present.
  19176. * plugins/qt/PluginDataQt.cpp:
  19177. (WebCore::PluginData::initPlugins):
  19178. (WebCore::PluginData::refresh):
  19179. * plugins/qt/PluginDatabaseQt.cpp: Added.
  19180. (WebCore::PluginDatabase::getPluginPathsInDirectories):
  19181. (WebCore::addQtWebKitPluginDirectories):
  19182. (WebCore::addMozillaPluginDirectories):
  19183. (WebCore::PluginDatabase::defaultPluginDirectories):
  19184. (WebCore::PluginDatabase::isPreferredPluginDirectory):
  19185. * plugins/qt/PluginPackageQt.cpp: Added.
  19186. (WebCore::PluginPackage::determineQuirks):
  19187. (WebCore::PluginPackage::fetchInfo):
  19188. (WebCore::PluginPackage::load):
  19189. (WebCore::PluginPackage::hash):
  19190. (WebCore::PluginPackage::equal):
  19191. (WebCore::PluginPackage::compareFileVersion):
  19192. * plugins/qt/PluginViewQt.cpp: Added.
  19193. (WebCore::PluginView::updateWindow):
  19194. (WebCore::PluginView::setFocus):
  19195. (WebCore::PluginView::show):
  19196. (WebCore::PluginView::hide):
  19197. (WebCore::PluginView::paint):
  19198. (WebCore::PluginView::handleKeyboardEvent):
  19199. (WebCore::PluginView::handleMouseEvent):
  19200. (WebCore::PluginView::setParent):
  19201. (WebCore::PluginView::setNPWindowRect):
  19202. (WebCore::PluginView::attachToWindow):
  19203. (WebCore::PluginView::detachFromWindow):
  19204. (WebCore::PluginView::stop):
  19205. (WebCore::PluginView::userAgent):
  19206. (WebCore::PluginView::handlePostReadFile):
  19207. (WebCore::PluginView::getValue):
  19208. (WebCore::PluginView::invalidateRect):
  19209. (WebCore::PluginView::invalidateRegion):
  19210. (WebCore::PluginView::forceRedraw):
  19211. (WebCore::PluginView::~PluginView):
  19212. (WebCore::PluginView::init):
  19213. * plugins/win/PluginPackageWin.cpp: Moved platform-independent code
  19214. to plugins/PluginPackage.cpp
  19215. * plugins/win/PluginViewWin.cpp: Moved platform-independent code to
  19216. plugins/PluginView.cpp
  19217. (WebCore::PluginView::stop):
  19218. (WebCore::PluginView::handlePostReadFile):
  19219. (WebCore::PluginView::getValue): Moved this function to each platform.
  19220. 2008-05-01 Sam Weinig <sam@webkit.org>
  19221. Fix build.
  19222. * ForwardingHeaders/wtf/StrHash.h: Added.
  19223. 2008-05-01 Anders Carlsson <andersca@apple.com>
  19224. Reviewed by Darin.
  19225. Move management of cache groups to ApplicationCacheStorage. Also,
  19226. application caches now start out with a null group and will have their group set
  19227. when the cache has finished loading.
  19228. * loader/appcache/ApplicationCache.cpp:
  19229. (WebCore::ApplicationCache::ApplicationCache):
  19230. Initialize m_group to 0.
  19231. (WebCore::ApplicationCache::~ApplicationCache):
  19232. Null check the group.
  19233. (WebCore::ApplicationCache::setGroup):
  19234. New method for setting the group.
  19235. * loader/appcache/ApplicationCache.h:
  19236. (WebCore::ApplicationCache::create):
  19237. Remove the group argument.
  19238. * loader/appcache/ApplicationCacheGroup.cpp:
  19239. (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
  19240. Let the storage know that the cache group has been destroyed.
  19241. (WebCore::ApplicationCacheGroup::cacheForMainRequest):
  19242. Call into the storage.
  19243. (WebCore::ApplicationCacheGroup::selectCache):
  19244. Call into the storage.
  19245. (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
  19246. When there are no document loaders associated with the cache group,
  19247. set the newest cache to 0.
  19248. (WebCore::ApplicationCacheGroup::cacheDestroyed):
  19249. Delete the group if there are no associated caches.
  19250. (WebCore::ApplicationCacheGroup::setNewestCache):
  19251. New method that will set the newest cache and associate the group with the cache.
  19252. (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
  19253. Call setNewestCache instead.
  19254. * loader/appcache/ApplicationCacheStorage.cpp:
  19255. (WebCore::urlHostHash):
  19256. Move host hash method here.
  19257. (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
  19258. New method that finds a cache group with a given manifest URL or creates a new one.
  19259. (WebCore::ApplicationCacheStorage::cacheGroupForURL):
  19260. New method that returns a cache group for a given URL.
  19261. (WebCore::ApplicationCacheStorage::cacheGroupDestroyed):
  19262. When the cache group has been destroyed, remove it from the hash map.
  19263. * loader/appcache/ApplicationCacheStorage.h:
  19264. Add new methods.I b
  19265. 2008-05-01 Dan Winship <danw@gnome.org>
  19266. Reviewed by Alp Toker.
  19267. http://bugs.webkit.org/show_bug.cgi?id=18490
  19268. Add mostly-working file: support and mostly-broken ftp: support to
  19269. the soup backend.
  19270. * platform/network/soup/ResourceHandleSoup.cpp (start): after
  19271. doing basic checks, delegate to one of three submethods
  19272. (startData): handles data: URLs
  19273. (startHttp): handles http: and https: URLs, via libsoup
  19274. (startGio, etc): handles file: and ftp: URLs, via gio. Lots of
  19275. FIXMEs detailing the parts that don't fully work yet.
  19276. * platform/network/ResourceHandle.h:
  19277. * platform/network/ResourceHandleInternal.h: add new member
  19278. variables for gio-based loading
  19279. 2008-05-01 Alp Toker <alp@nuanti.com>
  19280. Rubber-stamped by Anders.
  19281. GTK+ build fix for changes in r32752. Use int32, not int32_t types in
  19282. npapi.h.
  19283. Additional fix to use same signedness in npapi.h and Mac for the
  19284. interval parameter.
  19285. * bridge/npapi.h:
  19286. 2008-04-30 Anders Carlsson <andersca@apple.com>
  19287. Reviewed by Adam.
  19288. Add new Cocoa event model type declarations.
  19289. * bridge/npapi.h:
  19290. 2008-04-30 Beth Dakin <bdakin@apple.com>
  19291. Reviewed by Sam Weinig.
  19292. This patch does three things:
  19293. 1. Adds support for the "img" ARIA role
  19294. 2. Switches over to a HashMap for converting ARIA role attributes
  19295. to WebCore's AccessibilityRole type.
  19296. 3. Fixes a crash in the new ARIA code that I ran into while
  19297. browsing with VoiceOver enabled.
  19298. * page/AccessibilityObject.cpp:
  19299. (WebCore::AccessibilityObject::headingLevel): This is the crash
  19300. fix. Make sure the node's renderer is not null before looking up
  19301. its corresponding AccessibilityObject in the cache.
  19302. (WebCore::AccessibilityObject::accessibilityIsIgnored): Account for
  19303. ARIA images.
  19304. (WebCore::createARIARoleMap): Switch to HashMap, and add "img" to
  19305. the Map.
  19306. (WebCore::RoleEntry::): Same.
  19307. (WebCore::ariaRoleToWebCoreRole): Same.
  19308. (WebCore::AccessibilityObject::ariaRoleAttribute): Same.
  19309. 2008-04-30 Rob Buis <buis@kde.org>
  19310. Reviewed by Nikolas.
  19311. https://bugs.webkit.org/show_bug.cgi?id=16447
  19312. onload called too many times for <svg:image>
  19313. https://bugs.webkit.org/show_bug.cgi?id=12282
  19314. SVG wastes time in malloc to send loadEvents to non-existent listeners
  19315. Postpone load event dispatching for image when externalResourcesRequired
  19316. is true, delaying parents but not siblings, and make sure the load event
  19317. is sent once for image in all cases.
  19318. * svg/SVGElement.cpp:
  19319. (WebCore::hasLoadListener):
  19320. (WebCore::SVGElement::sendSVGLoadEventIfPossible):
  19321. * svg/SVGImageElement.cpp:
  19322. (WebCore::SVGImageElement::haveLoadedRequiredResources):
  19323. * svg/SVGImageLoader.cpp:
  19324. (WebCore::SVGImageLoader::dispatchLoadEvent):
  19325. 2008-04-30 David Hyatt <hyatt@apple.com>
  19326. Fix crashes when dynamically removing <video> elements with layers that establish stacking contexts. This
  19327. won't typically crash release builds because of arena recycling.
  19328. Reviewed by Dan Bernstein
  19329. * rendering/RenderLayer.cpp:
  19330. (WebCore::RenderLayer::~RenderLayer):
  19331. Make sure to remove the reflection's child layer from its parent.
  19332. * rendering/RenderMedia.cpp:
  19333. (WebCore::RenderMedia::~RenderMedia):
  19334. (WebCore::RenderMedia::destroy):
  19335. (WebCore::RenderMedia::removeChild):
  19336. * rendering/RenderMedia.h:
  19337. Adjust the teardown of RenderMedia so that it does all of its teardown inside destroy() (this makes it more
  19338. like other renderers and doesn't leave you staring at a trashed layer hierarchy in the RenderMedia
  19339. destructor).
  19340. 2008-04-30 Rémi Zara <remi_zara@mac.com>
  19341. Reviewed by Dave Hyatt.
  19342. fix https://bugs.webkit.org/show_bug.cgi?id=18618
  19343. <rdar://problem/5876063> REGRESSION (r31823-r31847): Patterns are upside down
  19344. * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
  19345. (WebCore::patternCallback): flip the y axis when drawing the tile
  19346. 2008-04-30 Timothy Hatcher <timothy@apple.com>
  19347. Fixes an undefined type exception that fires when adding a resource to the inspector
  19348. that has a MIME type warning.
  19349. Reviewed by Adam Roben.
  19350. * page/inspector/Resource.js:
  19351. (WebInspector.Resource.prototype._addTip): Call WebInspector.console instead of
  19352. WebInspector.consolePanel.
  19353. (WebInspector.Resource.prototype._checkWarning): Ditto.
  19354. 2008-04-30 Timothy Hatcher <timothy@apple.com>
  19355. Fixes the bug where the selected resource would be deselected after
  19356. changing the sort order in the Resources panel.
  19357. Reviewed by Dan Bernstein.
  19358. * page/inspector/ResourcesPanel.js:
  19359. (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded):
  19360. Rememebr if the tree element that we are sorting was selected, so
  19361. the selection can be restored after it is re-inserted. The onSelect
  19362. is suppressed since we don't need to show the resource again.
  19363. 2008-04-29 Timothy Hatcher <timothy@apple.com>
  19364. Fixes the regression where error bubbles in source views always show
  19365. "undefined" for the content because the message property on
  19366. ConsoleMessage was removed. Adds support for a plain text formated
  19367. message that is stored in the message proeprty.
  19368. Reviewed by Adam Roben.
  19369. * page/inspector/Console.js:
  19370. (WebInspector.Console.prototype._format): Add a plainText argument that is passed to
  19371. the formatters.
  19372. (WebInspector.Console.prototype._formatvalue): Add a plainText argument, and a comment
  19373. about needing to honor it if the textContent of the output doesn't make sense.
  19374. (WebInspector.Console.prototype._formatvalue): Ditto.
  19375. (WebInspector.Console.prototype._formatstring): Ditto.
  19376. (WebInspector.Console.prototype._formatregexp): Ditto.
  19377. (WebInspector.Console.prototype._formatarray): Ditto.
  19378. (WebInspector.Console.prototype._formatnode): Ditto.
  19379. (WebInspector.Console.prototype._formatobject): Ditto.
  19380. (WebInspector.Console.prototype._formaterror): Ditto.
  19381. (WebInspector.ConsoleMessage): Call _format passing true for plainText. Get the
  19382. textContnet of the result and assign to the message proeprty. This property is
  19383. referenced from the SourceView.
  19384. (WebInspector.ConsoleMessage.prototype._format): Add a plainText argument. Build the
  19385. result element as a local and return it, instead of using formatedMessage directly.
  19386. 2008-04-30 Timothy Hatcher <timothy@apple.com>
  19387. Adds a helper function to convert a JSValueRef to a String.
  19388. Reviewed by Adam Roben.
  19389. * page/InspectorController.cpp:
  19390. (WebCore::toString): Converts a JSValueRef to a String.
  19391. (WebCore::search): Use toString.
  19392. (WebCore::InspectorController::handleException): Ditto.
  19393. 2008-04-30 Ariya Hidayat <ariya.hidayat@trolltech.com>
  19394. Reviewed by Simon.
  19395. Build the Qt port with SVG Foreign Object support.
  19396. * WebCore.pro:
  19397. 2008-04-30 Simon Hausmann <hausmann@webkit.org>
  19398. Reviewed by Holger.
  19399. Fix null pointer deference triggered by
  19400. LayoutTests/fast/loader/cancel-load-during-port-block-timer.html
  19401. * platform/network/qt/ResourceHandleQt.cpp:
  19402. (WebCore::ResourceHandle::cancel): Check m_job before dereferencing.
  19403. 2008-04-29 David Hyatt <hyatt@apple.com>
  19404. Improve the performance of masks by adding code to set more precise clips on the transparency layers
  19405. used to paint the content under the mask, and then also avoid creating transparency layers for the masks
  19406. themselves in common cases.
  19407. Reviewed by Dan Bernstein
  19408. * platform/graphics/GraphicsContext.cpp:
  19409. (WebCore::GraphicsContext::drawTiledImage):
  19410. Fix a bug in drawTiledImage where the composite mode got lost in the double stretch case for nine piece
  19411. images.
  19412. * rendering/InlineFlowBox.cpp:
  19413. (WebCore::InlineFlowBox::paintFillLayers):
  19414. (WebCore::InlineFlowBox::paintFillLayer):
  19415. (WebCore::InlineFlowBox::paintMask):
  19416. Optimize to only push a transparency layer for the mask if multiple images are combining. Add a new
  19417. composite operator argument for use when painting fill layers to do direct destination-in compositing while
  19418. painting images.
  19419. * rendering/InlineFlowBox.h:
  19420. * rendering/RenderBox.cpp:
  19421. (WebCore::RenderBox::paintMask):
  19422. (WebCore::RenderBox::paintMaskImages):
  19423. Optimize to only push a transparency layer for the mask if multiple images are combining.
  19424. (WebCore::RenderBox::maskClipRect):
  19425. A new method that attempts to compute a precise clip rect for the mask images.
  19426. (WebCore::RenderBox::paintFillLayers):
  19427. (WebCore::RenderBox::paintFillLayer):
  19428. (WebCore::RenderBox::paintFillLayerExtended):
  19429. * rendering/RenderBox.h:
  19430. Added the composite operator argument to the paintFillLayer methods.
  19431. * rendering/RenderFieldset.cpp:
  19432. (WebCore::RenderFieldset::paintMask):
  19433. Call the new base class paintMaskImages method for optimized mask painting.
  19434. * rendering/RenderLayer.cpp:
  19435. (WebCore::transparencyClipBox):
  19436. Fix a coordinate space issue with transparencyClipBox when masks were used. The border box was in the
  19437. wrong coordinate space. Moved the code into the layer's boundingBox() method instead.
  19438. (WebCore::RenderLayer::paintLayer):
  19439. Removed the code that always pushed a transparency layer before painting masks.
  19440. (WebCore::RenderLayer::boundingBox):
  19441. Call maskClipRect to shrink the bounding box of the layer to fit the mask clip.
  19442. * rendering/RenderObject.cpp:
  19443. (WebCore::RenderObject::paintNinePieceImage):
  19444. Added a composite operator argument for direct destination-in painting of nine piece images.
  19445. * rendering/RenderObject.h:
  19446. (WebCore::RenderObject::maskClipRect):
  19447. (WebCore::RenderObject::paintFillLayerExtended):
  19448. Base class stubs for RenderBox-implemented methods.
  19449. * rendering/RenderTable.cpp:
  19450. (WebCore::RenderTable::paintMask):
  19451. * rendering/RenderTableCell.cpp:
  19452. (WebCore::RenderTableCell::paintMask):
  19453. Modified to call the new paintMaskImages function.
  19454. * svg/graphics/SVGImage.cpp:
  19455. (WebCore::SVGImage::draw):
  19456. SVG images now respect composite modes by pushing a transparency layer when the composite mode
  19457. is anything other than source-over.
  19458. 2008-04-30 Ariya Hidayat <ariya.hidayat@trolltech.com>
  19459. Rubber-stamped by Rob Buis.
  19460. Fixed crash or assertion if SVG_FOREIGN_OBJECT is not enabled
  19461. * svg/SVGUseElement.cpp:
  19462. (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
  19463. 2008-04-30 Ariya Hidayat <ariya.hidayat@trolltech.com>
  19464. Rubber-stamped by Rob Buis.
  19465. Fixed compile, due to API change in XMLSerializer
  19466. * svg/SVGUseElement.cpp:
  19467. (WebCore::SVGUseElement::buildPendingResource):
  19468. 2008-04-30 Rob Buis <buis@kde.org>
  19469. Reviewed by Eric.
  19470. https://bugs.webkit.org/show_bug.cgi?id=11939
  19471. Quirksmode: Ignores media types in stylesheet PIs
  19472. Transfer the xml-stylesheet pseudo attribute media to the css
  19473. stylesheet created from the ProcessingInstruction.
  19474. Tests: fast/css/xml-stylesheet-media-processing.xhtml
  19475. * css/StyleSheet.cpp:
  19476. (WebCore::StyleSheet::setMedia):
  19477. * css/StyleSheet.h:
  19478. * dom/ProcessingInstruction.cpp:
  19479. (WebCore::ProcessingInstruction::checkStyleSheet):
  19480. (WebCore::ProcessingInstruction::setCSSStyleSheet):
  19481. * dom/ProcessingInstruction.h:
  19482. 2008-04-29 David D. Kilzer <ddkilzer@apple.com>
  19483. BUILD FIX for export of WTF::RefCounted<WebCore::FormData>::deref()
  19484. On the buildbot, this is a fatal error:
  19485. ld: symbols names listed in -exported_symbols_list: WebKitBuild/Release/DerivedSources/WebCore/WebCore.exp not in linked objects
  19486. __ZN3WTF10RefCountedIN7WebCore8FormDataEE5derefEv
  19487. /usr/bin/libtool: internal link edit command failed
  19488. Newer dev tools only produce a warning:
  19489. ld warning: cannot export hidden symbol __ZN3WTF10RefCountedIN7WebCore8FormDataEE5derefEv from WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/i386/DocumentLoader.o
  19490. * WebCore.base.exp: Remove hidden symbol from export list.
  19491. 2008-04-29 David Kilzer <ddkilzer@apple.com>
  19492. Another BUILD FIX for ENABLE(DASHBOARD_SUPPORT)
  19493. * dom/make_names.pl: Added #if ENABLE(DASHBOARD_SUPPORT) to Dashboard code.
  19494. 2008-04-29 David Kilzer <ddkilzer@apple.com>
  19495. BUILD FIX for ENABLE(DASHBOARD_SUPPORT)
  19496. * DerivedSources.make: Removed duplication of targets for
  19497. generating CSSPropertyNames.h and CSSValueKeywords.h.
  19498. * GNUmakefile.am: Ditto. Added support for ENABLE_DASHBOARD_SUPPORT.
  19499. * WebCore.pro: Added support for ENABLE_DASHBOARD_SUPPORT.
  19500. Made both SVG and non-SVG variables of GENERATOR 6-A use new
  19501. DASHBOARDSUPPORTCSSPROPERTIES variable.
  19502. 2008-04-29 Ada Chan <adachan@apple.com>
  19503. Added missing return.
  19504. * platform/win/COMPtr.h:
  19505. (WTF::):
  19506. 2008-04-29 Alp Toker <alp@nuanti.com>
  19507. GTK+ build fix attempt following breakage in r32700 which
  19508. conditionalised dashboard support.
  19509. * GNUmakefile.am:
  19510. 2008-04-29 Adam Roben <aroben@apple.com>
  19511. Restore the beloved COMPtr::operator&
  19512. * platform/win/COMPtr.h: Removed the HashTableDeletedValueType
  19513. constructor and isHashTableDeletedValue and hashTableDeletedValue
  19514. functions.
  19515. (WTF::): Changed constructDeletedValue to play nicely with
  19516. COMPtr::operator&.
  19517. 2008-04-29 Adam Roben <aroben@apple.com>
  19518. Fix assertion on launch on Windows
  19519. * platform/graphics/win/FontPlatformData.h: Pass
  19520. WTF::HashTableDeletedValue to the m_font constructor instead of a
  19521. bogus -1 value. This is needed because m_font is a RefPtr.
  19522. 2008-04-29 Greg Bolsinga <bolsinga@apple.com>
  19523. Reviewed by Darin.
  19524. Wrapped Dashboard code with ENABLE(DASHBOARD_SUPPORT)
  19525. * DerivedSources.make:
  19526. * WebCore.DashboardSupport.exp: Added.
  19527. * WebCore.base.exp:
  19528. * WebCore.xcodeproj/project.pbxproj:
  19529. * bindings/js/JSDOMWindowCustom.cpp:
  19530. (WebCore::JSDOMWindow::setLocation):
  19531. * css/CSSComputedStyleDeclaration.cpp:
  19532. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  19533. * css/CSSParser.cpp:
  19534. (WebCore::CSSParser::parseValue):
  19535. * css/CSSPrimitiveValue.cpp:
  19536. (WebCore::CSSPrimitiveValue::cleanup):
  19537. (WebCore::CSSPrimitiveValue::cssText):
  19538. * css/CSSPropertyNames.in:
  19539. * css/CSSStyleSelector.cpp:
  19540. (WebCore::CSSStyleSelector::applyProperty):
  19541. * css/DashboardRegion.h:
  19542. * css/DashboardSupportCSSPropertyNames.in: Added.
  19543. * dom/DOMImplementation.cpp:
  19544. (WebCore::DOMImplementation::createDocument):
  19545. * dom/Document.cpp:
  19546. (WebCore::Document::Document):
  19547. (WebCore::Document::importNode):
  19548. * dom/Document.h:
  19549. * html/CanvasRenderingContext2D.cpp:
  19550. (WebCore::CanvasRenderingContext2D::fill):
  19551. (WebCore::CanvasRenderingContext2D::stroke):
  19552. (WebCore::CanvasRenderingContext2D::clip):
  19553. * html/CanvasRenderingContext2D.h:
  19554. * html/HTMLCanvasElement.cpp:
  19555. * html/HTMLCanvasElement.h:
  19556. * page/Chrome.cpp:
  19557. * page/ChromeClient.h:
  19558. * page/Frame.cpp:
  19559. (WebCore::Frame::paint):
  19560. * page/Frame.h:
  19561. * page/FrameView.cpp:
  19562. (WebCore::FrameView::layout):
  19563. * page/FrameView.h:
  19564. * page/Settings.cpp:
  19565. (WebCore::Settings::Settings):
  19566. * page/Settings.h:
  19567. * page/mac/EventHandlerMac.mm:
  19568. (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
  19569. * page/mac/FrameMac.mm:
  19570. * page/mac/WebDashboardRegion.h:
  19571. * page/mac/WebDashboardRegion.m:
  19572. * rendering/RenderLayer.cpp:
  19573. (WebCore::RenderLayer::scrollToOffset):
  19574. (WebCore::RenderLayer::setHasHorizontalScrollbar):
  19575. (WebCore::RenderLayer::setHasVerticalScrollbar):
  19576. (WebCore::RenderLayer::updateScrollInfoAfterLayout):
  19577. * rendering/RenderObject.cpp:
  19578. (WebCore::RenderObject::setStyle):
  19579. * rendering/RenderObject.h:
  19580. * rendering/RenderStyle.cpp:
  19581. (WebCore::StyleRareNonInheritedData::operator==):
  19582. (WebCore::RenderStyle::diff):
  19583. * rendering/RenderStyle.h:
  19584. * xml/XMLHttpRequest.cpp:
  19585. (WebCore::XMLHttpRequest::send):
  19586. (WebCore::XMLHttpRequest::setRequestHeader):
  19587. 2008-04-29 Adam Roben <aroben@apple.com>
  19588. Windows build fix
  19589. This removes COMPtr::operator&, which didn't jive with HashTable. It
  19590. is replaced by COMPtr::adoptionPointer.
  19591. Discussed with Darin Adler and Anders Carlsson.
  19592. * platform/win/COMPtr.h: Replaced operator& with adoptionPointer.
  19593. 2008-04-29 David Hyatt <hyatt@apple.com>
  19594. Implement the new box-reflect property in CSS. This property enables real-time reflections on
  19595. objects (yes you can reflect <video>!).
  19596. Reviewed by Dan Bernstein
  19597. Test cases added in fast/reflections/
  19598. * GNUmakefile.am:
  19599. * WebCore.pro:
  19600. * WebCore.xcodeproj/project.pbxproj:
  19601. * WebCoreSources.bkl:
  19602. * css/CSSComputedStyleDeclaration.cpp:
  19603. (WebCore::valueForReflection):
  19604. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  19605. * css/CSSParser.cpp:
  19606. (WebCore::CSSParser::parseValue):
  19607. (WebCore::CSSParser::parseReflect):
  19608. (WebCore::BorderImageParseContext::commitBorderImage):
  19609. (WebCore::CSSParser::parseBorderImage):
  19610. (WebCore::parseGradientColorStop):
  19611. (WebCore::CSSParser::parseTransform):
  19612. * css/CSSParser.h:
  19613. * css/CSSPropertyNames.in:
  19614. * css/CSSReflectValue.cpp: Added.
  19615. (WebCore::CSSReflectValue::cssText):
  19616. * css/CSSReflectValue.h: Added.
  19617. (WebCore::CSSReflectValue::CSSReflectValue):
  19618. (WebCore::CSSReflectValue::direction):
  19619. (WebCore::CSSReflectValue::offset):
  19620. (WebCore::CSSReflectValue::mask):
  19621. (WebCore::CSSReflectValue::setDirection):
  19622. (WebCore::CSSReflectValue::setOffset):
  19623. (WebCore::CSSReflectValue::setMask):
  19624. * css/CSSStyleSelector.cpp:
  19625. (WebCore::CSSStyleSelector::adjustRenderStyle):
  19626. (WebCore::CSSStyleSelector::applyProperty):
  19627. (WebCore::CSSStyleSelector::mapNinePieceImage):
  19628. * css/CSSStyleSelector.h:
  19629. * rendering/InlineFlowBox.cpp:
  19630. (WebCore::InlineFlowBox::placeBoxesVertically):
  19631. (WebCore::InlineFlowBox::paintMask):
  19632. * rendering/Length.h:
  19633. (WebCore::Length::calcFloatValue):
  19634. * rendering/RenderBlock.cpp:
  19635. (WebCore::RenderBlock::overflowHeight):
  19636. (WebCore::RenderBlock::overflowWidth):
  19637. (WebCore::RenderBlock::overflowLeft):
  19638. (WebCore::RenderBlock::overflowTop):
  19639. (WebCore::RenderBlock::overflowRect):
  19640. (WebCore::RenderBlock::layoutBlock):
  19641. * rendering/RenderBox.cpp:
  19642. (WebCore::RenderBox::setStyle):
  19643. (WebCore::RenderBox::paintMask):
  19644. (WebCore::RenderBox::imageChanged):
  19645. (WebCore::RenderBox::computeAbsoluteRepaintRect):
  19646. * rendering/RenderFlexibleBox.cpp:
  19647. (WebCore::RenderFlexibleBox::layoutBlock):
  19648. * rendering/RenderLayer.cpp:
  19649. (WebCore::RenderLayer::RenderLayer):
  19650. (WebCore::RenderLayer::~RenderLayer):
  19651. (WebCore::RenderLayer::updateLayerPositions):
  19652. (WebCore::RenderLayer::enclosingPositionedAncestor):
  19653. (WebCore::RenderLayer::enclosingTransformedAncestor):
  19654. (WebCore::RenderLayer::isTransparent):
  19655. (WebCore::transparencyClipBox):
  19656. (WebCore::RenderLayer::operator delete):
  19657. (WebCore::RenderLayer::destroy):
  19658. (WebCore::RenderLayer::removeOnlyThisLayer):
  19659. (WebCore::RenderLayer::insertOnlyThisLayer):
  19660. (WebCore::RenderLayer::paintLayer):
  19661. (WebCore::RenderLayer::updateZOrderLists):
  19662. (WebCore::RenderLayer::updateOverflowList):
  19663. (WebCore::RenderLayer::collectLayers):
  19664. (WebCore::RenderLayer::shouldBeOverflowOnly):
  19665. (WebCore::RenderLayer::styleChanged):
  19666. (WebCore::RenderLayer::reflectionLayer):
  19667. (WebCore::RenderLayer::createReflection):
  19668. (WebCore::RenderLayer::updateReflectionStyle):
  19669. * rendering/RenderLayer.h:
  19670. (WebCore::RenderLayer::hasReflection):
  19671. (WebCore::RenderLayer::reflection):
  19672. (WebCore::RenderLayer::paintingInsideReflection):
  19673. * rendering/RenderObject.cpp:
  19674. (WebCore::RenderObject::RenderObject):
  19675. (WebCore::RenderObject::requiresLayer):
  19676. (WebCore::RenderObject::setStyle):
  19677. (WebCore::RenderObject::updateImage):
  19678. (WebCore::RenderObject::reflectionBox):
  19679. (WebCore::RenderObject::reflectionOffset):
  19680. * rendering/RenderObject.h:
  19681. (WebCore::RenderObject::hasTransform):
  19682. (WebCore::RenderObject::setHasReflection):
  19683. (WebCore::RenderObject::hasReflection):
  19684. * rendering/RenderReplica.cpp: Added.
  19685. (WebCore::RenderReplica::RenderReplica):
  19686. (WebCore::RenderReplica::~RenderReplica):
  19687. (WebCore::RenderReplica::layout):
  19688. (WebCore::RenderReplica::calcPrefWidths):
  19689. (WebCore::RenderReplica::paint):
  19690. * rendering/RenderReplica.h: Added.
  19691. (WebCore::RenderReplica::renderName):
  19692. (WebCore::RenderReplica::requiresLayer):
  19693. * rendering/RenderStyle.cpp:
  19694. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  19695. (WebCore::StyleRareNonInheritedData::operator==):
  19696. (WebCore::StyleRareNonInheritedData::reflectionDataEquivalent):
  19697. (WebCore::RenderStyle::diff):
  19698. (WebCore::RenderStyle::applyTransform):
  19699. * rendering/RenderStyle.h:
  19700. (WebCore::TranslateTransformOperation::apply):
  19701. (WebCore::StyleReflection::StyleReflection):
  19702. (WebCore::StyleReflection::operator==):
  19703. (WebCore::StyleReflection::operator!=):
  19704. (WebCore::StyleReflection::direction):
  19705. (WebCore::StyleReflection::offset):
  19706. (WebCore::StyleReflection::mask):
  19707. (WebCore::StyleReflection::setDirection):
  19708. (WebCore::StyleReflection::setOffset):
  19709. (WebCore::StyleReflection::setMask):
  19710. (WebCore::RenderStyle::boxReflect):
  19711. (WebCore::RenderStyle::setBoxReflect):
  19712. (WebCore::RenderStyle::initialBoxReflect):
  19713. * rendering/RenderTable.cpp:
  19714. (WebCore::RenderTable::layout):
  19715. (WebCore::RenderTable::paintMask):
  19716. * rendering/RenderTableCell.cpp:
  19717. (WebCore::RenderTableCell::requiresLayer):
  19718. (WebCore::RenderTableCell::paintMask):
  19719. 2008-04-29 Beth Dakin <bdakin@apple.com>
  19720. Reviewed by Alice.
  19721. Initial implementation of the following ARIA roles: button,
  19722. checkbox, heading, link, radio, textbox.
  19723. * html/HTMLAttributeNames.in: Add 'role' to list of attributes.
  19724. * page/AccessibilityObject.cpp:
  19725. When an ARIA role is set, the role overrides whatever the actual
  19726. element is when the element reports itself to the screen reader. So all of these isBlah functions report based on their roleValue now.
  19727. (WebCore::AccessibilityObject::isWebArea):
  19728. (WebCore::AccessibilityObject::isImageButton):
  19729. (WebCore::AccessibilityObject::isAnchor):
  19730. (WebCore::AccessibilityObject::isTextControl):
  19731. (WebCore::AccessibilityObject::isImage):
  19732. (WebCore::AccessibilityObject::isAttachment):
  19733. (WebCore::AccessibilityObject::isPasswordField):
  19734. (WebCore::AccessibilityObject::isCheckboxOrRadio):
  19735. (WebCore::AccessibilityObject::isHeading):
  19736. (WebCore::AccessibilityObject::isLink):
  19737. Check for ARIA information:
  19738. (WebCore::AccessibilityObject::headingLevel):
  19739. (WebCore::AccessibilityObject::anchorElement):
  19740. (WebCore::AccessibilityObject::actionElement):
  19741. (WebCore::AccessibilityObject::hasIntValue):
  19742. (WebCore::AccessibilityObject::intValue):
  19743. (WebCore::AccessibilityObject::stringValue):
  19744. (WebCore::AccessibilityObject::title):
  19745. (WebCore::AccessibilityObject::accessibilityIsIgnored):
  19746. (WebCore::AccessibilityObject::roleValue):
  19747. There are a few places in the code where it is important to identify the difference between ARIA and non-ARIA.
  19748. (WebCore::AccessibilityObject::isNativeImage):
  19749. (WebCore::AccessibilityObject::isNativeTextControl):
  19750. (WebCore::isARIAInput):
  19751. (WebCore::isARIAControl):
  19752. A lot of spots in the code used to cast to RenderTextControl to get information about the text inside the element. Now that non-native text controls can run this code with the ARIA role 'textbox', it needs to be as general as possible.
  19753. (WebCore::AccessibilityObject::text): Still calls into
  19754. RenderTextControl's text() for native text controls. Uses Element's
  19755. innerText() for ARIA textboxes.
  19756. (WebCore::AccessibilityObject::textLength): Call
  19757. AccessibilityObject's text() instead of RenderTextControl's.
  19758. (WebCore::AccessibilityObject::ariaSelectedTextDOMRange):
  19759. (WebCore::AccessibilityObject::selectedText):
  19760. (WebCore::AccessibilityObject::selectedTextRange):
  19761. (WebCore::AccessibilityObject::selectionStart):
  19762. (WebCore::AccessibilityObject::selectionEnd):
  19763. (WebCore::AccessibilityObject::setSelectedTextRange):
  19764. (WebCore::AccessibilityObject::setValue):
  19765. (WebCore::AccessibilityObject::visiblePositionForIndex):
  19766. (WebCore::AccessibilityObject::indexForVisiblePosition):
  19767. (WebCore::AccessibilityObject::textMarkerRangeForRange):
  19768. (WebCore::AccessibilityObject::textMarkerForIndex):
  19769. (WebCore::AccessibilityObject::indexForTextMarker):
  19770. (WebCore::AccessibilityObject::doAXRangeForLine):
  19771. (WebCore::AccessibilityObject::doAXRangeForIndex):
  19772. (WebCore::AccessibilityObject::doAXStringForRange):
  19773. (WebCore::AccessibilityObject::doAXBoundsForRange):
  19774. Reports ARIA role. If the role is not valid or simply not set, return UnknownRole.
  19775. (WebCore::AccessibilityObject::ariaRoleAttribute):
  19776. Added several new functions. Most of them existed before but were static, or have been added to reduce the dependency on RenderTextControl for a lot of the text functionality.
  19777. * page/AccessibilityObject.h:
  19778. Eliminated dependency on RenderTextControl cast. The information is generalized now and available directly through the AccessibilityObject.
  19779. * page/mac/AccessibilityObjectWrapper.mm:
  19780. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  19781. (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]):
  19782. 2008-04-29 Timothy Hatcher <timothy@apple.com>
  19783. Make the exceptions that the InspectorController catches log the
  19784. original file and line number, if present on the exception object.
  19785. Reviewed by Adam Roben.
  19786. * page/InspectorController.cpp:
  19787. (WebCore::InspectorController::callFunction): Pass the context to HANDLE_EXCEPTION.
  19788. (WebCore::InspectorController::~InspectorController): Ditto.
  19789. (WebCore::InspectorController::scriptObjectReady): Ditto.
  19790. (WebCore::InspectorController::addScriptResource): Ditto.
  19791. (WebCore::InspectorController::updateScriptResourceRequest): Ditto.
  19792. (WebCore::InspectorController::updateScriptResourceResponse): Ditto.
  19793. (WebCore::InspectorController::updateScriptResource): Ditto.
  19794. (WebCore::InspectorController::addDatabaseScriptResource): Ditto.
  19795. (WebCore::InspectorController::addScriptConsoleMessage): Ditto.
  19796. (WebCore::InspectorController::handleException): Take a context. Pull the line
  19797. and sourceURL properties off the exception if it is an object.
  19798. * page/InspectorController.h: Change handleException to take a context.
  19799. 2008-04-29 Timothy Hatcher <timothy@apple.com>
  19800. Fixes a regression where the Page's debugger would not be reattached
  19801. when a new JSDOMWindow is created.
  19802. Reviewed by Sam Weinig.
  19803. * bindings/js/kjs_proxy.cpp:
  19804. (WebCore::KJSProxy::clear): Call attachDebugger after creating the JSDOMWindow.
  19805. * history/CachedPage.cpp:
  19806. (WebCore::CachedPage::restore): For the case where the CachedPage doesn't
  19807. contain a window, reattach the debugger to the new JSDOMWindow by calling
  19808. proxy->attachDebugger. Also restore the setPageGroupIdentifier.
  19809. 2008-04-29 Anatoli Papirovski <apapirovski@mac.com>
  19810. Reviewed by Darin Adler.
  19811. Fix for https://bugs.webkit.org/show_bug.cgi?id=18355
  19812. Fixed RGB and RGBA parsing to ignore the declaration when the value is not
  19813. "either three integer values or three percentage values."
  19814. * css/CSSParser.cpp:
  19815. (WebCore::CSSParser::parseColorParameters):
  19816. 2008-04-29 Holger Hans Peter Freyther <zecke@selfish.org>
  19817. Reviewed by Simon.
  19818. Fix crash when setHtml gets called from slots connected to QWebPage::unsupportedContent
  19819. Ben found this crash in the demo browser.
  19820. In void MainResourceLoader::continueAfterContentPolicy(PolicyAction contentPolicy,
  19821. case PolicyDownload:
  19822. frameLoader()->client()->download(m_handle.get(), request(), m_handle.get()->request(), r);
  19823. receivedError(interruptionForPolicyChangeError());
  19824. We are in a policy check, the download() call will call setHtml, which will start loading
  19825. the data into a frame. The loading will cancel all policy checks and call ResourceLoader::releaseResources
  19826. which will set m_frame to 0. Then we return and invoke interruptionForPolicyChangeError() which
  19827. will use the m_frame->loader() but it is gone. Do not call into receivedError and
  19828. interruptionForPolicyChangeError if we are gone anyway...
  19829. * loader/MainResourceLoader.cpp:
  19830. (WebCore::MainResourceLoader::continueAfterContentPolicy):
  19831. 2008-04-29 Holger Hans Peter Freyther <zecke@selfish.org>
  19832. Reviewed by Simon.
  19833. Rely on auto-boxing of C++ for the QCursor c'tor
  19834. * platform/qt/CursorQt.cpp:
  19835. 2008-04-29 Holger Hans Peter Freyther <zecke@selfish.org>
  19836. Reviewed by Simon.
  19837. Add the remaining cursors that defaulted to PointerCursor
  19838. * Resources/WebKitResources.qrc:
  19839. * platform/qt/CursorQt.cpp:
  19840. (WebCore::verticalTextCursor):
  19841. (WebCore::cellCursor):
  19842. (WebCore::contextMenuCursor):
  19843. (WebCore::copyCursor):
  19844. (WebCore::progressCursor):
  19845. (WebCore::aliasCursor):
  19846. 2008-04-29 Alice Liu <alice.liu@apple.com>
  19847. Reviewed by Beth Dakin.
  19848. Comply with HTML5 spec about parsing tabindex property according to
  19849. integer parsing rules
  19850. Test: fast/parser/tabindex-parsing.html
  19851. * html/HTMLElement.cpp:
  19852. (WebCore::HTMLElement::parseMappedAttribute):
  19853. 2008-04-29 Tor Arne Vestbø <tavestbo@trolltech.com>
  19854. Reviewed by Simon.
  19855. Fixes: Fix timing problem where scrollbars in subframes were sometimes not property repainted.
  19856. https://bugs.webkit.org/show_bug.cgi?id=18482
  19857. We need to repaint scrollbars after a geometry change, and also make sure
  19858. the computed clipping rect for the corners between scrollbars is propagated
  19859. to the chrome client without beeing intersected by the visible content rect
  19860. of the frame.
  19861. * platform/ScrollView.h:
  19862. * platform/qt/ScrollViewQt.cpp:
  19863. (WebCore::ScrollView::geometryChanged):
  19864. (WebCore::ScrollView::suppressScrollbars):
  19865. (WebCore::ScrollView::invalidateScrollbars):
  19866. 2008-04-29 Holger Hans Peter Freyther <zecke@selfish.org>
  19867. Reviewed by Simon.
  19868. Calling QWebView::setCursor will override the WebCore Cursor.
  19869. Calling QWebView::setCursor will override the WebCore Cursor using
  19870. QWidget::unsetCursor will revert to the WebCore Cursor.
  19871. For detecting the unset we have to compare the shape of the
  19872. cursor to the default arrow. Qt::WA_SetCursor can not be used
  19873. as it is set unconditionally but conditionally removed.
  19874. Calling QWidget::setCursor will immediately send the CursorChange
  19875. event. We listen to this event to decide if we currently use a
  19876. WebCore cursor, got a cursor from outside, or revert to the default.
  19877. This should be race free and work reliable, the manual test for this
  19878. is WebCore/manual-tests/cursor.html
  19879. * platform/qt/WidgetQt.cpp:
  19880. (WebCore::Widget::setCursor):
  19881. 2008-04-28 Dan Bernstein <mitz@apple.com>
  19882. Reviewed by Maciej Stachowiak.
  19883. - fix https://bugs.webkit.org/show_bug.cgi?id=18795
  19884. REGRESSION (r32660): Text heavier with text-shadow
  19885. * rendering/InlineTextBox.cpp:
  19886. (WebCore::paintTextWithShadows): The loop was doing one extra pass
  19887. without shadow even in cases where the last pass with a shadow was
  19888. painting the text at the right position (rather than outside the clip).
  19889. Fixed that. The only case where a separate pass without shadow is needed
  19890. is when there is text-stroke, since in that case all shadow passes
  19891. paint the text outside the clip.
  19892. 2008-04-28 Brady Eidson <beidson@apple.com>
  19893. Reviewed by Sam Weinig
  19894. Add Storage.clear(), per updates to HTML5
  19895. Tests: storage/domstorage/localstorage/clear.html
  19896. storage/domstorage/sessionstorage/clear.html
  19897. * storage/LocalStorageArea.cpp:
  19898. (WebCore::LocalStorageArea::areaCleared):
  19899. * storage/LocalStorageArea.h:
  19900. * storage/SessionStorageArea.cpp:
  19901. (WebCore::SessionStorageArea::areaCleared):
  19902. * storage/SessionStorageArea.h:
  19903. * storage/Storage.cpp:
  19904. (WebCore::Storage::clear):
  19905. * storage/Storage.h:
  19906. * storage/Storage.idl:
  19907. * storage/StorageArea.cpp:
  19908. (WebCore::StorageArea::internalClear):
  19909. * storage/StorageArea.h:
  19910. (WebCore::StorageArea::clear):
  19911. 2008-04-28 Adele Peterson <adele@apple.com>
  19912. Reviewed by Dan Bernstein, Tim Hatcher, Anders Carlsson, and Darin Adler.
  19913. WebCore part of fix for <rdar://problem/3709505>
  19914. Safari should have a way to upload bundles from the file upload control (as zip)
  19915. * WebCore.base.exp: Added symbols.
  19916. * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Ask the application if a file will need to be replaced before it's uploaded.
  19917. It will also give the replacement filename which is used to determine the correct mime-type and to construct the correct header.
  19918. * loader/FrameLoader.cpp:
  19919. (WebCore::FrameLoader::submitForm): Asks the application to generate any files for the form data before a form submission starts.
  19920. (WebCore::FrameLoader::loadItem): ditto.
  19921. * loader/ResourceLoader.cpp:
  19922. (WebCore::ResourceLoader::didReceiveResponse): Tells the FormData from the request to remove any generated files if it needs to.
  19923. (WebCore::ResourceLoader::didCancel): ditto.
  19924. (WebCore::ResourceLoader::didFail): ditto.
  19925. * platform/network/FormData.cpp:
  19926. (WebCore::FormData::FormData): Initializes m_hasGeneratedFiles, which keeps track of whether there are files that will need to be removed.
  19927. (WebCore::FormData::~FormData): Added. Assert that there are no files that need to be removed, but if there are, release builds will still remove them here.
  19928. (WebCore::FormData::appendFile): Passes along a shouldGenerateFile flag to the FormDataElement.
  19929. (WebCore::FormData::generateFiles): Added. Iterates through the FormDataElements, and using the ChromeClient pointer, asks the application to
  19930. create any compressed files so the FormDataElements can store the paths.
  19931. (WebCore::FormData::removeGeneratedFilesIfNeeded): Added. Removes generated files and their directories (if empty).
  19932. * platform/network/FormData.h:
  19933. (WebCore::FormDataElement::FormDataElement): Added a boolean to track whether the file will need to be generated,
  19934. and a string to hold the path of the generated file.
  19935. * platform/network/mac/FormDataStreamMac.mm:
  19936. (WebCore::advanceCurrentStream): Uses the generated file path instead of the original file path when streaming the file.
  19937. (WebCore::setHTTPBody): Uses the generated file path when determining the size of the file to be uploaded.
  19938. * platform/FileSystem.h: Added directoryName.
  19939. * platform/posix/FileSystemPOSIX.cpp: (WebCore::directoryName): Added.
  19940. * platform/gtk/FileSystemGtk.cpp: (WebCore::directoryName): Added empty implementation.
  19941. * platform/qt/FileSystemQt.cpp: (WebCore::directoryName): ditto.
  19942. * platform/win/FileSystemWin.cpp: (WebCore::directoryName): ditto.
  19943. * platform/wx/FileSystemWx.cpp: (WebCore::directoryName): ditto.
  19944. Added new ChromeClient methods to give the application control over the file compression for uploading.
  19945. * page/Chrome.cpp:
  19946. (WebCore::ChromeClient::shouldReplaceWithGeneratedFileForUpload): Added a default implementation.
  19947. (WebCore::ChromeClient::generateReplacementFile): ditto.
  19948. * page/ChromeClient.h:
  19949. 2008-04-28 Anders Carlsson <andersca@apple.com>
  19950. Reviewed by Sam, Mark, Adele and Darin.
  19951. Add a (currently not called) method for opening the application cache database.
  19952. * WebCore.base.exp:
  19953. * loader/appcache/ApplicationCacheStorage.cpp:
  19954. (WebCore::ApplicationCacheStorage::setCacheDirectory):
  19955. (WebCore::ApplicationCacheStorage::openDatabase):
  19956. * loader/appcache/ApplicationCacheStorage.h:
  19957. 2008-04-28 Alice Liu <alice.liu@apple.com>
  19958. Reviewed by Darin.
  19959. Fix <rdar://problem/4911289> Add tabindex property to all children
  19960. of HTMLElement (7138)
  19961. http://bugs.webkit.org/show_bug.cgi?id=7138
  19962. Test: fast/events/tabindex-focus-blur-all.html
  19963. * WebCore.xcodeproj/project.pbxproj:
  19964. * bindings/objc/DOMPrivate.h:
  19965. -DOMHTMLLabelElementPrivate.h and DOMHTMLLegendElementPrivate.h are no
  19966. longer needed
  19967. * bindings/objc/PublicDOMInterfaces.h:
  19968. -Moving focus, blur, tabindex to HTMLElement from its descendants.
  19969. * dom/Node.cpp:
  19970. (WebCore::Node::Node):
  19971. (WebCore::Node::isFocusable):
  19972. (WebCore::Node::isKeyboardFocusable):
  19973. -The concept of being focusable now needs to account for tabindex
  19974. attribute.
  19975. * dom/Node.h:
  19976. -Need to use a bit to keep track of whether tabindex was explicitly set
  19977. to 0 or was just initialized to 0.
  19978. (WebCore::Node::tabIndex):
  19979. -Make this virtual so that Anchors and GenericFormElements can determine
  19980. tabindex without accounting for focusability
  19981. (WebCore::Node::setTabIndexExplicitly):
  19982. -Renamed setTabIndex() to setTabIndexExplicitly() so as not to hide
  19983. behind and/or be confused for HTMLElement::setTabIndex
  19984. * html/HTMLAnchorElement.cpp:
  19985. * html/HTMLAnchorElement.h:
  19986. (WebCore::HTMLAnchorElement::tabIndex):
  19987. * html/HTMLGenericFormElement.cpp:
  19988. * html/HTMLGenericFormElement.h:
  19989. (WebCore::HTMLGenericFormElement::tabIndex):
  19990. -Anchors and form elements are normally focusable, and need to avert the
  19991. check for focusability in HTMLElement::tabIndex
  19992. because tabIndex could be queried before a first layout happens.
  19993. * html/HTMLElement.cpp:
  19994. (WebCore::HTMLElement::parseMappedAttribute):
  19995. -Function Node::setTabIndex changed to Node::setTabIndexExplicitly
  19996. (WebCore::HTMLElement::isFocusable):
  19997. -The concept of being focusable now needs to account for tabindex
  19998. attribute.
  19999. (WebCore::HTMLElement::tabIndex):
  20000. -HTML5 specifies that querying tabindex for elements that aren't
  20001. focusable shall return -1
  20002. (WebCore::HTMLElement::setTabIndex):
  20003. -New default implementation
  20004. * html/HTMLElement.h:
  20005. * html/HTMLLegendElement.cpp:
  20006. (WebCore::HTMLLegendElement::focus):
  20007. -Now with HTML5's enhanced specification of tabindex, legend elements
  20008. themselves shall focus (if they should), and not the first form element
  20009. they encapsulate. This matches Firefox behavior. HTMLLabelElements
  20010. still forward focus to the encapsulated element. This also matches
  20011. other browsers.
  20012. * html/HTMLAreaElement.cpp:
  20013. (WebCore::HTMLAreaElement::isFocusable):
  20014. * html/HTMLAreaElement.h:
  20015. -HTMLAreaElement isn't subject to the same focusability requirements as
  20016. its parent, HTMLAnchorElement. Default HTMLElement implementation is
  20017. desired.
  20018. * html/HTMLFieldSetElement.cpp:
  20019. (WebCore::HTMLFieldSetElement::isFocusable):
  20020. * html/HTMLLegendElement.cpp:
  20021. (WebCore::HTMLLegendElement::isFocusable):
  20022. * html/HTMLOptGroupElement.cpp:
  20023. (WebCore::HTMLOptGroupElement::isFocusable):
  20024. * html/HTMLOptionElement.cpp:
  20025. (WebCore::HTMLOptionElement::isFocusable):
  20026. -These elements aren't subject to the same focusability requirements as
  20027. their parent, HTMLGenericFormElement. Default HTMLElement
  20028. implementation is desired.
  20029. * html/HTMLAnchorElement.idl:
  20030. * html/HTMLAreaElement.idl:
  20031. * html/HTMLButtonElement.idl:
  20032. * html/HTMLElement.idl:
  20033. * html/HTMLInputElement.idl:
  20034. * html/HTMLLabelElement.idl:
  20035. * html/HTMLLegendElement.idl:
  20036. * html/HTMLObjectElement.idl:
  20037. * html/HTMLSelectElement.idl:
  20038. * html/HTMLTextAreaElement.idl:
  20039. -Moving tabindex attribute, focus and blur methods from descendants of
  20040. HTMLElement to HTMLElement
  20041. 2008-04-28 Dan Bernstein <mitz@apple.com>
  20042. Reviewed by Dave Hyatt.
  20043. - support multiple box- and text-shadows
  20044. Tests: fast/css/shadow-multiple.html
  20045. fast/repaint/shadow-multiple-horizontal.html
  20046. fast/repaint/shadow-multiple-strict-horizontal.html
  20047. fast/repaint/shadow-multiple-strict-vertical.html
  20048. fast/repaint/shadow-multiple-vertical.html
  20049. * css/CSSComputedStyleDeclaration.cpp:
  20050. (WebCore::valueForShadow): Changed to account for reversing the order
  20051. of the shadow values in the ShadowData list.
  20052. * css/CSSValueList.cpp:
  20053. (WebCore::CSSValueList::prepend): Added.
  20054. * css/CSSValueList.h:
  20055. * rendering/InlineFlowBox.cpp:
  20056. (WebCore::InlineFlowBox::placeBoxesHorizontally): Changed to account for
  20057. all shadows in overflow calculation.
  20058. (WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
  20059. (WebCore::InlineFlowBox::paint): Changed to account for all shadows
  20060. when testing for intersection with the damage rect.
  20061. (WebCore::InlineFlowBox::paintTextDecorations): Changed to paint all
  20062. shadows.
  20063. * rendering/InlineTextBox.cpp:
  20064. (WebCore::paintTextWithShadows): Factored out from paint() and changed
  20065. to paint all shadows.
  20066. (WebCore::InlineTextBox::paint): Moved the text painting code out to
  20067. paintTextWithShadows(). Changed to not paint shadows for markers and
  20068. composition underlines and in "force black text" mode.
  20069. (WebCore::InlineTextBox::paintSelection):
  20070. (WebCore::InlineTextBox::paintCompositionBackground):
  20071. (WebCore::InlineTextBox::paintDecoration): Changed to paint all shadows.
  20072. * rendering/InlineTextBox.h: Changed some public methods to private
  20073. or protected.
  20074. * rendering/RenderBlock.cpp:
  20075. (WebCore::RenderBlock::overflowHeight): Changed to account for all
  20076. shadows.
  20077. (WebCore::RenderBlock::overflowWidth): Ditto.
  20078. (WebCore::RenderBlock::overflowLeft): Ditto.
  20079. (WebCore::RenderBlock::overflowTop): Ditto.
  20080. (WebCore::RenderBlock::overflowRect): Ditto.
  20081. (WebCore::RenderBlock::layoutBlock): Ditto.
  20082. * rendering/RenderFlexibleBox.cpp:
  20083. (WebCore::RenderFlexibleBox::layoutBlock): Ditto.
  20084. * rendering/RenderLayer.cpp:
  20085. (WebCore::RenderLayer::calculateRects): Ditto.
  20086. * rendering/RenderObject.cpp:
  20087. (WebCore::RenderObject::paintBoxShadow): Changed to paint all shadows.
  20088. Changed to avoid clipping out the box if it has a fully opaque
  20089. background.
  20090. (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Changed to account
  20091. for all shadows.
  20092. (WebCore::RenderObject::selectionForegroundColor): Cleaned up.
  20093. (WebCore::RenderObject::adjustRectForOutlineAndShadow): Changed to
  20094. account for all shadows.
  20095. * rendering/RenderReplaced.cpp:
  20096. (WebCore::RenderReplaced::adjustOverflowForBoxShadow): Ditto.
  20097. * rendering/RenderStyle.cpp:
  20098. (WebCore::RenderStyle::setTextShadow): Changed to prepend when adding
  20099. so that the stacking order of shadows when painting will be "first o
  20100. top".
  20101. (WebCore::RenderStyle::setBoxShadow): Ditto.
  20102. * rendering/RenderTable.cpp:
  20103. (WebCore::RenderTable::layout): Changed to account for all shadows.
  20104. 2008-04-28 Adam Roben <aroben@apple.com>
  20105. Fix some more Windows build errors in COMPtr
  20106. * platform/win/COMPtr.h:
  20107. (WTF::): Define DefaultHash<COMPtr<P> > by using PtrHash<COMPtr<P> >,
  20108. which is just a copy of PtrHash<RefPtr<P> >.
  20109. 2008-04-28 Adam Roben <aroben@apple.com>
  20110. Fix some Windows build errors in COMPtr
  20111. * platform/win/COMPtr.h: Explicitly name the WTF namespace when using
  20112. HashTableDeletedValueType.
  20113. 2008-04-28 Adam Roben <aroben@apple.com>
  20114. Fix some Windows build errors in FontPlatfomrData
  20115. * platform/graphics/win/FontPlatformData.h: Removed the Deleted
  20116. constructor and replaced it with a HashTableDeletedValueType
  20117. constructor. Also added isHashTableDeletedValue() and
  20118. hashTableDeletedFontValue().
  20119. 2008-04-28 David Hyatt <hyatt@apple.com>
  20120. https://bugs.webkit.org/show_bug.cgi?id=18780
  20121. Canvas can't draw itself into its own buffer. Make sure the dirtying call comes after the image()
  20122. has been accessed. Technically willDraw should be renamed to didDraw and all calls should be moved
  20123. to after draws have occurred (since if the draw op itself wants to reference the image it shouldn't get
  20124. a dirty copy either), but I'll take that up with olliej when he wakes up. :)
  20125. Reviewed by Dan Bernstein
  20126. Added fast/canvas/canvasDrawsIntoSelf.html
  20127. * html/CanvasRenderingContext2D.cpp:
  20128. (WebCore::CanvasRenderingContext2D::drawImage):
  20129. 2008-04-28 Alexey Proskuryakov <ap@webkit.org>
  20130. Reviewed by Geoff Garen.
  20131. <rdar://problem/5825192> Replace use of Gestalt with BSD sysctl
  20132. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  20133. (WebCore::MediaPlayerPrivate::isAvailable): There is no need to check QuickTime version post-Tiger,
  20134. as it will never be below 7.3 again. This change may make library loading happen earlier in
  20135. some cases, hopefully, that's not a big deal.
  20136. 2008-04-25 Alexey Proskuryakov <ap@webkit.org>
  20137. Reviewed by Darin.
  20138. Fix run-webkit-tests --threading
  20139. and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
  20140. Proxy server issue in Sunday's Nightly
  20141. Adjusted for JavaScriptCore changes: added a new member to ClassInfo objects, turned
  20142. ClassInfo::propHashTable into a function, made getPropertyAttributes() take an ExecState pointer.
  20143. * bindings/js/JSAudioConstructor.cpp:
  20144. * bindings/js/JSDOMWindowBase.cpp:
  20145. * bindings/js/JSDOMWindowCustom.cpp:
  20146. (WebCore::JSDOMWindow::customGetOwnPropertySlot):
  20147. * bindings/js/JSDOMWindowWrapper.cpp:
  20148. (WebCore::JSDOMWindowWrapper::getPropertyAttributes):
  20149. * bindings/js/JSDOMWindowWrapper.h:
  20150. * bindings/js/JSEventTargetBase.h:
  20151. (WebCore::JSEventTargetPrototype::classInfo):
  20152. * bindings/js/JSHTMLInputElementBase.cpp:
  20153. * bindings/js/JSHTMLOptionElementConstructor.cpp:
  20154. * bindings/js/JSHistoryCustom.cpp:
  20155. (WebCore::JSHistory::customGetOwnPropertySlot):
  20156. * bindings/js/JSImageConstructor.cpp:
  20157. * bindings/js/JSInspectedObjectWrapper.cpp:
  20158. * bindings/js/JSInspectorCallbackWrapper.cpp:
  20159. * bindings/js/JSLocationCustom.cpp:
  20160. (WebCore::JSLocation::customGetOwnPropertySlot):
  20161. (WebCore::JSLocation::customPut):
  20162. * bindings/js/JSNamedNodesCollection.cpp:
  20163. * bindings/js/JSQuarantinedObjectWrapper.cpp:
  20164. * bindings/js/JSRGBColor.cpp:
  20165. * bindings/js/JSStorageCustom.cpp:
  20166. (WebCore::JSStorage::customPut):
  20167. * bindings/js/JSXMLHttpRequestConstructor.cpp:
  20168. * bindings/js/JSXSLTProcessor.cpp:
  20169. * bindings/scripts/CodeGeneratorJS.pm:
  20170. * bridge/objc/objc_runtime.mm:
  20171. * bridge/runtime_array.cpp:
  20172. * bridge/runtime_object.cpp:
  20173. 2008-04-28 David Hyatt <hyatt@apple.com>
  20174. https://bugs.webkit.org/show_bug.cgi?id=18779
  20175. The arguments in drawImage were reversed when I switched away from the image buffer method.
  20176. Reviewed by Tim Hatcher
  20177. Added fast/canvas/drawImage.html
  20178. * html/CanvasRenderingContext2D.cpp:
  20179. (WebCore::CanvasRenderingContext2D::drawImage):
  20180. 2008-04-28 Holger Hans Peter Freyther <zecke@selfish.org>
  20181. Reviewed by Simon.
  20182. Fix the crash on http://www.orad.pl. We called end too early.
  20183. 1. we need a ::write that will pause the parser due a pending
  20184. script
  20185. 2. we need a second write to queue data (tricky part)
  20186. 3. we need to get a finish call (document loaded)
  20187. 4. we resume the script and parse, schedule loading of a new script
  20188. and have called end
  20189. 5. we resume the new script and we get a crash
  20190. This bug is hard to trigger, e.g. if the web server is only allowing
  20191. one connection per client/IP. This is why we need to sleep in the scripts. We
  20192. want to make sure that the page is first fully received before serving the
  20193. scripts.
  20194. Test: http/tests/misc/xmltokenizer-do-not-crash.pl
  20195. * dom/XMLTokenizer.cpp:
  20196. 2008-04-28 Ariya Hidayat <ahidayat@trolltech.com>
  20197. Reviewed by Simon.
  20198. Fix rounded corner on combo box with CSS border
  20199. * platform/qt/RenderThemeQt.cpp:
  20200. (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
  20201. 2008-04-28 Ariya Hidayat <ahidayat@trolltech.com>
  20202. Reviewed by Simon.
  20203. Fix CSS border does not show up for combo boxes
  20204. Do not clear the border when painting the combo box for 'select' form element
  20205. * platform/qt/RenderThemeQt.cpp:
  20206. 2008-04-28 Olivier Goffart <ogoffart@trolltech.com>
  20207. Reviewed by Simon.
  20208. Avoid comparing to 0 in qFuzzyCompare for increased
  20209. numeric stability.
  20210. * platform/graphics/qt/PathQt.cpp:
  20211. (WebCore::Path::addArc):
  20212. 2008-04-28 Benjamin Meyer <bmeyer@trolltech.com>
  20213. Reviewed by Simon.
  20214. Fixes: Pages returning 404 with content are not displayed.
  20215. A web page that returns 404 can still have content.
  20216. * platform/network/qt/QNetworkReplyHandler.cpp:
  20217. (WebCore::QNetworkReplyHandler::finish):
  20218. 2008-04-28 Paul Olav Tvete <paul@trolltech.com>
  20219. Reviewed by Simon.
  20220. Fix compiler warning; Avoid the implicity QString(const char *)
  20221. constructor
  20222. * platform/qt/RenderThemeQt.cpp:
  20223. (WebCore::RenderThemeQt::fallbackStyle):
  20224. 2008-04-28 Tor Arne Vestbø <tavestbo@trolltech.com>
  20225. Reviewed by Simon.
  20226. Prevent middle-click from triggering open URL from clipboard when the event has already been accepted.
  20227. * platform/qt/PlatformScrollBarQt.cpp:
  20228. (WebCore::PlatformScrollbar::handleMousePressEvent):
  20229. 2008-04-28 Tor Arne Vestbø <tavestbo@trolltech.com>
  20230. Reviewed by Simon.
  20231. Fix scrollbar behavior in QtWebKit to match QScrollBar.
  20232. Right click context menu is now supported, along with
  20233. middle click to center slider thumb over mouse cursor.
  20234. * platform/qt/PlatformScrollBar.h:
  20235. * platform/qt/PlatformScrollBarQt.cpp:
  20236. (tr):
  20237. (WebCore::PlatformScrollbar::pixelPosToRangeValue):
  20238. (WebCore::PlatformScrollbar::handleMousePressEvent):
  20239. (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
  20240. (WebCore::PlatformScrollbar::handleContextMenuEvent):
  20241. 2008-04-28 Tor Arne Vestbø <tavestbo@trolltech.com>
  20242. Reviewed by Simon.
  20243. Implemented channel-based logging for QtWebKit.
  20244. Comma-separated log channels are read from the QT_WEBKIT_LOG environment variable.
  20245. Warnings for notImplemented() is still output by default, but can be disabled
  20246. by setting DISABLE_NI_WARNINGS=1.
  20247. * WebCore.pro:
  20248. * platform/NotImplemented.h:
  20249. * platform/qt/LoggingQt.cpp: Added.
  20250. (WebCore::getChannelFromName):
  20251. (WebCore::InitializeLoggingChannelsIfNecessary):
  20252. 2008-04-28 Simon Hausmann <shausman@trolltech.com>
  20253. Reviewed by Holger.
  20254. Fixes: Popups/Context menu in WebKit appearing at the wrong location when embedded in the graphics view or using multiple screens
  20255. Give the popups the right parent widget and the right coordinates relative within the parent.
  20256. * platform/qt/PopupMenuQt.cpp:
  20257. (WebCore::PopupMenu::show):
  20258. 2008-04-28 Tor Arne Vestbø <tavestbo@trolltech.com>
  20259. Reviewed by Simon.
  20260. Fixes: Tabbing to a checkbox/button doesn't work on Win/X11
  20261. Respect platform settings for tabbing to all controls.
  20262. * page/qt/EventHandlerQt.cpp:
  20263. 2008-04-28 Tor Arne Vestbø <tavestbo@trolltech.com>
  20264. Reviewed by Simon.
  20265. First part of the fix for tabbing to a checkbox/button doesn't work on Win/X11
  20266. Draw controls instead of pimitive elements, to get focus rects for free.
  20267. * platform/qt/RenderThemeQt.cpp:
  20268. (WebCore::RenderThemeQt::paintButton):
  20269. 2008-04-28 Lincoln Ramsay <lincoln.ramsay@trolltech.com>
  20270. Reviewed by Simon.
  20271. Compile when QT_NO_CLIPBOARD is defined.
  20272. * platform/qt/ClipboardQt.cpp:
  20273. (WebCore::ClipboardQt::ClipboardQt):
  20274. (WebCore::ClipboardQt::clearData):
  20275. (WebCore::ClipboardQt::clearAllData):
  20276. (WebCore::ClipboardQt::setData):
  20277. (WebCore::ClipboardQt::declareAndWriteDragImage):
  20278. (WebCore::ClipboardQt::writeURL):
  20279. (WebCore::ClipboardQt::writeRange):
  20280. * platform/qt/PasteboardQt.cpp:
  20281. (WebCore::Pasteboard::writeSelection):
  20282. (WebCore::Pasteboard::plainText):
  20283. (WebCore::Pasteboard::documentFragment):
  20284. (WebCore::Pasteboard::writeURL):
  20285. (WebCore::Pasteboard::writeImage):
  20286. 2008-04-28 Ariya Hidayat <ariya.hidayat@trolltech.com>
  20287. Reviewed by Simon.
  20288. Draw the arrow button on the styled combo box using the fallback ("Windows") style
  20289. * platform/qt/RenderThemeQt.cpp:
  20290. (WebCore::RenderThemeQt::RenderThemeQt):
  20291. (WebCore::RenderThemeQt::~RenderThemeQt):
  20292. (WebCore::RenderThemeQt::fallbackStyle):
  20293. (WebCore::RenderThemeQt::paintMenuListButton):
  20294. (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
  20295. * platform/qt/RenderThemeQt.h:
  20296. 2008-04-28 Simon Hausmann <hausmann@webkit.org>
  20297. Reviewed by Holger.
  20298. Fix positioning of native widgets (plugins).
  20299. Correctly convert the coordinates of the Widget in Widget::setFrameGeometry()
  20300. to be relative to the containing toplevel QWidget using convertToContainingWindow().
  20301. Note: convertToContainingWindow() takes child coordinates.
  20302. * platform/qt/WidgetQt.cpp:
  20303. (WebCore::Widget::frameGeometry):
  20304. (WebCore::Widget::setFrameGeometry):
  20305. 2008-04-28 Holger Hans Peter Freyther <zecke@selfish.org>
  20306. Reviewed by Simon.
  20307. plugins: fix scrolling issues
  20308. When scrolling you can see artefacts that remain on the screen, they
  20309. seem to originate from the backingstore handling. I'm not entirely sure
  20310. where they come from, my workarounds involved a
  20311. data->m_widget->parentWidget()->update() call in Widget::geometryChanged or
  20312. handling widgets with a native QWidget embedded like web pages with a
  20313. static background. This needs more investigations, I think the ScrollView
  20314. change is cleaner than the brute force in Widget::geometryChanged
  20315. Focus handling seems to be broken as well and needs further work, we don't
  20316. clip plugin QWidgets and they can draw out of their bounds, e.g. on the ScrollBar,
  20317. the z-order is likely not honored as well.
  20318. * platform/ScrollView.h:
  20319. * platform/qt/ScrollViewQt.cpp:
  20320. (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
  20321. (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
  20322. (WebCore::ScrollView::addChild):
  20323. (WebCore::ScrollView::removeChild):
  20324. (WebCore::ScrollView::incrementNativeWidgetCount):
  20325. (WebCore::ScrollView::decrementNativeWidgetCount):
  20326. (WebCore::ScrollView::hasNativeWidgets):
  20327. 2008-04-28 Holger Hans Peter Freyther <zecke@selfish.org>
  20328. Reviewed by Simon.
  20329. Add manual test to test placement of QWidgets in iframe's
  20330. * manual-tests/qt/main.html: Added.
  20331. * manual-tests/qt/qtplugin.html: Added.
  20332. 2008-04-28 Simon Hausmann <hausmann@webkit.org>
  20333. Fix the build with ENABLE_DATABASE=0 (Qt/Windows) by including
  20334. SecurityOrigin.h. It's used in the file and also implicitly included
  20335. through the database headers.
  20336. * page/DOMWindow.cpp:
  20337. 2008-04-28 Simon Hausmann <hausmann@webkit.org>
  20338. Prospective Wx build fix.
  20339. * platform/graphics/wx/FontPlatformData.h:
  20340. 2008-04-28 Simon Hausmann <hausmann@webkit.org>
  20341. Reviewed by Alp.
  20342. Gtk build fix, similar to the changes done in r32609.
  20343. * platform/graphics/gtk/FontPlatformData.h:
  20344. (WebCore::FontPlatformData::FontPlatformData):
  20345. (WebCore::FontPlatformData::isHashTableDeletedValue):
  20346. (WebCore::FontPlatformData::hashTableDeletedFontValue):
  20347. 2008-04-28 Simon Hausmann <hausmann@webkit.org>
  20348. Prospective build fix. After r32609 it seems the workaround here
  20349. is not needed anymore. With gcc 4.2/4.3 before 32609 the workaround
  20350. is needed for compilation, after 32609 compilation only succeeds
  20351. without the workaround.
  20352. * plugins/PluginPackage.h: Removed workaround of extra StorageTraits
  20353. specification for the custom hash function of PluginPackage used in
  20354. PluginSet.
  20355. 2008-04-28 Tor Arne Vestbø <tavestbo@trolltech.com>
  20356. Reviewed by Simon.
  20357. https://bugs.webkit.org/show_bug.cgi?id=18713
  20358. Fix scrollbar painting issues in QtWebKit.
  20359. Hovering and click-draging outside of the scrollbar would
  20360. produce unexpected and inconcistent results. We also didn't
  20361. pass on leave-events to the underlying WebKit code, which
  20362. was nessecary to implement the paint fix.
  20363. * platform/qt/PlatformScrollBarQt.cpp:
  20364. (WebCore::PlatformScrollbar::handleMouseMoveEvent):
  20365. (WebCore::PlatformScrollbar::handleMouseOutEvent):
  20366. (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
  20367. 2008-04-27 Oliver Hunt <oliver@apple.com>
  20368. Reviewed by Maciej.
  20369. Bug 17173: HTML5 Canvas API requires us to ignore certain operations
  20370. <https://bugs.webkit.org/show_bug.cgi?id=17173>
  20371. This fixes the semantics of a number of Canvas functions to match
  20372. the new HTML5 non-throwing semantics.
  20373. Test: fast/canvas/canvas-path-with-inf-nan-dimensions.html
  20374. * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
  20375. (WebCore::JSCanvasRenderingContext2D::strokeRect):
  20376. * html/CanvasRenderingContext2D.cpp:
  20377. (WebCore::CanvasRenderingContext2D::moveTo):
  20378. (WebCore::CanvasRenderingContext2D::lineTo):
  20379. (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
  20380. (WebCore::CanvasRenderingContext2D::bezierCurveTo):
  20381. (WebCore::CanvasRenderingContext2D::arcTo):
  20382. (WebCore::CanvasRenderingContext2D::arc):
  20383. (WebCore::validateRectForCanvas):
  20384. (WebCore::CanvasRenderingContext2D::rect):
  20385. (WebCore::CanvasRenderingContext2D::clearRect):
  20386. (WebCore::CanvasRenderingContext2D::fillRect):
  20387. (WebCore::CanvasRenderingContext2D::strokeRect):
  20388. * html/CanvasRenderingContext2D.h:
  20389. * html/CanvasRenderingContext2D.idl:
  20390. 2008-04-27 Rob Buis <buis@kde.org>
  20391. Reviewed by Adele.
  20392. https://bugs.webkit.org/show_bug.cgi?id=18652
  20393. onchange events don't seem to fire for input[type=range] controls.
  20394. Fire changeEvent when dragging the slider.
  20395. Test: fast/forms/slider-onchange-event.html
  20396. * rendering/RenderSlider.cpp:
  20397. (WebCore::RenderSlider::valueChanged):
  20398. 2008-04-25 Darin Adler <darin@apple.com>
  20399. Reviewed by Maciej.
  20400. - update for compatibility with HashTable that no longer has optimization to share
  20401. implementation between hash tables with integers, pointers, RefPtr, and String
  20402. objects as keys
  20403. * bindings/js/JSSVGPODTypeWrapper.h:
  20404. (WebCore::PODTypeReadWriteHashInfo::PODTypeReadWriteHashInfo): Added constructor
  20405. for HashTableDeletedValue.
  20406. (WebCore::PODTypeReadWriteHashInfo::isHashTableDeletedValue): Added.
  20407. (WebCore::PODTypeReadWriteHashInfoTraits::constructDeletedValue): Added.
  20408. (WebCore::PODTypeReadWriteHashInfoTraits::isDeletedValue): Added.
  20409. * dom/Document.cpp: Made changedDocuments internal to the file rather than a
  20410. static data member of Document.
  20411. (WebCore::FormElementKey::ref): Removed unneeded check for deleted value -- this
  20412. will never be called on a deleted element.
  20413. (WebCore::FormElementKey::deref): Ditto.
  20414. * dom/Document.h: Added HashTableDeletedValue constructor and isHashTableDeletedValue
  20415. to FormElementKey. Changed FormElementKeyHashTraits to use construct/isDeletedValue.
  20416. Got rid of the changedDocuments data member. Changed iconURL to be an inline that
  20417. returns a const String&.
  20418. * dom/StyledElement.cpp: Changed MappedAttributeKeyTraits to use
  20419. construct/isDeletedValue.
  20420. * page/mac/AXObjectCacheMac.mm:
  20421. (WebCore::AXObjectCache::getAXID): Call isDeletedValue instead of deletedValue.
  20422. * platform/SecurityOriginHash.h: Added overload so that SecurityOriginHash can work
  20423. with raw pointers as well as RefPt (helpful with the new RefPtrHashMap). Eliminated
  20424. SecurityOriginTraits, since we can now use the default traits. Changed the value of
  20425. safeToCompareToEmptyOrDeleted to false, since it's not safe to compare a deleted
  20426. value using this hash function. I don't think it was safe before either; I'm not sure
  20427. why it didn't cause a problem before.
  20428. * platform/cf/SchedulePair.h: Removed SchedulePairTraits -- custom traits are no
  20429. longer needed.
  20430. * platform/graphics/FontCache.cpp:
  20431. (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): Added constructor
  20432. for HashTableDeletedValue.
  20433. (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue): Added.
  20434. (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize): Added.
  20435. (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue): Added.
  20436. (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue): Added.
  20437. (WebCore::FontDataCacheKeyTraits::constructDeletedValue): Added.
  20438. (WebCore::FontDataCacheKeyTraits::isDeletedValue): Added.
  20439. * platform/graphics/IntSizeHash.h: Changed HashTraits<IntSize> to use
  20440. construct/isDeletedValue.
  20441. * platform/graphics/mac/FontPlatformData.h:
  20442. (WebCore::FontPlatformData::FontPlatformData): Added constructor for
  20443. HashTableDeletedValue.
  20444. (WebCore::FontPlatformData::isHashTableDeletedValue): Added.
  20445. (WebCore::FontPlatformData::hashTableDeletedFontValue): Added.
  20446. * platform/text/PlatformString.h:
  20447. (WebCore::String::swap): Added. Avoids any refcount churn when swapping two strings.
  20448. (WebCore::String::String): Added constructor for HashTableDeletedValue.
  20449. (WebCore::String::isHashTableDeletedValue): Added.
  20450. (WebCore::swap): Added. Avoids any refcount churn when swapping two strings.
  20451. * platform/text/StringHash.h: Changed specialization of HashTraits for
  20452. WebCore::String to use the deleted value now defined in that class and removed
  20453. the code to do ref/deref. Removed HashKeyStorageTraits specializations.
  20454. * platform/win/COMPtr.h: Changed specialization of HashTraits for
  20455. COMPtr to use the deleted value now defined in that class and removed
  20456. the code to do ref/deref. Removed HashKeyStorageTraits specializations.
  20457. (COMPtr::COMPtr): Added constructor for HashTableDeletedValue.
  20458. (COMPtr::isHashTableDeletedValue): Added.
  20459. (COMPtr::query): Removed inline keyword not needed since functions defined in the
  20460. class definition are automatically marked inline.
  20461. (COMPtr::hashTableDeletedValue): Added.
  20462. * storage/DatabaseTracker.h: Removed now-unneeded SecurityOriginTraits.
  20463. * storage/LocalStorage.h: Ditto.
  20464. * storage/OriginQuotaManager.h: Ditto.
  20465. * storage/SessionStorage.h: Ditto.
  20466. * svg/SVGAnimatedTemplate.h:
  20467. (WebCore::SVGAnimatedTypeWrapperKey::SVGAnimatedTypeWrapperKey): Added constructor
  20468. for HashTableDeletedValue.
  20469. (WebCore::SVGAnimatedTypeWrapperKey::isHashTableDeletedValue): Added.
  20470. (WebCore::SVGAnimatedTypeWrapperKeyHashTraits::constructDeletedValue): Added.
  20471. (WebCore::SVGAnimatedTypeWrapperKeyHashTraits::isDeletedValue): Added.
  20472. 2008-04-27 Mark Rowe <mrowe@apple.com>
  20473. Reviewed by Tim Hatcher.
  20474. Initialize the extra member of the xmlEntity struct when using libxml2 >= 2.6.27.
  20475. * dom/XMLTokenizer.cpp:
  20476. 2008-04-27 Dan Bernstein <mitz@apple.com>
  20477. Reviewed by Darin Adler.
  20478. - fix https://bugs.webkit.org/show_bug.cgi?id=3729
  20479. <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text
  20480. Test: editing/selection/move-left-right.html
  20481. * editing/SelectionController.cpp:
  20482. (WebCore::SelectionController::modifyMovingRight): Added. Currently
  20483. implemented for character granularity, all other being treated as
  20484. "forward".
  20485. (WebCore::SelectionController::modifyMovingForward): Renamed
  20486. modifyMovingRightForward() to this.
  20487. (WebCore::SelectionController::modifyMovingLeft): Added. Currently
  20488. implemented for character granularity, all other being treated as
  20489. "backward".
  20490. (WebCore::SelectionController::modifyMovingBackward): Renamed
  20491. modifyMovingLeftBackward() to this.
  20492. (WebCore::SelectionController::modify): Changed to call either the
  20493. visual (left/right) or logical (backward/forward) methods depending on
  20494. the 'dir' argument for moves.
  20495. * editing/SelectionController.h:
  20496. * editing/VisiblePosition.cpp:
  20497. (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): Added.
  20498. (WebCore::VisiblePosition::left): Added.
  20499. (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): Added.
  20500. (WebCore::VisiblePosition::right): Added.
  20501. * editing/VisiblePosition.h:
  20502. 2008-04-27 Sam Weinig <sam@webkit.org>
  20503. Reviewed by Maciej Stachowiak.
  20504. Fix for <rdar://problem/5893385> Need to provide access to the CanvasRenderingContext2D prototype
  20505. Add a JS constructor for CanvasRenderingContext2D.
  20506. * html/CanvasRenderingContext2D.idl:
  20507. * page/DOMWindow.idl:
  20508. 2008-04-26 Adam Barth <hk9565@gmail.com>
  20509. Reviewed by Adam Roben and Sam Weinig.
  20510. Fixes bug http://bugs.webkit.org/show_bug.cgi?id=17331
  20511. Fixes bug http://bugs.webkit.org/show_bug.cgi?id=16848
  20512. Updates postMessage implementation to match HTML 5 specification:
  20513. 1) Adds origin parameter to postMessage.
  20514. 2) Removes domain and uri attributes of MessageEvent in favor of
  20515. origin attribute.
  20516. In order to do this correctly, we need to distinguish between hosts and domains
  20517. in the SecurityOrigin class. There are now three ways to compare security origins:
  20518. 1) isSameSchemeHostPort compares scheme, host, and port, and is used for postMessage
  20519. 2) equal compares all aspects of the security origin, and is used for hash keys
  20520. 3) canAccess understands the semantics of schemes such as file:// and data:// URLs,
  20521. and should be used for scripting access checks.
  20522. Changed SecurityOrigin::toString() to generate identifiers that are suitable for
  20523. being used as a MessageEvent's origin property. In the future, they could be used
  20524. as database string identifiers as well. Re-used KURL parser to parse serialized
  20525. SecurityOrigins.
  20526. Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.
  20527. Tests: http/tests/security/postMessage/invalid-origin-throws-exception.html
  20528. http/tests/security/postMessage/javascript-page-still-sends-origin.html
  20529. http/tests/security/postMessage/origin-unaffected-by-base-tag.html
  20530. http/tests/security/postMessage/origin-unaffected-by-document-domain.html
  20531. http/tests/security/postMessage/target-origin.html
  20532. * WebCore.base.exp:
  20533. * bindings/js/JSDOMWindowCustom.cpp:
  20534. (WebCore::JSDOMWindow::postMessage):
  20535. * dom/Document.cpp:
  20536. (WebCore::Document::domain):
  20537. * dom/MessageEvent.cpp:
  20538. (WebCore::MessageEvent::MessageEvent):
  20539. (WebCore::MessageEvent::initMessageEvent):
  20540. * dom/MessageEvent.h:
  20541. (WebCore::MessageEvent::origin):
  20542. * dom/MessageEvent.idl:
  20543. * html/CanvasRenderingContext2D.cpp:
  20544. (WebCore::CanvasRenderingContext2D::checkOrigin):
  20545. (WebCore::CanvasRenderingContext2D::createPattern):
  20546. * page/DOMWindow.cpp:
  20547. (WebCore::DOMWindow::postMessage):
  20548. * page/DOMWindow.h:
  20549. * page/DOMWindow.idl:
  20550. * platform/SecurityOrigin.cpp:
  20551. (WebCore::SecurityOrigin::SecurityOrigin):
  20552. (WebCore::SecurityOrigin::create):
  20553. (WebCore::SecurityOrigin::createForFrame):
  20554. (WebCore::SecurityOrigin::copy):
  20555. (WebCore::SecurityOrigin::setDomainFromDOM):
  20556. (WebCore::SecurityOrigin::canAccess):
  20557. (WebCore::SecurityOrigin::isSecureTransitionTo):
  20558. (WebCore::SecurityOrigin::toString):
  20559. (WebCore::SecurityOrigin::createFromString):
  20560. (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
  20561. (WebCore::SecurityOrigin::databaseIdentifier):
  20562. (WebCore::SecurityOrigin::equal):
  20563. (WebCore::SecurityOrigin::isSameSchemeHostPort):
  20564. * platform/SecurityOrigin.h:
  20565. (WebCore::SecurityOrigin::host):
  20566. (WebCore::SecurityOrigin::domain):
  20567. * platform/SecurityOriginHash.h:
  20568. (WebCore::SecurityOriginTraits::deletedValue):
  20569. * storage/DatabaseTracker.cpp:
  20570. (WebCore::DatabaseTracker::hasEntryForDatabase):
  20571. (WebCore::DatabaseTracker::originPath):
  20572. (WebCore::DatabaseTracker::fullPathForDatabase):
  20573. (WebCore::DatabaseTracker::populateOrigins):
  20574. (WebCore::DatabaseTracker::databaseNamesForOrigin):
  20575. (WebCore::DatabaseTracker::detailsForNameAndOrigin):
  20576. (WebCore::DatabaseTracker::setDatabaseDetails):
  20577. (WebCore::DatabaseTracker::setQuota):
  20578. (WebCore::DatabaseTracker::addDatabase):
  20579. (WebCore::DatabaseTracker::deleteOrigin):
  20580. (WebCore::DatabaseTracker::deleteDatabase):
  20581. 2008-04-26 Kevin Ollivier <kevino@theolliviers.com>
  20582. wx build fix. Add the AX*ActionVerb functions to the wx build.
  20583. * platform/wx/LocalizedStringsWx.cpp:
  20584. (WebCore::AXButtonActionVerb):
  20585. (WebCore::AXRadioButtonActionVerb):
  20586. (WebCore::AXTextFieldActionVerb):
  20587. (WebCore::AXCheckedCheckBoxActionVerb):
  20588. (WebCore::AXUncheckedCheckBoxActionVerb):
  20589. (WebCore::AXLinkActionVerb):
  20590. 2008-04-26 Robin Dunn <robin@alldunn.com>
  20591. Reviewed by Kevin Ollivier.
  20592. wx build fix. Add needed wx includes for compilation.
  20593. https://bugs.webkit.org/show_bug.cgi?id=18758
  20594. * platform/wx/FileSystemWx.cpp:
  20595. 2008-04-26 Anatoli Papirovski <apapirovski@mac.com>
  20596. Reviewed by Dave Hyatt.
  20597. Fix for https://bugs.webkit.org/show_bug.cgi?id=18583
  20598. WebKit should ignore declarations with a negative value for
  20599. line-height and font-size, including in the shorthand font form.
  20600. Tests: fast/css/font-size-negative.html
  20601. fast/css/line-height-negative.html
  20602. * css/CSSParser.cpp:
  20603. (WebCore::CSSParser::parseValue):
  20604. (WebCore::CSSParser::parseFont):
  20605. 2008-04-25 Anders Carlsson <andersca@apple.com>
  20606. Reviewed by Sam.
  20607. Add empty ApplicationCacheStorage class.
  20608. * WebCore.vcproj/WebCore.vcproj:
  20609. * WebCore.xcodeproj/project.pbxproj:
  20610. * loader/appcache/ApplicationCacheStorage.cpp: Added.
  20611. (WebCore::cacheStorage):
  20612. * loader/appcache/ApplicationCacheStorage.h: Added.
  20613. 2008-04-24 Sam Weinig <sam@webkit.org>
  20614. Reviewed by Geoffrey Garen.
  20615. Replace the JSDOMWindow with a new one instead of clearing it.
  20616. * bindings/js/JSDOMWindowBase.cpp:
  20617. (WebCore::JSDOMWindowBase::clear):
  20618. Don't reset the window.
  20619. * bindings/js/kjs_proxy.cpp:
  20620. (WebCore::KJSProxy::clear):
  20621. Replace the current JSDOMWindow stored in the wrapper window
  20622. with a new one.
  20623. * history/CachedPage.cpp:
  20624. (WebCore::CachedPage::CachedPage):
  20625. (WebCore::CachedPage::restore):
  20626. (WebCore::CachedPage::clear):
  20627. * history/CachedPage.h:
  20628. Instead of storing the builtins, properties and localstorage in
  20629. special holding structs, store the entire JSDOMWindow.
  20630. For the case of a page that has no JSDOMWindow before it's first
  20631. navigation, has one created while it is in the cache and is then
  20632. navigated back, create a new JSDOMWindow to keep the assumption
  20633. in JSDOMWindowWrapper that it always has the correct window.
  20634. * loader/FrameLoader.cpp:
  20635. (WebCore::FrameLoader::clear):
  20636. We must clear the DOMWindow first, so that we create a new JSDOMWindow,
  20637. it gets a new one.
  20638. * page/Frame.cpp:
  20639. (WebCore::Frame::clearDOMWindow):
  20640. Null out the domWindow so that on the next access, a new one is
  20641. created.
  20642. 2008-04-25 Sam Weinig <sam@webkit.org>
  20643. Reviewed by Mark Rowe.
  20644. The EventListeners need to operate and store JSDOMWindows, not JSDOMWrapperWindows.
  20645. * bindings/js/JSDOMWindowBase.cpp:
  20646. (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
  20647. (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
  20648. (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
  20649. * bindings/js/JSSVGLazyEventListener.cpp:
  20650. (WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener):
  20651. * bindings/js/JSSVGLazyEventListener.h:
  20652. * bindings/js/kjs_events.cpp:
  20653. (WebCore::JSAbstractEventListener::handleEvent):
  20654. (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
  20655. (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
  20656. (WebCore::JSUnprotectedEventListener::window):
  20657. (WebCore::JSUnprotectedEventListener::clearWindow):
  20658. (WebCore::JSEventListener::JSEventListener):
  20659. (WebCore::JSEventListener::~JSEventListener):
  20660. (WebCore::JSEventListener::window):
  20661. (WebCore::JSEventListener::clearWindow):
  20662. (WebCore::JSLazyEventListener::JSLazyEventListener):
  20663. (WebCore::JSLazyEventListener::parseCode):
  20664. * bindings/js/kjs_events.h:
  20665. * bindings/js/kjs_proxy.cpp:
  20666. (WebCore::KJSProxy::createHTMLEventHandler):
  20667. (WebCore::KJSProxy::createSVGEventHandler):
  20668. 2008-04-25 Mark Rowe <mrowe@apple.com>
  20669. Rubber-stamped by Sam Weinig.
  20670. Add some content to an empty ICU header file to prevent verification errors.
  20671. * icu/unicode/utf_old.h:
  20672. 2008-04-25 Anders Carlsson <andersca@apple.com>
  20673. Fix tyop.
  20674. * loader/DocumentLoader.cpp:
  20675. (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
  20676. 2008-04-25 Anders Carlsson <andersca@apple.com>
  20677. Reviewed by Sam.
  20678. Add and honor offlineWebApplicationCacheEnabled setting.
  20679. * WebCore.base.exp:
  20680. * loader/DocumentLoader.cpp:
  20681. (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
  20682. * loader/MainResourceLoader.cpp:
  20683. (WebCore::MainResourceLoader::load):
  20684. * loader/appcache/ApplicationCacheGroup.cpp:
  20685. (WebCore::ApplicationCacheGroup::selectCache):
  20686. (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
  20687. * page/Settings.cpp:
  20688. (WebCore::Settings::Settings):
  20689. (WebCore::Settings::setOfflineWebApplicationCacheEnabled):
  20690. * page/Settings.h:
  20691. (WebCore::Settings::offlineWebApplicationCacheEnabled):
  20692. 2008-04-25 Anders Carlsson <andersca@apple.com>
  20693. Reviewed by Adam.
  20694. <rdar://problem/5629139>
  20695. PluginInfoStoreWin needs to implement pluginNameForMIMEType().
  20696. * plugins/PluginInfoStore.cpp:
  20697. (WebCore::PluginInfoStore::pluginNameForMIMEType):
  20698. 2008-04-25 Tor Arne Vestbø <tavestbo@trolltech.com>
  20699. Reviewed by Simon.
  20700. Respect antialiasing hint when drawing focus rects.
  20701. * platform/graphics/qt/GraphicsContextQt.cpp:
  20702. (WebCore::GraphicsContext::drawFocusRing):
  20703. 2008-04-25 Holger Hans Peter Freyther <zecke@selfish.org>
  20704. Reviewed by Simon.
  20705. networking: Use Qt::QueuedConnection in QNetworkReplyHandler
  20706. Make sure we leave the networking backend before calling
  20707. into WebCore. Otheriwse we might return to the networking
  20708. backend when it is already deleted.
  20709. * platform/network/qt/QNetworkReplyHandler.cpp:
  20710. (WebCore::FormDataIODevice::setParent):
  20711. (WebCore::QNetworkReplyHandler::start):
  20712. 2008-04-25 Tor Arne Vestbø <tavestbo@trolltech.com>
  20713. Reviewed by Simon.
  20714. Fix propagation of mouse double click events.
  20715. Treat a mouse double click as a regular mouse press with just a different click count.
  20716. * platform/qt/PlatformMouseEventQt.cpp:
  20717. (WebCore::PlatformMouseEvent::PlatformMouseEvent):
  20718. 2008-04-25 Tor Arne Vestbø <tavestbo@trolltech.com>
  20719. Reviewed by Simon.
  20720. Fixes: Fix strange button sizes (push, radio, and check) in QtWebKit.
  20721. We now use pixel metrics instead of fixed sizes for the
  20722. button margins, or if the style supports layout rects we
  20723. use the delta between the content rect and the layout rect.
  20724. In adition we compensate for the difference between the size
  20725. for content and the actual layout rect (if supported) by
  20726. reporting back the layout rect to WebKit for page layout,
  20727. and then inflating the rect we actually paint to.
  20728. * platform/qt/RenderThemeQt.cpp:
  20729. (WebCore::StylePainter::StylePainter):
  20730. (WebCore::StylePainter::~StylePainter):
  20731. (WebCore::RenderThemeQt::RenderThemeQt):
  20732. (WebCore::inflateButtonRect):
  20733. (WebCore::RenderThemeQt::adjustRepaintRect):
  20734. (WebCore::RenderThemeQt::isControlStyled):
  20735. (WebCore::computeSizeBasedOnStyle):
  20736. (WebCore::RenderThemeQt::setCheckboxSize):
  20737. (WebCore::RenderThemeQt::paintCheckbox):
  20738. (WebCore::RenderThemeQt::setRadioSize):
  20739. (WebCore::RenderThemeQt::adjustButtonStyle):
  20740. (WebCore::RenderThemeQt::setButtonSize):
  20741. (WebCore::RenderThemeQt::setButtonPadding):
  20742. (WebCore::RenderThemeQt::paintButton):
  20743. (WebCore::RenderThemeQt::adjustMenuListStyle):
  20744. (WebCore::RenderThemeQt::setPopupPadding):
  20745. (WebCore::RenderThemeQt::paintMenuList):
  20746. * platform/qt/RenderThemeQt.h:
  20747. 2008-04-25 Benjamin Meyer <bmeyer@trolltech.com>
  20748. Reviewed by Holger.
  20749. Fixes: Valgrind warnings about uninitilized variables used in jumps
  20750. * rendering/RenderText.cpp:
  20751. (WebCore::RenderText::trimmedPrefWidths):
  20752. 2008-04-25 Warwick Allison <warwick@trolltech.com>
  20753. Reviewed by Simon.
  20754. Added simple getter function to PlatformScrollBar to return the
  20755. maximum value. Needed in the WebKit/qt API.
  20756. * platform/qt/PlatformScrollBar.h:
  20757. 2008-04-25 Benjamin Meyer <bmeyer@trolltech.com>
  20758. Reviewed by Holger, Simon.
  20759. Implement NoDrop, ZoomIn, and ZoomOut cursors
  20760. * Resources/WebKitResources.qrc:
  20761. * platform/qt/CursorQt.cpp:
  20762. (WebCore::noDropCursor):
  20763. (WebCore::notAllowedCursor):
  20764. (WebCore::zoomInCursor):
  20765. (WebCore::zoomOutCursor):
  20766. 2008-04-25 Holger Hans Peter Freyther <zecke@selfish.org>
  20767. Reviewed by Simon.
  20768. Handle the ListboxAppearance as 'TextField' as well. We are mainly interested in the background.
  20769. RenderBox will call us to paint the outline/background, it is handled the same as a
  20770. TextAreaAppearance in RenderTheme, handle it the same in the RenderThemeQt
  20771. * platform/qt/RenderThemeQt.cpp:
  20772. (WebCore::RenderThemeQt::paintTextField):
  20773. 2008-04-25 Holger Hans Peter Freyther <zecke@selfish.org>
  20774. Reviewed by Simon.
  20775. No reason to exit the application when we can not paint something. Replace the Q_ASSERT
  20776. with a runtime check. Return true to indicate that we did not handle the painting
  20777. of this element.
  20778. * platform/qt/RenderThemeQt.cpp:
  20779. (WebCore::RenderThemeQt::paintTextField):
  20780. 2008-04-25 Holger Hans Peter Freyther <zecke@selfish.org>
  20781. Reviewed by Simon.
  20782. Correct the comment. We are in painTextField and don't paint a button.
  20783. * platform/qt/RenderThemeQt.cpp:
  20784. (WebCore::RenderThemeQt::paintTextField):
  20785. 2008-04-25 Holger Hans Peter Freyther <zecke@selfish.org>
  20786. Reviewed by Simon.
  20787. Allow ListboxAppearance to take focus as well. Stolen from Tor Arne
  20788. * platform/qt/RenderThemeQt.cpp:
  20789. (WebCore::RenderThemeQt::supportsFocus):
  20790. 2008-04-25 Simon Hausmann <hausmann@webkit.org>
  20791. Reviewed by Holger.
  20792. Remove debug output.
  20793. * platform/network/qt/ResourceHandleQt.cpp:
  20794. (WebCore::ResourceHandle::loadResourceSynchronously):
  20795. 2008-04-25 Holger Hans Peter Freyther <zecke@selfish.org>
  20796. Reviewed by Simon.
  20797. Change the string for searchableIndexIntroduction() to match the mac
  20798. and pass http/tests/misc/isindex-formdata.html
  20799. * platform/qt/Localizations.cpp:
  20800. 2008-04-25 Simon Hausmann <hausmann@webkit.org>
  20801. Reviewed by Holger.
  20802. When we encounter a new/unknown HTTP request type report it back to WebCore as loading error.
  20803. * platform/network/qt/QNetworkReplyHandler.cpp:
  20804. (WebCore::QNetworkReplyHandler::start):
  20805. 2008-04-25 Benjamin Meyer <bmeyer@trolltech.com>
  20806. Reviewed by Simon.
  20807. Fix crash in the networking layer.
  20808. Set the m_reply to null right after calling deleteLater().
  20809. * platform/network/qt/QNetworkReplyHandler.cpp:
  20810. (WebCore::QNetworkReplyHandler::finish):
  20811. 2008-04-24 Mark Rowe <mrowe@apple.com>
  20812. Rubber-stamped by Oliver Hunt.
  20813. * WebCore.base.exp: Remove two symbols from the export list that don't need to be exported.
  20814. 2008-04-24 Dan Bernstein <mitz@apple.com>
  20815. Reviewed by Dave Hyatt.
  20816. - fix https://bugs.webkit.org/show_bug.cgi?id=18722
  20817. <rdar://problem/5888360> REGRESSION (3.1 -> TOT): Webkit Nightly Build crashes when visiting i has a hotdog
  20818. Test: fast/dynamic/float-remove-above-line.html
  20819. * rendering/bidi.cpp:
  20820. (WebCore::RenderBlock::layoutInlineChildren): Avoid adding floats that
  20821. do not intrude into the line to its floats vector. When such floats go
  20822. away, they do not dirty the line (because they do not intersect with it)
  20823. and having it keep them in its floats vector is what caused the crash.
  20824. 2008-04-24 Justin Garcia <justin.garcia@apple.com>
  20825. Reviewed by John Sullivan.
  20826. It is possible, despite our safeguards, for createMarkup to iterate past the end of the Range
  20827. that is passed to it. Added a null check to prevent crashes in this situation (we won't crash but
  20828. we will create too much markup), and added an ASSERT to hopefully catch the scenario in a debugger
  20829. and help us understand what's going on.
  20830. * editing/markup.cpp:
  20831. (WebCore::createMarkup):
  20832. 2008-04-24 Mark Rowe <mrowe@apple.com>
  20833. Reviewed by Sam Weinig.
  20834. Remove code for calculating the glyph cache size.
  20835. * WebCore.base.exp: Remove unused symbol.
  20836. * platform/graphics/mac/FontCacheMac.mm: Remove code that is unused now that we do not compute the glyph cache size.
  20837. * platform/mac/WebCoreSystemInterface.h: Remove unused symbol.
  20838. * platform/mac/WebCoreSystemInterface.mm: Ditto.
  20839. 2008-04-24 Mark Rowe <mrowe@apple.com>
  20840. Reviewed by Sam Weinig.
  20841. Add a definition of BUILDING_ON_LEOPARD to complement BUILDING_ON_TIGER.
  20842. * WebCorePrefix.h:
  20843. 2008-04-24 Cameron McCormack <cam@mcc.id.au>
  20844. Reviewed by Maciej Stachowiak.
  20845. Ensure that changes to rx="" and ry="" attributes on an SVG <rect>
  20846. element cause a relayout.
  20847. Test: svg/dom/SVGRectElement/rect-modify-rx.svg
  20848. * svg/SVGRectElement.cpp:
  20849. (WebCore::SVGRectElement::svgAttributeChanged): Call needsLayout()
  20850. when the attribute is rx or ry.
  20851. (WebCore::SVGRectElement::hasRelativeValues): Return true when the
  20852. attribute is rx or ry, since they also can have relative values.
  20853. 2008-04-24 Adam Barth <hk9565@gmail.com>
  20854. Reviewed by Sam Weinig.
  20855. Update the XMLHttpRequest header black list to match the spec.
  20856. * xml/XMLHttpRequest.cpp:
  20857. (WebCore::isSafeRequestHeader):
  20858. 2008-04-22 Feng Qian <feng@chromium.org>
  20859. Reviewed by Geoff Garen.
  20860. Fix https://bugs.webkit.org/show_bug.cgi?id=18677
  20861. Bug 18677: Synchronous event dispatch confuses the popup blocker into incorrectly blocking chat popups in gmail.com.
  20862. Test: fast/events/nested-window-event.html
  20863. * bindings/js/kjs_events.cpp:
  20864. (WebCore::JSAbstractEventListener::handleEvent): Save and restore the current event around the event dispatch.
  20865. 2008-04-24 Brady Eidson <beidson@apple.com>
  20866. Reviewed by Teh Mitzpettel
  20867. Make it so PageGroups know what their own name is.
  20868. * WebCore.base.exp:
  20869. * page/Page.cpp:
  20870. (WebCore::Page::setGroupName):
  20871. (WebCore::Page::groupName):
  20872. * page/Page.h:
  20873. * page/PageGroup.cpp: Move the PageGroupMap into the PageGroup class.
  20874. (WebCore::PageGroup::PageGroup): Added a c'tor that takes the group name as an argument instead of
  20875. the initial Page.
  20876. (WebCore::PageGroup::pageGroup): Handles creating and mapping names to groups
  20877. * page/PageGroup.h:
  20878. (WebCore::PageGroup::name):
  20879. 2008-04-24 Adele Peterson <adele@apple.com>
  20880. Reviewed by Darin.
  20881. Consolidate two versions of pathGetFileName.
  20882. * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Call FileSystem.h version of pathGetFileName and removed the static helper function.
  20883. * platform/posix/FileSystemPOSIX.cpp: (WebCore::pathGetFileName): Moved general case from HTMLFormElement version here.
  20884. If other platforms relied on that default they should implement this function for their platform specific version of FileSystem.cpp
  20885. * platform/win/FileSystemWin.cpp: (WebCore::pathGetFileName): Moved win implementation from HTMLFormElement here.
  20886. * platform/wx/FileSystemWx.cpp: (WebCore::pathGetFileName): Moved wx implementation from HTMLFormElement here.
  20887. 2008-04-24 Anders Carlsson <andersca@apple.com>
  20888. Windows build fix.
  20889. * html/HTMLFormElement.cpp:
  20890. (WebCore::pathGetFilename):
  20891. 2008-04-24 Anders Carlsson <andersca@apple.com>
  20892. Don't crash when the string is empty.
  20893. * html/HTMLMediaElement.cpp:
  20894. (WebCore::parseTimeOffset):
  20895. 2008-04-24 Dan Bernstein <mitz@apple.com>
  20896. Reviewed by Darin Adler.
  20897. - preparation for https://bugs.webkit.org/show_bug.cgi?id=3729
  20898. <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text
  20899. The three main changes in this patch are:
  20900. 1) Making all inline boxes know their bidi level, instead of just text
  20901. boxes knowing whether their bidi level is odd or even. This is
  20902. required for the next change.
  20903. 2) Replacing RenderObject::inlineBox() with
  20904. Position::getInlineBoxAndOffset() in recognition of the fact that the
  20905. inline box containing the primary caret for a position in a given
  20906. node may belong to a different node's renderer.
  20907. 3) Changing RenderObject::caretRect() to take an InlineBox parameter,
  20908. and changing callers to call VisiblePosition::caretRect(), which
  20909. locates the inline box, then calls caretRect() on the renderer for
  20910. that box. This, combined with the previous change, ensures that the
  20911. primary caret is rendered at the right place for positions that
  20912. lie on a directionality boundary.
  20913. Test: platform/mac/editing/input/caret-primary-bidi.html
  20914. * WebCore.base.exp: Added the VisiblePosition(Node*, int, EAffinity)
  20915. constructor and VisiblePosition::caretRect(), and sorted.
  20916. * dom/Position.cpp:
  20917. (WebCore::nextRenderedEditable): Adjusted for the removal of
  20918. RenderObject::inlineBox().
  20919. (WebCore::previousRenderedEditable): Ditto.
  20920. (WebCore::Position::rendersInDifferentPosition): Ditto.
  20921. (WebCore::Position::getInlineBoxAndOffset): Added. Gets the inline box
  20922. and the offset within that box at which the primary caret for this
  20923. position should render.
  20924. * dom/Position.h:
  20925. * editing/DeleteSelectionCommand.cpp:
  20926. (WebCore::DeleteSelectionCommand::mergeParagraphs): Changed to call
  20927. VisiblePosition::caretRect() instead of calling the RenderObject method.
  20928. * editing/SelectionController.cpp:
  20929. (WebCore::caretY): Ditto.
  20930. (WebCore::SelectionController::xPosForVerticalArrowNavigation): Ditto.
  20931. (WebCore::SelectionController::layout): Ditto.
  20932. * editing/VisiblePosition.cpp:
  20933. (WebCore::VisiblePosition::caretRect): Changed to call
  20934. getInlineBoxAndOffset() to get the correct inline box and call the
  20935. renderer for that box.
  20936. * editing/VisiblePosition.h:
  20937. (WebCore::VisiblePosition::getInlineBoxAndOffset): Added convenience
  20938. methods for getting the inline box and caret offset for a visible
  20939. position, accounting for its affinity.
  20940. * editing/visible_units.cpp:
  20941. (WebCore::rootBoxForLine): Changed to use getInlineBoxAndOffset()
  20942. instead of RenderObject::inlineBox().
  20943. (WebCore::startPositionForLine):
  20944. (WebCore::endPositionForLine):
  20945. (WebCore::previousLinePosition): Ditto.
  20946. (WebCore::nextLinePosition): Ditto.
  20947. * page/AccessibilityObject.cpp:
  20948. (WebCore::updateAXLineStartForVisiblePosition): Ditto.
  20949. * page/Frame.cpp:
  20950. (WebCore::Frame::firstRectForRange): Ditto.
  20951. * rendering/InlineBox.cpp:
  20952. (WebCore::InlineBox::caretMinOffset): Changed to forward to the
  20953. renderer.
  20954. (WebCore::InlineBox::caretMaxOffset): Ditto.
  20955. * rendering/InlineBox.h: Replaced the m_reversed bit, intended for use
  20956. in InlineTextBox only, with six bits of the bidi level of the box,
  20957. intended for use in all leaf inline boxes.
  20958. (WebCore::InlineBox::InlineBox): Added missing initializer for
  20959. m_dirOverride and initialized the bidi level.
  20960. (WebCore::InlineBox::bidiLevel): Added this accessor.
  20961. (WebCore::InlineBox::setBidiLevel): Ditto.
  20962. (WebCore::InlineBox::direction): Ditto.
  20963. (WebCore::InlineBox::caretLeftmostOffset): Added this convenience
  20964. method.
  20965. (WebCore::InlineBox::caretRightmostOffset): Ditto.
  20966. * rendering/InlineTextBox.cpp: Replaced all references to m_reversed
  20967. with checking of direction().
  20968. (WebCore::InlineTextBox::selectionRect):
  20969. (WebCore::InlineTextBox::placeEllipsisBox):
  20970. (WebCore::InlineTextBox::paint):
  20971. (WebCore::InlineTextBox::paintSelection):
  20972. (WebCore::InlineTextBox::paintCompositionBackground):
  20973. (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
  20974. (WebCore::InlineTextBox::paintTextMatchMarker):
  20975. (WebCore::InlineTextBox::textPos):
  20976. (WebCore::InlineTextBox::offsetForPosition):
  20977. (WebCore::InlineTextBox::positionForOffset):
  20978. * rendering/RenderBR.cpp: Removed inlineBox().
  20979. * rendering/RenderBR.h: Ditto.
  20980. * rendering/RenderBox.cpp:
  20981. (WebCore::RenderBox::caretRect): Changed to take an inline box and
  20982. account for the direction of the box (or the renderer) in positioning
  20983. the caret: in right-to-left boxes, the "before" position is to the right
  20984. while "after" is to the left.
  20985. * rendering/RenderBox.h:
  20986. * rendering/RenderFlow.cpp:
  20987. (WebCore::RenderFlow::caretRect): Updated the signature.
  20988. * rendering/RenderFlow.h:
  20989. * rendering/RenderObject.cpp:
  20990. (WebCore::RenderObject::caretRect): Updated the signature.
  20991. (WebCore::RenderObject::caretMaxOffset): Changed to return the child
  20992. node count (or 1 if there are no children) for replaced elements, such
  20993. as <select>s.
  20994. * rendering/RenderObject.h:
  20995. * rendering/RenderReplaced.cpp: Removed caretMinOffset() and
  20996. caretMaxOffset() because the base class implementation does the right
  20997. thing for replaced objects now.
  20998. * rendering/RenderReplaced.h:
  20999. * rendering/RenderSVGInlineText.cpp:
  21000. (WebCore::RenderSVGInlineText::caretRect): Updated the signature.
  21001. (WebCore::RenderSVGInlineText::positionForCoordinates): Updated for
  21002. the change from m_reversed to direction().
  21003. * rendering/RenderSVGInlineText.h:
  21004. * rendering/RenderText.cpp:
  21005. (WebCore::RenderText::caretRect): Changed to take an inline box and
  21006. removed the code that used to find the inline for the given position.
  21007. Changed use of m_reversed to use direction().
  21008. (WebCore::RenderText::position): Changed use of m_reversed to use
  21009. direction().
  21010. * rendering/RenderText.h:
  21011. * rendering/RenderTextControl.cpp:
  21012. (WebCore::RenderTextControl::textWithHardLineBreaks): Adjusted for the
  21013. removal of RenderObject::inlineBox().
  21014. * rendering/RenderTreeAsText.cpp:
  21015. (WebCore::writeTextRun): Changed to use direction() instead of
  21016. m_reversed.
  21017. * rendering/SVGInlineTextBox.cpp: Ditto.
  21018. (WebCore::SVGInlineTextBox::calculateGlyphBoundaries):
  21019. (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
  21020. (WebCore::SVGInlineTextBox::svgCharacterHitsPosition):
  21021. * rendering/SVGRenderTreeAsText.cpp: Ditto.
  21022. (WebCore::writeSVGInlineTextBox):
  21023. * rendering/SVGRootInlineBox.cpp: Ditto.
  21024. (WebCore::svgTextRunForInlineTextBox):
  21025. (WebCore::cummulatedWidthOrHeightOfTextChunk):
  21026. (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
  21027. * rendering/bidi.cpp:
  21028. (WebCore::RenderBlock::constructLine): Made this function set the
  21029. bidi level on all leaf boxes.
  21030. * svg/SVGTextContentElement.cpp: Changed to use direction() instead of
  21031. m_reversed.
  21032. (WebCore::cumulativeCharacterRangeLength):
  21033. (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
  21034. 2008-04-24 Sam Weinig <sam@webkit.org>
  21035. Fix the world.
  21036. * bindings/js/kjs_proxy.cpp:
  21037. (WebCore::KJSProxy::clear):
  21038. 2008-04-24 Darin Adler <darin@apple.com>
  21039. Reviewed by Geoff.
  21040. - fix crash in regression test where we'd ask a frame for a user agent string
  21041. after the WebView was already closed
  21042. * loader/FrameLoader.cpp:
  21043. (WebCore::FrameLoader::scheduleHTTPRedirection): Quietly do nothing if this is
  21044. called on a frame that's already detached from its page.
  21045. (WebCore::FrameLoader::scheduleLocationChange): Ditto.
  21046. (WebCore::FrameLoader::scheduleRefresh): Ditto.
  21047. (WebCore::FrameLoader::scheduleHistoryNavigation): Ditto.
  21048. (WebCore::FrameLoader::redirectionTimerFired): Assert that this is never called
  21049. for a frame that's already detached from its page.
  21050. (WebCore::FrameLoader::scheduleRedirection): Ditto.
  21051. (WebCore::FrameLoader::startRedirectionTimer): Ditto.
  21052. 2008-04-23 Timothy Hatcher <timothy@apple.com>
  21053. Add a new callFunction helper function to remove duplicate code
  21054. for calling JavaScript functions with arguments.
  21055. Reviewed by Darin Adler.
  21056. * page/InspectorController.cpp:
  21057. (WebCore::InspectorController::callSimpleFunction): Call callFunction.
  21058. (WebCore::InspectorController::callFunction): Extended version of the original
  21059. callSimpleFunction, with script function arguments and an exception argument.
  21060. (WebCore::InspectorController::focusNode): Use callFunction.
  21061. (WebCore::InspectorController::addScriptResource): Ditto.
  21062. (WebCore::InspectorController::removeScriptResource): Ditto.
  21063. (WebCore::InspectorController::addDatabaseScriptResource): Ditto.
  21064. (WebCore::InspectorController::removeDatabaseScriptResource): Ditto.
  21065. (WebCore::InspectorController::addScriptConsoleMessage): Ditto.
  21066. * page/InspectorController.h: Add callFunction.
  21067. 2008-04-24 Anders Carlsson <andersca@apple.com>
  21068. Reviewed by Sam.
  21069. Change some String arguments to be const references instead.
  21070. * css/CSSRule.cpp:
  21071. (WebCore::CSSRule::setCssText):
  21072. * css/CSSRule.h:
  21073. * html/HTMLFormElement.cpp:
  21074. (WebCore::pathGetFilename):
  21075. * html/HTMLMediaElement.cpp:
  21076. (WebCore::parseTimeOffset):
  21077. * page/EditorClient.h:
  21078. * platform/SecurityOrigin.cpp:
  21079. (WebCore::isDefaultPortForProtocol):
  21080. * platform/graphics/MediaPlayer.cpp:
  21081. (WebCore::MediaPlayer::load):
  21082. * platform/graphics/MediaPlayer.h:
  21083. * rendering/MediaControlElements.cpp:
  21084. (WebCore::MediaControlInputElement::MediaControlInputElement):
  21085. * rendering/MediaControlElements.h:
  21086. * svg/animation/SVGSMILElement.cpp:
  21087. (WebCore::SVGSMILElement::Condition::Condition):
  21088. * svg/animation/SVGSMILElement.h:
  21089. * svg/graphics/SVGImageEmptyClients.h:
  21090. (WebCore::SVGEmptyEditorClient::shouldInsertText):
  21091. * xml/XSLTProcessor.cpp:
  21092. (WebCore::createFragmentFromSource):
  21093. 2008-04-24 Justin Garcia <justin.garcia@apple.com>
  21094. Reviewed by Darin Adler.
  21095. <rdar://problem/5604313> FormatBlock to apply an h1 also inserts a style span around the first letter (16004)
  21096. * editing/TextIterator.cpp:
  21097. (WebCore::TextIterator::advance): We emit an extra newline when leaving a
  21098. block element that has atypical margin/padding. When we emit the extra newline,
  21099. it needs to be positioned after that block's contents, not after the block.
  21100. This is how we position the first newline, too, since the range for emitted newlines
  21101. should start where the line break begins visually.
  21102. 2008-04-24 Anders Carlsson <andersca@apple.com>
  21103. Reviewed by Adam.
  21104. Only avoid implicit entries when doing the initial caching.
  21105. * loader/appcache/ApplicationCacheGroup.cpp:
  21106. (WebCore::ApplicationCacheGroup::didReceiveResponse):
  21107. (WebCore::ApplicationCacheGroup::startLoadingEntry):
  21108. 2008-04-24 Kevin McCullough <kmccullough@apple.com>
  21109. Reviewed by Adam and Sam.
  21110. -<rdar://problem/5770054> JavaScript profiler (10928)
  21111. -Only profile the page group that starts profiling to avoid profiling
  21112. tools that shouldn't be profiled unless explicitly requested to.
  21113. * bindings/js/kjs_proxy.cpp: When a new global object is created set its
  21114. page group identifier.
  21115. (WebCore::KJSProxy::clear):
  21116. (WebCore::KJSProxy::initScript):
  21117. * page/Console.cpp: When calling console.profile set the identifier of
  21118. the page group being profiled.
  21119. (WebCore::Console::profile):
  21120. * page/PageGroup.cpp: Implement unique identifiers.
  21121. (WebCore::getUniqueIdentifier):
  21122. (WebCore::PageGroup::PageGroup):
  21123. * page/PageGroup.h: Ditto.
  21124. (WebCore::PageGroup::identifier):
  21125. 2008-04-24 John Sullivan <sullivan@apple.com>
  21126. Mac buid fix
  21127. * page/mac/WebCoreViewFactory.h:
  21128. add declarations of six new AX methods that were added to LocalizedStrings.h
  21129. * platform/mac/LocalizedStringsMac.mm:
  21130. (WebCore::AXButtonActionVerb):
  21131. implement by calling through to WebCoreViewFactory as we do with the other functions here
  21132. (WebCore::AXRadioButtonActionVerb):
  21133. ditto
  21134. (WebCore::AXTextFieldActionVerb):
  21135. ditto
  21136. (WebCore::AXCheckedCheckBoxActionVerb):
  21137. ditto
  21138. (WebCore::AXUncheckedCheckBoxActionVerb):
  21139. ditto
  21140. (WebCore::AXLinkActionVerb):
  21141. ditto
  21142. 2008-04-24 Simon Hausmann <hausmann@webkit.org>
  21143. Rubber-stamped by Lars
  21144. Fix text rendering in -reverse mode on Qt/Mac.
  21145. For Font::width() don't use a plain QFontMetrics object but also the properly
  21146. setup QTextLayout that has the RTL/LTR force flags set.
  21147. * platform/graphics/qt/FontQt.cpp:
  21148. (WebCore::Font::width):
  21149. 2008-04-24 Tor Arne Vestbø <tavestbo@trolltech.com>
  21150. Reviewed by Simon.
  21151. Don't do anti-aliasing for arcs, lines and rects, but continue to anti-alias
  21152. all drawing primitives in the HTML Canvas element.
  21153. This speeds up drawing of dashed outlines significantly.
  21154. Also preserve the anti-aliasing renderhint for transparency layers and
  21155. get rid of the mostly unused device pointer.
  21156. * platform/graphics/qt/GraphicsContextQt.cpp:
  21157. (WebCore::TransparencyLayer::TransparencyLayer):
  21158. (WebCore::GraphicsContextPlatformPrivate::p):
  21159. (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
  21160. (WebCore::GraphicsContext::beginTransparencyLayer):
  21161. (WebCore::GraphicsContext::drawRect):
  21162. (WebCore::GraphicsContext::drawLine):
  21163. (WebCore::GraphicsContext::strokeArc):
  21164. 2008-04-24 Paul Olav Tvete <paul@trolltech.com>
  21165. Reviewed by Simon.
  21166. Fix various compiler warnings related to QString(const char *)
  21167. construction by using QLatin1String.
  21168. * bridge/qt/qt_instance.cpp:
  21169. (KJS::Bindings::QtField::valueFromInstance):
  21170. (KJS::Bindings::QtField::setValueToInstance):
  21171. * dom/XMLTokenizer.cpp:
  21172. * platform/graphics/qt/PathQt.cpp:
  21173. (WebCore::Path::debugString):
  21174. 2008-04-24 Morten Johan Sørvig <msorvig@trolltech.com>
  21175. Reviewed by Simon.
  21176. Work around QMacStyle bug in repainting the vertical scrollbar.
  21177. We draw the scrollbar using HITheme but somehow the translation and the
  21178. clipping we previously set using ClipCGContextToRegion is ignored. Drawing
  21179. without the translation fixes the clip.
  21180. * platform/qt/PlatformScrollBarQt.cpp:
  21181. (WebCore::PlatformScrollbar::paint):
  21182. 2008-04-24 Holger Hans Peter Freyther <zecke@selfish.org>
  21183. Reviewed by Simon.
  21184. * Set an expiration date for local files as we do not know what will happen
  21185. to these files (in contrast to a http server with max-age and other headers)
  21186. * Remember the time when we started the job and use that for the expiration date
  21187. * QNetworkManager does not handle expiration at all, we might want to set the
  21188. expiration for all downloads but this will be a performance nightmare.
  21189. * platform/network/qt/QNetworkReplyHandler.cpp:
  21190. (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
  21191. (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
  21192. (WebCore::QNetworkReplyHandler::start):
  21193. * platform/network/qt/QNetworkReplyHandler.h:
  21194. 2008-04-24 Simon Hausmann <hausmann@webkit.org>
  21195. Fix the Gtk and Qt builds.
  21196. Added missing localization stubs for accessibility.
  21197. * platform/gtk/LocalizedStringsGtk.cpp:
  21198. (WebCore::AXButtonActionVerb):
  21199. (WebCore::AXRadioButtonActionVerb):
  21200. (WebCore::AXTextFieldActionVerb):
  21201. (WebCore::AXCheckedCheckBoxActionVerb):
  21202. (WebCore::AXUncheckedCheckBoxActionVerb):
  21203. (WebCore::AXLinkActionVerb):
  21204. * platform/qt/Localizations.cpp:
  21205. (WebCore::AXButtonActionVerb):
  21206. (WebCore::AXRadioButtonActionVerb):
  21207. (WebCore::AXTextFieldActionVerb):
  21208. (WebCore::AXCheckedCheckBoxActionVerb):
  21209. (WebCore::AXUncheckedCheckBoxActionVerb):
  21210. (WebCore::AXLinkActionVerb):
  21211. 2008-04-24 Olivier Goffart <ogoffart@trolltech.com>
  21212. Reviewed by Simon
  21213. Fix various compiler warnings in the Qt port.
  21214. * platform/graphics/qt/ImageQt.cpp:
  21215. (loadResourcePixmap):
  21216. * platform/qt/CookieJarQt.cpp:
  21217. (WebCore::cookies):
  21218. * platform/qt/ScrollViewQt.cpp:
  21219. (WebCore::ScrollView::wheelEvent):
  21220. * plugins/qt/PluginDataQt.cpp:
  21221. (WebCore::PluginData::initPlugins):
  21222. 2008-04-24 Andre Poenitz <andre.poenitz@trolltech.com>
  21223. Reviewed by Simon.
  21224. Removed spurious QHideEvent forward declaration.
  21225. * platform/qt/QWebPopup.h:
  21226. 2008-04-24 Tor Arne Vestbø <tavestbo@trolltech.com>
  21227. Reviewed by Simon.
  21228. Render text areas using Qt (ensures proper style).
  21229. * platform/qt/RenderThemeQt.cpp:
  21230. (WebCore::RenderThemeQt::paintTextField):
  21231. (WebCore::RenderThemeQt::adjustTextFieldStyle):
  21232. (WebCore::RenderThemeQt::paintTextArea):
  21233. (WebCore::RenderThemeQt::supportsFocus):
  21234. * platform/qt/RenderThemeQt.h:
  21235. 2008-04-24 Tor Arne Vestbø <tavestbo@trolltech.com>
  21236. Reviewed by Simon.
  21237. Make mouse wheel events over scrollbars behave the same as in Qt, i.e. both
  21238. horizontal and vertical wheel events will scroll the view in the orientation
  21239. of the scrollbar underneath the cursor.
  21240. * platform/qt/ScrollViewQt.cpp:
  21241. (WebCore::ScrollView::paint):
  21242. (WebCore::ScrollView::wheelEvent):
  21243. 2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>
  21244. Reviewed by Brady.
  21245. * page/AccessibilityObject.cpp:
  21246. (WebCore::AccessibilityObject::press): Return false if this object
  21247. doesn't have an action element associated with it.
  21248. * page/AccessibilityObject.h: Added a performDefaultAction() method,
  21249. which just calls press(). Marked press() const and changed its return
  21250. type to bool.
  21251. 2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>
  21252. Reviewed by Adam.
  21253. Don't allow a hit test to return an AccessibilityObject that should be
  21254. ignored.
  21255. * page/AccessibilityObject.cpp:
  21256. (WebCore::AccessibilityObject::doAccessibilityHitTest): If this result
  21257. object's accessibility is ignored, return the parent unignored object.
  21258. 2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>
  21259. Reviewed by Adam.
  21260. Fix a crash when performing a hit test on an AccessibilityObject with
  21261. no layer (e.g., an AccessibilityObject for a RenderText object).
  21262. * page/AccessibilityObject.cpp:
  21263. (WebCore::AccessibilityObject::doAccessibilityHitTest): Added a null
  21264. check for layer. Removed a null check for m_renderer, which shouldn't
  21265. occur.
  21266. 2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>
  21267. * page/AccessibilityObject.cpp:
  21268. (WebCore::AccessibilityObject::boundingBoxRect): Added FIXME about this
  21269. method not working correctly for objects with CSS transforms applied.
  21270. 2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>
  21271. Reviewed by Adam.
  21272. Implement contentsToScreen() and screenToContents() on Windows.
  21273. * platform/ScrollView.h: Make these declarations conditional on
  21274. HAVE(ACCESSIBILITY) instead of PLATFORM(MAC).
  21275. * platform/win/ScrollViewWin.cpp:
  21276. (WebCore::ScrollView::contentsToScreen): Translate from coordinates
  21277. relative to the ScrollView to coordinates relative to the screen. Do
  21278. this by getting the offset of the ScrollView in screen coordinates and
  21279. moving the rect by this amount.
  21280. (WebCore::ScrollView::screenToContents): Translate from coordinates
  21281. relative to the screen to coordinates relative to the ScrollView.
  21282. 2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>
  21283. Reviewed by Oliver.
  21284. Add a method to get a localized, human-readable string stating this
  21285. object's default action, e.g., a button's default action is "press."
  21286. * page/AccessibilityObject.cpp:
  21287. (WebCore::AccessibilityObject::actionVerb): Added.
  21288. * page/AccessibilityObject.h: Added declaration for actionVerb().
  21289. * platform/LocalizedStrings.h: Added declarations for:
  21290. AXButtonActionVerb()
  21291. AXRadioButtonActionVerb()
  21292. AXTextFieldActionVerb()
  21293. AXCheckedCheckBoxActionVerb()
  21294. AXUncheckedCheckBoxActionVerb()
  21295. AXLinkActionVerb()
  21296. 2008-04-24 Tor Arne Vestbø <tavestbo@trolltech.com>
  21297. Reviewed by Simon.
  21298. Cleaned up copyright headers in the Qt port (removed misplaced class
  21299. descriptions and fixed inconsistent whitespace and indentation).
  21300. * platform/graphics/qt/FontQt.cpp:
  21301. * platform/qt/WheelEventQt.cpp:
  21302. 2008-04-24 Tor Arne Vestbø <tavestbo@trolltech.com>
  21303. Reviewed by Simon.
  21304. Disable vanlilla focus rings since Qt provides this as part of the style.
  21305. * platform/qt/RenderThemeQt.cpp:
  21306. 2008-04-24 George Staikos <george.staikos@torchmobile.com>
  21307. Reviewed by Simon.
  21308. This optimization in BitmapImage::drawPattern for the identity
  21309. transform is bogus and causes incorrect results on sites like youtube.
  21310. * platform/graphics/qt/ImageQt.cpp:
  21311. (WebCore::BitmapImage::drawPattern):
  21312. 2008-04-23 Brady Eidson <beidson@apple.com>
  21313. Reviewed by Jon Honeycutt
  21314. Preparing for making LocalStorageAreas persistent.
  21315. Since LocalStorageAreas will need to do a lot of additional work for each of the basic
  21316. operations a Storage object supports, this patch makes the API entry points virtual so
  21317. LocalStorageArea can override them. The behavior for both Local and Session StorageAreas
  21318. is unchanged with this patch, but LocalStorageArea will override them in the future.
  21319. * storage/StorageArea.cpp: Rename the implementations to internalFoo
  21320. (WebCore::StorageArea::internalLength):
  21321. (WebCore::StorageArea::internalKey):
  21322. (WebCore::StorageArea::internalGetItem):
  21323. (WebCore::StorageArea::internalSetItem):
  21324. (WebCore::StorageArea::internalRemoveItem):
  21325. (WebCore::StorageArea::internalContains):
  21326. * storage/StorageArea.h: Call internalFoo variants
  21327. (WebCore::StorageArea::length):
  21328. (WebCore::StorageArea::key):
  21329. (WebCore::StorageArea::getItem):
  21330. (WebCore::StorageArea::setItem):
  21331. (WebCore::StorageArea::removeItem):
  21332. (WebCore::StorageArea::contains):
  21333. 2008-04-23 David Hyatt <hyatt@apple.com>
  21334. Implement getComputedStyle for border-image.
  21335. Reviewed by Dan Bernstein
  21336. Added fast/css/getComputedStyle-border-image.html
  21337. * css/CSSComputedStyleDeclaration.cpp:
  21338. (WebCore::valueForRepeatRule):
  21339. (WebCore::valueForNinePieceImage):
  21340. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  21341. 2008-04-22 Darin Adler <darin@apple.com>
  21342. Reviewed by Anders.
  21343. - simplify use of HashTraits to prepare for some upcoming hash table changes
  21344. * page/AXObjectCache.h: Removed uneeded AXIDHashTraits, which are no different
  21345. from the default hash traits for unsigned.
  21346. * page/mac/AXObjectCacheMac.mm:
  21347. (WebCore::AXObjectCache::removeAXID): Remove assertion that's already done
  21348. by HashTable that the value is not the deleted value.
  21349. * platform/graphics/StringTruncator.cpp: Removed unneeded include.
  21350. * svg/SVGFontFaceElement.cpp: Removed unneeded include.
  21351. 2008-04-23 Kevin Ollivier <kevino@theolliviers.com>
  21352. wx build fixes. Changing BackgroundLayer -> FillLayer and adding
  21353. Frame::disconnectPlatformScriptObjects().
  21354. * platform/wx/RenderThemeWx.cpp:
  21355. (WebCore::RenderThemeWx::isControlStyled):
  21356. * platform/wx/TemporaryLinkStubs.cpp:
  21357. (Frame::disconnectPlatformScriptObjects):
  21358. 2008-04-23 David Hyatt <hyatt@apple.com>
  21359. Add support for mask-box-image (similar to border-image). This property enables a single image
  21360. to overlay the entire mask area (with nine-piece slicing rules similar to border image).
  21361. Reviewed by Dan Bernstein
  21362. Added inline-mask-overlay.html, block-mask-overlay.html
  21363. * css/CSSComputedStyleDeclaration.cpp:
  21364. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  21365. * css/CSSParser.cpp:
  21366. (WebCore::CSSParser::parseValue):
  21367. (WebCore::CSSParser::parseBorderImage):
  21368. * css/CSSPropertyNames.in:
  21369. * css/CSSStyleSelector.cpp:
  21370. (WebCore::CSSStyleSelector::applyProperty):
  21371. * rendering/InlineFlowBox.cpp:
  21372. (WebCore::InlineFlowBox::paintMask):
  21373. * rendering/RenderBox.cpp:
  21374. (WebCore::RenderBox::paintMask):
  21375. * rendering/RenderFlow.cpp:
  21376. (WebCore::RenderFlow::paintLines):
  21377. * rendering/RenderObject.cpp:
  21378. (WebCore::RenderObject::paintNinePieceImage):
  21379. (WebCore::RenderObject::paintBorder):
  21380. * rendering/RenderObject.h:
  21381. * rendering/RenderStyle.cpp:
  21382. (WebCore::NinePieceImage::operator==):
  21383. * rendering/RenderStyle.h:
  21384. (WebCore::NinePieceImage::m_verticalRule):
  21385. (WebCore::NinePieceImage::horizontalRule):
  21386. (WebCore::NinePieceImage::verticalRule):
  21387. (WebCore::RenderStyle::borderImage):
  21388. (WebCore::RenderStyle::maskOverlayImage):
  21389. (WebCore::RenderStyle::hasMask):
  21390. (WebCore::RenderStyle::resetBorderImage):
  21391. (WebCore::RenderStyle::setBorderImage):
  21392. (WebCore::RenderStyle::setMaskOverlayImage):
  21393. (WebCore::RenderStyle::initialNinePieceImage):
  21394. * rendering/RenderTable.cpp:
  21395. (WebCore::RenderTable::paintMask):
  21396. * rendering/RenderTableCell.cpp:
  21397. (WebCore::RenderTableCell::paintMask):
  21398. 2008-04-23 Justin Garcia <justin.garcia@apple.com>
  21399. Reviewed by Darin Adler.
  21400. <rdar://problem/5825350> OWA: Caret disappears when navigating with arrows keys in contenteditable div
  21401. * editing/htmlediting.cpp:
  21402. (WebCore::firstEditablePositionAfterPositionInRoot): Return a null VisiblePosition if
  21403. this function moves out of highestRoot. Re-wrote so as to not duplicate code inside
  21404. and outside of the while loop.
  21405. (WebCore::lastEditablePositionBeforePositionInRoot): Ditto.
  21406. 2008-04-23 Daniel Zucker <zucker@wake3.com>
  21407. Reviewed by Adam Roben.
  21408. Fix build errors needed to compile Curl in Cairo build. Add stubs for
  21409. didReceiveAuthenticationChallenge, receivedCredential,
  21410. receivedRequestToContinueWithoutCredential, and receivedCancellation.
  21411. <https://bugs.webkit.org/show_bug.cgi?id=18468>
  21412. * platform/network/ResourceHandle.h:
  21413. * platform/network/curl/ResourceHandleCurl.cpp:
  21414. (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
  21415. (WebCore::ResourceHandle::receivedCredential):
  21416. (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
  21417. (WebCore::ResourceHandle::receivedCancellation):
  21418. 2008-04-23 Dan Bernstein <mitz@apple.com>
  21419. Reviewed by Darin Adler.
  21420. - fix a bug where moving forward in bidirectional text skips over the
  21421. position after the end of the line
  21422. Test: editing/selection/move-past-trailing-space.html
  21423. * dom/Position.cpp:
  21424. (WebCore::Position::upstream): Changed the logic for identifying when a
  21425. position is after the last character of a text box of a text node that
  21426. continues on the next line, to make it work correctly when boxes are not
  21427. laid out in logical order.
  21428. (WebCore::Position::downstream): Ditto.
  21429. 2008-04-23 Brad Hughes <bhughes@trolltech.com>
  21430. Reviewed by Simon.
  21431. Fix release build with the intel compiler
  21432. Intel compiler can't compile qtwebkit with -O2 or -O1, so we're left with -O0
  21433. * WebCore.pro:
  21434. 2008-04-22 Dan Bernstein <mitz@apple.com>
  21435. Reviewed by Anders Carlsson.
  21436. - remove unused calls to Position::upstream()
  21437. * editing/InsertLineBreakCommand.cpp:
  21438. (WebCore::InsertLineBreakCommand::insertNodeAfterPosition):
  21439. (WebCore::InsertLineBreakCommand::insertNodeBeforePosition):
  21440. 2008-04-22 Jon Honeycutt <jhoneycutt@apple.com>
  21441. Reviewed by Sam.
  21442. Add a method to query which modifier keys the platform uses for access
  21443. key actions.
  21444. * page/EventHandler.cpp:
  21445. (WebCore::EventHandler::handleAccessKey): Bitwise and the event's
  21446. modifier keys with the platform's access key modifier mask to determine
  21447. whether this event can perform an access key action.
  21448. * page/EventHandler.h: Added s_accessKeyModifiers, a platform-defined
  21449. mask of modifier keys used for access key actions, and a getter.
  21450. * page/mac/EventHandlerMac.mm: Use PlatformKeyboardEvent::CtrlKey for
  21451. access key actions.
  21452. * page/qt/EventHandlerQt.cpp: Same.
  21453. * page/gtk/EventHandlerGtk.cpp: Use AltKey.
  21454. * page/win/EventHandlerWin.cpp: Same.
  21455. * page/wx/EventHandlerWx.cpp: Same.
  21456. * platform/PlatformKeyboardEvent.h: Added an enum, ModifierKey.
  21457. (WebCore::PlatformKeyboardEvent::):
  21458. (WebCore::PlatformKeyboardEvent::modifiers): Return which modifier keys
  21459. were active, a combination of ModifierKey values.
  21460. 2008-04-22 Sam Weinig <sam@webkit.org>
  21461. Reviewed by Maciej Stachowiak.
  21462. Make the KJSProxy and FrameLoader member variables instead of pointers
  21463. in FramePrivate in a bid to do a little clean up before the last of the
  21464. split window patches. Also, make the KJSProxy not lazily created, as the
  21465. real benefit comes from lazily creating the JSDOMWindowWrapper, which we
  21466. still do.
  21467. * page/Frame.cpp:
  21468. (WebCore::Frame::~Frame):
  21469. (WebCore::Frame::init):
  21470. (WebCore::Frame::loader):
  21471. (WebCore::Frame::scriptProxy):
  21472. (WebCore::Frame::document):
  21473. (WebCore::Frame::setDocument):
  21474. (WebCore::Frame::clearScriptProxy):
  21475. (WebCore::Frame::pageDestroyed):
  21476. (WebCore::FramePrivate::FramePrivate):
  21477. (WebCore::FramePrivate::~FramePrivate):
  21478. * page/FramePrivate.h:
  21479. 2008-04-22 Anatoli Papirovski <apapirovski@mac.com>
  21480. Reviewed by Dan Bernstein.
  21481. - fix https://bugs.webkit.org/show_bug.cgi?id=18584
  21482. border-color, outline-color, column-color, -webkit-text-stroke-color,
  21483. and -webkit-text-fill-color inheritance to correctly use parent's color
  21484. if the parent's corresponding (border, outline, etc.)-color property
  21485. wasn't set.
  21486. Test: fast/borders/border-color-inherit.html
  21487. * css/CSSStyleSelector.cpp:
  21488. (WebCore::CSSStyleSelector::applyProperty):
  21489. 2008-04-22 Alp Toker <alp@nuanti.com>
  21490. Rubber-stamped by Dave Hyatt.
  21491. Move GraphicsContext::clipToImageBuffer() notImplemented() stub to
  21492. GraphicsContextCairo.
  21493. * platform/graphics/GraphicsContext.cpp:
  21494. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  21495. (WebCore::GraphicsContext::clipToImageBuffer):
  21496. 2008-04-22 David Hyatt <hyatt@apple.com>
  21497. Add support for mask-composite to match background-composite.
  21498. Reviewed by Sam Weinig
  21499. Added fast/backgrounds/mask-composite.html
  21500. * css/CSSComputedStyleDeclaration.cpp:
  21501. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  21502. * css/CSSParser.cpp:
  21503. (WebCore::CSSParser::parseValue):
  21504. (WebCore::CSSParser::parseFillProperty):
  21505. * css/CSSPropertyNames.in:
  21506. * css/CSSStyleSelector.cpp:
  21507. (WebCore::CSSStyleSelector::applyProperty):
  21508. * rendering/InlineFlowBox.cpp:
  21509. (WebCore::InlineFlowBox::paintMask):
  21510. 2008-04-22 David Hyatt <hyatt@apple.com>
  21511. Fix for bug 18688, background-color stopped painting on inlines. Fix a virtual function
  21512. misnaming that led to the derived class not getting called properly.
  21513. Reviewed by Mark Rowe
  21514. * ChangeLog:
  21515. * rendering/InlineFlowBox.cpp:
  21516. (WebCore::InlineFlowBox::paintFillLayer):
  21517. * rendering/RenderObject.h:
  21518. (WebCore::RenderObject::paintFillLayerExtended):
  21519. 2008-04-22 Brady Eidson <beidson@apple.com>
  21520. Reviewed by Sam Weinig
  21521. <rdar://problem/5733282> and https://bugs.webkit.org/show_bug.cgi?id=18680
  21522. Always loads default shortcut icon URL when an external <script> is referenced before the icon URL is set.
  21523. * dom/Document.cpp:
  21524. (WebCore::Document::implicitClose): Call FrameLoader->startIconLoader() here, when the document is
  21525. finished parsing.
  21526. * loader/FrameLoader.cpp:
  21527. (WebCore::FrameLoader::endIfNotLoadingMainResource): Don't start the icon load here, when the
  21528. document is finished parsing. This was often too early, as document parsing may be blocked
  21529. on an external script and therefore the correct iconURL is not set yet.
  21530. The isLoadingFromCachedPage() check was when we started the icon load based on *loading* instead parsing,
  21531. and is now irrelevant.
  21532. * loader/FrameLoader.h: Make startIconLoader() public
  21533. 2008-04-22 Antti Koivisto <antti@apple.com>
  21534. Reviewed by Oliver.
  21535. Support keyPoints attribute of <animateMotion>.
  21536. Tested by SVG test suite test
  21537. animate-elem-33-t.svg
  21538. * svg/SVGAnimateMotionElement.cpp:
  21539. (WebCore::SVGAnimateMotionElement::parseMappedAttribute):
  21540. * svg/SVGAnimationElement.cpp:
  21541. (WebCore::parseKeyTimes):
  21542. (WebCore::SVGAnimationElement::parseMappedAttribute):
  21543. (WebCore::SVGAnimationElement::calculatePercentForSpline):
  21544. (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
  21545. (WebCore::SVGAnimationElement::currentValuesFromKeyPoints):
  21546. (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
  21547. (WebCore::SVGAnimationElement::startedActiveInterval):
  21548. (WebCore::SVGAnimationElement::updateAnimation):
  21549. * svg/SVGAnimationElement.h:
  21550. 2008-04-22 Holger Hans Peter Freyther <zecke@selfish.org>
  21551. Unreviewed build fix.
  21552. Update WebKit.qrc to catch up with the addition and removal of images
  21553. from page/inspector/Images in recent commits.
  21554. * page/inspector/WebKit.qrc:
  21555. 2008-04-22 David Hyatt <hyatt@apple.com>
  21556. Fix for <rdar://5589634>.
  21557. Implement CSS alpha masks. The syntax is very similar to that used for backgrounds. Multiple mask images
  21558. can be specified, and each one can be tiled, positioned, etc. The following new properties have been
  21559. added (all of which are analogous to their background-* counterparts).
  21560. mask, mask-image, mask-clip, mask-origin, mask-repeat, mask-attachment, mask-position
  21561. The alpha values in the final composite image are used to determine how the mask applies (alpha of 1 = show,
  21562. alpha of 0 = don't show).
  21563. SVG images and CSS gradients can also be used as masks.
  21564. Reviewed by Dan
  21565. Added fast/backgrounds/repeat/mask-negative-offset-repeat.html, fast/backgrounds/svg-as-mask.html
  21566. * css/CSSMutableStyleDeclaration.cpp:
  21567. (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
  21568. (WebCore::initShorthandMap):
  21569. * css/CSSParser.cpp:
  21570. (WebCore::CSSParser::parseFillProperty):
  21571. (WebCore::CSSParser::parseTransformOrigin):
  21572. * css/CSSStyleSelector.cpp:
  21573. (WebCore::CSSStyleSelector::adjustRenderStyle):
  21574. (WebCore::CSSStyleSelector::applyProperty):
  21575. * rendering/InlineFlowBox.cpp:
  21576. (WebCore::InlineFlowBox::paint):
  21577. (WebCore::InlineFlowBox::paintFillLayers):
  21578. (WebCore::InlineFlowBox::paintFillLayer):
  21579. (WebCore::InlineFlowBox::paintBoxDecorations):
  21580. (WebCore::InlineFlowBox::paintMask):
  21581. * rendering/InlineFlowBox.h:
  21582. * rendering/RenderBlock.cpp:
  21583. (WebCore::RenderBlock::paint):
  21584. (WebCore::RenderBlock::paintObject):
  21585. * rendering/RenderBox.cpp:
  21586. (WebCore::RenderBox::paintRootBoxDecorations):
  21587. (WebCore::RenderBox::paintBoxDecorations):
  21588. (WebCore::RenderBox::paintMask):
  21589. (WebCore::RenderBox::paintFillLayers):
  21590. (WebCore::RenderBox::paintFillLayer):
  21591. (WebCore::RenderBox::paintFillLayerExtended):
  21592. * rendering/RenderBox.h:
  21593. * rendering/RenderFieldset.cpp:
  21594. (WebCore::RenderFieldset::paintBoxDecorations):
  21595. (WebCore::RenderFieldset::paintMask):
  21596. * rendering/RenderFieldset.h:
  21597. * rendering/RenderInline.cpp:
  21598. (WebCore::RenderInline::requiresLayer):
  21599. * rendering/RenderLayer.cpp:
  21600. (WebCore::RenderLayer::isTransparent):
  21601. (WebCore::RenderLayer::paintLayer):
  21602. * rendering/RenderObject.cpp:
  21603. (WebCore::RenderObject::requiresLayer):
  21604. (WebCore::mustRepaintFillLayers):
  21605. (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
  21606. (WebCore::RenderObject::setStyle):
  21607. (WebCore::RenderObject::updateFillImages):
  21608. * rendering/RenderObject.h:
  21609. (WebCore::RenderObject::hasMask):
  21610. (WebCore::RenderObject::paintMask):
  21611. (WebCore::RenderObject::paintFillExtended):
  21612. * rendering/RenderReplaced.cpp:
  21613. (WebCore::RenderReplaced::paint):
  21614. * rendering/RenderStyle.cpp:
  21615. (WebCore::FillLayer::FillLayer):
  21616. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  21617. * rendering/RenderStyle.h:
  21618. (WebCore::FillLayer::initialFillComposite):
  21619. (WebCore::FillLayer::initialFillSize):
  21620. (WebCore::FillLayer::FillLayer):
  21621. (WebCore::RenderStyle::hasMask):
  21622. * rendering/RenderTable.cpp:
  21623. (WebCore::RenderTable::paint):
  21624. (WebCore::RenderTable::paintBoxDecorations):
  21625. (WebCore::RenderTable::paintMask):
  21626. * rendering/RenderTable.h:
  21627. * rendering/RenderTableCell.cpp:
  21628. (WebCore::RenderTableCell::requiresLayer):
  21629. (WebCore::RenderTableCell::paintBackgroundsBehindCell):
  21630. (WebCore::RenderTableCell::paintMask):
  21631. * rendering/RenderTableCell.h:
  21632. * rendering/RenderWidget.cpp:
  21633. (WebCore::RenderWidget::paint):
  21634. * svg/graphics/SVGImage.cpp:
  21635. (WebCore::SVGImage::draw):
  21636. (WebCore::SVGImage::dataChanged):
  21637. 2008-04-22 Sam Weinig <sam@webkit.org>
  21638. Reviewed by Geoffrey Garen.
  21639. Make DOMAbstractView have a weak reference to the Frame instead of ref'ing
  21640. the DOMWindow.
  21641. To ensure that the WindowScriptObject (which is a DOMAbstractView) stays valid
  21642. after a navigation once the split window is completed, the DOMAbstractView must
  21643. wrap the Frame instead of a DOMWindow since the DOMWindow will change.
  21644. * WebCore.xcodeproj/project.pbxproj:
  21645. * bindings/objc/DOMAbstractView.mm: Added.
  21646. (-[DOMAbstractView dealloc]):
  21647. (-[DOMAbstractView finalize]):
  21648. (-[DOMAbstractView document]):
  21649. (-[DOMAbstractView _disconnectFrame]):
  21650. (-[DOMAbstractView WebCore::]):
  21651. (-[DOMAbstractView _initWithFrame:WebCore::]):
  21652. (+[DOMAbstractView _wrapAbstractView:WebCore::]):
  21653. Add custom implementation to implement weak reference semantics.
  21654. * bindings/objc/DOMAbstractViewFrame.h: Added.
  21655. Declare the [DOMAbstractView _disconectFrame] selector.
  21656. * bindings/objc/DOMInternal.h:
  21657. Remove DOMRGBColor Internal category since it is now generated.
  21658. * bindings/objc/DOMUtility.mm:
  21659. (KJS::createDOMWrapper):
  21660. Don't ever create a DOMAbstractView from a JSDOMWindow, only from JSDOMWindowWrapper.
  21661. * bindings/scripts/CodeGeneratorObjC.pm:
  21662. Generate internal header for IDLs that want custom implementations.
  21663. * css/RGBColor.idl:
  21664. Make this a PODType as it really is in the implementation.
  21665. * page/AbstractView.idl:
  21666. This now needs a custom objective-c binding implementation.
  21667. * page/Frame.cpp:
  21668. (WebCore::Frame::~Frame):
  21669. disconnect the weak frame reference in the WindowScriptObject.
  21670. * page/Frame.h:
  21671. * page/gtk/FrameGtk.cpp:
  21672. (WebCore::Frame::disconnectPlatformScriptObjects): Dummy implementation.
  21673. * page/mac/FrameMac.mm:
  21674. (WebCore::Frame::windowScriptObject): ASSERT that the windowScriptObject is a DOMAbstractView.
  21675. (WebCore::Frame::disconnectPlatformScriptObjects): Disconnect the frame pointer from the windowScriptObject.
  21676. * page/qt/FrameQt.cpp:
  21677. (WebCore::Frame::disconnectPlatformScriptObjects): Dummy implementation.
  21678. * page/win/FrameWin.cpp:
  21679. (WebCore::Frame::disconnectPlatformScriptObjects): Ditto.
  21680. 2008-04-22 Dan Bernstein <mitz@apple.com>
  21681. Reviewed by Sam Weinig.
  21682. - preparation for https://bugs.webkit.org/show_bug.cgi?id=3729
  21683. <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text
  21684. * rendering/bidi.cpp:
  21685. (WebCore::RenderBlock::layoutInlineChildren): Make sure to give the
  21686. trailing white space a bidi level consistent with its position.
  21687. 2008-04-22 Timothy Hatcher <timothy@apple.com>
  21688. Remove many unused Web Inspector images.
  21689. Rubber-stamped by Adam Roben and Sam Weinig.
  21690. * page/inspector/Images/attachedShadow.png: Removed.
  21691. * page/inspector/Images/backNormal.png: Removed.
  21692. * page/inspector/Images/bottomShadow.png: Removed.
  21693. * page/inspector/Images/breadcrumbBackground.png: Removed.
  21694. * page/inspector/Images/console.png: Removed.
  21695. * page/inspector/Images/databaseBrowserViewNormal.png: Removed.
  21696. * page/inspector/Images/databaseBrowserViewNormalSelected.png: Removed.
  21697. * page/inspector/Images/databaseBrowserViewSmall.png: Removed.
  21698. * page/inspector/Images/databaseBrowserViewSmallSelected.png: Removed.
  21699. * page/inspector/Images/databaseQueryViewNormal.png: Removed.
  21700. * page/inspector/Images/databaseQueryViewNormalSelected.png: Removed.
  21701. * page/inspector/Images/databaseQueryViewSmall.png: Removed.
  21702. * page/inspector/Images/databaseQueryViewSmallSelected.png: Removed.
  21703. * page/inspector/Images/disclosureDownPressed.png: Removed.
  21704. * page/inspector/Images/disclosureRightDown.png: Removed.
  21705. * page/inspector/Images/disclosureRightPressed.png: Removed.
  21706. * page/inspector/Images/document.png: Removed.
  21707. * page/inspector/Images/domViewNormal.png: Removed.
  21708. * page/inspector/Images/domViewNormalSelected.png: Removed.
  21709. * page/inspector/Images/domViewSmall.png: Removed.
  21710. * page/inspector/Images/domViewSmallSelected.png: Removed.
  21711. * page/inspector/Images/downTriangle.png: Removed.
  21712. * page/inspector/Images/folder.png: Removed.
  21713. * page/inspector/Images/forwardNormal.png: Removed.
  21714. * page/inspector/Images/gradient.png: Removed.
  21715. * page/inspector/Images/gradientHighlight.png: Removed.
  21716. * page/inspector/Images/gradientHighlightBottom.png: Removed.
  21717. * page/inspector/Images/hideStatusWidget.png: Removed.
  21718. * page/inspector/Images/hideStatusWidgetPressed.png: Removed.
  21719. * page/inspector/Images/network.png: Removed.
  21720. * page/inspector/Images/plainDocument.png: Removed.
  21721. * page/inspector/Images/popupArrows.png: Removed.
  21722. * page/inspector/Images/popupArrowsBlack.png: Removed.
  21723. * page/inspector/Images/reload.png: Removed.
  21724. * page/inspector/Images/rightTriangle.png: Removed.
  21725. * page/inspector/Images/showStatusWidget.png: Removed.
  21726. * page/inspector/Images/showStatusWidgetPressed.png: Removed.
  21727. * page/inspector/Images/sidbarItemBackground.png: Removed.
  21728. * page/inspector/Images/sidebarActionWidget.png: Removed.
  21729. * page/inspector/Images/sidebarActionWidgetPressed.png: Removed.
  21730. * page/inspector/Images/sidebarAttachWidget.png: Removed.
  21731. * page/inspector/Images/sidebarAttachWidgetPressed.png: Removed.
  21732. * page/inspector/Images/sidebarDetachWidget.png: Removed.
  21733. * page/inspector/Images/sidebarDetachWidgetPressed.png: Removed.
  21734. * page/inspector/Images/sidebarResizeWidget.png: Removed.
  21735. * page/inspector/Images/sidebarStatusAreaBackground.png: Removed.
  21736. * page/inspector/Images/sourceViewNormal.png: Removed.
  21737. * page/inspector/Images/sourceViewNormalSelected.png: Removed.
  21738. * page/inspector/Images/sourceViewSmall.png: Removed.
  21739. * page/inspector/Images/sourceViewSmallSelected.png: Removed.
  21740. * page/inspector/Images/tab.png: Removed.
  21741. * page/inspector/Images/tabSelected.png: Removed.
  21742. * page/inspector/Images/toggleDown.png: Removed.
  21743. * page/inspector/Images/toggleUp.png: Removed.
  21744. * page/inspector/Images/toolbarButtonNormal.png: Removed.
  21745. * page/inspector/Images/toolbarButtonNormalInactive.png: Removed.
  21746. * page/inspector/Images/toolbarButtonNormalPressed.png: Removed.
  21747. * page/inspector/Images/toolbarButtonNormalSelected.png: Removed.
  21748. * page/inspector/Images/toolbarButtonNormalSelectedInactive.png: Removed.
  21749. * page/inspector/Images/toolbarButtonSmall.png: Removed.
  21750. * page/inspector/Images/toolbarButtonSmallInactive.png: Removed.
  21751. * page/inspector/Images/toolbarButtonSmallPressed.png: Removed.
  21752. * page/inspector/Images/toolbarButtonSmallSelected.png: Removed.
  21753. * page/inspector/Images/toolbarButtonSmallSelectedInactive.png: Removed.
  21754. * page/inspector/Images/toolbarPopupButtonNormal.png: Removed.
  21755. * page/inspector/Images/toolbarPopupButtonNormalInactive.png: Removed.
  21756. * page/inspector/Images/toolbarPopupButtonNormalPressed.png: Removed.
  21757. * page/inspector/Images/toolbarPopupButtonSmall.png: Removed.
  21758. * page/inspector/Images/toolbarPopupButtonSmallInactive.png: Removed.
  21759. * page/inspector/Images/toolbarPopupButtonSmallPressed.png: Removed.
  21760. * page/inspector/Images/toolbarSplitButtonDividerNormal.png: Removed.
  21761. * page/inspector/Images/toolbarSplitButtonDividerNormalInactive.png: Removed.
  21762. * page/inspector/Images/toolbarSplitButtonDividerSmall.png: Removed.
  21763. * page/inspector/Images/toolbarSplitButtonDividerSmallInactive.png: Removed.
  21764. * page/inspector/Images/treeLeftTriangleBlack.png: Removed.
  21765. 2008-04-22 Anders Carlsson <andersca@apple.com>
  21766. Reviewed by Darin.
  21767. Add NPN_Construct and NPN_PluginThreadAsyncCall declarations.
  21768. * bridge/npapi.h:
  21769. * bridge/npruntime.h:
  21770. * plugins/npfunctions.h:
  21771. 2008-04-22 Alice Liu <alice.liu@apple.com>
  21772. Reviewed by John Sullivan and Adam Roben.
  21773. Test: fast/events/tabindex-focus-chain.html
  21774. * dom/Document.cpp:
  21775. (WebCore::Document::nextFocusableNode):
  21776. (WebCore::Document::previousFocusableNode):
  21777. If the focused node has been removed from the normal tabbing order,
  21778. advancing focus from this node should advance to the next focusable
  21779. node in tree order, and not start over at the beginning of the focus
  21780. chain.
  21781. 2008-04-22 Timothy Hatcher <timothy@apple.com>
  21782. Adds a debugger toggle button to the scripts status bar that will start
  21783. and stop debugging of the inspected page.
  21784. Reviewed by Adam Roben.
  21785. * English.lproj/InspectorLocalizedStrings.js: Adds the two new tooltip strings.
  21786. * page/InspectorController.cpp:
  21787. (WebCore::debuggerAttached): Call InspectorController::debuggerAttached.
  21788. (WebCore::InspectorController::InspectorController): Initialize
  21789. m_debuggerAttached to false.
  21790. (WebCore::InspectorController::windowScriptObjectAvailable): Add the debuggerAttached
  21791. property to the InspectorController class.
  21792. (WebCore::InspectorController::startDebuggingAndReloadInspectedPage):
  21793. Set m_debuggerAttached to true.
  21794. (WebCore::InspectorController::stopDebugging): Set m_debuggerAttached to false.
  21795. * page/InspectorController.h:
  21796. * page/inspector/Images/debuggingButtons.png: Added.
  21797. * page/inspector/ScriptsPanel.js:
  21798. (WebInspector.ScriptsPanel): Disable the pause button. Create the debugging
  21799. button and setup the id, className and event listener. Call reset.
  21800. (WebInspector.ScriptsPanel.prototype.get statusBarItems): Return an array
  21801. (WebInspector.ScriptsPanel.prototype.reset): Call _updateDebuggerButtons.
  21802. (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Adjust the title of
  21803. the debugging button to match what will happen when clicked. Change the style class,
  21804. and toggle the disabled state of the pause button.
  21805. (WebInspector.ScriptsPanel.prototype._toggleDebugging): Start or stop debugging
  21806. depending on InspectorController.debuggerAttached().
  21807. * page/inspector/inspector.css: Added style rules for the debugger button.
  21808. 2008-04-21 Adam Roben <aroben@apple.com>
  21809. Change PlatformWheelEvent to use GET_WHEEL_DELTA_WPARAM
  21810. Reviewed by Dan Bernstein.
  21811. * platform/win/WheelEventWin.cpp:
  21812. (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use
  21813. GET_WHEEL_DELTA_WPARAM, which is documented way of getting the wheel
  21814. delta (it is equivalent to what we were previously doing, however).
  21815. 2008-04-22 Simon Hausmann <hausmann@webkit.org>
  21816. Qt build fix.
  21817. Adjust the Qt resource file to removed image files.
  21818. * page/inspector/WebKit.qrc:
  21819. 2008-04-21 Timothy Hatcher <timothy@apple.com>
  21820. Use CSS gradients to replace many image files in the Web Inspector.
  21821. Rubber-stamped by Adam Roben.
  21822. * page/inspector/Images/alternateTableRows.png: Removed.
  21823. * page/inspector/Images/darkShadow.png: Removed.
  21824. * page/inspector/Images/paneHeader.png: Removed.
  21825. * page/inspector/Images/paneHeaderActive.png: Removed.
  21826. * page/inspector/Images/sidebarSelection.png: Removed.
  21827. * page/inspector/Images/sidebarSelectionBackground.png: Removed.
  21828. * page/inspector/Images/sidebarSelectionBackgroundFocused.png: Removed.
  21829. * page/inspector/Images/sidebarSelectionBackgroundInactive.png: Removed.
  21830. * page/inspector/Images/sidebarSelectionBlurred.png: Removed.
  21831. * page/inspector/Images/sidebarSelectionBlurredTall.png: Removed.
  21832. * page/inspector/Images/sidebarSelectionGray.png: Removed.
  21833. * page/inspector/Images/sidebarSelectionGrayTall.png: Removed.
  21834. * page/inspector/Images/sidebarSelectionTall.png: Removed.
  21835. * page/inspector/Images/sidebarSmallSelectionBackground.png: Removed.
  21836. * page/inspector/Images/sidebarSmallSelectionBackgroundFocused.png: Removed.
  21837. * page/inspector/Images/sidebarSmallSelectionBackgroundInactive.png: Removed.
  21838. * page/inspector/Images/toolbarBackground.png: Removed.
  21839. * page/inspector/Images/toolbarBackgroundInactive.png: Removed.
  21840. * page/inspector/inspector.css:
  21841. 2008-04-22 Andre Poenitz <andre.poenitz@trolltech.com>
  21842. Reviewed by Simon.
  21843. Remove compiler warnings on string literals used to construct QStrings
  21844. in webkit.
  21845. * bridge/qt/qt_instance.cpp:
  21846. (KJS::Bindings::QtField::valueFromInstance):
  21847. (KJS::Bindings::QtField::setValueToInstance):
  21848. * bridge/qt/qt_runtime.cpp:
  21849. (KJS::Bindings::convertValueToQVariant):
  21850. (KJS::Bindings::QtRuntimeConnectionMethod::callAsFunction):
  21851. 2008-04-22 Tor Arne Vestbø <tavestbo@trolltech.com>
  21852. Reviewed by Simon.
  21853. Fall back to last path component for suggested filename if the HTTP content disposition is not set.
  21854. * platform/network/qt/QNetworkReplyHandler.cpp:
  21855. (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
  21856. 2008-04-22 Tor Arne Vestbø <tavestbo@trolltech.com>
  21857. Reviewed by Simon.
  21858. Implemented the generation of the title string for images.
  21859. * platform/qt/Localizations.cpp:
  21860. 2008-04-22 Simon Hausmann <hausmann@webkit.org>
  21861. Qt build fix.
  21862. * platform/qt/RenderThemeQt.cpp: Adjust isControlStyled signature to
  21863. the signature in the base class.
  21864. * platform/qt/RenderThemeQt.h: Ditto.
  21865. 2008-04-19 Jon Honeycutt <jhoneycutt@apple.com>
  21866. Reviewed by Darin.
  21867. Add a method to get the AccessibilityObject's access key,
  21868. * page/AccessibilityObject.cpp:
  21869. (WebCore::AccessibilityObject::accessKey): Added; returns the object's
  21870. access key attribute.
  21871. * page/AccessibilityObject.h: Added declaration for accessKey().
  21872. 2008-04-21 Sam Weinig <sam@webkit.org>
  21873. Reviewed by Anders Carlsson.
  21874. Fix numerous crashing tests.
  21875. * html/HTMLHtmlElement.cpp:
  21876. (WebCore::HTMLHtmlElement::insertedIntoDocument): Null check document->frame().
  21877. 2008-04-21 Dan Bernstein <mitz@apple.com>
  21878. Reviewed by Darin Adler.
  21879. Tests: fast/media/implicit-media-all.html
  21880. fast/media/monochrome.html
  21881. - allow implicit "all" media in media queries
  21882. - use a value of 0 for the monochrome media feature on color displays
  21883. * css/CSSGrammar.y:
  21884. * css/CSSParser.cpp:
  21885. (WebCore::CSSParser::createFloatingMediaQuery):
  21886. * css/CSSParser.h:
  21887. * css/MediaQueryEvaluator.cpp:
  21888. (WebCore::monochromeMediaFeatureEval):
  21889. 2008-04-21 Brady Eidson <beidson@apple.com>
  21890. Rockingly reviewed by Adele
  21891. Small StorageArea cleanups
  21892. * storage/SessionStorageArea.cpp:
  21893. (WebCore::SessionStorageArea::copy): Pass "this" instead of the StorageMap belonging to this
  21894. (WebCore::SessionStorageArea::SessionStorageArea):
  21895. * storage/SessionStorageArea.h:
  21896. * storage/StorageArea.cpp: Changed to not expose the StorageMap at all - it's dangerous to expose
  21897. it since we rely explicitly on its ref-count
  21898. (WebCore::StorageArea::StorageArea): Take another StorageArea as the c'tor argument and get the
  21899. StorageMap from that.
  21900. (WebCore::StorageArea::setItem): The previous comment/code here was bogus. All JS objects passed in
  21901. to this API are stringified, so there's no such thing as "null" for setItem()
  21902. * storage/StorageArea.h:
  21903. 2008-04-21 Justin Garcia <justin.garcia@apple.com>
  21904. Reviewed by John Sullivan.
  21905. <rdar://problem/5803706> Pressing return at the end of a header doesn't break out of header (17460)
  21906. If we're doing InsertParagraphSeparator at the end of a header element, do not clone it.
  21907. Renamed m_useDefaultParagraphElement to m_mustUseDefaultParagraphElement, since now,
  21908. when it is false, that does not necessarily mean that a default paragraph element
  21909. will not be used. Callers that passed false for this argument are OK with this.
  21910. * editing/InsertParagraphSeparatorCommand.cpp:
  21911. (WebCore::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand):
  21912. (WebCore::InsertParagraphSeparatorCommand::shouldUseDefaultParagraphElement):
  21913. (WebCore::InsertParagraphSeparatorCommand::doApply):
  21914. * editing/InsertParagraphSeparatorCommand.h:
  21915. 2008-04-21 Anders Carlsson <andersca@apple.com>
  21916. Reviewed by Adam.
  21917. Perform cache selection. If a main resource has a URL that exists in a cache, load it from there.
  21918. * html/HTMLAttributeNames.in:
  21919. Add manifest attribute.
  21920. * html/HTMLHtmlElement.cpp:
  21921. (WebCore::HTMLHtmlElement::insertedIntoDocument):
  21922. * html/HTMLHtmlElement.h:
  21923. Perform cache selection.
  21924. * loader/MainResourceLoader.cpp:
  21925. (WebCore::MainResourceLoader::load):
  21926. * loader/appcache/ApplicationCacheGroup.cpp:
  21927. (WebCore::cacheHostSet):
  21928. (WebCore::urlHostHash):
  21929. (WebCore::ApplicationCacheGroup::cacheForRequest):
  21930. (WebCore::ApplicationCacheGroup::selectCache):
  21931. * loader/appcache/ApplicationCacheGroup.h:
  21932. * platform/KURL.h:
  21933. (WebCore::KURL::hostStart):
  21934. (WebCore::KURL::hostEnd):
  21935. 2008-04-21 Mike Belshe <mike@belshe.com>
  21936. Reviewed by eseidel and darin. Landed by eseidel.
  21937. Fix broken optimization in createStrippingNullCharacters.
  21938. * platform/text/StringImpl.cpp:
  21939. (WebCore::StringImpl::createStrippingNullCharacters):
  21940. 2008-04-21 David Hyatt <hyatt@apple.com>
  21941. Make the back end parsing of background properties generic. Rename all the parsing functions from
  21942. background -> fill.
  21943. Add a new set of properties for doing masks. The code is now refactored so that the mask properties
  21944. and the background properties share parsing routines.
  21945. Reviewed by Dan
  21946. * css/CSSComputedStyleDeclaration.cpp:
  21947. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  21948. * css/CSSParser.cpp:
  21949. (WebCore::CSSParser::parseValue):
  21950. (WebCore::CSSParser::addFillValue):
  21951. (WebCore::CSSParser::parseFillShorthand):
  21952. (WebCore::CSSParser::parseFillImage):
  21953. (WebCore::CSSParser::parseFillPositionXY):
  21954. (WebCore::CSSParser::parseFillPosition):
  21955. (WebCore::CSSParser::parseFillSize):
  21956. (WebCore::CSSParser::parseFillProperty):
  21957. (WebCore::CSSParser::parseTransformOrigin):
  21958. * css/CSSParser.h:
  21959. * css/CSSPropertyNames.in:
  21960. * css/CSSStyleSelector.cpp:
  21961. (WebCore::CSSStyleSelector::CSSStyleSelector):
  21962. (WebCore::CSSStyleSelector::mapFillAttachment):
  21963. (WebCore::CSSStyleSelector::mapFillClip):
  21964. (WebCore::CSSStyleSelector::mapFillComposite):
  21965. (WebCore::CSSStyleSelector::mapFillOrigin):
  21966. (WebCore::CSSStyleSelector::mapFillImage):
  21967. (WebCore::CSSStyleSelector::mapFillRepeat):
  21968. (WebCore::CSSStyleSelector::mapFillSize):
  21969. (WebCore::CSSStyleSelector::mapFillXPosition):
  21970. (WebCore::CSSStyleSelector::mapFillYPosition):
  21971. * rendering/RenderStyle.cpp:
  21972. (WebCore::FillLayer::FillLayer):
  21973. (WebCore::FillLayer::operator=):
  21974. (WebCore::FillLayer::operator==):
  21975. (WebCore::StyleBackgroundData::StyleBackgroundData):
  21976. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  21977. (WebCore::StyleRareNonInheritedData::operator==):
  21978. (WebCore::RenderStyle::diff):
  21979. * rendering/RenderStyle.h:
  21980. (WebCore::LengthSize::LengthSize):
  21981. (WebCore::FillLayer::type):
  21982. (WebCore::FillLayer::initialFillAttachment):
  21983. (WebCore::FillLayer::initialFillClip):
  21984. (WebCore::FillLayer::initialFillOrigin):
  21985. (WebCore::FillLayer::initialFillRepeat):
  21986. (WebCore::FillLayer::initialFillComposite):
  21987. (WebCore::FillLayer::initialFillSize):
  21988. (WebCore::FillLayer::initialFillXPosition):
  21989. (WebCore::FillLayer::initialFillYPosition):
  21990. (WebCore::FillLayer::initialFillImage):
  21991. (WebCore::RenderStyle::maskImage):
  21992. (WebCore::RenderStyle::maskRepeat):
  21993. (WebCore::RenderStyle::maskComposite):
  21994. (WebCore::RenderStyle::maskAttachment):
  21995. (WebCore::RenderStyle::maskClip):
  21996. (WebCore::RenderStyle::maskOrigin):
  21997. (WebCore::RenderStyle::maskXPosition):
  21998. (WebCore::RenderStyle::maskYPosition):
  21999. (WebCore::RenderStyle::maskSize):
  22000. (WebCore::RenderStyle::accessMaskLayers):
  22001. (WebCore::RenderStyle::maskLayers):
  22002. (WebCore::RenderStyle::clearBackgroundLayers):
  22003. (WebCore::RenderStyle::clearMaskLayers):
  22004. (WebCore::RenderStyle::inheritMaskLayers):
  22005. 2008-04-21 Timothy Hatcher <timothy@apple.com>
  22006. Fixes the issue were a Database view could still be visible after navigating to a new page.
  22007. Reviewed by Darin Adler.
  22008. * page/inspector/DatabasesPanel.js:
  22009. (WebInspector.DatabasesPanel.prototype.reset): Delete the _tableViews and _queryView properties
  22010. from all databases. Remove all the children from databaseViews.
  22011. 2008-04-21 Timothy Hatcher <timothy@apple.com>
  22012. Adds the ability to enter multi-line commands in the console by holding the
  22013. alt/option key when pressing enter/return.
  22014. https://bugs.webkit.org/show_bug.cgi?id=18454
  22015. Reviewed by Darin Adler.
  22016. * page/inspector/Console.js:
  22017. (WebInspector.Console.prototype._enterKeyPressed): Return early if the
  22018. alt/option key is held when enter is pressed.
  22019. * page/inspector/inspector.css:
  22020. (.console-message-text): Added. Set white-space: pre-wrap.
  22021. 2008-04-21 Timothy Hatcher <timothy@apple.com>
  22022. Fixes the bug where the Database table names do not update when
  22023. running the CREATE TABLE or DROP TABLE queries. Also makes the
  22024. table names update every time the database is collapsed and expanded.
  22025. https://bugs.webkit.org/show_bug.cgi?id=18453
  22026. Reviewed by Darin Adler.
  22027. * page/inspector/DatabasesPanel.js:
  22028. (WebInspector.DatabasesPanel.prototype.updateDatabaseTables):
  22029. Set shouldRefreshChildren to true on the Database's tree element.
  22030. The refreshChildren property was renamed to shouldRefreshChildren.
  22031. (WebInspector.DatabaseSidebarTreeElement.prototype.oncollapse):
  22032. Request a refresh after every collapse so the next expand will
  22033. have an updated table list.
  22034. 2008-04-21 Timothy Hatcher <timothy@apple.com>
  22035. Adds INDEX to the list of completion words for the Databases query view.
  22036. https://bugs.webkit.org/show_bug.cgi?id=18452
  22037. Reviewed by Darin Adler.
  22038. * page/inspector/DatabaseQueryView.js:
  22039. (WebInspector.DatabaseQueryView.prototype.completions): Split up "CREATE TABLE "
  22040. and "DROP TABLE " into "CREATE ", "DROP ", "TABLE ". And added "INDEX ".
  22041. 2008-04-21 Timothy Hatcher <timothy@apple.com>
  22042. Adds the UI portions of the Scripts panel to the Web Inspector.
  22043. The Scripts panel has not been added to the toolbar yet.
  22044. https://bugs.webkit.org/show_bug.cgi?id=18601
  22045. Reviewed by Adam Roben.
  22046. * English.lproj/InspectorLocalizedStrings.js: Changed "Show inherited properties"
  22047. to "Show inherited". Adds new strings for the Scripts' panel tooltips.
  22048. * page/inspector/BreakpointsSidebarPane.js: Added.
  22049. * page/inspector/CallStackSidebarPane.js: Added.
  22050. * page/inspector/Images/back.png: Added.
  22051. * page/inspector/Images/debuggerContinue.png: Added.
  22052. * page/inspector/Images/debuggerPause.png: Added.
  22053. * page/inspector/Images/debuggerStepInto.png: Added.
  22054. * page/inspector/Images/debuggerStepOut.png: Added.
  22055. * page/inspector/Images/debuggerStepOver.png: Added.
  22056. * page/inspector/Images/forward.png: Added.
  22057. * page/inspector/Images/statusbarResizerHorizontal.png: Added.
  22058. * page/inspector/PropertiesSection.js:
  22059. (WebInspector.PropertiesSection): Flip the order the subtile is appended
  22060. so it can float right in the CSS.
  22061. * page/inspector/ScriptsPanel.js: Added.
  22062. * page/inspector/StylesSidebarPane.js:
  22063. (WebInspector.StylePropertiesSection): Changed "Show inherited properties"
  22064. to "Show inherited".
  22065. * page/inspector/inspector.css: Added new CSS rules for the Scripts panel.
  22066. Also changes the look of the section to match the mockup, this affects
  22067. Styles and Properties in Elements.
  22068. * page/inspector/inspector.html: Import new files.
  22069. * page/inspector/inspector.js:
  22070. (Preferences.minScriptsSidebarWidth): Added.
  22071. 2008-04-21 Kevin McCullough <kmccullough@apple.com>
  22072. Reviewed by Adam.
  22073. <rdar://problem/5770054> JavaScript profiler (10928)
  22074. Took out debugging printing since we really want to hook into the
  22075. inspector and not to print to the terminal.
  22076. * page/Console.cpp:
  22077. (WebCore::Console::profileEnd):
  22078. 2008-04-21 Sam Weinig <sam@webkit.org>
  22079. Reviewed by Alexey Proskuryakov.
  22080. Fix up XMLHttpRequestProgressEvent.
  22081. * bindings/js/JSEventCustom.cpp:
  22082. (WebCore::toJS):
  22083. * xml/XMLHttpRequestProgressEvent.cpp:
  22084. * xml/XMLHttpRequestProgressEvent.h:
  22085. 2008-04-21 Adam Roben <aroben@apple.com>
  22086. Fix Bug 18615: Crash in PluginPackage::hash
  22087. <https://bugs.webkit.org/show_bug.cgi?id=18615>
  22088. Reviewed by Anders Carlsson.
  22089. * plugins/PluginDatabase.cpp:
  22090. (WebCore::PluginDatabase::refresh): Don't pass a null PluginPackage*
  22091. to add().
  22092. 2008-04-21 Anders Carlsson <andersca@apple.com>
  22093. Reviewed by Adam.
  22094. Add cache group implementation.
  22095. * loader/DocumentLoader.cpp:
  22096. (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
  22097. * loader/appcache/ApplicationCache.cpp:
  22098. (WebCore::ApplicationCache::requestIsHTTPOrHTTPSGet):
  22099. (WebCore::ApplicationCache::resourceForRequest):
  22100. * loader/appcache/ApplicationCache.h:
  22101. * loader/appcache/ApplicationCacheGroup.cpp:
  22102. (WebCore::cacheGroupMap):
  22103. (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
  22104. (WebCore::ApplicationCacheGroup::selectCache):
  22105. (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
  22106. (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
  22107. (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
  22108. (WebCore::ApplicationCacheGroup::cacheDestroyed):
  22109. (WebCore::ApplicationCacheGroup::update):
  22110. (WebCore::ApplicationCacheGroup::didReceiveResponse):
  22111. (WebCore::ApplicationCacheGroup::didReceiveData):
  22112. (WebCore::ApplicationCacheGroup::didFinishLoading):
  22113. (WebCore::ApplicationCacheGroup::didFail):
  22114. (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
  22115. (WebCore::ApplicationCacheGroup::didReceiveManifestData):
  22116. (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
  22117. (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
  22118. (WebCore::ApplicationCacheGroup::didFailToLoadManifest):
  22119. (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
  22120. (WebCore::ApplicationCacheGroup::startLoadingEntry):
  22121. (WebCore::ApplicationCacheGroup::addEntry):
  22122. (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache):
  22123. (WebCore::ApplicationCacheGroup::callListenersOnAssociatedDocuments):
  22124. (WebCore::ApplicationCacheGroup::callListeners):
  22125. * loader/appcache/ApplicationCacheGroup.h:
  22126. (WebCore::ApplicationCacheGroup::status):
  22127. (WebCore::ApplicationCacheGroup::newestCache):
  22128. * platform/KURL.h:
  22129. (WebCore::KURL::hostStart):
  22130. (WebCore::KURL::hostEnd):
  22131. 2008-04-21 David Hyatt <hyatt@apple.com>
  22132. Rename BackgroundLayer -> FillLayer in preparation for it being used for other types of fills.
  22133. Reviewed by Dan
  22134. * css/CSSComputedStyleDeclaration.cpp:
  22135. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  22136. * css/CSSPrimitiveValueMappings.h:
  22137. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  22138. (WebCore::CSSPrimitiveValue::operator EFillBox):
  22139. (WebCore::CSSPrimitiveValue::operator EFillRepeat):
  22140. * css/CSSStyleSelector.cpp:
  22141. (WebCore::CSSStyleSelector::applyProperty):
  22142. (WebCore::CSSStyleSelector::mapFillAttachment):
  22143. (WebCore::CSSStyleSelector::mapFillClip):
  22144. (WebCore::CSSStyleSelector::mapFillComposite):
  22145. (WebCore::CSSStyleSelector::mapFillOrigin):
  22146. (WebCore::CSSStyleSelector::mapFillImage):
  22147. (WebCore::CSSStyleSelector::mapFillRepeat):
  22148. (WebCore::CSSStyleSelector::mapFillSize):
  22149. (WebCore::CSSStyleSelector::mapFillXPosition):
  22150. (WebCore::CSSStyleSelector::mapFillYPosition):
  22151. (WebCore::CSSStyleSelector::mapTransitionDuration):
  22152. (WebCore::CSSStyleSelector::mapTransitionRepeatCount):
  22153. (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
  22154. (WebCore::CSSStyleSelector::mapTransitionProperty):
  22155. * css/CSSStyleSelector.h:
  22156. * page/AnimationController.cpp:
  22157. (WebCore::ImplicitAnimation::ImplicitAnimation):
  22158. (WebCore::CompositeImplicitAnimation::animate):
  22159. * rendering/InlineFlowBox.cpp:
  22160. (WebCore::InlineFlowBox::paintBackgrounds):
  22161. (WebCore::InlineFlowBox::paintBackground):
  22162. * rendering/InlineFlowBox.h:
  22163. * rendering/RenderBox.cpp:
  22164. (WebCore::RenderBox::paintRootBoxDecorations):
  22165. (WebCore::RenderBox::paintBackgrounds):
  22166. (WebCore::RenderBox::paintBackground):
  22167. (WebCore::RenderBox::calculateBackgroundSize):
  22168. (WebCore::RenderBox::imageChanged):
  22169. (WebCore::RenderBox::calculateBackgroundImageGeometry):
  22170. (WebCore::RenderBox::paintBackgroundExtended):
  22171. * rendering/RenderBox.h:
  22172. * rendering/RenderObject.cpp:
  22173. (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
  22174. (WebCore::RenderObject::updateBackgroundImages):
  22175. (WebCore::RenderObject::arenaDelete):
  22176. * rendering/RenderObject.h:
  22177. (WebCore::RenderObject::paintBackgroundExtended):
  22178. * rendering/RenderStyle.cpp:
  22179. (WebCore::FillLayer::FillLayer):
  22180. (WebCore::FillLayer::~FillLayer):
  22181. (WebCore::FillLayer::operator=):
  22182. (WebCore::FillLayer::operator==):
  22183. (WebCore::FillLayer::fillUnsetProperties):
  22184. (WebCore::FillLayer::cullEmptyLayers):
  22185. (WebCore::Transition::fillUnsetProperties):
  22186. * rendering/RenderStyle.h:
  22187. (WebCore::FillLayer::image):
  22188. (WebCore::FillLayer::xPosition):
  22189. (WebCore::FillLayer::yPosition):
  22190. (WebCore::FillLayer::attachment):
  22191. (WebCore::FillLayer::clip):
  22192. (WebCore::FillLayer::origin):
  22193. (WebCore::FillLayer::repeat):
  22194. (WebCore::FillLayer::composite):
  22195. (WebCore::FillLayer::size):
  22196. (WebCore::FillLayer::next):
  22197. (WebCore::FillLayer::isImageSet):
  22198. (WebCore::FillLayer::isXPositionSet):
  22199. (WebCore::FillLayer::isYPositionSet):
  22200. (WebCore::FillLayer::isAttachmentSet):
  22201. (WebCore::FillLayer::isClipSet):
  22202. (WebCore::FillLayer::isOriginSet):
  22203. (WebCore::FillLayer::isRepeatSet):
  22204. (WebCore::FillLayer::isCompositeSet):
  22205. (WebCore::FillLayer::isSizeSet):
  22206. (WebCore::FillLayer::setImage):
  22207. (WebCore::FillLayer::setXPosition):
  22208. (WebCore::FillLayer::setYPosition):
  22209. (WebCore::FillLayer::setAttachment):
  22210. (WebCore::FillLayer::setClip):
  22211. (WebCore::FillLayer::setOrigin):
  22212. (WebCore::FillLayer::setRepeat):
  22213. (WebCore::FillLayer::setComposite):
  22214. (WebCore::FillLayer::setSize):
  22215. (WebCore::FillLayer::clearImage):
  22216. (WebCore::FillLayer::clearXPosition):
  22217. (WebCore::FillLayer::clearYPosition):
  22218. (WebCore::FillLayer::clearAttachment):
  22219. (WebCore::FillLayer::clearClip):
  22220. (WebCore::FillLayer::clearOrigin):
  22221. (WebCore::FillLayer::clearRepeat):
  22222. (WebCore::FillLayer::clearComposite):
  22223. (WebCore::FillLayer::clearSize):
  22224. (WebCore::FillLayer::setNext):
  22225. (WebCore::FillLayer::operator!=):
  22226. (WebCore::FillLayer::hasFixedImage):
  22227. (WebCore::Transition::isDurationSet):
  22228. (WebCore::Transition::isRepeatCountSet):
  22229. (WebCore::Transition::isTimingFunctionSet):
  22230. (WebCore::Transition::isPropertySet):
  22231. (WebCore::Transition::clearDuration):
  22232. (WebCore::Transition::clearRepeatCount):
  22233. (WebCore::Transition::clearTimingFunction):
  22234. (WebCore::Transition::clearProperty):
  22235. (WebCore::Transition::duration):
  22236. (WebCore::Transition::repeatCount):
  22237. (WebCore::Transition::timingFunction):
  22238. (WebCore::Transition::property):
  22239. (WebCore::Transition::setDuration):
  22240. (WebCore::Transition::setRepeatCount):
  22241. (WebCore::Transition::setTimingFunction):
  22242. (WebCore::Transition::setProperty):
  22243. (WebCore::RenderStyle::NonInheritedFlags::operator==):
  22244. (WebCore::RenderStyle::setBitDefaults):
  22245. (WebCore::RenderStyle::backgroundRepeat):
  22246. (WebCore::RenderStyle::backgroundComposite):
  22247. (WebCore::RenderStyle::backgroundAttachment):
  22248. (WebCore::RenderStyle::backgroundClip):
  22249. (WebCore::RenderStyle::backgroundOrigin):
  22250. (WebCore::RenderStyle::backgroundSize):
  22251. (WebCore::RenderStyle::accessBackgroundLayers):
  22252. (WebCore::RenderStyle::backgroundLayers):
  22253. (WebCore::RenderStyle::clearBackgroundLayers):
  22254. (WebCore::RenderStyle::inheritBackgroundLayers):
  22255. (WebCore::RenderStyle::initialFillAttachment):
  22256. (WebCore::RenderStyle::initialFillClip):
  22257. (WebCore::RenderStyle::initialFillOrigin):
  22258. (WebCore::RenderStyle::initialFillRepeat):
  22259. (WebCore::RenderStyle::initialFillComposite):
  22260. (WebCore::RenderStyle::initialFillSize):
  22261. (WebCore::RenderStyle::initialFillXPosition):
  22262. (WebCore::RenderStyle::initialFillYPosition):
  22263. (WebCore::RenderStyle::initialFillImage):
  22264. (WebCore::RenderStyle::initialWhiteSpace):
  22265. (WebCore::RenderStyle::initialColor):
  22266. * rendering/RenderTableCell.cpp:
  22267. (WebCore::RenderTableCell::paintBackgroundsBehindCell):
  22268. * rendering/RenderTheme.cpp:
  22269. (WebCore::RenderTheme::adjustStyle):
  22270. (WebCore::RenderTheme::isControlStyled):
  22271. * rendering/RenderTheme.h:
  22272. * rendering/RenderThemeMac.h:
  22273. * rendering/RenderThemeMac.mm:
  22274. (WebCore::RenderThemeMac::isControlStyled):
  22275. 2008-04-21 Julien Chaffraix <jchaffraix@webkit.org>
  22276. Rubber-stamped by Ap.
  22277. Add 2 explicit casts.
  22278. Fixes built on 64-bit machines (64-bit to 32-bit conversion warning).
  22279. * xml/XMLHttpRequest.cpp:
  22280. (WebCore::XMLHttpRequest::dispatchProgressEvent):
  22281. 2008-04-21 Anders Carlsson <andersca@apple.com>
  22282. Reviewed by Adam.
  22283. Make it possible to load resources from the cache.
  22284. (Currently no documents are ever associated with a cache though.)
  22285. * loader/DocumentLoader.cpp:
  22286. (WebCore::DocumentLoader::setPrimaryLoadComplete):
  22287. (WebCore::DocumentLoader::mainResourceApplicationCache):
  22288. (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
  22289. * loader/DocumentLoader.h:
  22290. * loader/MainResourceLoader.cpp:
  22291. (WebCore::MainResourceLoader::didFinishLoading):
  22292. (WebCore::MainResourceLoader::load):
  22293. * loader/MainResourceLoader.h:
  22294. (WebCore::MainResourceLoader::applicationCache):
  22295. * loader/ResourceLoader.cpp:
  22296. (WebCore::ResourceLoader::ResourceLoader):
  22297. (WebCore::ResourceLoader::load):
  22298. * loader/ResourceLoader.h:
  22299. * loader/appcache/ApplicationCacheGroup.h:
  22300. (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
  22301. 2008-04-21 Darin Fisher <darin@chromium.org>
  22302. Reviewed by eseidel. Landed by eseidel.
  22303. Add FrameLoader::policyDocumentLoader, and change
  22304. provisionalDocumentLoader to have a const signature to be
  22305. consistent with documentLoader and activeDocumentLoader.
  22306. * WebCore.base.exp:
  22307. * WebCore.order:
  22308. * loader/FrameLoader.cpp:
  22309. (WebCore::FrameLoader::policyDocumentLoader):
  22310. (WebCore::FrameLoader::provisionalDocumentLoader):
  22311. * loader/FrameLoader.h:
  22312. 2008-04-21 Julien Chaffraix <jchaffraix@webkit.org>
  22313. Not reviewed, add missing files in my previous commit.
  22314. Test: http/tests/xmlhttprequest/infoOnProgressEvent.html
  22315. * xml/XMLHttpRequestProgressEvent.cpp: Added.
  22316. (WebCore::XMLHttpRequestProgressEvent::XMLHttpRequestProgressEvent):
  22317. (WebCore::XMLHttpRequestProgressEvent::position):
  22318. (WebCore::XMLHttpRequestProgressEvent::totalSize):
  22319. * xml/XMLHttpRequestProgressEvent.h: Added.
  22320. (WebCore::XMLHttpRequestProgressEvent::isXMLHttpRequestProgressEvent):
  22321. (WebCore::XMLHttpRequestProgressEvent::isProgressEvent):
  22322. (WebCore::XMLHttpRequestProgressEvent::lengthComputable):
  22323. (WebCore::XMLHttpRequestProgressEvent::loaded):
  22324. (WebCore::XMLHttpRequestProgressEvent::total):
  22325. * xml/XMLHttpRequestProgressEvent.idl: Added.
  22326. 2008-04-21 Julien Chaffraix <jchaffraix@webkit.org>
  22327. Reviewed by Ap.
  22328. Bug 13596: Implement .onprogress handler on XMLHttpRequest objects to support
  22329. progressive download content length information.
  22330. - Add the onprogress attribute to XMLHttpRequest and the necessary bindings.
  22331. - We use a custom event XMLHttpRequestProgressEvent that is derived from ProgressEvent
  22332. (as specified by the XHR2 specification) but also implement LSProgressEvent interface
  22333. (to be compliant with Firefox event).
  22334. Test: http/tests/xmlhttprequest/infoOnProgressEvent.html
  22335. * DerivedSources.make:
  22336. * GNUmakefile.am:
  22337. * WebCore.pro:
  22338. * WebCore.vcproj/WebCore.vcproj:
  22339. * WebCore.xcodeproj/project.pbxproj:
  22340. * WebCoreSources.bkl:
  22341. * bindings/js/JSEventCustom.cpp:
  22342. (WebCore::toJS):
  22343. * bindings/js/JSXMLHttpRequestCustom.cpp:
  22344. (WebCore::JSXMLHttpRequest::mark):
  22345. (WebCore::JSXMLHttpRequest::onprogress):
  22346. (WebCore::JSXMLHttpRequest::setOnprogress):
  22347. * dom/Event.cpp:
  22348. (WebCore::Event::isXMLHttpRequestProgressEvent):
  22349. * dom/Event.h:
  22350. * dom/ProgressEvent.h: Replaced 'private' by 'protected' to enable derivation.
  22351. * xml/XMLHttpRequest.cpp:
  22352. (WebCore::XMLHttpRequest::onProgressListener): onprogress getter.
  22353. (WebCore::XMLHttpRequest::setOnProgressListener): onprogress setter.
  22354. (WebCore::XMLHttpRequest::XMLHttpRequest): initialize m_receivedLength.
  22355. (WebCore::XMLHttpRequest::internalAbort): reset m_receivedLength on abort.
  22356. (WebCore::XMLHttpRequest::didReceiveData): add updateAndDispatchOnProgress call.
  22357. (WebCore::XMLHttpRequest::updateAndDispatchOnProgress):
  22358. (WebCore::XMLHttpRequest::dispatchProgressEvent):
  22359. * xml/XMLHttpRequest.h:
  22360. * xml/XMLHttpRequest.idl: Add onprogress event handler.
  22361. * xml/XMLHttpRequestProgressEvent.cpp: Added.
  22362. (WebCore::XMLHttpRequestProgressEvent::XMLHttpRequestProgressEvent):
  22363. (WebCore::XMLHttpRequestProgressEvent::position):
  22364. (WebCore::XMLHttpRequestProgressEvent::totalSize):
  22365. The two previous methods are used for Firefox compatibility and map to the
  22366. same value as the ProgressEvent methods (but they are deprecated and display
  22367. * xml/XMLHttpRequestProgressEvent.h: Added.
  22368. (WebCore::XMLHttpRequestProgressEvent::isXMLHttpRequestProgressEvent):
  22369. (WebCore::XMLHttpRequestProgressEvent::isProgressEvent):
  22370. (WebCore::XMLHttpRequestProgressEvent::lengthComputable):
  22371. (WebCore::XMLHttpRequestProgressEvent::loaded):
  22372. (WebCore::XMLHttpRequestProgressEvent::total):
  22373. * xml/XMLHttpRequestProgressEvent.idl: Added.
  22374. 2008-04-21 Michael Goddard <michael.goddard@trolltech.com>
  22375. Reviewed by Simon.
  22376. Better handle Qt binding object lifetime in JS.
  22377. Add explicit marking of JS objects created for Qt
  22378. bindings, and remove the gcProtect calls.
  22379. * bridge/qt/qt_class.cpp:
  22380. (KJS::Bindings::QtClass::fallbackObject):
  22381. * bridge/qt/qt_instance.cpp:
  22382. (KJS::Bindings::QtRuntimeObjectImp::mark):
  22383. (KJS::Bindings::QtInstance::~QtInstance):
  22384. (KJS::Bindings::QtInstance::mark):
  22385. (KJS::Bindings::QtInstance::invokeDefaultMethod):
  22386. (KJS::Bindings::QtField::valueFromInstance):
  22387. * bridge/qt/qt_instance.h:
  22388. 2008-04-21 Michael Goddard <michael.goddard@trolltech.com>
  22389. Reviewed by Simon.
  22390. Add better support for RuntimeArray type conversions.
  22391. It seems that RuntimeArray claims to inherit ArrayInstance
  22392. (in the JS sense), but the C++ class doesn't, so properly
  22393. access RuntimeArrays. Also, properly support turning
  22394. a JS object into a QVariantMap, since we support the
  22395. reverse.
  22396. * bridge/qt/qt_runtime.cpp:
  22397. (KJS::Bindings::):
  22398. (KJS::Bindings::operator<<):
  22399. (KJS::Bindings::valueRealType):
  22400. (KJS::Bindings::convertValueToQVariant):
  22401. (KJS::Bindings::convertQVariantToValue):
  22402. 2008-04-21 Simon Hausmann <hausmann@webkit.org>
  22403. Reviewed by Holger.
  22404. Fix painting of text fields in the CleanLooks style.
  22405. The CleanLooks style calls painter->drawRect() and expects a painter
  22406. that has no brush set. This is a fairly common assumption and therefore
  22407. we now always set the brush to NoBrush before calling a style. This
  22408. is done by centralizing the painter setup code into StylePainter
  22409. and restore the old brush in the StylePainter destructor.
  22410. In addition for textfields it is not necessary anymore to draw
  22411. PE_FrameLineEdit as we set the lineWidth in the style option correctly
  22412. and it's the style responsibility (QCommonStyle usually) to draw
  22413. PE_FrameLineEdit.
  22414. * platform/qt/RenderThemeQt.cpp:
  22415. (WebCore::RenderThemeQt::paintButton):
  22416. (WebCore::RenderThemeQt::paintTextField):
  22417. (WebCore::RenderThemeQt::paintMenuList):
  22418. (WebCore::StylePainter::StylePainter):
  22419. (WebCore::StylePainter::~StylePainter):
  22420. * platform/qt/RenderThemeQt.h:
  22421. (WebCore::StylePainter::isValid):
  22422. (WebCore::StylePainter::drawPrimitive):
  22423. (WebCore::StylePainter::drawControl):
  22424. (WebCore::StylePainter::drawComplexControl):
  22425. 2008-04-21 Olivier Goffart <ogoffart@trolltech.com>
  22426. Reviewed by Simon.
  22427. Fixes copy and paste of international characters.
  22428. When exporting HTML to the clipboard we need meta tags for now that confirm the
  22429. conversion to utf-8 done inside QClipboard.
  22430. * platform/qt/PasteboardQt.cpp:
  22431. (WebCore::Pasteboard::writeSelection):
  22432. 2008-04-21 Olivier Goffart <ogoffart@trolltech.com>
  22433. Reviewed by Simon.
  22434. Fixes: Copying on X11 doesn't always work in webkit
  22435. Calling QClipboard::clear right before QClipboard::setData create a race condition with klipper. So don't call QClipboard::clear since it's not required.
  22436. * platform/qt/PasteboardQt.cpp:
  22437. 2008-04-21 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  22438. Reviewed by Simon.
  22439. * Assume that our lineedit has a frame. This is needed for the motif style
  22440. * platform/qt/RenderThemeQt.cpp:
  22441. (WebCore::RenderThemeQt::paintTextField):
  22442. 2008-04-21 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  22443. Reviewed by Simon.
  22444. * Follow the windows render theme when determining whether to style
  22445. listboxes or not.
  22446. * platform/qt/RenderThemeQt.cpp:
  22447. (WebCore::RenderThemeQt::isControlStyled):
  22448. 2008-04-21 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  22449. Reviewed by Simon.
  22450. * Try to bring the notImplemented implementations closer together. This will
  22451. print each unimplemted method name only once.
  22452. * We might want to change wtf/Assertions.cpp to use qDebug
  22453. * platform/NotImplemented.h:
  22454. 2008-04-21 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  22455. Reviewed by Simon.
  22456. * Remove the special Qt ctor of BitmapImage as it did not work. The Bitmap returned
  22457. 0 as width and after intialising drawing would fail. BitmapImage relies on a proper
  22458. ImageSource.
  22459. * Instead of adding more special cases to BitmapImage create a new class called StillImage
  22460. which is getting one QPixmap and is implementing Image::draw and Image::size. This is
  22461. working well for the images created using Image::loadPlatformResource.
  22462. * platform/graphics/BitmapImage.h:
  22463. * platform/graphics/qt/ImageQt.cpp:
  22464. (WebCore::BitmapImage::initPlatformData):
  22465. (WebCore::BitmapImage::getPixmap):
  22466. (WebCore::StillImage::StillImage):
  22467. (WebCore::StillImage::size):
  22468. (WebCore::StillImage::getPixmap):
  22469. (WebCore::StillImage::draw):
  22470. 2008-04-21 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  22471. Reviewed by Simon.
  22472. * Package the Resources into a qrc
  22473. * Resources/WebKitResources.qrc: Added.
  22474. * WebCore.pro:
  22475. 2008-04-21 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  22476. Reviewed by Simon.
  22477. * Make sure every resource is available als png as well.
  22478. * Resources/deleteButton.png: Added.
  22479. * Resources/deleteButtonPressed.png: Added.
  22480. * Resources/missingImage.png: Added.
  22481. * Resources/nullPlugin.png: Copied from WebKit/win/WebKit.vcproj/nullplugin.png.
  22482. * Resources/textAreaResizeCorner.png: Added.
  22483. * Resources/urlIcon.png: Copied from WebKit/win/WebKit.vcproj/urlIcon.png.
  22484. 2008-04-20 Sriram Neelakandan <sriram.neelakandan@gmail.com>
  22485. Reviewed by Alp Toker.
  22486. Implement FileSystemGtk's getFileModificationTime() with GLib.
  22487. * platform/gtk/FileSystemGtk.cpp:
  22488. (WebCore::getFileModificationTime):
  22489. 2008-04-20 Christian Persch <chpe@gnome.org>
  22490. Reviewed by Alp Toker.
  22491. Bundle GTK+ Xt compatibility code from Mozilla. These files are used
  22492. by all currently proposed GTK+ plugin patches and will make the
  22493. proposed patches smaller and easier to review.
  22494. These files should be kept as close to the upstream versions as
  22495. possible so fixes can be shared between projects and to ensure
  22496. compatibility with the reference implementation.
  22497. * plugins/gtk/gtk2xtbin.c: Added.
  22498. (xt_event_prepare):
  22499. (xt_event_check):
  22500. (xt_event_dispatch):
  22501. (xt_event_polling_timer_callback):
  22502. (gtk_xtbin_get_type):
  22503. (gtk_xtbin_class_init):
  22504. (gtk_xtbin_init):
  22505. (gtk_xtbin_realize):
  22506. (gtk_xtbin_new):
  22507. (gtk_xtbin_set_position):
  22508. (gtk_xtbin_resize):
  22509. (gtk_xtbin_unrealize):
  22510. (gtk_xtbin_destroy):
  22511. (xt_client_init):
  22512. (xt_client_create):
  22513. (xt_client_unrealize):
  22514. (xt_client_destroy):
  22515. (xt_client_set_info):
  22516. (xt_client_handle_xembed_message):
  22517. (xt_client_event_handler):
  22518. (send_xembed_message):
  22519. (error_handler):
  22520. (trap_errors):
  22521. (untrap_error):
  22522. (xt_client_focus_listener):
  22523. (xt_add_focus_listener):
  22524. (xt_remove_focus_listener):
  22525. (xt_add_focus_listener_tree):
  22526. * plugins/gtk/gtk2xtbin.h: Added.
  22527. 2008-04-20 Dirk Schulze <vbs85@gmx.de>
  22528. Reviewed by Alp Toker.
  22529. http://bugs.webkit.org/show_bug.cgi?id=15449
  22530. [CAIRO] SVG gradients do not work properly
  22531. Fixed SVG-gradients in Cairo.
  22532. * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
  22533. (WebCore::SVGPaintServerGradient::setup):
  22534. 2008-04-20 Simon Hausmann <hausmann@webkit.org>
  22535. Reviewed by Alp Toker.
  22536. http://bugs.webkit.org/show_bug.cgi?id=18578
  22537. Share the printing code between the Gtk and the Qt port
  22538. Share the printing code between the Gtk and the Qt port
  22539. and added printing to the Qt WebKit API.
  22540. * GNUmakefile.am:
  22541. * WebCore.pro:
  22542. * page/PrintContext.cpp: Added.
  22543. (WebCore::PrintContext::PrintContext):
  22544. (WebCore::PrintContext::~PrintContext):
  22545. (WebCore::PrintContext::pageCount):
  22546. (WebCore::PrintContext::computePageRects):
  22547. (WebCore::PrintContext::begin):
  22548. (WebCore::PrintContext::spoolPage):
  22549. * page/PrintContext.h: Added.
  22550. 2008-04-19 Alp Toker <alp@nuanti.com>
  22551. Reviewed by Mark Rowe.
  22552. Complete the Cairo (CSS) gradient implementation.
  22553. * platform/graphics/Gradient.h:
  22554. * platform/graphics/cairo/GradientCairo.cpp:
  22555. (WebCore::Gradient::platformDestroy):
  22556. (WebCore::Gradient::fill):
  22557. 2008-04-19 Alp Toker <alp@nuanti.com>
  22558. Reviewed by Dave Hyatt.
  22559. Restore Cairo canvas support following the recent changes in
  22560. BitmapImage and ImageBuffer integrating canvas with CSS. Some
  22561. drawing regressions remain unfixed.
  22562. * platform/graphics/BitmapImage.h:
  22563. * platform/graphics/ImageBuffer.h:
  22564. * platform/graphics/cairo/ImageBufferCairo.cpp:
  22565. (WebCore::ImageBuffer::image):
  22566. * platform/graphics/cairo/ImageCairo.cpp:
  22567. (WebCore::BitmapImage::BitmapImage):
  22568. (WebCore::BitmapImage::draw):
  22569. * platform/graphics/cairo/ImageSourceCairo.cpp:
  22570. (WebCore::ImageSource::createFrameAtIndex):
  22571. 2008-04-19 Dan Bernstein <mitz@apple.com>
  22572. Reviewed by Dave Hyatt.
  22573. - fix additional cases of https://bugs.webkit.org/show_bug.cgi?id=17921
  22574. namely cases where the trailing white space is already in a separate
  22575. run but still needs to be re-ordered.
  22576. Test: fast/text/trailing-white-space-2.html
  22577. * platform/text/BidiResolver.h:
  22578. (WebCore::::moveRunToEnd):
  22579. (WebCore::::moveRunToBeginning):
  22580. * rendering/bidi.cpp:
  22581. (WebCore::RenderBlock::layoutInlineChildren):
  22582. 2008-04-19 Alp Toker <alp@nuanti.com>
  22583. Reviewed by Nikolas.
  22584. Add text shadow support for simple text in FontCairo.
  22585. * platform/graphics/cairo/FontCairo.cpp:
  22586. (WebCore::Font::drawGlyphs):
  22587. 2008-04-19 David Hyatt <hyatt@apple.com>
  22588. Fix a minor typo in CSSGradientValue's cssText() method.
  22589. Reviewed by olliej
  22590. * css/CSSGradientValue.cpp:
  22591. (WebCore::CSSGradientValue::cssText):
  22592. 2008-04-19 Brady Eidson <beidson@apple.com>
  22593. Reviewed by Tim Hatcher
  22594. Add LocalStorageDatabasePath to the settings for the location of persistent local storage.
  22595. * WebCore.base.exp:
  22596. * page/Settings.cpp:
  22597. (WebCore::Settings::setLocalStorageDatabasePath):
  22598. * page/Settings.h:
  22599. (WebCore::Settings::localStorageDatabasePath):
  22600. 2008-04-18 Jan Michael Alonzo <jmalonzo@unpluggable.com>
  22601. Reviewed by Alp Toker.
  22602. http://bugs.webkit.org/show_bug.cgi?id=16620
  22603. [GTK] Autotools make dist and make check support
  22604. Cleanups.
  22605. * GNUmakefile.am:
  22606. 2008-04-18 Jon Honeycutt <jhoneycutt@apple.com>
  22607. Reviewed by Ollie.
  22608. Change when AccessibilityObject children are added.
  22609. Children are now added when children() is called if the children vector
  22610. is not up to date. This removes the need for addChildren() and
  22611. hasChildren() to be called from outside of AccessibilityObject.
  22612. * page/AccessibilityObject.cpp:
  22613. (WebCore::AccessibilityObject::AccessibilityObject): Initialize
  22614. m_haveChildren to false.
  22615. (WebCore::AccessibilityObject::clearChildren): Set m_haveChildren to
  22616. false.
  22617. (WebCore::AccessibilityObject::children): If m_haveChildren is false,
  22618. call addChildren().
  22619. (WebCore::AccessibilityObject::addChildren): Set m_haveChildren to true.
  22620. * page/AccessibilityObject.h: Removed hasChildren(). Made addChildren()
  22621. private and const. Added m_haveChildren. Made m_children mutable so
  22622. children() could modify it.
  22623. * page/mac/AccessibilityObjectWrapper.mm:
  22624. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): Don't
  22625. call hasChildren() or addChildren().
  22626. 2008-04-18 Marco Barisione <marco.barisione@collabora.co.uk>
  22627. Reviewed by Alexey.
  22628. http://bugs.webkit.org/show_bug.cgi?id=18357
  22629. [GTK] Enter on buttons doesn't work
  22630. * platform/gtk/KeyEventGtk.cpp:
  22631. (WebCore::singleCharacterString): Set the text of a keyboard event for
  22632. GDK_ISO_Enter, GDK_KP_Enter, GDK_Return to "\r" instead of an empty
  22633. string.
  22634. 2008-04-18 Marco Barisione <marco@barisione.org>
  22635. Reviewed by Alp Toker.
  22636. https://bugs.webkit.org/show_bug.cgi?id=18576
  22637. [GTK] windowsKeyCodeForKeyEvent doesn't handle GDK_ISO_Enter and
  22638. GDK_KP_Enter
  22639. * platform/gtk/KeyEventGtk.cpp:
  22640. (WebCore::windowsKeyCodeForKeyEvent): handle GDK_ISO_Enter and
  22641. GDK_KP_Enter in windowsKeyCodeForKeyEvent.
  22642. 2008-04-18 Jan Michael Alonzo <jmalonzo@unpluggable.com>
  22643. Reviewed by Mark Rowe.
  22644. Gtk build fix. Profiler.h does not live inside the kjs directory of JavaScriptCore
  22645. so it doesn't make sense to include it as kjs/Profiler.h from WebCore.
  22646. * ForwardingHeaders/profiler/Profiler.h: Renamed from WebCore/ForwardingHeaders/kjs/Profiler.h.
  22647. * page/Console.cpp:
  22648. 2008-04-18 Antti Koivisto <antti@apple.com>
  22649. Reviewed by Oliver.
  22650. Implement path animation for <animateMotion>.
  22651. SVG test suite tests
  22652. animate-elem-07-t.svg
  22653. animate-elem-08-t.svg
  22654. animate-elem-24-t.svg
  22655. animate-elem-30-t.svg
  22656. * svg/SVGAnimateMotionElement.cpp:
  22657. (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
  22658. (WebCore::SVGAnimateMotionElement::hasValidTarget):
  22659. (WebCore::SVGAnimateMotionElement::parseMappedAttribute):
  22660. (WebCore::SVGAnimateMotionElement::rotateMode):
  22661. (WebCore::SVGAnimateMotionElement::animationPath):
  22662. (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
  22663. (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
  22664. * svg/SVGAnimateMotionElement.h:
  22665. (WebCore::SVGAnimateMotionElement::):
  22666. * svg/SVGAnimationElement.cpp:
  22667. (WebCore::SVGAnimationElement::animationMode):
  22668. (WebCore::SVGAnimationElement::startedActiveInterval):
  22669. * svg/SVGAnimationElement.h:
  22670. (WebCore::SVGAnimationElement::):
  22671. (WebCore::SVGAnimationElement::calculateDistance):
  22672. (WebCore::SVGAnimationElement::animationPath):
  22673. 2008-04-11 Mark Rowe <mrowe@apple.com>
  22674. Rubber-stamped by Antti Koivisto.
  22675. Silence GCC 4.3 warnings by removing extraneous consts.
  22676. * platform/graphics/Font.h:
  22677. * platform/network/ResourceRequestBase.cpp:
  22678. * platform/network/ResourceRequestBase.h:
  22679. 2008-04-18 Brady Eidson <beidson@apple.com>
  22680. Rubberstamped by Mark Rowe
  22681. Roll out http://trac.webkit.org/projects/webkit/changeset/32204 as it was an incorrect build fix.
  22682. The feature in question was NOT database support.
  22683. The proper build fix was later applied by Mark in http://trac.webkit.org/projects/webkit/changeset/32225
  22684. * page/PageGroup.cpp:
  22685. (WebCore::PageGroup::localStorage):
  22686. 2008-04-18 Brady Eidson <beidson@apple.com>
  22687. Reviewed by Darin and Sam
  22688. Don't forget PageGroups when their last Page goes away, as this hurts visited links and anything
  22689. else that will be per-PageGroup in the future (such as LocalStorage).
  22690. This also fixes a leak, since PageGroups are ref-counted and therefore clearing the raw pointer out
  22691. of the PageGroups map without manual deletion leaked it!
  22692. * page/Page.cpp:
  22693. (WebCore::Page::setGroupName):
  22694. 2008-04-18 Dan Bernstein <mitz@apple.com>
  22695. Reviewed by Brady Eidson.
  22696. - fix <rdar://problem/5872671> REGRESSION (3.1.1-TOT): Repro crash going to Ortega Park home page
  22697. Test: fast/dynamic/5872671.html
  22698. * rendering/bidi.cpp:
  22699. (WebCore::RenderBlock::layoutInlineChildren): Added a missing null
  22700. check.
  22701. 2008-04-18 Sam Weinig <sam@webkit.org>
  22702. Rubber-stamped by Mark Rowe.
  22703. responseText and responseXML don't throw exceptions so they don't need an ExceptionCode parameter.
  22704. * bindings/js/JSXMLHttpRequestCustom.cpp:
  22705. * xml/XMLHttpRequest.cpp:
  22706. (WebCore::XMLHttpRequest::responseText):
  22707. (WebCore::XMLHttpRequest::responseXML):
  22708. * xml/XMLHttpRequest.h:
  22709. * xml/XMLHttpRequest.idl:
  22710. 2008-04-18 Kevin McCullough <kmccullough@apple.com>
  22711. Reviewed by Sam.
  22712. - Build fix.
  22713. * page/Console.cpp:
  22714. (WebCore::Console::profile):
  22715. * page/Console.h:
  22716. * page/Console.idl:
  22717. 2008-04-18 Eric Seidel <eric@webkit.org>
  22718. Reviewed by darin.
  22719. Fix probable crasher caused by invalid static_cast
  22720. https://bugs.webkit.org/show_bug.cgi?id=18585
  22721. * page/Frame.cpp:
  22722. (WebCore::Frame::contentRenderer):
  22723. (WebCore::Frame::ownerRenderer):
  22724. * rendering/RenderObject.h: sort the "is*" functions
  22725. (WebCore::RenderObject::isApplet):
  22726. (WebCore::RenderObject::isBR):
  22727. (WebCore::RenderObject::isBlockFlow):
  22728. (WebCore::RenderObject::isCounter):
  22729. (WebCore::RenderObject::isFrame):
  22730. (WebCore::RenderObject::isFrameSet):
  22731. (WebCore::RenderObject::isImage):
  22732. (WebCore::RenderObject::isInlineBlockOrInlineTable):
  22733. (WebCore::RenderObject::isInlineFlow):
  22734. (WebCore::RenderObject::isListBox):
  22735. (WebCore::RenderObject::isListItem):
  22736. (WebCore::RenderObject::isListMarker):
  22737. (WebCore::RenderObject::isMedia):
  22738. (WebCore::RenderObject::isMenuList):
  22739. (WebCore::RenderObject::isRenderBlock):
  22740. (WebCore::RenderObject::isRenderImage):
  22741. (WebCore::RenderObject::isRenderInline):
  22742. (WebCore::RenderObject::isRenderPart):
  22743. (WebCore::RenderObject::isRenderView):
  22744. (WebCore::RenderObject::isSlider):
  22745. (WebCore::RenderObject::isTable):
  22746. (WebCore::RenderObject::isTableCell):
  22747. (WebCore::RenderObject::isTableCol):
  22748. (WebCore::RenderObject::isTableRow):
  22749. (WebCore::RenderObject::isTableSection):
  22750. (WebCore::RenderObject::isTextArea):
  22751. * rendering/RenderPart.h:
  22752. 2008-04-17 Eric Seidel <eric@webkit.org>
  22753. Reviewed by beth.
  22754. Rename Frame::renderer() to contentRenderer() and fix uses.
  22755. * WebCore.base.exp:
  22756. * editing/Editor.cpp:
  22757. (WebCore::Editor::respondToChangedContents):
  22758. * loader/FrameLoader.cpp:
  22759. (WebCore::FrameLoader::gotoAnchor):
  22760. * page/DragController.cpp:
  22761. (WebCore::DragController::canProcessDrag):
  22762. (WebCore::DragController::mayStartDragAtEventLocation):
  22763. (WebCore::DragController::startDrag):
  22764. * page/EventHandler.cpp:
  22765. (WebCore::EventHandler::eventMayStartDrag):
  22766. (WebCore::EventHandler::updateSelectionForMouseDrag):
  22767. (WebCore::EventHandler::hitTestResultAtPoint):
  22768. (WebCore::EventHandler::hoverTimerFired):
  22769. (WebCore::EventHandler::handleDrag):
  22770. * page/Frame.cpp:
  22771. (WebCore::Frame::selectionLayoutChanged):
  22772. (WebCore::Frame::contentRenderer):
  22773. (WebCore::Frame::paint):
  22774. (WebCore::Frame::markAllMatchesForText):
  22775. (WebCore::Frame::documentAtPoint):
  22776. * page/Frame.h:
  22777. * page/FrameView.cpp:
  22778. (WebCore::FrameView::~FrameView):
  22779. (WebCore::FrameView::adjustViewSize):
  22780. (WebCore::FrameView::layout):
  22781. (WebCore::FrameView::scheduleRelayoutOfSubtree):
  22782. (WebCore::FrameView::needsLayout):
  22783. (WebCore::FrameView::setNeedsLayout):
  22784. (WebCore::FrameView::updateControlTints):
  22785. * rendering/RenderTreeAsText.cpp:
  22786. (WebCore::write):
  22787. * svg/graphics/SVGImage.cpp:
  22788. (WebCore::SVGImage::nativeImageForCurrentFrame):
  22789. 2008-04-18 Antti Koivisto <antti@apple.com>
  22790. Reviewed by Oliver.
  22791. https://bugs.webkit.org/show_bug.cgi?id=18551
  22792. REGRESSION (r31801?): Crash in ContainerNode::removedFromDocument on many SVG tests
  22793. Fix for test svg/W3C-SVG-1.1/animate-elem-62-t.svg which was still
  22794. crashing under guard malloc after the previous fix.
  22795. If the event base element was a parent of the current element, dereffing it during
  22796. removedFromDocument() would cause problems. Avoid this by not holding ref pointer
  22797. to the event base but instead checking from the ref count of the event listener whether
  22798. it is still alive and in need for unregistering.
  22799. This shold not be a problem for syncbase pointers since those are always animation elements
  22800. and leaf nodes.
  22801. * svg/animation/SVGSMILElement.cpp:
  22802. (WebCore::ConditionEventListener::ConditionEventListener):
  22803. (WebCore::ConditionEventListener::unregister):
  22804. (WebCore::ConditionEventListener::handleEvent):
  22805. (WebCore::SVGSMILElement::connectConditions):
  22806. (WebCore::SVGSMILElement::disconnectConditions):
  22807. (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
  22808. * svg/animation/SVGSMILElement.h:
  22809. 2008-04-18 Kevin McCullough <kmccullough@apple.com>
  22810. Reviewed by Sam and Adam.
  22811. -<rdar://problem/5770054> JavaScript profiler (10928)
  22812. - Added support for console.profile() and console.profileEnd().
  22813. * ForwardingHeaders/kjs/FunctionCallProfile.h: Added.
  22814. * ForwardingHeaders/kjs/Profiler.h: Added.
  22815. * page/Console.cpp:
  22816. (WebCore::Console::profile):
  22817. (WebCore::Console::profileEnd):
  22818. * page/Console.h:
  22819. * page/Console.idl:
  22820. 2008-04-18 Kevin Ollivier <kevino@theolliviers.com>
  22821. wx build fix. Add the new loader/appcache files.
  22822. * WebCoreSources.bkl:
  22823. 2008-04-18 Dan Bernstein <mitz@apple.com>
  22824. Reviewed by Darin Adler.
  22825. - fix https://bugs.webkit.org/show_bug.cgi?id=17921
  22826. Extra white space at the end of right-aligned or justified text with -webkit-line-break: after-white-space
  22827. Test: fast/text/trailing-white-space.html
  22828. Made trailing white space on the line always behave like it has the base
  22829. bidi level of the block, meaning it will always go on the right (left)
  22830. of the line in a left-to-right (right-to-left) block. Made the trailing
  22831. white space vanish when it is next to a margin that the text should
  22832. be touching, and made its width not count when computing the center
  22833. point for center alignment.
  22834. * platform/text/BidiResolver.h:
  22835. (WebCore::::prependRun): Added.
  22836. * rendering/RenderBlock.h:
  22837. * rendering/bidi.cpp:
  22838. (WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed the
  22839. logicallyLastRun parameter to an optional trailingSpaceRun and changed
  22840. the alignment logic to implement the above rules.
  22841. (WebCore::RenderBlock::layoutInlineChildren): Added code to identify
  22842. when there is trailing white space that needs to be split into its own
  22843. run and optionally re-ordered.
  22844. (WebCore::RenderBlock::findNextLineBreak): Removed code that split some
  22845. trailing space into a separate run in one special case.
  22846. 2008-04-10 Mark Rowe <mrowe@apple.com>
  22847. Rubber-stamped by Brady Eidson.
  22848. Fix builds that do not have DOM storage enabled.
  22849. * page/DOMWindow.cpp:
  22850. * page/Page.cpp:
  22851. * page/PageGroup.cpp:
  22852. * page/PageGroup.h:
  22853. 2008-04-18 Timothy Hatcher <timothy@apple.com>
  22854. Fixes the regression where style rules in the Inspector always show "inline stylesheet"
  22855. for the source of the rule and not the URL or other sources.
  22856. https://bugs.webkit.org/show_bug.cgi?id=18592
  22857. Reviewed by Dan Bernstein.
  22858. * page/inspector/StylesSidebarPane.js:
  22859. (WebInspector.StylesSidebarPane.prototype.update): Add parentStyleSheet to the anonymous obejct
  22860. that we make for each matched rule. The parentStyleSheet property is used later to make the subtitle.
  22861. 2008-04-18 Dean Jackson <dino@apple.com>
  22862. Fixed marquee suspension on wrong document. Passes current
  22863. document into Frame::clearTimers.
  22864. Reviewed by hyatt.
  22865. * history/CachedPage.cpp:
  22866. (WebCore::CachedPage::clear):
  22867. * page/Frame.cpp:
  22868. (WebCore::Frame::clearTimers):
  22869. * page/Frame.h:
  22870. 2008-04-18 Dean Jackson <dino@apple.com>
  22871. Add 'ease' timing function to transitions and
  22872. make it the default. See latest specification proposal at:
  22873. http://webkit.org/specs/CSSVisualEffects/CSSTransitions.html
  22874. Reviewed by hyatt.
  22875. NOTE: still working on a way to test animating/transitioning content
  22876. * css/CSSParser.cpp:
  22877. (WebCore::CSSParser::parseTransitionTimingFunction):
  22878. * css/CSSStyleSelector.cpp:
  22879. (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
  22880. * css/CSSValueKeywords.in:
  22881. 2008-04-18 Adam Roben <aroben@apple.com>
  22882. Change JavaScriptDebugListener to use KJS::UString instead of
  22883. WebCore::String
  22884. This should reduce the number of string allocations performed while
  22885. debugging.
  22886. Reviewed by Tim Hatcher.
  22887. * page/InspectorController.cpp: Updated JavaScriptDebugListener
  22888. functions.
  22889. * page/InspectorController.h: Ditto.
  22890. * page/JavaScriptDebugListener.h: Changed to use KJS::UString instead
  22891. of WebCore::String.
  22892. * page/JavaScriptDebugServer.cpp: Ditto.
  22893. * platform/win/BString.cpp:
  22894. (WebCore::BString::BString): Added a constructor that takes a
  22895. KJS::UString.
  22896. * platform/win/BString.h:
  22897. 2008-04-18 Adam Roben <aroben@apple.com>
  22898. Mac build fix
  22899. * WebCore.xcodeproj/project.pbxproj: Mark JavaScriptDebugListener.h
  22900. private.
  22901. 2008-04-18 Adam Roben <aroben@apple.com>
  22902. Make InspectorController a JavaScriptDebugListener
  22903. I added two new functions to the InspectorController JS object:
  22904. reloadInspectedPageAndStartDebugging and stopDebugging. These control
  22905. when the InspectorController adds/removes itself to/from the
  22906. JavaScriptDebugServer.
  22907. Reviewed by Tim Hatcher.
  22908. * page/InspectorController.cpp:
  22909. (WebCore::reloadInspectedPageAndStartDebugging): Added. Just calls
  22910. through to InspectorController.
  22911. (WebCore::stopDebugging): Ditto.
  22912. (WebCore::InspectorController::~InspectorController): Make sure we
  22913. stop debugging before we are destroyed so the JavaScriptDebugServer
  22914. won't be left with a stale pointer.
  22915. (WebCore::InspectorController::windowScriptObjectAvailable): Added two
  22916. new functions to our JS object.
  22917. (WebCore::InspectorController::closeWindow): Stop debugging when the
  22918. window closes.
  22919. (WebCore::InspectorController::reloadInspectedPageAndStartDebugging):
  22920. Added.
  22921. (WebCore::InspectorController::stopDebugging): Added.
  22922. (WebCore::InspectorController::didParseSource):
  22923. (WebCore::InspectorController::failedToParseSource):
  22924. (WebCore::InspectorController::didEnterCallFrame):
  22925. (WebCore::InspectorController::willExecuteStatement):
  22926. (WebCore::InspectorController::willLeaveCallFrame):
  22927. Added empty implementations of the JavaScriptDebugListener functions.
  22928. * page/InspectorController.h:
  22929. 2008-04-17 Adam Roben <aroben@apple.com>
  22930. Rename ExecState* instances from state to exec
  22931. Requested by Darin Adler and Sam Weinig.
  22932. * bindings/js/JSConsoleCustom.cpp:
  22933. 2008-04-17 Adam Roben <aroben@apple.com>
  22934. Clean up InspectorController's use of JSStringRef
  22935. All JSStringRef creation now happens through a helper function,
  22936. jsStringRef, which takes either a const char* or a const String& and
  22937. returns a JSRetainPtr<JSStringRef>.
  22938. Reviewed by Mitz Pettel.
  22939. * page/InspectorController.cpp:
  22940. Added jsStringRef and converted all callers to
  22941. JSStringCreateWithUTF8CString or JSStringCreateWithCharacters to use
  22942. it.
  22943. 2008-04-17 Adam Roben <aroben@apple.com>
  22944. Add wrappers around InspectorClient::{show,close}Window
  22945. This will let us perform actions when the window is actually
  22946. showing/closing (InspectorController::show doesn't always directly
  22947. show the window).
  22948. Reviewed by Tim Hatcher.
  22949. * page/InspectorController.cpp:
  22950. (WebCore::InspectorController::scriptObjectReady): Call showWindow()
  22951. instead of m_client->showWindow().
  22952. (WebCore::InspectorController::show): Ditto.
  22953. (WebCore::InspectorController::close): Ditto for closeWindow().
  22954. (WebCore::InspectorController::showWindow):
  22955. (WebCore::InspectorController::closeWindow):
  22956. * page/InspectorController.h:
  22957. 2008-04-18 Simon Hausmann <hausmann@webkit.org>
  22958. Reviewed by Holger.
  22959. Adapt to the API changes in WebKit/qt/
  22960. * platform/graphics/qt/ImageQt.cpp:
  22961. (loadResourcePixmap):
  22962. 2008-04-18 Ariya Hidayat <ariya.hidayat@trolltech.com>
  22963. Reviewed by Adam Roben.
  22964. https://bugs.webkit.org/show_bug.cgi?id=18477
  22965. No resize indication is shown when moving/hovering over the frame
  22966. border/splitter.
  22967. * page/EventHandler.cpp:
  22968. (WebCore::EventHandler::selectCursor):
  22969. 2008-04-18 Adam Roben <aroben@apple.com>
  22970. Windows build fix
  22971. Same as before, but for fabs/fabsf.
  22972. * svg/SVGAnimateTransformElement.cpp:
  22973. (WebCore::SVGAnimateTransformElement::calculateDistance): Changed to
  22974. use fabsf and removed narrowPrecisionToFloat.
  22975. 2008-04-18 Adam Roben <aroben@apple.com>
  22976. Windows build fix
  22977. In MSVC, sqrt() has three overloads: float, double, and long
  22978. double. In GCC, sqrt() is only for doubles. Both MSVC and GCC have
  22979. sqrtf() to operate explicitly on floats.
  22980. * svg/SVGAnimateMotionElement.cpp:
  22981. (WebCore::SVGAnimateMotionElement::calculateDistance): Changed to use
  22982. sqrtf and removed narrowPrecisionToFloat.
  22983. * svg/SVGAnimateTransformElement.cpp:
  22984. (WebCore::SVGAnimateTransformElement::calculateDistance): Ditto.
  22985. 2008-04-18 Simon Hausmann <hausmann@webkit.org>
  22986. Fix the build without Database support (fixes the Qt/win build).
  22987. * page/PageGroup.cpp:
  22988. (WebCore::PageGroup::localStorage):
  22989. 2008-04-18 Simon Hausmann <hausmann@webkit.org>
  22990. Fix the Gtk build on the build bot.
  22991. * GNUmakefile.am: Back out the previous LocalStorage, etc. additions
  22992. as they're already listed in another sources group that wasn't used
  22993. due to a local configure error.
  22994. 2008-04-18 Simon Hausmann <hausmann@webkit.org>
  22995. Prospective wx build fix.
  22996. * webcore-base.bkl: Add loader/appcache to include paths.
  22997. 2008-04-18 Simon Hausmann <hausmann@webkit.org>
  22998. Build fix. Back out previous #include fix for PageGroup.h as it broke
  22999. the Mac build due to forwarding headers.
  23000. * page/PageGroup.h:
  23001. 2008-04-18 Simon Hausmann <hausmann@webkit.org>
  23002. Build fix for Qt and gcc 4.3.
  23003. * WebCore.pro: Added missing files and include paths, re-ordered
  23004. the storage/ include path to avoid conflict of storage/LocalStorage.h
  23005. with kjs/LocalStorage.h
  23006. * page/PageGroup.h: Include LocalStorage.h instead of forward
  23007. declaration to fix compilation with gcc 4.3.
  23008. 2008-04-18 Simon Hausmann <hausmann@webkit.org>
  23009. Build fix for Gtk and gcc 4.3.
  23010. * GNUmakefile.am: Added missing files and include paths.
  23011. * storage/LocalStorage.h: Include LocalStorageArea.h instead of
  23012. forward declaring it due to the HashMap use where gcc 4.3 needs to
  23013. see the class.
  23014. 2008-04-17 Antti Koivisto <antti@apple.com>
  23015. Reviewed by Oliver.
  23016. https://bugs.webkit.org/show_bug.cgi?id=18573
  23017. Implement supplemental transforms and use them for <animateMotion> instead of the transform list.
  23018. This will allow <animateTransform> and <animateMotion> combine properly.
  23019. * svg/SVGAnimateMotionElement.cpp:
  23020. (WebCore::SVGAnimateMotionElement::resetToBaseValue):
  23021. (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
  23022. (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
  23023. * svg/SVGElement.h:
  23024. (WebCore::SVGElement::supplementalTransform):
  23025. * svg/SVGStyledTransformableElement.cpp:
  23026. (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
  23027. * svg/SVGStyledTransformableElement.h:
  23028. (WebCore::SVGStyledTransformableElement::supplementalTransform):
  23029. * svg/SVGTextElement.cpp:
  23030. (WebCore::SVGTextElement::animatedLocalTransform):
  23031. * svg/SVGTextElement.h:
  23032. (WebCore::SVGTextElement::supplementalTransform):
  23033. 2008-04-17 Antti Koivisto <antti@apple.com>
  23034. Reviewed by Oliver.
  23035. Implement calcMode=paced.
  23036. Tested by SVG testsuite tests
  23037. animate-elem-11-t.svg
  23038. animate-elem-15-t.svg
  23039. animate-elem-82-t.svg
  23040. * svg/SVGAnimateElement.cpp:
  23041. (WebCore::SVGAnimateElement::calculateDistance):
  23042. * svg/SVGAnimateElement.h:
  23043. * svg/SVGAnimateMotionElement.cpp:
  23044. (WebCore::SVGAnimateMotionElement::calculateDistance):
  23045. * svg/SVGAnimateMotionElement.h:
  23046. * svg/SVGAnimateTransformElement.cpp:
  23047. (WebCore::SVGAnimateTransformElement::calculateDistance):
  23048. * svg/SVGAnimateTransformElement.h:
  23049. * svg/SVGAnimationElement.cpp:
  23050. (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
  23051. (WebCore::SVGAnimationElement::startedActiveInterval):
  23052. * svg/SVGAnimationElement.h:
  23053. (WebCore::SVGAnimationElement::calculateDistance):
  23054. 2008-04-17 David Hyatt <hyatt@apple.com>
  23055. Fix a leak in ImageBuffer's clearImage method.
  23056. Reviewed by olliej
  23057. * platform/graphics/ImageBuffer.h:
  23058. (WebCore::ImageBuffer::clearImage):
  23059. 2008-04-17 Antti Koivisto <antti@apple.com>
  23060. Reviewed by Eric.
  23061. https://bugs.webkit.org/show_bug.cgi?id=12438
  23062. More SVG animation:
  23063. - Make multiple additive animations work
  23064. - Support animating <use> instance trees
  23065. * svg/SVGAnimateColorElement.cpp:
  23066. (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
  23067. * svg/SVGAnimateColorElement.h:
  23068. Made this AnimateElement subclass. All functionality is now provided by AnimateElement.
  23069. * svg/SVGAnimateElement.cpp:
  23070. (WebCore::SVGAnimateElement::determinePropertyType):
  23071. (WebCore::SVGAnimateElement::calculateAnimatedValue):
  23072. (WebCore::SVGAnimateElement::calculateFromAndToValues):
  23073. (WebCore::SVGAnimateElement::calculateFromAndByValues):
  23074. (WebCore::SVGAnimateElement::resetToBaseValue):
  23075. (WebCore::SVGAnimateElement::applyResultsToTarget):
  23076. * svg/SVGAnimateElement.h:
  23077. * svg/SVGAnimateMotionElement.cpp:
  23078. (WebCore::SVGAnimateMotionElement::resetToBaseValue):
  23079. (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
  23080. (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
  23081. * svg/SVGAnimateMotionElement.h:
  23082. * svg/SVGAnimateTransformElement.cpp:
  23083. (WebCore::SVGAnimateTransformElement::resetToBaseValue):
  23084. (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
  23085. (WebCore::SVGAnimateTransformElement::calculateFromAndByValues):
  23086. (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
  23087. * svg/SVGAnimateTransformElement.h:
  23088. Switch to new model where
  23089. - resetToBaseValue() resets the animated value back to the base value
  23090. - calculateAnimatedValue() computes the value and adds it to the element used for accumulation
  23091. - applyResultsToTarget() sets the computed value the target element
  23092. * svg/SVGAnimationElement.cpp:
  23093. (WebCore::SVGAnimationElement::fromValue):
  23094. (WebCore::SVGAnimationElement::attributeIsCSS):
  23095. (WebCore::SVGAnimationElement::targetAttributeIsCSS):
  23096. (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
  23097. Update instances too.
  23098. (WebCore::SVGAnimationElement::startedActiveInterval):
  23099. (WebCore::SVGAnimationElement::updateAnimation):
  23100. (WebCore::SVGAnimationElement::endedActiveInterval):
  23101. * svg/SVGAnimationElement.h:
  23102. * svg/SVGSVGElement.cpp:
  23103. (WebCore::SVGSVGElement::SVGSVGElement):
  23104. * svg/SVGSetElement.cpp:
  23105. (WebCore::SVGSetElement::SVGSetElement):
  23106. * svg/SVGSetElement.h:
  23107. Made this AnimateElement subclass. All functionality is now provided by AnimateElement.
  23108. * svg/animation/SMILTimeContainer.cpp:
  23109. (WebCore::SMILTimeContainer::SMILTimeContainer):
  23110. (WebCore::SMILTimeContainer::unschedule):
  23111. (WebCore::SMILTimeContainer::updateDocumentOrderIndexes):
  23112. (WebCore::PriorityCompare::PriorityCompare):
  23113. (WebCore::PriorityCompare::operator()):
  23114. (WebCore::SMILTimeContainer::sortByPriority):
  23115. (WebCore::applyOrderSortFunction):
  23116. (WebCore::sortByApplyOrder):
  23117. (WebCore::SMILTimeContainer::baseValueFor):
  23118. (WebCore::SMILTimeContainer::updateAnimations):
  23119. * svg/animation/SMILTimeContainer.h:
  23120. (WebCore::SMILTimeContainer::create):
  23121. (WebCore::SMILTimeContainer::setDocumentOrderIndexesDirty):
  23122. Do additive animation with the following steps
  23123. - sort active animations based on their priority (begin time, document order).
  23124. - if not yet saved for each (element, attribute) pair save the base value.
  23125. - lowest priority animation for each (element, attribute) acts as the result element.
  23126. - animation results are resolved in priority order and results are accumulated to the result element.
  23127. - after all active animations have been processed the values in result elements are applied to the target elements.
  23128. * svg/animation/SVGSMILElement.cpp:
  23129. (WebCore::SVGSMILElement::SVGSMILElement):
  23130. (WebCore::SVGSMILElement::insertedIntoDocument):
  23131. Invalidate document order index.
  23132. (WebCore::SVGSMILElement::attributeName):
  23133. (WebCore::SVGSMILElement::isInactive):
  23134. (WebCore::SVGSMILElement::isFrozen):
  23135. (WebCore::SVGSMILElement::beginListChanged):
  23136. (WebCore::SVGSMILElement::determineActiveState):
  23137. (WebCore::SVGSMILElement::isContributing):
  23138. (WebCore::SVGSMILElement::progress):
  23139. Take care that animations in frozen state still contribute to the total. Since we now build the result starting
  23140. from the base value, fill="replace" works magically simply by not contributing anything.
  23141. * svg/animation/SVGSMILElement.h:
  23142. (WebCore::SVGSMILElement::previousIntervalBegin):
  23143. (WebCore::SVGSMILElement::documentOrderIndex):
  23144. (WebCore::SVGSMILElement::setDocumentOrderIndex):
  23145. 2008-04-17 Jon Honeycutt <jhoneycutt@apple.com>
  23146. Reviewed by Darin, Alice.
  23147. Implement AXObjectCache::detachWrapper() on Windows.
  23148. * page/win/AXObjectCacheWin.cpp:
  23149. (WebCore::AXObjectCache::detachWrapper): If this object has a wrapper,
  23150. call its detach() method.
  23151. 2008-04-17 Jon Honeycutt <jhoneycutt@apple.com>
  23152. Reviewed by mrowe.
  23153. Define HAVE_ACCESSIBILITY in a way that WebKit and WebCore can see it.
  23154. * config.h: Remove HAVE_ACCESSIBILITY.
  23155. * page/AccessibilityObject.h: Include wtf/Platform.h to pick up
  23156. HAVE_ACCESSIBILITY.
  23157. 2008-04-17 Jon Honeycutt <jhoneycutt@apple.com>
  23158. Reviewed by aliu.
  23159. * page/AccessibilityObject.cpp:
  23160. (WebCore::AccessibilityObject::layoutCount): Check isRenderView() before
  23161. casting to RenderView.
  23162. 2008-04-17 Antti Koivisto <antti@apple.com>
  23163. Reviewed by Oliver.
  23164. Fix https://bugs.webkit.org/show_bug.cgi?id=18551
  23165. Bug 18551: REGRESSION (r31801?): Crash in ContainerNode::removedFromDocument on many SVG tests under guard malloc
  23166. Freeing a RefPtr that is the last ref to the parent from removedFromDocument() is a bad idea.
  23167. Caching the target element is too dangerous, let's simply not do it. Getting it is very cheap anyway.
  23168. * svg/animation/SVGSMILElement.cpp:
  23169. (WebCore::SVGSMILElement::removedFromDocument):
  23170. (WebCore::SVGSMILElement::attributeChanged):
  23171. (WebCore::SVGSMILElement::targetElement):
  23172. * svg/animation/SVGSMILElement.h:
  23173. 2008-04-17 Sam Weinig <sam@webkit.org>
  23174. Reviewed by Anders Carlsson.
  23175. Autogenerate the XMLHttpRequest javascript binding.
  23176. * GNUmakefile.am:
  23177. * WebCore.pro:
  23178. * WebCore.vcproj/WebCore.vcproj:
  23179. * WebCoreSources.bkl:
  23180. * DerivedSources.make:
  23181. * WebCore.xcodeproj/project.pbxproj:
  23182. * bindings/js/JSDOMWindowBase.cpp:
  23183. * bindings/js/JSXMLHttpRequest.cpp: Removed.
  23184. * bindings/js/JSXMLHttpRequest.h: Removed.
  23185. * bindings/js/JSXMLHttpRequestConstructor.cpp: Added.
  23186. (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
  23187. (WebCore::JSXMLHttpRequestConstructor::implementsConstruct):
  23188. (WebCore::JSXMLHttpRequestConstructor::construct):
  23189. * bindings/js/JSXMLHttpRequestConstructor.h: Added.
  23190. (WebCore::JSXMLHttpRequestConstructor::classInfo):
  23191. * bindings/js/JSXMLHttpRequestCustom.cpp: Added.
  23192. (WebCore::JSXMLHttpRequest::mark):
  23193. (WebCore::JSXMLHttpRequest::onreadystatechange):
  23194. (WebCore::JSXMLHttpRequest::setOnreadystatechange):
  23195. (WebCore::JSXMLHttpRequest::onload):
  23196. (WebCore::JSXMLHttpRequest::setOnload):
  23197. (WebCore::JSXMLHttpRequest::responseXML):
  23198. (WebCore::JSXMLHttpRequest::open):
  23199. (WebCore::JSXMLHttpRequest::setRequestHeader):
  23200. (WebCore::JSXMLHttpRequest::send):
  23201. (WebCore::JSXMLHttpRequest::getResponseHeader):
  23202. (WebCore::JSXMLHttpRequest::overrideMimeType):
  23203. (WebCore::JSXMLHttpRequest::addEventListener):
  23204. (WebCore::JSXMLHttpRequest::removeEventListener):
  23205. (WebCore::JSXMLHttpRequest::dispatchEvent):
  23206. * xml/XMLHttpRequest.cpp:
  23207. (WebCore::XMLHttpRequest::readyState):
  23208. (WebCore::XMLHttpRequest::responseText):
  23209. * xml/XMLHttpRequest.h:
  23210. * xml/XMLHttpRequest.idl: Added.
  23211. 2008-04-17 Brady Eidson <beidson@apple.com>
  23212. Reviewed by Anders
  23213. The SessionStorage for a Page has to be copied every time a new Page is created.
  23214. I thought I had the right choke point for creating new Pages at FrameLoader::createWindow(),
  23215. but it just so happens there was another - in the ContextMenuController.
  23216. The *real* choke point for this, then, is in the Chrome itself.
  23217. * loader/FrameLoader.cpp:
  23218. (WebCore::FrameLoader::createWindow): Don't do the SessionStorage copy here...
  23219. * page/Chrome.cpp:
  23220. (WebCore::Chrome::createWindow): Do it here, instead!
  23221. 2008-04-17 Alice Liu <alice.liu@apple.com>
  23222. Reviewed by Jon Honeycutt.
  23223. Added some asserts to catch undesirable usage of setWrapper and addChildren.
  23224. * page/AccessibilityObject.cpp:
  23225. (WebCore::AccessibilityObject::addChildren):
  23226. * page/AccessibilityObject.h:
  23227. (WebCore::AccessibilityObject::setWrapper):
  23228. 2008-04-17 Brady Eidson <beidson@apple.com>
  23229. Reviewed by the Mitzpettel
  23230. Before things get much more intertwined, move away from a global LocalStorage model
  23231. to a per-PageGroup LocalStorage model.
  23232. * page/DOMWindow.cpp:
  23233. (WebCore::DOMWindow::localStorage): Get it from the current PageGroup, not the global
  23234. LocalStorage (which doesn't exist anymore).
  23235. * page/Page.cpp:
  23236. * page/PageGroup.cpp:
  23237. (WebCore::PageGroup::localStorage): Create a LocalStorage object on demand.
  23238. * page/PageGroup.h:
  23239. * storage/LocalStorage.cpp:
  23240. (WebCore::LocalStorage::LocalStorage): Hold a back pointer to the owning PageGroup.
  23241. (WebCore::LocalStorage::storageArea):
  23242. * storage/LocalStorage.h:
  23243. (WebCore::LocalStorage::create):
  23244. * storage/LocalStorageArea.cpp:
  23245. (WebCore::LocalStorageArea::LocalStorageArea): Hold a back pointer to the owning LocalStorage.
  23246. * storage/LocalStorageArea.h:
  23247. (WebCore::LocalStorageArea::create):
  23248. 2008-04-17 Anders Carlsson <andersca@apple.com>
  23249. Fix indentation.
  23250. * loader/DocumentLoader.cpp:
  23251. (WebCore::DocumentLoader::scheduleArchiveLoad):
  23252. 2008-04-17 Anders Carlsson <andersca@apple.com>
  23253. Reviewed by Brady.
  23254. When in the web archive debug mode, don't call didFail immediately. Instead,
  23255. add the loader to the substitute resource map, but with a null resource, which
  23256. indicates to substituteResourceDeliveryTimerFired that the load should fail.
  23257. * loader/DocumentLoader.cpp:
  23258. (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
  23259. (WebCore::DocumentLoader::scheduleArchiveLoad):
  23260. * loader/ResourceLoader.cpp:
  23261. (WebCore::ResourceLoader::load):
  23262. 2008-04-17 Anders Carlsson <andersca@apple.com>
  23263. Reviewed by Sam.
  23264. Add JS bindings for the DOMApplicationCache object.
  23265. * bindings/js/JSDOMApplicationCacheCustom.cpp:
  23266. (WebCore::JSDOMApplicationCache::add):
  23267. (WebCore::JSDOMApplicationCache::remove):
  23268. (WebCore::JSDOMApplicationCache::addEventListener):
  23269. (WebCore::JSDOMApplicationCache::removeEventListener):
  23270. (WebCore::JSDOMApplicationCache::dispatchEvent):
  23271. (WebCore::JSDOMApplicationCache::setOnchecking):
  23272. (WebCore::JSDOMApplicationCache::onchecking):
  23273. (WebCore::JSDOMApplicationCache::setOnerror):
  23274. (WebCore::JSDOMApplicationCache::onerror):
  23275. (WebCore::JSDOMApplicationCache::setOnnoupdate):
  23276. (WebCore::JSDOMApplicationCache::onnoupdate):
  23277. (WebCore::JSDOMApplicationCache::setOndownloading):
  23278. (WebCore::JSDOMApplicationCache::ondownloading):
  23279. (WebCore::JSDOMApplicationCache::setOnprogress):
  23280. (WebCore::JSDOMApplicationCache::onprogress):
  23281. (WebCore::JSDOMApplicationCache::setOnupdateready):
  23282. (WebCore::JSDOMApplicationCache::onupdateready):
  23283. (WebCore::JSDOMApplicationCache::setOncached):
  23284. (WebCore::JSDOMApplicationCache::oncached):
  23285. (WebCore::JSDOMApplicationCache::mark):
  23286. * bindings/js/JSDOMWindowCustom.cpp:
  23287. (WebCore::JSDOMWindow::mark):
  23288. * bindings/js/JSEventTargetBase.cpp:
  23289. (WebCore::toJS):
  23290. * loader/appcache/DOMApplicationCache.idl:
  23291. * page/DOMWindow.idl:
  23292. 2008-04-17 Eric Carlson <eric.carlson@apple.com>
  23293. Reviewed by Adele.
  23294. Fix for <rdar://problem/5861642> QTMovieWin returns uninitialized values
  23295. * platform/graphics/win/QTMovieWin.cpp:
  23296. (QTMovieWin::rate):
  23297. (QTMovieWin::setRate):
  23298. (QTMovieWin::setVolume):
  23299. (QTMovieWin::getNaturalSize):
  23300. 2008-04-17 Marco Barisione <marco.barisione@collabora.co.uk>
  23301. Reviewed by Alp Toker.
  23302. http://bugs.webkit.org/show_bug.cgi?id=18335
  23303. Pango font backend unable to display japanese properly
  23304. Different fonts can have different glyph indices, so we need to pass
  23305. the right font when retrieving a glyph index.
  23306. * platform/graphics/gtk/GlyphPageTreeNodePango.cpp:
  23307. (WebCore::pango_font_get_glyph): Temporarily override the font in the
  23308. PangoAnalysis passed to pango_shape.
  23309. 2008-04-17 Anders Carlsson <andersca@apple.com>
  23310. According to Sam and David, it's "topLevel", not "toplevel".
  23311. * loader/DocumentLoader.cpp:
  23312. (WebCore::DocumentLoader::topLevelApplicationCache):
  23313. * loader/DocumentLoader.h:
  23314. * loader/appcache/DOMApplicationCache.cpp:
  23315. (WebCore::DOMApplicationCache::associatedCache):
  23316. 2008-04-17 Anders Carlsson <andersca@apple.com>
  23317. Reviewed by Sam.
  23318. Add DOMApplicationCache implementation.
  23319. * dom/EventNames.h:
  23320. Add new event names.
  23321. * dom/EventTarget.cpp:
  23322. (WebCore::EventTarget::toDOMApplicationCache):
  23323. * dom/EventTarget.h:
  23324. Add EventTarget conversion method.
  23325. * loader/appcache/ApplicationCacheGroup.h:
  23326. (WebCore::ApplicationCacheGroup::):
  23327. (WebCore::ApplicationCacheGroup::status):
  23328. (WebCore::ApplicationCacheGroup::update):
  23329. (WebCore::ApplicationCacheGroup::newestCache):
  23330. Add more stubs.
  23331. * loader/appcache/DOMApplicationCache.cpp:
  23332. * loader/appcache/DOMApplicationCache.h:
  23333. * page/DOMWindow.cpp:
  23334. (WebCore::DOMWindow::clear):
  23335. (WebCore::DOMWindow::applicationCache):
  23336. * page/DOMWindow.h:
  23337. (WebCore::DOMWindow::optionalApplicationCache):
  23338. Add ApplicationCache member.
  23339. 2008-04-17 Anders Carlsson <andersca@apple.com>
  23340. Build fix.
  23341. * WebCore.vcproj/WebCore.vcproj:
  23342. 2008-04-17 Dean Jackson <dino@apple.com>
  23343. Reviewed by Hyatt.
  23344. Fix for <rdar://problem/5849968> translate method should have Y=0 when only X is present
  23345. Test: fast/css/transform-default-parameter.html
  23346. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty):
  23347. translate function with only X parameter now leaves the Y parameter as zero.
  23348. 2008-04-17 Anders Carlsson <andersca@apple.com>
  23349. Reviewed by Sam.
  23350. Add plumbing for associating document loaders with application caches.
  23351. * loader/DocumentLoader.cpp:
  23352. (WebCore::DocumentLoader::DocumentLoader):
  23353. (WebCore::DocumentLoader::~DocumentLoader):
  23354. (WebCore::DocumentLoader::originalURL):
  23355. (WebCore::DocumentLoader::requestURL):
  23356. (WebCore::DocumentLoader::responseURL):
  23357. (WebCore::DocumentLoader::responseMIMEType):
  23358. (WebCore::DocumentLoader::setCandidateApplicationCacheGroup):
  23359. (WebCore::DocumentLoader::setApplicationCache):
  23360. (WebCore::DocumentLoader::toplevelApplicationCache):
  23361. * loader/DocumentLoader.h:
  23362. (WebCore::DocumentLoader::candidateApplicationCacheGroup):
  23363. (WebCore::DocumentLoader::applicationCache):
  23364. * loader/appcache/ApplicationCacheGroup.h:
  23365. (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
  23366. 2008-04-17 Adam Roben <aroben@apple.com>
  23367. Fix Bug 18544: REGRESSION (r31951): Two fast/xsl tests crash
  23368. <https://bugs.webkit.org/show_bug.cgi?id=18544>
  23369. r31951 changed XSLTProcessor::parseErrorFunc to expect a Console* as
  23370. the context parameter. The caller in XSLTProcessor was changed, but
  23371. the one in XSLStyleSheet was missed.
  23372. Reviewed by Alexey Proskuryakov.
  23373. * xml/XSLStyleSheet.cpp:
  23374. (WebCore::XSLStyleSheet::parseString): Pass the Console as the context
  23375. to parseErrorFunc.
  23376. 2008-04-17 Adam Roben <aroben@apple.com>
  23377. Windows build fix after r31981
  23378. * dom/Document.idl: Omit getCSSCanvasContext from the COM bindings.
  23379. 2008-04-17 Ariya Hidayat <ariya.hidayat@trolltech.com>
  23380. Reviewed by Simon.
  23381. Implemented getFileModificationTime and pathGetFileName for the Qt port.
  23382. * platform/qt/FileSystemQt.cpp:
  23383. (WebCore::getFileModificationTime):
  23384. 2008-04-17 Mark Rowe <mrowe@apple.com>
  23385. Fix the non-Mac builds that I broke with my Mac build fix.
  23386. * css/CSSMutableStyleDeclaration.cpp:
  23387. (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Explicitly use the size_t version of max
  23388. to avoid making assumptions about sizeof(size_t).
  23389. 2008-04-17 Mark Rowe <mrowe@apple.com>
  23390. Rubber-stamped by Dan Bernstein.
  23391. Fix the Mac build.
  23392. * css/CSSMutableStyleDeclaration.cpp:
  23393. (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Update to use size_t in place of unsigned.
  23394. * dom/NamedNodeMap.h: Ditto.
  23395. * page/AccessibilityObject.h: Forward-declare AccessibilityObjectWrapper in the non-Objective-C case too.
  23396. 2008-04-16 Jon Honeycutt <jhoneycutt@apple.com>
  23397. Reviewed by Darin.
  23398. Use size_t instead of unsigned where appropriate.
  23399. * css/CSSValueList.h:
  23400. * dom/NamedAttrMap.h:
  23401. * rendering/RenderStyle.h:
  23402. 2008-04-15 Jon Honeycutt <jhoneycutt@apple.com>
  23403. Reviewed by Darin.
  23404. Add some methods to check AccessibilityObject state.
  23405. * page/AccessibilityObject.cpp:
  23406. (WebCore::AccessibilityObject::AccessibilityObject): Assert that the
  23407. passed renderer is not null.
  23408. (WebCore::AccessibilityObject::isPasswordField): Refactored to use early
  23409. return.
  23410. (WebCore::AccessibilityObject::isPressed): Return true if this is a
  23411. button in the pressed state.
  23412. (WebCore::AccessibilityObject::isIndeterminate): Return true if this is
  23413. a tri-state checkbox in the indeterminate state.
  23414. (WebCore::AccessibilityObject::isChecked): True if this is a radio
  23415. button or checkbox in the checked state.
  23416. (WebCore::AccessibilityObject::isHovered): True if object is currently
  23417. under the mouse cursor.
  23418. (WebCore::AccessibilityObject::isMultiSelect): True if this is a select
  23419. element capable of multi-select.
  23420. (WebCore::AccessibilityObject::isReadOnly): False if this object has
  23421. editable content.
  23422. (WebCore::AccessibilityObject::isOffScreen): True if this object is not
  23423. in the visible portion of the view.
  23424. * page/AccessibilityObject.h: Grouped methods into is-state and is-kind.
  23425. 2008-04-15 Jon Honeycutt <jhoneycutt@apple.com>
  23426. Reviewed by Darin.
  23427. Add AccessibilityObjectWrapper to Windows.
  23428. * WebCore.vcproj/WebCore.vcproj: Add AccessibilityObjectWrapperWin.h
  23429. * page/AccessibilityObject.h: Include COMPtr.h,
  23430. AccessibilityObjectWrapperWin.h on Windows. Define wrapper() and
  23431. setWrapper() if accessibility is present. Add an m_wrapper on Windows.
  23432. * page/AccessibilityObject.cpp:
  23433. (WebCore::AccessibilityObject::detach): Clear m_wrapper if
  23434. accessibility is present.
  23435. * page/win/AccessibilityObjectWrapperWin.h: Added; defines a wrapper for
  23436. AccessibilityObjects on Windows.
  23437. (WebCore::AccessibilityObjectWrapper::attached): Return true if attached
  23438. to an object.
  23439. (WebCore::AccessibilityObjectWrapper::accessibilityObject): Return the
  23440. wrapped object.
  23441. (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper):
  23442. 2008-04-15 Jon Honeycutt <jhoneycutt@apple.com>
  23443. Reviewed by Darin.
  23444. Add AXObjectCache to Windows.
  23445. * WebCore.vcproj/WebCore.vcproj: Add AXObjectCacheWin.cpp.
  23446. * page/AXObjectCache.h: Add handleFocusedUIElementChanged definition to
  23447. non-Mac platforms, and added stub for it. Replace PLATFORM(MAC)
  23448. conditional with HAVE(ACCESSIBILITY) for stubs.
  23449. (WebCore::AXObjectCache::enableAccessibility):
  23450. (WebCore::AXObjectCache::accessibilityEnabled):
  23451. * page/win/AXObjectCacheWin.cpp: Added; contains stubs for the methods
  23452. below.
  23453. (WebCore::AXObjectCache::detachWrapper):
  23454. (WebCore::AXObjectCache::attachWrapper):
  23455. (WebCore::AXObjectCache::postNotification):
  23456. (WebCore::AXObjectCache::postNotificationToElement):
  23457. * config.h: Define HAVE_ACCESSIBILITY on Mac and Windows.
  23458. 2008-04-15 Jon Honeycutt <jhoneycutt@apple.com>
  23459. Reviewed by Darin.
  23460. * WebCore.vcproj/WebCore.vcproj: Fix path to AXObjectCache.h.
  23461. 2008-04-16 Brady Eidson <beidson@apple.com>
  23462. Reviewed by Darin Adler
  23463. Merge the StorageAreaClient into the StorageArea class itself as pure virtual methods.
  23464. Add "LocalStorageArea" and "SessionStorageArea" implementations, and have SessionStorage
  23465. and LocalStorage instantiate the appropriate type of StorageArea object.
  23466. This purpose of this change is because while adding the persistent store to LocalStorage,
  23467. it became obvious that the client approach wasn't scaling well. Additionally, a StorageArea
  23468. backing a local storage area required vastly different data members compared to one backing
  23469. a session storage area.
  23470. This will be much cleaner going forward.
  23471. * GNUmakefile.am:
  23472. * WebCore.pro:
  23473. * WebCore.vcproj/WebCore.vcproj:
  23474. * WebCore.xcodeproj/project.pbxproj:
  23475. * WebCoreSources.bkl:
  23476. * storage/LocalStorage.cpp:
  23477. (WebCore::LocalStorage::storageArea):
  23478. * storage/LocalStorage.h:
  23479. * storage/LocalStorageArea.cpp: Added.
  23480. (WebCore::LocalStorageArea::LocalStorageArea):
  23481. (WebCore::LocalStorageArea::itemChanged):
  23482. (WebCore::LocalStorageArea::itemRemoved):
  23483. (WebCore::LocalStorageArea::dispatchStorageEvent):
  23484. * storage/LocalStorageArea.h: Added.
  23485. (WebCore::LocalStorageArea::create):
  23486. * storage/SessionStorage.cpp:
  23487. (WebCore::SessionStorage::copy):
  23488. (WebCore::SessionStorage::storageArea):
  23489. * storage/SessionStorage.h:
  23490. * storage/SessionStorageArea.cpp: Added.
  23491. (WebCore::SessionStorageArea::copy):
  23492. (WebCore::SessionStorageArea::SessionStorageArea):
  23493. (WebCore::SessionStorageArea::itemChanged):
  23494. (WebCore::SessionStorageArea::itemRemoved):
  23495. (WebCore::SessionStorageArea::dispatchStorageEvent):
  23496. * storage/SessionStorageArea.h: Added.
  23497. (WebCore::SessionStorageArea::create):
  23498. (WebCore::SessionStorageArea::page):
  23499. * storage/StorageArea.cpp:
  23500. (WebCore::StorageArea::StorageArea):
  23501. (WebCore::StorageArea::setItem):
  23502. (WebCore::StorageArea::removeItem):
  23503. (WebCore::StorageArea::storageMap):
  23504. * storage/StorageArea.h:
  23505. * storage/StorageAreaClient.h: Removed.
  23506. 2008-04-16 David Hyatt <hyatt@apple.com>
  23507. Add support for the ability to draw directly into CSS images using CanvasRenderingContext2D.
  23508. Reviewed by olliej
  23509. Added fast/canvas/canvas-bg.html
  23510. * GNUmakefile.am:
  23511. * WebCore.pro:
  23512. * WebCore.vcproj/WebCore.vcproj:
  23513. * WebCore.xcodeproj/project.pbxproj:
  23514. * WebCoreSources.bkl:
  23515. * css/CSSCanvasValue.cpp: Added.
  23516. (WebCore::CSSCanvasValue::~CSSCanvasValue):
  23517. (WebCore::CSSCanvasValue::cssText):
  23518. (WebCore::CSSCanvasValue::canvasChanged):
  23519. (WebCore::CSSCanvasValue::canvasResized):
  23520. (WebCore::CSSCanvasValue::fixedSize):
  23521. (WebCore::CSSCanvasValue::element):
  23522. (WebCore::CSSCanvasValue::image):
  23523. * css/CSSCanvasValue.h: Added.
  23524. (WebCore::CSSCanvasValue::CSSCanvasValue):
  23525. (WebCore::CSSCanvasValue::isFixedSize):
  23526. (WebCore::CSSCanvasValue::setName):
  23527. * css/CSSGradientValue.cpp:
  23528. * css/CSSGradientValue.h:
  23529. * css/CSSImageGeneratorValue.cpp:
  23530. (WebCore::CSSImageGeneratorValue::generatedImage):
  23531. * css/CSSImageGeneratorValue.h:
  23532. (WebCore::CSSImageGeneratorValue::isFixedSize):
  23533. (WebCore::CSSImageGeneratorValue::fixedSize):
  23534. * css/CSSParser.cpp:
  23535. (WebCore::CSSParser::parseContent):
  23536. (WebCore::CSSParser::parseBackgroundImage):
  23537. (WebCore::CSSParser::parseBorderImage):
  23538. (WebCore::CSSParser::parseCanvas):
  23539. * css/CSSParser.h:
  23540. * dom/Document.cpp:
  23541. (WebCore::Document::getCSSCanvasContext):
  23542. (WebCore::Document::getCSSCanvasElement):
  23543. * dom/Document.h:
  23544. * dom/Document.idl:
  23545. * html/HTMLCanvasElement.cpp:
  23546. (WebCore::HTMLCanvasElement::HTMLCanvasElement):
  23547. (WebCore::HTMLCanvasElement::reset):
  23548. * html/HTMLCanvasElement.h:
  23549. (WebCore::HTMLCanvasElement::setSize):
  23550. * rendering/RenderBox.cpp:
  23551. (WebCore::RenderBox::calculateBackgroundSize):
  23552. (WebCore::RenderBox::imageChanged):
  23553. * rendering/RenderBox.h:
  23554. * rendering/RenderImage.cpp:
  23555. (WebCore::RenderImage::imageChanged):
  23556. * rendering/RenderImage.h:
  23557. (WebCore::RenderImage::imagePtr):
  23558. (WebCore::RenderImage::intrinsicSizeChanged):
  23559. * rendering/RenderImageGeneratedContent.h:
  23560. (WebCore::RenderImageGeneratedContent::imageSize):
  23561. (WebCore::RenderImageGeneratedContent::imagePtr):
  23562. * rendering/RenderListMarker.cpp:
  23563. (WebCore::RenderListMarker::layout):
  23564. (WebCore::RenderListMarker::imageChanged):
  23565. (WebCore::RenderListMarker::calcPrefWidths):
  23566. (WebCore::RenderListMarker::getRelativeMarkerRect):
  23567. * rendering/RenderListMarker.h:
  23568. * rendering/RenderObject.cpp:
  23569. (WebCore::RenderObject::paintBorderImage):
  23570. (WebCore::RenderObject::imageChanged):
  23571. * rendering/RenderObject.h:
  23572. (WebCore::RenderObject::imageChanged):
  23573. * rendering/RenderSVGImage.cpp:
  23574. (WebCore::RenderSVGImage::imageChanged):
  23575. * rendering/RenderSVGImage.h:
  23576. * rendering/RenderStyle.cpp:
  23577. (WebCore::StyleCachedImage::imageSize):
  23578. (WebCore::StyleGeneratedImage::imageSize):
  23579. * rendering/RenderStyle.h:
  23580. (WebCore::StyleCachedImage::data):
  23581. (WebCore::StyleGeneratedImage::StyleGeneratedImage):
  23582. (WebCore::StyleGeneratedImage::data):
  23583. (WebCore::StyleGeneratedImage::imageHasRelativeWidth):
  23584. (WebCore::StyleGeneratedImage::imageHasRelativeHeight):
  23585. (WebCore::StyleGeneratedImage::usesImageContainerSize):
  23586. * rendering/RenderTableCol.cpp:
  23587. (WebCore::RenderTableCol::imageChanged):
  23588. * rendering/RenderTableCol.h:
  23589. * rendering/RenderTableRow.cpp:
  23590. (WebCore::RenderTableRow::imageChanged):
  23591. * rendering/RenderTableRow.h:
  23592. * rendering/RenderTableSection.cpp:
  23593. (WebCore::RenderTableSection::imageChanged):
  23594. * rendering/RenderTableSection.h:
  23595. 2008-04-16 Anders Carlsson <andersca@apple.com>
  23596. Reviewed by Darin.
  23597. Add manifest parser.
  23598. * loader/appcache/ManifestParser.cpp:
  23599. (WebCore::parseManifest):
  23600. * loader/appcache/ManifestParser.h:
  23601. * platform/text/CharacterNames.h:
  23602. 2008-04-16 Darin Adler <darin@apple.com>
  23603. Reviewed by Mitz.
  23604. - fix <rdar://problem/5858617> REGRESSION (r21452-Safari 3.1):
  23605. Safari does not find words containing ß (German letter sharp-s)
  23606. Test: fast/text/find-case-folding.html
  23607. * platform/text/StringImpl.cpp:
  23608. (WebCore::StringImpl::foldCase):
  23609. Pass the folded length to foldCase rather than the original string length.
  23610. Without this, we get an error code every time.
  23611. 2008-04-16 Anders Carlsson <andersca@apple.com>
  23612. Fix build.
  23613. * loader/appcache/ApplicationCache.cpp:
  23614. (WebCore::ApplicationCache::ApplicationCache):
  23615. (WebCore::ApplicationCache::setManifestResource):
  23616. (WebCore::ApplicationCache::addResource):
  23617. 2008-04-16 Anders Carlsson <andersca@apple.com>
  23618. Reviewed by Darin.
  23619. Add new protocolHostAndPortAreEqual function.
  23620. * platform/KURL.cpp:
  23621. (WebCore::KURL::host):
  23622. (WebCore::KURL::setHost):
  23623. (WebCore::KURL::setHostAndPort):
  23624. (WebCore::protocolHostAndPortAreEqual):
  23625. * platform/KURL.h:
  23626. (WebCore::KURL::hostStart):
  23627. 2008-04-16 Anders Carlsson <andersca@apple.com>
  23628. Reviewed by Sam.
  23629. Fix some style nits.
  23630. * loader/appcache/ApplicationCache.cpp:
  23631. (WebCore::ApplicationCache::ApplicationCache):
  23632. (WebCore::ApplicationCache::setManifestResource):
  23633. (WebCore::ApplicationCache::addResource):
  23634. (WebCore::ApplicationCache::removeResource):
  23635. (WebCore::ApplicationCache::dump):
  23636. * loader/appcache/ApplicationCacheGroup.h:
  23637. 2008-04-16 Anders Carlsson <andersca@apple.com>
  23638. Reviewed by Brady and Sam.
  23639. Add ApplicationCache implementation. Stub out ApplicationCacheGroup methods
  23640. needed by ApplicationCache.
  23641. * loader/appcache/ApplicationCache.cpp:
  23642. (WebCore::ApplicationCache::ApplicationCache):
  23643. (WebCore::ApplicationCache::~ApplicationCache):
  23644. (WebCore::ApplicationCache::setManifestResource):
  23645. (WebCore::ApplicationCache::addResource):
  23646. (WebCore::ApplicationCache::removeResource):
  23647. (WebCore::ApplicationCache::resourceForURL):
  23648. (WebCore::ApplicationCache::resourceForRequest):
  23649. (WebCore::ApplicationCache::numDynamicEntries):
  23650. (WebCore::ApplicationCache::dynamicEntry):
  23651. (WebCore::ApplicationCache::addDynamicEntry):
  23652. (WebCore::ApplicationCache::removeDynamicEntry):
  23653. (WebCore::ApplicationCache::setOnlineWhitelist):
  23654. (WebCore::ApplicationCache::isURLInOnlineWhitelist):
  23655. (WebCore::ApplicationCache::dump):
  23656. * loader/appcache/ApplicationCache.h:
  23657. (WebCore::ApplicationCache::create):
  23658. (WebCore::ApplicationCache::manifestResource):
  23659. (WebCore::ApplicationCache::group):
  23660. (WebCore::ApplicationCache::begin):
  23661. (WebCore::ApplicationCache::end):
  23662. * loader/appcache/ApplicationCacheGroup.h:
  23663. (WebCore::ApplicationCacheGroup::manifestURL):
  23664. (WebCore::ApplicationCacheGroup::cacheDestroyed):
  23665. 2008-04-16 Adam Roben <aroben@apple.com>
  23666. Fix Bug 18505: REGRESSION: Search is disabled and not functional
  23667. <https://bugs.webkit.org/show_bug.cgi?id=18505>
  23668. Reviewed by Tim Hatcher.
  23669. * page/inspector/ResourcesPanel.js:
  23670. (WebInspector.ResourcesPanel.sourceFrameForResource): Added.
  23671. * page/inspector/inspector.css: Added back rules for the search field
  23672. that were removed in r31736.
  23673. * page/inspector/inspector.html:
  23674. - Removed the disabled attribute from the search field
  23675. - Added back the #searchResults and #searchResultsResizer divs which
  23676. were removed in r31736
  23677. * page/inspector/inspector.js:
  23678. (WebInspector.set showingSearchResults): Updated for class rename
  23679. panels -> main-panels.
  23680. (WebInspector.loaded): Added back the mousedown event listener for the
  23681. search results resizer that was removed in r31736.
  23682. (WebInspector.searchResultsResizerDrag): Updated for class rename
  23683. panels -> main-panels.
  23684. (WebInspector.performSearch):
  23685. - Changed to use sourceFrameForResource
  23686. - Changed to use showResource
  23687. - Changed to save/restore the focused element around the setting of
  23688. the current panel
  23689. - Changed to get the source document from the match range instead of
  23690. by crawling back up to the source view
  23691. - Changed to bind the onselect handlers to this so that we can
  23692. access the Elements/Resources panels
  23693. 2008-04-16 Brady Eidson <beidson@apple.com>
  23694. Reviewed by Sam Weinig
  23695. Changing ThreadSafeShared to start with a ref count of 1, so updating all users to
  23696. adoptRef() that initial reference.
  23697. * bindings/js/JSCustomSQLStatementCallback.h:
  23698. (WebCore::JSCustomSQLStatementCallback::create):
  23699. * bindings/js/JSCustomSQLStatementErrorCallback.h:
  23700. (WebCore::JSCustomSQLStatementErrorCallback::create):
  23701. * bindings/js/JSCustomSQLTransactionCallback.h:
  23702. (WebCore::JSCustomSQLTransactionCallback::create):
  23703. * bindings/js/JSCustomSQLTransactionErrorCallback.h:
  23704. (WebCore::JSCustomSQLTransactionErrorCallback::create):
  23705. * bindings/js/JSDatabaseCustom.cpp:
  23706. (WebCore::JSDatabase::changeVersion):
  23707. (WebCore::JSDatabase::transaction):
  23708. * bindings/js/JSSQLTransactionCustom.cpp:
  23709. (WebCore::JSSQLTransaction::executeSql):
  23710. * dom/Document.cpp:
  23711. (WebCore::Document::databaseThread):
  23712. * platform/SecurityOrigin.cpp:
  23713. (WebCore::SecurityOrigin::create):
  23714. * platform/sql/SQLiteAuthorizer.h:
  23715. (WebCore::SQLiteAuthorizer::create):
  23716. (WebCore::SQLiteAuthorizer::SQLiteAuthorizer):
  23717. * storage/ChangeVersionWrapper.cpp:
  23718. (WebCore::ChangeVersionWrapper::performPreflight):
  23719. (WebCore::ChangeVersionWrapper::performPostflight):
  23720. * storage/ChangeVersionWrapper.h:
  23721. (WebCore::ChangeVersionWrapper::create):
  23722. * storage/Database.cpp:
  23723. (WebCore::Database::openAndVerifyVersion):
  23724. (WebCore::Database::markAsDeletedAndClose):
  23725. (WebCore::Database::changeVersion):
  23726. (WebCore::Database::transaction):
  23727. (WebCore::Database::scheduleTransaction):
  23728. (WebCore::Database::scheduleTransactionStep):
  23729. (WebCore::Database::tableNames):
  23730. * storage/DatabaseAuthorizer.h:
  23731. (WebCore::DatabaseAuthorizer::create):
  23732. * storage/DatabaseTask.h:
  23733. (WebCore::DatabaseOpenTask::create):
  23734. (WebCore::DatabaseCloseTask::create):
  23735. (WebCore::DatabaseTransactionTask::create):
  23736. (WebCore::DatabaseTableNamesTask::create):
  23737. * storage/DatabaseThread.cpp:
  23738. (WebCore::DatabaseThread::scheduleTask): Change to take a PassRefPtr instead of raw
  23739. (WebCore::DatabaseThread::scheduleImmediateTask): Ditto
  23740. * storage/DatabaseThread.h:
  23741. (WebCore::DatabaseThread::create):
  23742. * storage/SQLError.h:
  23743. (WebCore::SQLError::create):
  23744. (WebCore::SQLError::SQLError):
  23745. * storage/SQLResultSet.h:
  23746. (WebCore::SQLResultSet::create):
  23747. * storage/SQLStatement.cpp:
  23748. (WebCore::SQLStatement::create):
  23749. (WebCore::SQLStatement::execute):
  23750. (WebCore::SQLStatement::setDatabaseDeletedError):
  23751. (WebCore::SQLStatement::setVersionMismatchedError):
  23752. (WebCore::SQLStatement::setFailureDueToQuota):
  23753. * storage/SQLStatement.h:
  23754. * storage/SQLTransaction.cpp:
  23755. (WebCore::SQLTransaction::create):
  23756. (WebCore::SQLTransaction::executeSQL):
  23757. (WebCore::SQLTransaction::openTransactionAndPreflight):
  23758. (WebCore::SQLTransaction::deliverTransactionCallback):
  23759. (WebCore::SQLTransaction::handleCurrentStatementError):
  23760. (WebCore::SQLTransaction::deliverStatementCallback):
  23761. (WebCore::SQLTransaction::postflightAndCommit):
  23762. * storage/SQLTransaction.h:
  23763. 2008-04-16 Anders Carlsson <andersca@apple.com>
  23764. Reviewed by Adam and Brady.
  23765. Add implementation of ApplicationCacheResource.
  23766. * loader/appcache/ApplicationCacheResource.cpp:
  23767. (WebCore::ApplicationCacheResource::ApplicationCacheResource):
  23768. (WebCore::ApplicationCacheResource::dumpType):
  23769. * loader/appcache/ApplicationCacheResource.h:
  23770. (WebCore::ApplicationCacheResource::):
  23771. (WebCore::ApplicationCacheResource::create):
  23772. (WebCore::ApplicationCacheResource::type):
  23773. (WebCore::ApplicationCacheResource::addType):
  23774. 2008-04-16 Timothy Hatcher <timothy@apple.com>
  23775. Fixes an issue where the source for a resource that had errors would
  23776. not be shown because the view was created before the resource load
  23777. finished. The right view is now created, even if the resource isn't
  23778. finished. The SourceView just makes sure to not load the source until
  23779. the resource is finished. Only if the category changes, does the view
  23780. need to be recreated.
  23781. Reviewed by Adam Roben.
  23782. * page/inspector/Resource.js:
  23783. (WebInspector.Resource.prototype.set category): Call recreateViewForResourceIfNeeded.
  23784. * page/inspector/ResourcesPanel.js:
  23785. (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
  23786. Added. Tries to make a new view, if the view is the same prototype of the
  23787. previous view, return early. If they differ, close and detach the old view
  23788. and associate the resource with the new view. Calling updateErrorsAndWarnings
  23789. is needed, because the errors and warnings that might have been added to the
  23790. previous view will be lost, so make the tree element match.
  23791. (WebInspector.Resource.prototype._createResourceView): Always create a view
  23792. that matches the resource category. Ignore the loading and failed status.
  23793. * page/inspector/SourceView.js:
  23794. (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): Don't setup the
  23795. frame if the resource hasn't finished or if the load failed.
  23796. 2008-04-16 Timothy Hatcher <timothy@apple.com>
  23797. Adds a console formatter for Error objects. So typing a expression in the
  23798. console that ends in an exception will print meaningful info. Also calling
  23799. console.{log,error,warn,info} with an error object will output nicely.
  23800. Reviewed by Adam Roben.
  23801. * page/inspector/Console.js:
  23802. (WebInspector.Console.prototype._formaterror): Added. Formats an error
  23803. object by showing it like other exceptions, with a clickable file URL.
  23804. 2008-04-16 Timothy Hatcher <timothy@apple.com>
  23805. Refactors code that updates the errors and warnings count in the
  23806. resources sidebar so other functions can easily trigger updates.
  23807. Reviewed by Adam Roben.
  23808. * page/inspector/ResourcesPanel.js:
  23809. (WebInspector.ResourcesPanel.prototype.addMessageToResource): Call updateErrorsAndWarnings.
  23810. Removes code that updates the bubbleText and class names.
  23811. (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
  23812. (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings):
  23813. Added. Updates the bubbleText and adds or removes the class names
  23814. depending on if the values are zero.
  23815. 2008-04-16 Antti Koivisto <antti@apple.com>
  23816. Reviewed by Alexey.
  23817. Fix <rdar://problem/5863728>
  23818. REGRESSION: Garbage character shown in temperatures in the Weather widget (encoding issue with degree symbol)
  23819. Parse the encoding attribute in PreloadScanner.
  23820. Test: fast/encoding/script-preload-encoding.html
  23821. * html/PreloadScanner.cpp:
  23822. (WebCore::PreloadScanner::processAttribute):
  23823. (WebCore::PreloadScanner::emitTag):
  23824. (WebCore::PreloadScanner::emitCSSRule):
  23825. * html/PreloadScanner.h:
  23826. * loader/DocLoader.cpp:
  23827. (WebCore::DocLoader::preload):
  23828. * loader/DocLoader.h:
  23829. 2008-04-16 Anders Carlsson <andersca@apple.com>
  23830. Reviewed by Adam.
  23831. Generate the DOMApplicationCache JS wrapper, add JSDOMApplicationCacheCustom.cpp and
  23832. fix typos in the #if line.
  23833. * DerivedSources.make:
  23834. * WebCore.vcproj/WebCore.vcproj:
  23835. * WebCore.xcodeproj/project.pbxproj:
  23836. * bindings/js/JSDOMApplicationCacheCustom.cpp: Added.
  23837. * loader/appcache/ApplicationCache.cpp:
  23838. * loader/appcache/ApplicationCache.h:
  23839. * loader/appcache/ApplicationCacheGroup.cpp:
  23840. * loader/appcache/ApplicationCacheGroup.h:
  23841. * loader/appcache/ApplicationCacheResource.cpp:
  23842. * loader/appcache/ApplicationCacheResource.h:
  23843. * loader/appcache/DOMApplicationCache.cpp:
  23844. * loader/appcache/DOMApplicationCache.h:
  23845. * loader/appcache/DOMApplicationCache.idl:
  23846. * loader/appcache/ManifestParser.cpp:
  23847. * loader/appcache/ManifestParser.h:
  23848. 2008-04-16 Sam Weinig <sam@webkit.org>
  23849. Reviewed by Geoffrey Garen.
  23850. - To keep the behavior of the WebKit and JavaScriptCore API's the same,
  23851. we need to hide the fact that the global object and the window object
  23852. are no longer the same thing, and the the global object now changes on
  23853. navigations. To do this, only the wrapper should ever be exposed. This
  23854. fixes the two remaining spots where the internal global object is exposed,
  23855. the windowScriptObject returned from [WebFrame windowObject] and the object
  23856. return by calling JSContextGetGlobalObject on [WebFrame globalContext]
  23857. * bindings/js/JSDOMWindowWrapper.cpp:
  23858. (WebCore::JSDOMWindowWrapper::putWithAttributes):
  23859. * bindings/js/JSDOMWindowWrapper.h:
  23860. Forward this new method so that JSObjectSetProperty doesn't set properties on the
  23861. wrapper.
  23862. * page/mac/FrameMac.mm:
  23863. (WebCore::Frame::windowScriptObject):
  23864. Return the wrapper instead of the global object.
  23865. 2008-04-16 David Hyatt <hyatt@apple.com>
  23866. Eliminate the paintBuffer and drawImage(ImageBuffer*) methods from GraphicsContext* in favor of just
  23867. snagging an Image* from the ImageBuffer and drawing that instead.
  23868. Enhance canvas with a CanvasObserver so that notifications of dirtying or resizing can be tracked by
  23869. a consumer.
  23870. Reviewed by olliej
  23871. * html/CanvasRenderingContext2D.cpp:
  23872. (WebCore::CanvasRenderingContext2D::drawImage):
  23873. * html/HTMLCanvasElement.cpp:
  23874. (WebCore::HTMLCanvasElement::HTMLCanvasElement):
  23875. (WebCore::HTMLCanvasElement::willDraw):
  23876. (WebCore::HTMLCanvasElement::reset):
  23877. (WebCore::HTMLCanvasElement::paint):
  23878. * html/HTMLCanvasElement.h:
  23879. (WebCore::CanvasObserver::~CanvasObserver):
  23880. (WebCore::HTMLCanvasElement::setSize):
  23881. (WebCore::HTMLCanvasElement::setObserver):
  23882. * platform/graphics/GraphicsContext.cpp:
  23883. (WebCore::GraphicsContext::drawImage):
  23884. (WebCore::GraphicsContext::drawTiledImage):
  23885. * platform/graphics/GraphicsContext.h:
  23886. * platform/graphics/ImageBuffer.h:
  23887. (WebCore::ImageBuffer::clearImage):
  23888. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  23889. * platform/graphics/cg/GraphicsContextCG.cpp:
  23890. * platform/graphics/cg/ImageCG.cpp:
  23891. (WebCore::BitmapImage::draw):
  23892. (WebCore::Image::drawPattern):
  23893. * platform/graphics/cg/ImageSourceCG.cpp:
  23894. (WebCore::ImageSource::createFrameAtIndex):
  23895. * platform/graphics/qt/GraphicsContextQt.cpp:
  23896. * platform/graphics/wx/GraphicsContextWx.cpp:
  23897. 2008-04-16 Steve Falkenburg <sfalken@apple.com>
  23898. Improve timer latency/resolution.
  23899. The primary timing mechanism is now CreateTimerQueueTimer, with a PostMessage from
  23900. the callback proc. This event will be delivered sooner than if we used SetTimer(),
  23901. since it is higher priority than other messages.
  23902. If there is an input message pending, we'll use we SetTimer() based timers to avoid
  23903. starving user input.
  23904. Don't call PostMessage immediately on all timers < 10ms. Only call immediately if
  23905. timer is already expired. This avoids the case where no timers would be processed,
  23906. causing the timer to be re-posted via the slower SetTimer method.
  23907. Don't call PostMessage immediately if there's a pending WM_PAINT, since
  23908. we don't want to starve all paints when bombarded with a continuous stream of low
  23909. duration timers.
  23910. Removed reentrancy check, since we're now looking for specific starvation cases,
  23911. and will typically defer non-expired timers through CreateTimerQueueTimer.
  23912. The reason Windows wouldn't starve paints in favor of timers with the old code:
  23913. When we went to reset the timer when it fired, the timer reset code treated this as a
  23914. reentrant timer, causing us to hit the slow SetTimer code rather than calling PostMessage,
  23915. even for timers expiring in < 10ms.  I corrected that, exposing the paint starvation problem.
  23916. Use timeBeginPeriod/timeEndPeriod to improve resolution of system timers.
  23917. Limit this resolution change to within 20ms of the last high resolution timer request.
  23918. Corrected GetQueueStatus to check for specific input (and paint) messages rather than
  23919. checking QS_ALLINPUT. Contrary to its name, QS_ALLINPUT actually indicates interest
  23920. in ALL queued messages, not just input messages.
  23921. Fix SetTimer/KillTimer calls to pass our window handle.
  23922. Reviewed by Brady.
  23923. * platform/win/SharedTimerWin.cpp:
  23924. (WebCore::TimerWindowWndProc):
  23925. (WebCore::queueTimerProc):
  23926. (WebCore::setSharedTimerFireTime):
  23927. (WebCore::stopSharedTimer):
  23928. 2008-04-16 Adam Roben <aroben@apple.com>
  23929. Fix console-log-formatting to truly test formatting an undefined value
  23930. Exceptions thrown by the test will also now be shown as errors.
  23931. Reviewed by Tim Hatcher.
  23932. * manual-tests/inspector/console-log-formatting.html:
  23933. (test): Use console.error to report exceptions.
  23934. (runTests): Use window.noSuchVariable instead of just noSuchVariable
  23935. to avoid an exception.
  23936. 2008-04-16 Anatoli Papirovski <apapirovski@mac.com>
  23937. Reviewed by David.
  23938. Optimized the calculation of background-size.
  23939. * rendering/RenderBox.cpp:
  23940. (WebCore::RenderBox::calculateBackgroundSize):
  23941. 2008-04-16 Adam Roben <aroben@apple.com>
  23942. Fix Bug 17228: console.{log,warn,info,error} should support format
  23943. strings, variable arguments
  23944. <https://bugs.webkit.org/show_bug.cgi?id=17228>
  23945. <rdar://problem/5732828>
  23946. Reviewed by Tim Hatcher.
  23947. Test: manual-tests/inspector/console-log-formatting.html
  23948. * page/inspector/Console.js:
  23949. (WebInspector.ConsoleMessage): Pass any extra arguments down to
  23950. _format.
  23951. (WebInspector.ConsoleMessage._format): This method constructs
  23952. this.formattedMessage. We treat the first parameter as a format
  23953. string. Any parameters that have not been used after substituting into
  23954. the format string are concatenated together, separated by spaces.
  23955. (WebInspector.ConsoleMessage.toMessageElement): Updated to use
  23956. this.formattedMessage.
  23957. (WebInspector.ConsoleMessage.toString): Ditto.
  23958. 2008-04-15 Adam Roben <aroben@apple.com>
  23959. Make String.format return an array of unused substitutions
  23960. String.format now returns an object with two properties:
  23961. formattedResult and unusedSubstitutions.
  23962. Reviewed by Tim Hatcher.
  23963. * page/inspector/utilities.js:
  23964. (String.vsprintf): Updated for changes to String.format. We throw away
  23965. the array of unused substitutions.
  23966. (String.format): Changed to keep track of which substitutions are used
  23967. when formatting. We then return both the formatted result and the
  23968. array of unused substitutions.
  23969. 2008-04-15 Adam Roben <aroben@apple.com>
  23970. Generalize String.format some more
  23971. String.format now takes an initial value and an append function which
  23972. it uses to build the result. Each time a token is processed,
  23973. append(valueSoFar, newValue) is called.
  23974. Reviewed by Tim Hatcher.
  23975. * page/inspector/utilities.js:
  23976. (String.vsprintf): Pass the empty string for the initial value, and
  23977. a function that concatenates two strings as the append function.
  23978. (String.format): Use initialValue and append to build the result
  23979. instead of only working with strings.
  23980. 2008-04-15 Adam Roben <aroben@apple.com>
  23981. Add String.format
  23982. String.format is a more generic form of String.vsprintf that takes a
  23983. set of formatter functions, one for each supported format specifier.
  23984. Each formatter function is passed the relevant token and substitution
  23985. value, and returns the formatted result.
  23986. Reviewed by Tim Hatcher.
  23987. * page/inspector/utilities.js:
  23988. (String.standardFormatters): Added.
  23989. (String.vsprintf): Changed to call through to String.format.
  23990. (String.format): Added. Most of the code came from String.vsprintf,
  23991. except that we use the passed-in formatters to format the
  23992. substitutions rather than hard-coding how to handle each format
  23993. specifier.
  23994. 2008-04-15 Adam Roben <aroben@apple.com>
  23995. Refactor String.vsprintf to separate tokenizing and substituting
  23996. This will eventually be useful for the various console methods that
  23997. take a format string.
  23998. Reviewed by Tim Hatcher.
  23999. * page/inspector/utilities.js:
  24000. (String.tokenizeFormatString): Added. This uses the format parsing
  24001. code from String.vsprintf but just returns an array of "string" and
  24002. "specifier" tokens.
  24003. (String.vsprintf): Now calls String.tokenizeFormatString and processes
  24004. the tokens one at a time.
  24005. 2008-04-15 Adam Roben <aroben@apple.com>
  24006. Pass all arguments to console.{log,warn,info,error} into the Inspector's JS
  24007. Part of Bug 17228: console.{log,warn,info,error} should support format
  24008. strings, variable arguments
  24009. <http://bugs.webkit.org/show_bug.cgi?id=17228>
  24010. <rdar://problem/5732828>
  24011. We don't use the extra arguments yet.
  24012. Reviewed by Tim Hatcher.
  24013. * page/Console.cpp:
  24014. (WebCore::Console::error): Pass the arguments list to
  24015. InspectorController.
  24016. (WebCore::Console::info): Ditto.
  24017. (WebCore::Console::log): Ditto.
  24018. (WebCore::Console::warn): Ditto.
  24019. * page/InspectorController.cpp:
  24020. (WebCore::ConsoleMessage::ConsoleMessage): Added a new constructor
  24021. that takes an ExecState and a List instead of a String. We wrap and
  24022. store the JSValues from the List in a Vector<ProtectedPtr<JSValue> >.
  24023. (WebCore::InspectorController::addMessageToConsole): Added an overload
  24024. that takes an ExecState and a List.
  24025. (WebCore::InspectorController::addConsoleMessage): Moved code here
  24026. from addMessageToConsole. Both overloads of addMessageToConsole now
  24027. call this helper method.
  24028. (WebCore::InspectorController::addScriptConsoleMessage): Updated for
  24029. the new parameter order of WebInspector.ConsoleMessage. If the
  24030. ConsoleMessage has a non-empty wrappedArguments Vector, we use that
  24031. instead of the ConsoleMessage's message String.
  24032. * page/InspectorController.h:
  24033. * page/inspector/Console.js:
  24034. (WebInspector.ConsoleMessage): Removed the explicit message parameter.
  24035. We now get the message from the unnamed 5th parameter.
  24036. * page/inspector/Resource.js: Updated for the change to
  24037. WebInspector.ConsoleMessage's parameter order.
  24038. 2008-04-15 Adam Roben <aroben@apple.com>
  24039. Change calls to Chrome::addMessageToConsole to use Console::addMessage
  24040. Part of Bug 17228: console.{log,warn,info,error} should support format
  24041. strings, variable arguments
  24042. <http://bugs.webkit.org/show_bug.cgi?id=17228>
  24043. <rdar://problem/5732828>
  24044. Console now takes care of calling ChromeClient::addMessageToConsole
  24045. for the appropriate messages (i.e., just messages from JavaScript). If
  24046. you ever want to add a message to the console, Console is the place to
  24047. do it.
  24048. Reviewed by Darin Adler.
  24049. * WebCore.xcodeproj/project.pbxproj: Mark Console.h Private.
  24050. * page/Chrome.cpp: Removed addMessageToConsole
  24051. * page/Chrome.h: Moved MessageSource/MessageLevel to Console.h.
  24052. * page/Console.cpp:
  24053. (WebCore::Console::addMessage): Added. Calls
  24054. ChromeClient::addMessageToConsole for JS messages, and calls
  24055. InspectorController::addMessageToConsole for all messages.
  24056. (WebCore::Console::error): Changed to call directly to
  24057. InspectorController in addition to ChromeClient.
  24058. (WebCore::Console::info): Ditto.
  24059. (WebCore::Console::log): Ditto.
  24060. (WebCore::Console::warn): Ditto.
  24061. * page/Console.h: Added MessageSource/MessageLevel enums from Chrome.h.
  24062. 2008-04-15 Adam Roben <aroben@apple.com>
  24063. Pass JSConsole's arguments unmodified to Console
  24064. Part of Bug 17228: console.{log,warn,info,error} should support format
  24065. strings, variable arguments
  24066. <http://bugs.webkit.org/show_bug.cgi?id=17228>
  24067. <rdar://problem/5732828>
  24068. All of JSConsole's methods are now custom, so that we can pass the
  24069. arguments unmodified to Console. Console now handles calling
  24070. toString() on the first argument. Later it will pass the arguments off
  24071. to InspectorController.
  24072. There should be no behavioral changes caused by this patch.
  24073. Reviewed by Darin Adler.
  24074. * ForwardingHeaders/kjs/list.h: Added.
  24075. * GNUmakefile.am: Added JSConsoleCustom.cpp to the project.
  24076. * WebCore.pro: Ditto.
  24077. * WebCore.vcproj/WebCore.vcproj: Ditto.
  24078. * WebCore.xcodeproj/project.pbxproj: Ditto.
  24079. * WebCoreSources.bkl: Ditto.
  24080. * bindings/js/JSConsoleCustom.cpp: Added.
  24081. (WebCore::JSConsole::error):
  24082. (WebCore::JSConsole::info):
  24083. (WebCore::JSConsole::log):
  24084. (WebCore::JSConsole::warn):
  24085. * page/Console.cpp: Changed all methods to take an ExecState* and a
  24086. const List&. The first item in the List is toString()ed and passed to
  24087. Chrome.
  24088. (WebCore::Console::error):
  24089. (WebCore::Console::info):
  24090. (WebCore::Console::log):
  24091. (WebCore::Console::warn):
  24092. * page/Console.h:
  24093. * page/Console.idl:
  24094. 2008-04-16 Sam Weinig <sam@webkit.org>
  24095. Reviewed by Darin Adler.
  24096. Rename kjs_strtod to KJS::strtod.
  24097. * platform/text/String.cpp:
  24098. (WebCore::charactersToDouble):
  24099. 2008-04-16 Alexey Proskuryakov <ap@webkit.org>
  24100. Reviewed by Adam.
  24101. http://bugs.webkit.org/show_bug.cgi?id=18259
  24102. XML+XSLT pages in iframe contains document.location of a parent window
  24103. Test: fast/xsl/subframe-location.html
  24104. * xml/XSLTProcessor.cpp:
  24105. (WebCore::XSLTProcessor::createDocumentFromSource): Set resulting document URL before opening
  24106. it, so that the document loader picks a correct URL, too.
  24107. 2008-04-16 Dan Bernstein <mitz@apple.com>
  24108. Rubber-stamped by John Sullivan.
  24109. - remove unreachable code which was added in r8802
  24110. * rendering/RenderText.cpp:
  24111. (WebCore::RenderText::caretRect):
  24112. 2008-04-15 Timothy Hatcher <timothy@apple.com>
  24113. Adds a script resource icon. Update the CSS icon to better match the script icon.
  24114. https://bugs.webkit.org/show_bug.cgi?id=18499
  24115. Rubber-stamped by Adele Peterson.
  24116. * page/inspector/Images/resourceCSSIcon.png: Updated.
  24117. * page/inspector/Images/resourceJSIcon.png: Added.
  24118. * page/inspector/inspector.css: Changed the script icon rule to reference the new image.
  24119. 2008-04-16 Eric Seidel <eric@webkit.org>
  24120. Reviewed by hyatt.
  24121. Fix leaky ImageBuffer code.
  24122. * platform/graphics/GeneratedImage.cpp:
  24123. (WebCore::GeneratedImage::drawPattern):
  24124. * platform/graphics/ImageBuffer.h:
  24125. * platform/graphics/cg/ImageBufferCG.cpp:
  24126. (WebCore::ImageBuffer::image):
  24127. 2008-04-15 Justin Garcia <justin.garcia@apple.com>
  24128. Reviewed by Oliver.
  24129. <rdar://problem/5665299> REGRESSION (r27369): Paste text into a contenteditable div creates a contenteditable div for each line (16661)
  24130. * editing/markup.cpp:
  24131. (WebCore::createFragmentFromText): Don't use clones of the enclosing block to hold
  24132. paragraphs if the enclosing block is the root editable element.
  24133. 2008-04-15 Mark Rowe <mrowe@apple.com>
  24134. Reviewed by Jon Honeycutt.
  24135. Don't treat the misnamed NSAccessibilitySortButtonRole as an accessibility role. It is really
  24136. a subrole of NSAccessibilityButtonRole. As it is not used inside WebCore there is no change in
  24137. behaviour as a result of doing this. This fixes <rdar://problem/5866444>.
  24138. * page/AccessibilityObject.cpp:
  24139. (WebCore::AccessibilityObject::canSetFocusAttribute): Remove SortButtonRole as it is unused.
  24140. * page/AccessibilityObject.h: Ditto.
  24141. * page/mac/AccessibilityObjectWrapper.mm:
  24142. (RoleEntry::):
  24143. 2008-04-15 Anders Carlsson <andersca@apple.com>
  24144. Fix leaks seen on bot.
  24145. * loader/SubstituteResource.h:
  24146. (WebCore::SubstituteResource::~SubstituteResource):
  24147. Add a virtual destructor.
  24148. 2008-04-15 Brady Eidson <beidson@apple.com>
  24149. Reviewed by Anders Carlsson
  24150. Fix for <rdar://problem/5820819> - Crash sometime occurs when interrupting a load.
  24151. Each SubresourceLoader has a client. That client is often a Loader::Host object.
  24152. The Loader/Host/CachedResource system predates our ref-counting and ownership models, and therefore manages
  24153. object lifetime manually.
  24154. The cause of this crash was that we would sometimes call "didFail()" on a Host object twice - Once when
  24155. beginning the new navigation, and once when the new navigation is committed.
  24156. The problem is after the first time Host::didFail() gets called, the Host is almost always deleted shortly
  24157. thereafter. But the SubresourceLoader had a dangling pointer to the Host which is now invalid.
  24158. I explored a few options to fix this bug. The one that was most obviously "clean" was to call cancel() on
  24159. the SubresourceLoader itself, which would end up calling Host::didFail() and doing the appropriate cache
  24160. cleanup.
  24161. This problem with that approach was that it had other side effects - when you cut off a load that had already
  24162. partially displayed in the WebView, images that hadn't finished loading would be invalidated and immediately
  24163. turn into broken image icons. This was visually jarring and pretty unacceptable.
  24164. So I decided to follow a much simpler approach, which was to have the Host clear the client pointer from each
  24165. SubresourceLoader before it forgets about it. This leaves things the same visually and fixes the crash.
  24166. Note that the layout test for this - if possible - will require other enhancements to DRT including possibly
  24167. adding support for window.stop(). That task is non-trivial, and is documented in <rdar://problem/5061826>
  24168. * loader/SubresourceLoader.h:
  24169. (WebCore::SubresourceLoader::clearClient): Add a method to clear the SubresourceLoaderClient. This is
  24170. perfectly safe to do on an in-flight SubresourceLoader as they are already designed to be client-less,
  24171. and already null-check the client before calling it.
  24172. * loader/loader.cpp:
  24173. (WebCore::Loader::Host::didFail): The SubresourceLoader itself might not be finished loading and might decide
  24174. to call into its client later. Since the client has no guaranteed lifetime and is liable to be deleted
  24175. after didFail() is called, call clearClient() on the SubresourceLoader so such an invalid call can't happen.
  24176. 2008-04-15 Anders Carlsson <andersca@apple.com>
  24177. Reviewed by Adam.
  24178. Add empty files for the application cache.
  24179. * Configurations/WebCore.xcconfig:
  24180. * WebCore.vcproj/WebCore.vcproj:
  24181. * WebCore.vcproj/build-generated-files.sh:
  24182. Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.
  24183. * WebCore.xcodeproj/project.pbxproj:
  24184. * loader/appcache: Added.
  24185. * loader/appcache/ApplicationCache.cpp: Added.
  24186. * loader/appcache/ApplicationCache.h: Added.
  24187. * loader/appcache/ApplicationCacheGroup.cpp: Added.
  24188. * loader/appcache/ApplicationCacheGroup.h: Added.
  24189. * loader/appcache/ApplicationCacheResource.cpp: Added.
  24190. * loader/appcache/ApplicationCacheResource.h: Added.
  24191. * loader/appcache/DOMApplicationCache.cpp: Added.
  24192. * loader/appcache/DOMApplicationCache.h: Added.
  24193. * loader/appcache/DOMApplicationCache.idl: Added.
  24194. * loader/appcache/ManifestParser.cpp: Added.
  24195. * loader/appcache/ManifestParser.h: Added.
  24196. 2008-04-15 Kevin McCullough <kmccullough@apple.com>
  24197. Reviewed by Tim.
  24198. - <rdar://problem/5792587> AJAX (XMLHttpRequest) support for the Inspector (17776)
  24199. - Add XMLHttpRequest support to the inspector.
  24200. * English.lproj/InspectorLocalizedStrings.js: Specify capitalization
  24201. instead of using text-transform because XHR must capitalize all the letters.
  24202. * page/inspector/Resource.js: Assume XHRs are textType even though this
  24203. may not always be true.
  24204. Also add the XHR category and let all mime types be consistent with it.
  24205. * page/inspector/ResourcesPanel.js: Set the XHR category color.
  24206. * page/inspector/inspector.css: Make XHRs yellow and fonts red because
  24207. XHRs are more common than fonts and yellow next to orange (scripts) is
  24208. not as harsh on the eyes as red next to orange.
  24209. * page/inspector/inspector.js: Specify capitalization again.
  24210. 2008-04-15 David Hyatt <hyatt@apple.com>
  24211. Fix the zoom property so that it works properly with font-size.
  24212. Reviewed by John Sullivan
  24213. Added fast/css/zoom-font-size.html
  24214. * css/CSSStyleSelector.cpp:
  24215. (WebCore::CSSStyleSelector::updateFont):
  24216. (WebCore::CSSStyleSelector::applyProperty):
  24217. (WebCore::CSSStyleSelector::checkForZoomChange):
  24218. * css/CSSStyleSelector.h:
  24219. 2008-04-15 Timothy Hatcher <timothy@apple.com>
  24220. Fixes the bug where a resource view could still be shown after the inspected
  24221. page navigates to another page.
  24222. https://bugs.webkit.org/show_bug.cgi?id=18517
  24223. Reviewed by Adam Roben.
  24224. * page/inspector/ResourcesPanel.js:
  24225. (WebInspector.ResourcesPanel.prototype.reset): Close the visible resource.
  24226. Iterate over all the resources and zero errors and warnings and delete the
  24227. resource view and tree element. Removes all children of resourceViews. Passes
  24228. true to _updateGraphDividersIfNeeded to force an immediate update.
  24229. (WebInspector.ResourcesPanel.prototype.removeResource): Added. Closes
  24230. the resource view if it is visible. Removes the resource from the _resources
  24231. array. Removes the tree element from the outline tree. Zeros out the errors
  24232. and warnings properties. Deletes the tree element and resource view properties.
  24233. (WebInspector.ResourcesPanel.prototype.closeVisibleResource): Null check
  24234. this._calculator for times when reset is called before the calculator is set.
  24235. * page/inspector/inspector.js:
  24236. (WebInspector.removeResource): Call ResourcesPanel.removeResource.
  24237. 2008-04-15 Anders Carlsson <andersca@apple.com>
  24238. Reviewed by Adam.
  24239. Rename "archive" to "substitute" in a couple of places.
  24240. * loader/DocumentLoader.cpp:
  24241. (WebCore::DocumentLoader::DocumentLoader):
  24242. (WebCore::DocumentLoader::clearArchiveResources):
  24243. (WebCore::DocumentLoader::deliverSubstituteResourcesAfterDelay):
  24244. (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
  24245. (WebCore::DocumentLoader::isSubstituteLoadPending):
  24246. (WebCore::DocumentLoader::cancelPendingSubstituteLoad):
  24247. (WebCore::DocumentLoader::scheduleArchiveLoad):
  24248. (WebCore::DocumentLoader::setDefersLoading):
  24249. * loader/DocumentLoader.h:
  24250. * loader/ResourceLoader.cpp:
  24251. (WebCore::ResourceLoader::load):
  24252. (WebCore::ResourceLoader::didCancel):
  24253. 2008-04-15 Anders Carlsson <andersca@apple.com>
  24254. Reviewed by Adam.
  24255. Move the URL, response and data to SubstituteResource.
  24256. * loader/SubstituteResource.h:
  24257. (WebCore::SubstituteResource::url):
  24258. (WebCore::SubstituteResource::response):
  24259. (WebCore::SubstituteResource::data):
  24260. (WebCore::SubstituteResource::SubstituteResource):
  24261. * loader/archive/ArchiveResource.cpp:
  24262. (WebCore::ArchiveResource::ArchiveResource):
  24263. * loader/archive/ArchiveResource.h:
  24264. (WebCore::ArchiveResource::frameName):
  24265. 2008-04-15 David Hyatt <hyatt@apple.com>
  24266. https://bugs.webkit.org/show_bug.cgi?id=18467
  24267. Make sure to ignore zoom:0. That is not supposed to actually do anything. It's a hack in IE
  24268. to cause an element to set "hasLayout."
  24269. Reviewed by Anders
  24270. Added fast/css/zoom-property-parsing.html
  24271. * css/CSSParser.cpp:
  24272. (WebCore::CSSParser::parseValue):
  24273. * css/CSSStyleSelector.cpp:
  24274. (WebCore::CSSStyleSelector::applyProperty):
  24275. 2008-04-15 Anders Carlsson <andersca@apple.com>
  24276. Reviewed by Adam.
  24277. Add a (currently empty) SubstituteResource class and make ArchiveResource inherit from it.
  24278. * WebCore.vcproj/WebCore.vcproj:
  24279. * WebCore.xcodeproj/project.pbxproj:
  24280. * loader/SubstituteResource.h: Added.
  24281. * loader/archive/ArchiveResource.h:
  24282. 2008-04-15 Antti Koivisto <antti@apple.com>
  24283. Reviewed by Geoff.
  24284. Fix <rdar://problem/5862921>
  24285. REGRESSION: Leak in SVGSVGElement::SVGSVGElement
  24286. In these strange days RefCounted starts with count of one.
  24287. * svg/SVGSVGElement.cpp:
  24288. (WebCore::SVGSVGElement::SVGSVGElement):
  24289. * svg/animation/SMILTimeContainer.h:
  24290. (WebCore::SMILTimeContainer::create):
  24291. 2008-04-15 Anatoli Papirovski <apapirovski@mac.com>
  24292. Reviewed by hyatt
  24293. [CSS1, CSS3] Fixed the background-origin calculation for root elements
  24294. (background-size and background-position are affected), r10794
  24295. [CSS3] Fixed the background-size transformation where width is specified in percentage and height is left to auto
  24296. Test: fast/backgrounds/background-origin-root-element.html
  24297. * rendering/RenderBox.cpp:
  24298. (WebCore::RenderBox::calculateBackgroundSize):
  24299. (WebCore::RenderBox::calculateBackgroundImageGeometry):
  24300. 2008-04-15 Timothy Hatcher <timothy@apple.com>
  24301. Fixes the regression where the error and warning counts did not show up in the Resources
  24302. sidebar next to resources.
  24303. https://bugs.webkit.org/show_bug.cgi?id=18494
  24304. Reviewed by Adam Roben.
  24305. * page/inspector/ResourcesPanel.js:
  24306. (WebInspector.ResourcesPanel.prototype.addMessageToResource): Increment errors or warnings
  24307. on the resource. Set the bubbleText to the total of the errors and warnings. Add a error
  24308. or warning class to the bubble.
  24309. (WebInspector.ResourcesPanel.prototype.clearMessages): Zero out the errors and warnings
  24310. properties on each resource. Set the bubbleText back to an empty string.
  24311. * page/inspector/SidebarTreeElement.js:
  24312. (WebInspector.SidebarTreeElement): Create a statusElement.
  24313. (WebInspector.SidebarTreeElement.prototype.get bubbleText): Return _bubbleText.
  24314. (WebInspector.SidebarTreeElement.prototype.set bubbleText): Create bubbleElement if needed.
  24315. Assign the value to _bubbleText and bubbleElement.textContent.
  24316. (WebInspector.SidebarTreeElement.prototype.onattach): Append statusElement to _listItemNode.
  24317. * page/inspector/inspector.css: Style rules for bubbles and status elements.
  24318. 2008-04-15 Timothy Hatcher <timothy@apple.com>
  24319. Fixes the regression where error and warning bubbles would not be added
  24320. to the source view of a resource.
  24321. https://bugs.webkit.org/show_bug.cgi?id=18495
  24322. Reviewed by Adam Roben.
  24323. * css/view-source.css:
  24324. (.webkit-html-message-bubble): Add a min-height to make sure the border-radius
  24325. has enough room to apply.
  24326. * page/inspector/Console.js:
  24327. (WebInspector.Console.prototype.addMessage): Removed code that added messages
  24328. to resource panels and incremented error and warning counts on resources.
  24329. Now just call ResourcesPanel.addMessageToResource after assigning the resource
  24330. to the console message.
  24331. (WebInspector.Console.prototype.clearMessages): Removed code that cleared error
  24332. and warning counts from resources an call ResourcesPanel.clearMessages.
  24333. * page/inspector/ResourcesPanel.js:
  24334. (WebInspector.ResourcesPanel.prototype.addMessageToResource): Call addMessage
  24335. on the resource's view, if it is implemented.
  24336. (WebInspector.ResourcesPanel.prototype.clearMessages): Call clearMessages
  24337. on all the resource views for the ones that implement it.
  24338. (WebInspector.ResourcesPanel.prototype.refreshResource): Call _resourceView
  24339. to make the resource's view if needed. Use a local view variable.
  24340. (WebInspector.ResourcesPanel.prototype._resourceView): Added helper function
  24341. to create a resource view if needed.
  24342. * page/inspector/SourceView.js:
  24343. (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): Delete the
  24344. _frameNeedsSetup property at the beginning to prevent recursion. Get the
  24345. length of the messages array when assigning the local length variable.
  24346. (WebInspector.SourceView.prototype.addMessage): Renamed from addMessageToSource.
  24347. (WebInspector.SourceView.prototype.clearMessages): Added. Clear all the message
  24348. bubbles that might be sprinkled in the source. Also clears the messages array.
  24349. (WebInspector.SourceView.prototype._addMessageToSource): Create the image
  24350. element in the Inspector's document so we can use relative image URLs. Then
  24351. adopt the image element into the frame's document.
  24352. 2008-04-15 Brady Eidson <beidson@apple.com>
  24353. Reviewed by Anders
  24354. Hook up event dispatching for window.localStorage changes.
  24355. Tests: storage/domstorage/localstorage/enumerate-storage.html
  24356. storage/domstorage/localstorage/iframe-events.html
  24357. storage/domstorage/localstorage/index-get-and-set.html
  24358. storage/domstorage/localstorage/onstorage-attribute-markup.html
  24359. storage/domstorage/localstorage/onstorage-attribute-setattribute.html
  24360. storage/domstorage/localstorage/simple-events.html
  24361. storage/domstorage/localstorage/simple-usage.html
  24362. storage/domstorage/localstorage/window-open.html
  24363. * storage/LocalStorage.cpp:
  24364. (WebCore::LocalStorage::dispatchStorageEvent): Walk every Page in the PageGroup, adding
  24365. each Frame that matches the storage area's security origin to a Vector. Then dispatch
  24366. the StorageEvent to each Frame in the Vector
  24367. * storage/SessionStorage.cpp:
  24368. (WebCore::SessionStorage::dispatchStorageEvent): Adopt the technique used in LocalStorage,
  24369. which is to only add the Frames to the Vector if their security origin matches
  24370. 2008-04-15 Olivier Goffart <ogoffart@trolltech.com>
  24371. Reviewed by Simon.
  24372. Fixes: copy to clipboard when selecting, and paste when clicking with the middle button
  24373. * platform/Pasteboard.h: Added Qt-specific selection mode
  24374. * platform/qt/PasteboardQt.cpp: Choose the clipboard or the selecton
  24375. according to the selection mode
  24376. (WebCore::Pasteboard::writeSelection):
  24377. (WebCore::Pasteboard::plainText):
  24378. (WebCore::Pasteboard::documentFragment):
  24379. (WebCore::Pasteboard::writeURL):
  24380. (WebCore::Pasteboard::clear):
  24381. (WebCore::Pasteboard::isSelectionMode):
  24382. 2008-04-15 Andre Poenitz <andre.poenitz@trolltech.com>
  24383. Reviewed by Simon.
  24384. Fix compilation with Qt namespaces
  24385. Qt can be configured to have all of its classes inside a specified namespaces.
  24386. This is for example used in plugin/component environments like Eclipse.
  24387. This change makes it possible to let the Qt port compile against a namespaced
  24388. Qt by the use of macros Qt provides to properly forward declare Qt classes in
  24389. the namespace.
  24390. * WebCore.pro:
  24391. * bridge/qt/qt_class.h:
  24392. * bridge/qt/qt_instance.h:
  24393. * html/HTMLCanvasElement.h:
  24394. * platform/DragData.h:
  24395. * platform/DragImage.h:
  24396. * platform/KURL.h:
  24397. * platform/PlatformKeyboardEvent.h:
  24398. * platform/PlatformMouseEvent.h:
  24399. * platform/PlatformWheelEvent.h:
  24400. * platform/Widget.h:
  24401. * platform/graphics/Color.h:
  24402. * platform/graphics/FloatPoint.h:
  24403. * platform/graphics/FloatRect.h:
  24404. * platform/graphics/Gradient.h:
  24405. * platform/graphics/GraphicsContext.h:
  24406. * platform/graphics/ImageBuffer.h:
  24407. * platform/graphics/ImageSource.h:
  24408. * platform/graphics/IntPoint.h:
  24409. * platform/graphics/IntRect.h:
  24410. * platform/graphics/IntSize.h:
  24411. * platform/graphics/Path.h:
  24412. * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
  24413. * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
  24414. * platform/network/qt/QNetworkReplyHandler.h:
  24415. * platform/network/qt/ResourceRequest.h:
  24416. * platform/qt/ClipboardQt.h:
  24417. * platform/qt/RenderThemeQt.h:
  24418. * platform/text/PlatformString.h:
  24419. * platform/text/qt/TextCodecQt.h:
  24420. * svg/graphics/SVGPaintServer.h:
  24421. * svg/graphics/SVGPaintServerGradient.h:
  24422. 2008-04-14 Brady Eidson <beidson@apple.com>
  24423. Reviewed by Anders
  24424. Lay the underpinnings for LocalStorage.
  24425. For now, this just exposes window.localStorage to the dom which returns an in-memory Storage object, much
  24426. like SessionStorage. The primary difference at this point is that the object returned is shared globally,
  24427. and isn't copied for new top-level browsing contexts like SessionStorage.
  24428. Later, I'll add proper event dispatch and a persistent storage backing.
  24429. * GNUmakefile.am:
  24430. * WebCore.base.exp:
  24431. * WebCore.pro:
  24432. * WebCore.vcproj/WebCore.vcproj:
  24433. * WebCore.xcodeproj/project.pbxproj:
  24434. * WebCoreSources.bkl:
  24435. * bindings/js/JSDOMWindowCustom.cpp:
  24436. (WebCore::JSDOMWindow::mark): Mark the optionalLocalStorage
  24437. * page/DOMWindow.cpp:
  24438. (WebCore::DOMWindow::clear):
  24439. (WebCore::DOMWindow::localStorage):
  24440. * page/DOMWindow.h:
  24441. (WebCore::DOMWindow::optionalLocalStorage):
  24442. * storage/LocalStorage.cpp: Added.
  24443. (WebCore::LocalStorage::sharedLocalStorage):
  24444. (WebCore::LocalStorage::LocalStorage):
  24445. (WebCore::LocalStorage::storageArea):
  24446. (WebCore::LocalStorage::itemChanged):
  24447. (WebCore::LocalStorage::itemRemoved):
  24448. (WebCore::LocalStorage::dispatchStorageEvent):
  24449. * storage/LocalStorage.h: Added.
  24450. * storage/SessionStorage.cpp: Refactor to use the client interface for event dispatching for sessionStorage objects
  24451. (WebCore::SessionStorage::SessionStorage):
  24452. (WebCore::SessionStorage::copy):
  24453. (WebCore::SessionStorage::storageArea):
  24454. (WebCore::SessionStorage::itemChanged):
  24455. (WebCore::SessionStorage::itemRemoved):
  24456. (WebCore::SessionStorage::dispatchStorageEvent):
  24457. * storage/SessionStorage.h:
  24458. * storage/StorageArea.cpp: Add a client parameter, and call to the client when an item is changed or removed.
  24459. (WebCore::StorageArea::create):
  24460. (WebCore::StorageArea::StorageArea):
  24461. (WebCore::StorageArea::copy):
  24462. (WebCore::StorageArea::setItem):
  24463. (WebCore::StorageArea::removeItem):
  24464. (WebCore::StorageArea::setClient):
  24465. * storage/StorageArea.h:
  24466. (WebCore::StorageArea::page):
  24467. (WebCore::StorageArea::securityOrigin):
  24468. * storage/StorageAreaClient.h: Added. Break out "itemChanged" and "itemRemoved" to a StorageAreaClient
  24469. This way, both SessionStorage and LocalStorage areas can have different behavior on changes with
  24470. that behavior managed from a central location.
  24471. (WebCore::StorageAreaClient::~StorageAreaClient):
  24472. (WebCore::StorageAreaClient::StorageAreaClient):
  24473. (WebCore::StorageAreaClient::itemChanged):
  24474. (WebCore::StorageAreaClient::itemRemoved):
  24475. 2008-04-14 Brady Eidson <beidson@apple.com>
  24476. Reviewed by Anders
  24477. Add a hidden pref to debug WebArchive loading. With this pref on, when loading a WebArchive,
  24478. if the resource isn't in the ArchiveResourceCollection, the loader will not fall back to the
  24479. network and will instead fail the load with a "cannot show URL" error.
  24480. * loader/ResourceLoader.cpp:
  24481. (WebCore::ResourceLoader::load): Do the check here.
  24482. * page/Settings.cpp:
  24483. (WebCore::Settings::Settings):
  24484. (WebCore::Settings::setWebArchiveDebugModeEnabled):
  24485. * page/Settings.h:
  24486. (WebCore::Settings::webArchiveDebugModeEnabled):
  24487. 2008-04-14 Antti Koivisto <antti@apple.com>
  24488. Reviewed by Eric.
  24489. Some preparations for additive animations and animations in <use>.
  24490. - Disallow animation elements in instance trees.
  24491. - Fix buggy SVGUseElement::removeDisallowedElementsFromSubtree(), make it
  24492. public and static
  24493. - Invoke it from SVGElementInstance::updateInstance() to clean up the instance tree
  24494. there as well.
  24495. - Add mechanism for blocking instance updates when an animation changes
  24496. the referenced tree.
  24497. The added assert in SVGSMILElement::insertedIntoDocument() verifies the fixes
  24498. with the existing test cases.
  24499. * svg/SVGAElement.cpp:
  24500. (WebCore::SVGAElement::defaultEventHandler):
  24501. * svg/SVGElementInstance.cpp:
  24502. (WebCore::SVGElementInstance::updateInstance):
  24503. * svg/SVGStyledElement.cpp:
  24504. (WebCore::SVGStyledElement::updateElementInstance):
  24505. (WebCore::SVGStyledElement::setInstanceUpdatesBlocked):
  24506. * svg/SVGStyledElement.h:
  24507. * svg/SVGUseElement.cpp:
  24508. (WebCore::isDisallowedElement):
  24509. (WebCore::SVGUseElement::removeDisallowedElementsFromSubtree):
  24510. * svg/SVGUseElement.h:
  24511. * svg/animation/SVGSMILElement.cpp:
  24512. (WebCore::SVGSMILElement::insertedIntoDocument):
  24513. (WebCore::SVGSMILElement::isSMILElement):
  24514. (WebCore::SVGSMILElement::connectConditions):
  24515. (WebCore::SVGSMILElement::disconnectConditions):
  24516. * svg/animation/SVGSMILElement.h:
  24517. 2008-04-14 Adam Roben <aroben@apple.com>
  24518. Don't let the inspected page overwrite properties of JS objects in the
  24519. Inspector
  24520. <https://bugs.webkit.org/show_bug.cgi?id=16011>
  24521. <rdar://problem/5604409>
  24522. <https://bugs.webkit.org/show_bug.cgi?id=16837>
  24523. <rdar://problem/5813850>
  24524. Reviewed by Sam Weinig and Geoff Garen.
  24525. Tests (contributed by Adam Barth and Collin Jackson):
  24526. manual-tests/inspector-wrappers
  24527. * GNUmakefile.am:
  24528. * WebCore.pro:
  24529. * WebCore.vcproj/WebCore.vcproj:
  24530. * WebCore.xcodeproj/project.pbxproj:
  24531. * WebCoreSources.bkl:
  24532. Added new files to the projects.
  24533. * bindings/js/JSQuarantinedObjectWrapper.cpp: Added.
  24534. (WebCore::JSQuarantinedObjectWrapper::asWrapper): Converts a JSValue
  24535. into a JSQuarantinedObjectWrapper, if the JSValue is in fact a
  24536. JSQuarantinedObjectWrapper.
  24537. (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter): Callback to
  24538. be used with PropertySlot.
  24539. (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
  24540. Hold onto the object we're wrapping and its global object. Pass the
  24541. wrapped prototype up to the JSObject constructor.
  24542. (WebCore::JSQuarantinedObjectWrapper::~JSQuarantinedObjectWrapper):
  24543. (WebCore::JSQuarantinedObjectWrapper::unwrappedExecStateMatches):
  24544. Returns true if our underlying object originated from the same global
  24545. object as the passed-in ExecState.
  24546. (WebCore::JSQuarantinedObjectWrapper::unwrappedExecState):
  24547. (WebCore::JSQuarantinedObjectWrapper::transferExceptionToExecState):
  24548. Wraps and moves an exception from our underlying ExecState to the
  24549. passed-in one.
  24550. (WebCore::JSQuarantinedObjectWrapper::mark): Marks ourselves and the
  24551. objects we're holding references to.
  24552. (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
  24553. (WebCore::JSQuarantinedObjectWrapper::put):
  24554. (WebCore::JSQuarantinedObjectWrapper::deleteProperty):
  24555. (WebCore::JSQuarantinedObjectWrapper::implementsConstruct):
  24556. (WebCore::JSQuarantinedObjectWrapper::construct):
  24557. (WebCore::JSQuarantinedObjectWrapper::implementsHasInstance):
  24558. (WebCore::JSQuarantinedObjectWrapper::hasInstance):
  24559. (WebCore::JSQuarantinedObjectWrapper::implementsCall):
  24560. (WebCore::JSQuarantinedObjectWrapper::callAsFunction):
  24561. (WebCore::JSQuarantinedObjectWrapper::getPropertyNames):
  24562. JSObject overrides. These each check the appropriate permission before
  24563. allowing the call to proceed. We wrap all outgoing values using
  24564. m_wrapOutgoingValue, and we prepare all incoming values with the
  24565. virtual prepareIncomingValue function. If an exception is raised when
  24566. calling the underlying object, we transfer the exception in wrapped
  24567. form to the passed-in ExecState.
  24568. * bindings/js/JSQuarantinedObjectWrapper.h: Added.
  24569. (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
  24570. (WebCore::JSQuarantinedObjectWrapper::className): We return the
  24571. underlying object's class name so that we can successfully masquerade
  24572. as that underlying object when, e.g., Object.prototype.toString is
  24573. called on us.
  24574. (WebCore::JSQuarantinedObjectWrapper::classInfo):
  24575. (WebCore::JSQuarantinedObjectWrapper::allowsGetProperty):
  24576. (WebCore::JSQuarantinedObjectWrapper::allowsSetProperty):
  24577. (WebCore::JSQuarantinedObjectWrapper::allowsDeleteProperty):
  24578. (WebCore::JSQuarantinedObjectWrapper::allowsConstruct):
  24579. (WebCore::JSQuarantinedObjectWrapper::allowsHasInstance):
  24580. (WebCore::JSQuarantinedObjectWrapper::allowsCallAsFunction):
  24581. (WebCore::JSQuarantinedObjectWrapper::allowsGetPropertyNames):
  24582. These virtual methods let subclasses define the allowed operations on
  24583. the wrapped object. By default all operations are disabled.
  24584. * bindings/js/JSInspectedObjectWrapper.cpp: Added. This subclass of
  24585. JSQuarantinedObjectWrapper is used to wrap objects from the inspected
  24586. page being passed to the Inspector.
  24587. (WebCore::wrappers):
  24588. (WebCore::JSInspectedObjectWrapper::wrap): Wraps the passed-in object
  24589. if needed and returns the wrapper. If this object has been wrapped
  24590. previously we'll return the old wrapper rather than make a new one.
  24591. (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper): Add
  24592. ourselves to the wrapper map.
  24593. (WebCore::JSInspectedObjectWrapper::~JSInspectedObjectWrapper): Remove
  24594. ourselves from the wrapper map.
  24595. (WebCore::JSInspectedObjectWrapper::prepareIncomingValue): Ensure that
  24596. any objects passed to the inspected object are either wrappers around
  24597. objects from the inspected page (in which case we unwrap them so that
  24598. the inspected page never sees the wrapper), or wrapped callbacks from
  24599. the Inspector.
  24600. * bindings/js/JSInspectedObjectWrapper.h: Added.
  24601. (WebCore::JSInspectedObjectWrapper::classInfo):
  24602. (WebCore::JSInspectedObjectWrapper::allowsGetProperty):
  24603. (WebCore::JSInspectedObjectWrapper::allowsSetProperty):
  24604. (WebCore::JSInspectedObjectWrapper::allowsDeleteProperty):
  24605. (WebCore::JSInspectedObjectWrapper::allowsConstruct):
  24606. (WebCore::JSInspectedObjectWrapper::allowsHasInstance):
  24607. (WebCore::JSInspectedObjectWrapper::allowsCallAsFunction):
  24608. (WebCore::JSInspectedObjectWrapper::allowsGetPropertyNames):
  24609. These all return true so that the Inspector can use objects from the
  24610. inspected page however it needs.
  24611. (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue): Wrap all
  24612. outgoing values as JSInspectedObjectWrappers.
  24613. * bindings/js/JSInspectorCallbackWrapper.cpp: Added. This subclass of
  24614. JSQuarantinedObjectWrapper is used to wrap callbacks that the
  24615. Inspector passes to the inspected page (e.g., for event listeners or
  24616. client-side storage callbacks).
  24617. (WebCore::wrappers):
  24618. (WebCore::JSInspectorCallbackWrapper::wrap): Wraps the passed-in
  24619. object if needed and returns the wrapper. If this object has been
  24620. wrapped previously we'll return the old wrapper rather than make a new
  24621. one.
  24622. (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper): Add
  24623. ourselves to the wrapper map.
  24624. (WebCore::JSInspectorCallbackWrapper::~JSInspectorCallbackWrapper):
  24625. Remove ourselves from the wrapper map.
  24626. (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue): Ensure
  24627. that values passed from the inspected page to an Inspector callback
  24628. are wrapped in JSInspectedObjectWrappers. We also allow the inspected
  24629. page to pass ourselves in (which will happen in the case of a
  24630. client-side storage callback, where the callback itself is passed as
  24631. the `this` object). In this case we unwrap ourselves so that the
  24632. Inspector doesn't have to deal with the wrapper.
  24633. * bindings/js/JSInspectorCallbackWrapper.h: Added.
  24634. (WebCore::JSInspectorCallbackWrapper::classInfo):
  24635. (WebCore::JSInspectorCallbackWrapper::allowsCallAsFunction):
  24636. This is the only allowed operation on a JSInspectorCallbackWrapper.
  24637. (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue): Wrap all
  24638. outgoing values as JSInspectorCallbackWrappers.
  24639. * page/InspectorController.cpp:
  24640. (WebCore::getResourceDocumentNode): Wrap the Document before passing
  24641. it to the Inspector.
  24642. (WebCore::highlightDOMNode): Unwrap the Node that the Inspector passed
  24643. to us.
  24644. (WebCore::databaseTableNames): Unwrap the Database that the Inspector
  24645. passed to us.
  24646. (WebCore::inspectedWindow): Wrap the Window before passing it to the
  24647. Inspector.
  24648. (WebCore::InspectorController::focusNode): Wrap the Node before
  24649. passing it to the Inspector.
  24650. (WebCore::wrapCallback): Wraps the passed-in callback in a
  24651. JSInspectorCallbackWrapper.
  24652. (WebCore::InspectorController::addDatabaseScriptResource): Wrap the
  24653. Database beore pasing it to the Inspector.
  24654. (WebCore::InspectorController::windowScriptObjectAvailable): Add the
  24655. new wrapCallback function to the InspectorController JS object.
  24656. * page/inspector/ElementsPanel.js:
  24657. (WebInspector.ElementsPanel.reset): Wrap the contentLoaded callback.
  24658. * page/inspector/DatabaseQueryView.js:
  24659. (WebInspector.DatabaseQueryView._enterKeyPressed):
  24660. * page/inspector/DatabaseTableView.js:
  24661. (WebInspector.DatabaseTableView.update):
  24662. Pass null instead of an empty array to executeSql since we're no
  24663. longer allowed to pass any unwrapped objects to the inspected page.
  24664. We now wrap all callbacks being passed to the inspected page using
  24665. InspectorController.wrapCallback.
  24666. 2008-04-14 Adam Roben <aroben@apple.com>
  24667. Use prototypes/constructors from the inspected page when operating on
  24668. objects from the inspected page
  24669. Reviewed by Tim Hatcher.
  24670. * page/inspector/Console.js:
  24671. (WebInspector.ConsolePanel._format): Use the Node constructor from the
  24672. inspected Window with the instanceof operator.
  24673. * page/inspector/ElementsPanel.js:
  24674. (WebInspector.DOMNodeTreeElement._attributeEditingCommitted): Use the
  24675. Element prototype from the inspected Window instead of the Element
  24676. prototype from this Window.
  24677. * page/inspector/inspector.js:
  24678. (WebInspector.performSearch): Ditto for Document prototype.
  24679. * page/inspector/utilities.js:
  24680. (Object.type): Now takes an optional Window parameter that is used to
  24681. find the built-in constructors.
  24682. 2008-04-14 Adam Roben <aroben@apple.com>
  24683. Don't store objects from the Inspector on CSSStyleRules from the
  24684. inspected page
  24685. Reviewed by Tim Hatcher.
  24686. * page/inspector/StylesSidebarPane.js:
  24687. (WebInspector.StylesSidebarPane.update): Don't store raw CSSStyleRules
  24688. from the inspected page in the styleRules array. Instead, always use a
  24689. wrapper object. This will keep us from setting Inspector objects as
  24690. properties of inspected objects.
  24691. 2008-04-14 Timothy Hatcher <timothy@apple.com>
  24692. Fixes a regression where clicking a resource URL in the Console would not
  24693. show the resource in the Resources panel.
  24694. https://bugs.webkit.org/show_bug.cgi?id=18493
  24695. Reviewed by Adam Roben.
  24696. * page/inspector/Console.js:
  24697. (WebInspector.Console.prototype._messagesClicked): Removed console-message-url
  24698. handling to show resources. This is now handled by WebInspector.showResourceForURL.
  24699. (WebInspector.ConsoleMessage.prototype.toMessageElement): Add the webkit-html-resource-link
  24700. class name to the URL anchor. Also add the line number as a property to the anchor.
  24701. * page/inspector/ResourcesPanel.js:
  24702. (WebInspector.ResourcesPanel): Add a reference to the tree element to each calculator.
  24703. (WebInspector.ResourcesPanel.prototype.showResource): Select and reveal the resource in
  24704. the sidebar. Call showLine on the resource view if it is implemented.
  24705. (WebInspector.ResourcesPanel.prototype.closeVisibleResource): Select the current calculator's
  24706. tree element in the sidebar.
  24707. (WebInspector.ResourcesPanel.prototype._graphSelected): Call closeVisibleResource after
  24708. the calculator changes since closeVisibleResource uses the calculator.
  24709. * page/inspector/SourceView.js:
  24710. (WebInspector.SourceView.prototype.sourceRow): Early return if the line is null/zero.
  24711. (WebInspector.SourceView.prototype.showLine): Renamed from showSourceLine.
  24712. * page/inspector/inspector.css:
  24713. (body.console-visible #main-panels): Made the bottom 24px to match
  24714. the height of #main-status-bar.
  24715. (.console-message-url): Make the color important so it wins over
  24716. the .webkit-html-resource-link rule.
  24717. (.resource-view .resource-view-content): Made more generic from .image
  24718. so all resource views get sized correctly.
  24719. (.resource-view.image .resource-view-content): Removed.
  24720. * page/inspector/inspector.js:
  24721. (WebInspector.documentClick): Pass the line number from the anchor to
  24722. WebInspector.showResourceForURL.
  24723. (WebInspector.showResourceForURL): Add line number support. Pass the line
  24724. to ResourcesPanel.showResource.
  24725. (WebInspector.addMainEventListeners): Use bind for the event listeners.
  24726. 2008-04-14 Xan Lopez <xan@gnome.org>
  24727. Reviewed by Alp Toker.
  24728. http://bugs.webkit.org/show_bug.cgi?id=17917
  24729. Bug 17917: Cookie support for HTTP soup backend
  24730. Initial implementation of cookies for the http soup backend.
  24731. Moved CookieJarGtk to CookieJarSoup in network/soup and left the original
  24732. one as CookieJarCurl in network/curl.
  24733. * GNUmakefile.am:
  24734. * platform/CookieJar.h:
  24735. * platform/network/curl/CookieJarCurl.cpp: Renamed from WebCore/platform/gtk/CookieJarGtk.cpp.
  24736. (WebCore::setCookies):
  24737. (WebCore::cookies):
  24738. * platform/network/soup/CookieJarSoup.cpp: Added.
  24739. (WebCore::getCookieJar):
  24740. (WebCore::setCookies):
  24741. (WebCore::cookies):
  24742. * platform/network/soup/ResourceHandleSoup.cpp:
  24743. (WebCore::ResourceHandle::start):
  24744. 2008-04-14 Holger Freyther <zecke@selfish.org>
  24745. Reviewed by Alp Toker.
  24746. https://bugs.webkit.org/show_bug.cgi?id=18411
  24747. Enable Page caching and create FrameViews on the fly
  24748. Create the FrameView on the fly and cache pages
  24749. - Keep a copy of the GtkAdjustment to be able to reuse it for the
  24750. FrameViews
  24751. - Do not initially create a FrameView and update the WebKit code to
  24752. cope with not having a view.
  24753. - Cache seven pages by default.
  24754. * platform/gtk/ScrollViewGtk.cpp:
  24755. (WebCore::ScrollView::setGtkAdjustments):
  24756. 2008-04-14 David Hyatt <hyatt@apple.com>
  24757. Add a new optimized layout path for positioned objects that move. Also avoid always marking the <html>
  24758. object for layout when it has a percentage height, since the RenderView already does that when its size
  24759. changes.
  24760. Reviewed by mjs
  24761. * rendering/RenderBlock.cpp:
  24762. (WebCore::RenderBlock::layoutBlockChildren):
  24763. (WebCore::RenderBlock::layoutPositionedObjects):
  24764. * rendering/RenderBox.h:
  24765. (WebCore::RenderBox::layoutDoingPositionedMovementOnly):
  24766. * rendering/RenderObject.cpp:
  24767. (WebCore::RenderObject::RenderObject):
  24768. (WebCore::RenderObject::setNeedsLayout):
  24769. (WebCore::RenderObject::setChildNeedsLayout):
  24770. (WebCore::RenderObject::setNeedsPositionedMovementLayout):
  24771. (WebCore::RenderObject::setStyle):
  24772. * rendering/RenderObject.h:
  24773. (WebCore::RenderObject::needsLayout):
  24774. (WebCore::RenderObject::needsPositionedMovementLayoutOnly):
  24775. (WebCore::RenderObject::layoutDoingPositionedMovementOnly):
  24776. * rendering/RenderStyle.cpp:
  24777. (WebCore::positionedObjectMoved):
  24778. (WebCore::RenderStyle::diff):
  24779. * rendering/RenderStyle.h:
  24780. (WebCore::RenderStyle::):
  24781. 2008-04-14 David Hyatt <hyatt@apple.com>
  24782. Add support for gradients in the CSS content property.
  24783. Reviewed by olliej
  24784. Added fast/gradients/generated-gradients.html
  24785. * GNUmakefile.am:
  24786. * WebCore.pro:
  24787. * WebCore.vcproj/WebCore.vcproj:
  24788. * WebCore.xcodeproj/project.pbxproj:
  24789. * WebCoreSources.bkl:
  24790. * css/CSSParser.cpp:
  24791. (WebCore::CSSParser::parseContent):
  24792. * css/CSSStyleSelector.cpp:
  24793. (WebCore::CSSStyleSelector::applyProperty):
  24794. (WebCore::CSSStyleSelector::styleImage):
  24795. (WebCore::CSSStyleSelector::mapBackgroundImage):
  24796. * css/CSSStyleSelector.h:
  24797. * html/HTMLImageElement.cpp:
  24798. (WebCore::HTMLImageElement::attach):
  24799. * rendering/RenderContainer.cpp:
  24800. (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
  24801. * rendering/RenderImage.cpp:
  24802. (WebCore::RenderImage::RenderImage):
  24803. (WebCore::RenderImage::setCachedImage):
  24804. (WebCore::RenderImage::paintReplaced):
  24805. (WebCore::RenderImage::calcReplacedWidth):
  24806. (WebCore::RenderImage::calcReplacedHeight):
  24807. (WebCore::RenderImage::calcAspectRatioWidth):
  24808. (WebCore::RenderImage::calcAspectRatioHeight):
  24809. * rendering/RenderImage.h:
  24810. (WebCore::RenderImage::hasImage):
  24811. (WebCore::RenderImage::image):
  24812. (WebCore::RenderImage::errorOccurred):
  24813. (WebCore::RenderImage::usesImageContainerSize):
  24814. (WebCore::RenderImage::setImageContainerSize):
  24815. (WebCore::RenderImage::imageHasRelativeWidth):
  24816. (WebCore::RenderImage::imageHasRelativeHeight):
  24817. (WebCore::RenderImage::imageSize):
  24818. * rendering/RenderImageGeneratedContent.cpp: Added.
  24819. (WebCore::RenderImageGeneratedContent::RenderImageGeneratedContent):
  24820. (WebCore::RenderImageGeneratedContent::~RenderImageGeneratedContent):
  24821. (WebCore::RenderImageGeneratedContent::setStyleImage):
  24822. * rendering/RenderImageGeneratedContent.h: Added.
  24823. (WebCore::RenderImageGeneratedContent::hasImage):
  24824. (WebCore::RenderImageGeneratedContent::image):
  24825. (WebCore::RenderImageGeneratedContent::errorOccurred):
  24826. (WebCore::RenderImageGeneratedContent::usesImageContainerSize):
  24827. (WebCore::RenderImageGeneratedContent::setImageContainerSize):
  24828. (WebCore::RenderImageGeneratedContent::imageHasRelativeWidth):
  24829. (WebCore::RenderImageGeneratedContent::imageHasRelativeHeight):
  24830. (WebCore::RenderImageGeneratedContent::imageSize):
  24831. * rendering/RenderObject.cpp:
  24832. (WebCore::RenderObject::createObject):
  24833. * rendering/RenderStyle.cpp:
  24834. (WebCore::StyleCachedImage::imageHasRelativeWidth):
  24835. (WebCore::StyleCachedImage::imageHasRelativeHeight):
  24836. (WebCore::StyleCachedImage::usesImageContainerSize):
  24837. (WebCore::RenderStyle::contentDataEquivalent):
  24838. (WebCore::RenderStyle::setContent):
  24839. (WebCore::ContentData::clear):
  24840. * rendering/RenderStyle.h:
  24841. (WebCore::StyleGeneratedImage::imageHasRelativeWidth):
  24842. (WebCore::StyleGeneratedImage::imageHasRelativeHeight):
  24843. (WebCore::StyleGeneratedImage::usesImageContainerSize):
  24844. (WebCore::BackgroundLayer::setBackgroundImage):
  24845. (WebCore::ContentData::):
  24846. (WebCore::RenderStyle::setListStyleImage):
  24847. 2008-04-14 Brady Eidson <beidson@apple.com>
  24848. Reviewed by Sam, but Anders too, and he was more thorough in his review
  24849. and thats the only reason Sam beat him
  24850. Swap the Page and SecurityOrigin arguments when creating a StorageArea.
  24851. SecurityOrigin is really the primary identifying characteristic of a StorageArea,
  24852. and StorageAreas that represent LocalStorage won't have an owner Page.
  24853. * storage/SessionStorage.cpp:
  24854. (WebCore::SessionStorage::copy):
  24855. (WebCore::SessionStorage::storageArea):
  24856. * storage/StorageArea.cpp:
  24857. (WebCore::StorageArea::create):
  24858. (WebCore::StorageArea::StorageArea):
  24859. (WebCore::StorageArea::copy):
  24860. (WebCore::StorageArea::dispatchStorageEvent): Null check m_page here, as in the future
  24861. it might be null
  24862. * storage/StorageArea.h:
  24863. 2008-04-14 Timothy Hatcher <timothy@apple.com>
  24864. Add support for changing the sort order of the resources. The two sorting
  24865. methods supported current are Time and Size.
  24866. Reviewed by Adam Roben.
  24867. * page/inspector/Images/statusbarMenuButton.png: Added.
  24868. * page/inspector/Images/statusbarMenuButtonSelected.png: Added.
  24869. * page/inspector/ResourcesPanel.js:
  24870. (WebInspector.ResourcesPanel): Create the status bar menu button and
  24871. setup the event listener to call _changeSortingFunction. Each option in
  24872. the select references a sorting function.
  24873. (WebInspector.ResourcesPanel.get statusBarItems): Add the sorting menu to the
  24874. items returned.
  24875. (WebInspector.ResourcesPanel._changeSortingFunction): Set the sorting function
  24876. to the selected option's function in the sorting menu.
  24877. * page/inspector/inspector.css: Added CSS rules for select elements in status bars.
  24878. 2008-04-14 Timothy Hatcher <timothy@apple.com>
  24879. Add support for toggling between small and large resource rows
  24880. in the Resources panel.
  24881. Reviewed by Adam Roben.
  24882. * English.lproj/InspectorLocalizedStrings.js: Added new tooltip string.
  24883. * page/inspector/Images/largerResourcesButtons.png: Added.
  24884. * page/inspector/Images/resourceDocumentIconSmall.png: Added.
  24885. * page/inspector/Images/resourcePlainIconSmall.png: Added.
  24886. * page/inspector/ResourcesPanel.js:
  24887. (WebInspector.ResourcesPanel): Create the status bar button and
  24888. setup the event listener to call _toggleLargerResources.
  24889. (WebInspector.ResourcesPanel.get statusBarItems): Return the status bar button.
  24890. (WebInspector.ResourcesPanel._toggleLargerResources): Toggle the class names
  24891. for the resources children list and the status bar button.
  24892. * page/inspector/inspector.css: New style rules for small resources
  24893. and the status bar item.
  24894. 2008-04-14 Chris Fleizach <cfleizach@apple.com>
  24895. Reviewed by Darin Adler
  24896. <rdar://problem/5854572> REGRESSION: AXPosition seems to be flipped in nightly build
  24897. AX was using the wrong method to determine the view to use to create the screen position
  24898. * page/AccessibilityObject.cpp:
  24899. (WebCore::AccessibilityObject::documentFrameView):
  24900. * page/mac/AccessibilityObjectWrapper.mm:
  24901. (-[AccessibilityObjectWrapper position]):
  24902. 2008-04-14 David Smith <catfish.man@gmail.com>
  24903. Reviewed by Timothy Hatcher.
  24904. - Fix https://bugs.webkit.org/show_bug.cgi?id=14258
  24905. Response time vs. download time should be shown in the network profile
  24906. * page/inspector/Resource.js: Change the sorting function to sort by response received time.
  24907. * page/inspector/ResourcesPanel.js: Hook up the existing infrastructure to two bars instead of one; one for the total time, one for the time post-response.
  24908. * page/inspector/inspector.css: Add a new rule to make the waiting bar have a lower opacity, and change the total bar opacity to handle the overlap
  24909. 2008-04-14 Julien Chaffraix <jchaffraix@webkit.org>
  24910. Reviewed by Ap.
  24911. Bug 17403: WebKit Creates Invalid Xhtml Links with Ajax
  24912. http://bugs.webkit.org/show_bug.cgi?id=17403
  24913. The previous code had callbacks for the normal parsing (full document) and fragment parsing.
  24914. The difference was induced by the method we were using which did not accept a xmlParserCtxt.
  24915. The code has been refactored to allow us to share the callbacks between the different cases.
  24916. A drawback is that we have to use xmlParseContent which is an internal libxml method and thus
  24917. some internal intialization is done in WebCore.
  24918. Test: fast/parser/ampersand-escaped-parseXMLFragment.xhtml
  24919. * dom/XMLTokenizer.cpp:
  24920. (WebCore::createStringParser): Moved didInit in the global scope as it is shared by the
  24921. 2 create methods.
  24922. (WebCore::createMemoryParser): Create a memory parser similar to the previous code.
  24923. Initialize the xmlParserContext to call xmlParseContent in parseXMLDocumentFragment.
  24924. (WebCore::XMLTokenizer::initializeParserContext): Check m_parsingFragment to know
  24925. which create method to call.
  24926. * dom/XMLTokenizer.h: Added parseXMLDocumentFragment as a friend of XMLTokenizer.
  24927. 2008-04-14 Rob Buis <buis@kde.org>
  24928. Reviewed by Eric.
  24929. http://bugs.webkit.org/show_bug.cgi?id=18230
  24930. tspan in link not working
  24931. Implement SVG Errata: "The 'a' element may contain any
  24932. element that its parent may contain, except itself."
  24933. * svg/SVGAElement.cpp:
  24934. (WebCore::SVGAElement::childShouldCreateRenderer):
  24935. 2008-04-13 David Hyatt <hyatt@apple.com>
  24936. Fix for bug 18466, WebKit exhibits slow performance on Opera DHTML benchmark. Improve layout's rect
  24937. invalidation code to only invalidate a single unioned rect once enough individual little rects have
  24938. been detected.
  24939. Reviewed by olliej
  24940. * page/FrameView.cpp:
  24941. (WebCore::FrameViewPrivate::reset):
  24942. (WebCore::FrameView::layout):
  24943. (WebCore::FrameView::repaintRectangle):
  24944. (WebCore::FrameView::beginDeferredRepaints):
  24945. (WebCore::FrameView::endDeferredRepaints):
  24946. * page/FrameView.h:
  24947. 2008-04-13 Eric Seidel <eric@webkit.org>
  24948. Reviewed by Oliver.
  24949. Fix spelling error in function name, no test case.
  24950. * svg/SVGTextContentElement.cpp:
  24951. (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
  24952. 2008-04-13 Eric Seidel <eric@webkit.org>
  24953. Reviewed by Oliver.
  24954. Build fix for +SVG_ANIMATION -SVG_FOREIGN_OBJECT build, no tests.
  24955. * svg/SVGAnimateMotionElement.cpp:
  24956. (WebCore::SVGAnimateMotionElement::hasValidTarget):
  24957. 2008-04-13 Jan Michael Alonzo <jmalonzo@unpluggable.com>
  24958. Reviewed by Oliver Hunt.
  24959. http://bugs.webkit.org/show_bug.cgi?id=18239
  24960. [Gtk] Build breaks if SVG is enabled but SVG Fonts disabled
  24961. * svg/SVGAltGlyphElement.idl: Add SVG_FONTS in Conditional
  24962. 2008-04-13 Julien Chaffraix <jchaffraix@webkit.org>
  24963. Reviewed by David.
  24964. More SVG filters build fix.
  24965. * svg/graphics/filters/SVGFEImage.cpp:
  24966. (WebCore::SVGFEImage::~SVGFEImage):
  24967. (WebCore::SVGFEImage::setCachedImage):
  24968. 2008-04-13 David Hyatt <hyatt@apple.com>
  24969. Fix build bustage on the filters SVG code path (not built by default).
  24970. * svg/SVGFEImageElement.cpp:
  24971. (WebCore::SVGFEImageElement::~SVGFEImageElement):
  24972. (WebCore::SVGFEImageElement::parseMappedAttribute):
  24973. 2008-04-13 Dan Winship <danw@gnome.org>
  24974. Reviewed by Alp Toker.
  24975. http://bugs.webkit.org/show_bug.cgi?id=18391
  24976. return body data incrementally from libsoup backend
  24977. Fix libsoup backend to pass data to the loader incrementally
  24978. rather than all at once at the end.
  24979. * platform/network/soup/ResourceHandleSoup.cpp
  24980. (ResourceHandle::start): connect to "got-headers" and "got-chunk"
  24981. signals on the message
  24982. (gotHeadersCallback): call client->didReceiveResponse() from here
  24983. (gotChunkCallback): call client->didReceiveData() from here
  24984. (finishedCallback): renamed from dataCallback. mostly just calls
  24985. client->didFinishLoading() now.
  24986. 2008-04-13 Dan Bernstein <mitz@apple.com>
  24987. Reviewed by Jessica Kahn.
  24988. - remove duplicate condition in canHaveChildrenForEditing()
  24989. * editing/htmlediting.cpp:
  24990. (WebCore::canHaveChildrenForEditing):
  24991. 2008-04-13 Dan Bernstein <mitz@apple.com>
  24992. Reviewed by Darin Adler.
  24993. - fix http://bugs.webkit.org/show_bug.cgi?id=18307
  24994. <rdar://problem/5842546> REGRESSION (r31620): Incorrect Hiragino Kaku Gothic, font-weight:500
  24995. Test: fast/css/font-weight-1.html
  24996. * platform/graphics/mac/FontCacheMac.mm:
  24997. (WebCore::toAppKitFontWeight): Adjusted the mapping to cover the AppKit
  24998. weight range from 2 to 12, because AppKit weight 1 never occurs. The
  24999. new mapping matches font-weight: n00 to ISO weight Wn.
  25000. * platform/mac/WebFontCache.mm:
  25001. (betterChoice): Changed the midpoint used when deciding between two
  25002. candidates that deviate from the desired weight by the same amount.
  25003. 2008-04-12 David Hyatt <hyatt@apple.com>
  25004. Memory management cleanup for the new StyleCachedImage and StyleGeneratedImage classes. Make the back end
  25005. values hold refptrs to cached front end values. This will avoid malloc churn as RenderStyles get
  25006. re-resolved.
  25007. Reviewed by olliej
  25008. * css/CSSCursorImageValue.cpp:
  25009. (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
  25010. (WebCore::CSSCursorImageValue::cachedImage):
  25011. * css/CSSCursorImageValue.h:
  25012. * css/CSSImageGeneratorValue.cpp:
  25013. (WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue):
  25014. (WebCore::CSSImageGeneratorValue::generatedImage):
  25015. * css/CSSImageGeneratorValue.h:
  25016. * css/CSSImageValue.cpp:
  25017. (WebCore::CSSImageValue::CSSImageValue):
  25018. (WebCore::CSSImageValue::~CSSImageValue):
  25019. (WebCore::CSSImageValue::cachedImage):
  25020. * css/CSSImageValue.h:
  25021. * css/CSSStyleSelector.cpp:
  25022. (WebCore::CSSStyleSelector::applyProperty):
  25023. (WebCore::CSSStyleSelector::createStyleImage):
  25024. * css/CSSStyleSelector.h:
  25025. * rendering/RenderStyle.h:
  25026. (WebCore::StyleCachedImage::cachedImage):
  25027. (WebCore::StyleGeneratedImage::StyleGeneratedImage):
  25028. (WebCore::StyleGeneratedImage::data):
  25029. 2008-04-12 Julien Chaffraix <jchaffraix@webkit.org>
  25030. Not reviewed, Qt build fix.
  25031. * dom/XMLTokenizer.cpp:
  25032. (WebCore::XMLTokenizer::parseEndElement):
  25033. * platform/graphics/qt/GraphicsContextQt.cpp:
  25034. (WebCore::GraphicsContext::clip):
  25035. * platform/qt/ClipboardQt.cpp:
  25036. (WebCore::ClipboardQt::setDragImage):
  25037. 2008-04-12 David Hyatt <hyatt@apple.com>
  25038. Add support for list-style-image gradients. Also improve the image comparisons between two RenderStyles
  25039. to not mistakenly believe that images have changed.
  25040. Reviewed by olliej
  25041. Added fast/gradients/list-item-gradient.html
  25042. * css/CSSComputedStyleDeclaration.cpp:
  25043. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  25044. * css/CSSParser.cpp:
  25045. (WebCore::CSSParser::parseValue):
  25046. * css/CSSStyleSelector.cpp:
  25047. (WebCore::CSSStyleSelector::applyProperty):
  25048. (WebCore::CSSStyleSelector::createStyleImage):
  25049. * rendering/RenderListMarker.cpp:
  25050. (WebCore::RenderListMarker::RenderListMarker):
  25051. (WebCore::RenderListMarker::paint):
  25052. (WebCore::RenderListMarker::imageChanged):
  25053. (WebCore::RenderListMarker::calcPrefWidths):
  25054. * rendering/RenderListMarker.h:
  25055. * rendering/RenderStyle.cpp:
  25056. (WebCore::imagesEquivalent):
  25057. (WebCore::BorderImage::operator==):
  25058. (WebCore::StyleCachedImage::errorOccurred):
  25059. (WebCore::BackgroundLayer::operator==):
  25060. (WebCore::StyleInheritedData::StyleInheritedData):
  25061. (WebCore::cursorDataEquivalent):
  25062. (WebCore::StyleInheritedData::operator==):
  25063. (WebCore::RenderStyle::diff):
  25064. * rendering/RenderStyle.h:
  25065. (WebCore::StyleImage::errorOccurred):
  25066. (WebCore::RenderStyle::listStyleImage):
  25067. (WebCore::RenderStyle::setListStyleImage):
  25068. (WebCore::RenderStyle::initialListStyleImage):
  25069. 2008-04-12 Dan Bernstein <mitz@apple.com>
  25070. - Windows build fix
  25071. * platform/win/ClipboardWin.cpp:
  25072. (WebCore::ClipboardWin::setDragImage):
  25073. 2008-04-12 Kevin Ollivier <kevino@theolliviers.com>
  25074. wx build fix. Update clip to take a FloatRect.
  25075. * platform/graphics/wx/GraphicsContextWx.cpp:
  25076. (WebCore::GraphicsContext::clip):
  25077. 2008-04-12 David Hyatt <hyatt@apple.com>
  25078. Add gradient support to border-image (even though it's mostly just weird).
  25079. Reviewed by Dan
  25080. Added fast/gradients/border-image-gradient.html
  25081. fast/gradients/border-image-gradient-sides-and-corners.html
  25082. * css/CSSBorderImageValue.h:
  25083. (WebCore::CSSBorderImageValue::imageValue):
  25084. * css/CSSStyleSelector.cpp:
  25085. (WebCore::CSSStyleSelector::applyProperty):
  25086. * platform/graphics/GeneratedImage.cpp:
  25087. (WebCore::GeneratedImage::draw):
  25088. * rendering/InlineFlowBox.cpp:
  25089. (WebCore::InlineFlowBox::paintBoxDecorations):
  25090. * rendering/RenderBox.cpp:
  25091. (WebCore::RenderBox::imageChanged):
  25092. * rendering/RenderObject.cpp:
  25093. (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
  25094. (WebCore::RenderObject::paintBorderImage):
  25095. (WebCore::RenderObject::paintBorder):
  25096. (WebCore::RenderObject::updateBackgroundImages):
  25097. (WebCore::RenderObject::arenaDelete):
  25098. * rendering/RenderStyle.cpp:
  25099. (WebCore::StyleCachedImage::isLoaded):
  25100. * rendering/RenderStyle.h:
  25101. (WebCore::StyleImage::isLoaded):
  25102. (WebCore::BorderImage::image):
  25103. 2008-04-11 Dan Bernstein <mitz@apple.com>
  25104. Reviewed by Dave Hyatt.
  25105. - fix a regression from r31324 which caused most Arabic text to render
  25106. as missing glyphs
  25107. Test: svg/W3C-SVG-1.1/fonts-glyph-02-t.svg
  25108. * svg/SVGFont.cpp:
  25109. (WebCore::SVGTextRunWalker::walk): Changed to always process characters
  25110. in logical order and therefore dispatch the callbacks with a logically-
  25111. ordered glyph stream. Changed the call to isCompatibleGlyph() to check
  25112. for compatibility only with the range of characters the candidate glyph
  25113. is derived from rather than with the entire lookup range. Changed to
  25114. mark the <missing-glyph> glyph identifier as valid, to facilitate the
  25115. use of invalid glyph identifiers to mark font fallback.
  25116. (WebCore::drawTextUsingSVGFontCallback): Changed to only append the
  25117. glyph identifier to a vector.
  25118. (WebCore::drawTextMissingGlyphCallback): Changed to only append the
  25119. character to a vector and append an invalid glyph identifier to the
  25120. glyph vector.
  25121. (WebCore::Font::drawTextUsingSVGFont): Moved the drawing from the
  25122. callbacks into this function, iterating over the glyph and fallback
  25123. characters vector in visual order.
  25124. 2008-04-11 Dirk Schulze <vbs85@gmx.de>
  25125. Reviewed by eseidel.
  25126. Attempt to fix Cairo build.
  25127. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  25128. * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
  25129. 2008-04-11 David Hyatt <hyatt@apple.com>
  25130. Rename CachedResource's ref/deref methods to addClient/removeClient. This matches the new
  25131. StyleImage class and is a more accurate description of what those methods really do.
  25132. Reviewed by olliej
  25133. * WebCore.base.exp:
  25134. * css/CSSCursorImageValue.cpp:
  25135. (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
  25136. * css/CSSFontFaceSource.cpp:
  25137. (WebCore::CSSFontFaceSource::CSSFontFaceSource):
  25138. (WebCore::CSSFontFaceSource::~CSSFontFaceSource):
  25139. * css/CSSImageValue.cpp:
  25140. (WebCore::CSSImageValue::~CSSImageValue):
  25141. (WebCore::CSSImageValue::image):
  25142. * css/CSSImportRule.cpp:
  25143. (WebCore::CSSImportRule::~CSSImportRule):
  25144. (WebCore::CSSImportRule::insertedIntoParent):
  25145. * dom/ProcessingInstruction.cpp:
  25146. (WebCore::ProcessingInstruction::~ProcessingInstruction):
  25147. (WebCore::ProcessingInstruction::checkStyleSheet):
  25148. (WebCore::ProcessingInstruction::parseStyleSheet):
  25149. * dom/XMLTokenizer.cpp:
  25150. (WebCore::XMLTokenizer::~XMLTokenizer):
  25151. (WebCore::XMLTokenizer::endElementNs):
  25152. (WebCore::XMLTokenizer::notifyFinished):
  25153. * html/CanvasPattern.cpp:
  25154. (WebCore::CanvasPattern::CanvasPattern):
  25155. (WebCore::CanvasPattern::~CanvasPattern):
  25156. * html/HTMLImageLoader.cpp:
  25157. (WebCore::HTMLImageLoader::~HTMLImageLoader):
  25158. (WebCore::HTMLImageLoader::setImage):
  25159. (WebCore::HTMLImageLoader::updateFromElement):
  25160. * html/HTMLLinkElement.cpp:
  25161. (WebCore::HTMLLinkElement::~HTMLLinkElement):
  25162. (WebCore::HTMLLinkElement::process):
  25163. * html/HTMLScriptElement.cpp:
  25164. (WebCore::HTMLScriptElement::~HTMLScriptElement):
  25165. (WebCore::HTMLScriptElement::parseMappedAttribute):
  25166. (WebCore::HTMLScriptElement::insertedIntoDocument):
  25167. (WebCore::HTMLScriptElement::removedFromDocument):
  25168. (WebCore::HTMLScriptElement::notifyFinished):
  25169. * html/HTMLTokenizer.cpp:
  25170. (WebCore::HTMLTokenizer::reset):
  25171. (WebCore::HTMLTokenizer::scriptHandler):
  25172. (WebCore::HTMLTokenizer::notifyFinished):
  25173. * loader/CachedCSSStyleSheet.cpp:
  25174. (WebCore::CachedCSSStyleSheet::addClient):
  25175. * loader/CachedCSSStyleSheet.h:
  25176. * loader/CachedFont.cpp:
  25177. (WebCore::CachedFont::addClient):
  25178. * loader/CachedFont.h:
  25179. * loader/CachedImage.cpp:
  25180. (WebCore::CachedImage::addClient):
  25181. * loader/CachedImage.h:
  25182. * loader/CachedResource.cpp:
  25183. (WebCore::CachedResource::addClient):
  25184. (WebCore::CachedResource::removeClient):
  25185. * loader/CachedResource.h:
  25186. * loader/CachedScript.cpp:
  25187. (WebCore::CachedScript::addClient):
  25188. * loader/CachedScript.h:
  25189. * loader/CachedXBLDocument.h:
  25190. * loader/CachedXSLStyleSheet.cpp:
  25191. (WebCore::CachedXSLStyleSheet::addClient):
  25192. * loader/CachedXSLStyleSheet.h:
  25193. * loader/mac/UserStyleSheetLoader.cpp:
  25194. (UserStyleSheetLoader::UserStyleSheetLoader):
  25195. (UserStyleSheetLoader::~UserStyleSheetLoader):
  25196. * platform/mac/ClipboardMac.mm:
  25197. (WebCore::ClipboardMac::setDragImage):
  25198. * rendering/RenderImage.cpp:
  25199. (WebCore::RenderImage::~RenderImage):
  25200. (WebCore::RenderImage::setCachedImage):
  25201. * rendering/RenderListMarker.cpp:
  25202. (WebCore::RenderListMarker::~RenderListMarker):
  25203. (WebCore::RenderListMarker::setStyle):
  25204. * rendering/RenderObject.cpp:
  25205. (WebCore::RenderObject::updateBackgroundImages):
  25206. (WebCore::RenderObject::arenaDelete):
  25207. * rendering/RenderStyle.cpp:
  25208. (WebCore::StyleCachedImage::addClient):
  25209. (WebCore::StyleCachedImage::removeClient):
  25210. * svg/SVGImageLoader.cpp:
  25211. (WebCore::SVGImageLoader::updateFromElement):
  25212. * xml/XSLImportRule.cpp:
  25213. (WebCore::XSLImportRule::~XSLImportRule):
  25214. (WebCore::XSLImportRule::loadSheet):
  25215. 2008-04-11 David Hyatt <hyatt@apple.com>
  25216. This patch adds support for CSS gradients as background images. RenderStyles now hold a StyleImage
  25217. RefPtr, which is a wrapper for two types of images: CachedImages (loaded from URLs) and generated images
  25218. (patterns created on the fly such as gradients).
  25219. All of the features of <canvas> are supported: gradients can be linear or radial, have multiple stops, and
  25220. can specify their points as percentages (for reusable gradients across different box sizes).
  25221. Reviewed by olliej
  25222. Added fast/gradients/simple-gradients.html
  25223. * WebCore.xcodeproj/project.pbxproj:
  25224. * css/CSSBorderImageValue.cpp:
  25225. (WebCore::CSSBorderImageValue::CSSBorderImageValue):
  25226. * css/CSSBorderImageValue.h:
  25227. (WebCore::CSSBorderImageValue::imageValue):
  25228. (WebCore::CSSBorderImageValue::generatorValue):
  25229. * css/CSSComputedStyleDeclaration.cpp:
  25230. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  25231. * css/CSSGradientValue.cpp: Added.
  25232. (WebCore::CSSGradientValue::cssText):
  25233. (WebCore::CSSGradientValue::createGradient):
  25234. (WebCore::CSSGradientValue::image):
  25235. (WebCore::compareStops):
  25236. (WebCore::CSSGradientValue::sortStopsIfNeeded):
  25237. (WebCore::CSSGradientValue::resolvePoint):
  25238. (WebCore::CSSGradientValue::resolveRadius):
  25239. * css/CSSGradientValue.h: Added.
  25240. (WebCore::CSSGradientColorStop::CSSGradientColorStop):
  25241. (WebCore::CSSGradientValue::CSSGradientValue):
  25242. (WebCore::CSSGradientValue::type):
  25243. (WebCore::CSSGradientValue::setType):
  25244. (WebCore::CSSGradientValue::setFirstX):
  25245. (WebCore::CSSGradientValue::setFirstY):
  25246. (WebCore::CSSGradientValue::setSecondX):
  25247. (WebCore::CSSGradientValue::setSecondY):
  25248. (WebCore::CSSGradientValue::setFirstRadius):
  25249. (WebCore::CSSGradientValue::setSecondRadius):
  25250. (WebCore::CSSGradientValue::addStop):
  25251. * css/CSSImageGeneratorValue.cpp: Added.
  25252. (WebCore::CSSImageGeneratorValue::~CSSImageGeneratorValue):
  25253. (WebCore::CSSImageGeneratorValue::addClient):
  25254. (WebCore::CSSImageGeneratorValue::removeClient):
  25255. (WebCore::CSSImageGeneratorValue::getImage):
  25256. (WebCore::CSSImageGeneratorValue::putImage):
  25257. * css/CSSImageGeneratorValue.h: Added.
  25258. (WebCore::CSSImageGeneratorValue::isImageGeneratorValue):
  25259. * css/CSSImageValue.h:
  25260. (WebCore::CSSImageValue::isImageValue):
  25261. * css/CSSParser.cpp:
  25262. (WebCore::CSSParser::parseBackgroundImage):
  25263. (WebCore::BorderImageParseContext::commitImage):
  25264. (WebCore::CSSParser::parseBorderImage):
  25265. (WebCore::parseGradientPoint):
  25266. (WebCore::parseGradientColorStop):
  25267. (WebCore::CSSParser::parseGradient):
  25268. * css/CSSParser.h:
  25269. * css/CSSStyleSelector.cpp:
  25270. (WebCore::CSSStyleSelector::applyProperty):
  25271. (WebCore::CSSStyleSelector::createStyleImage):
  25272. (WebCore::CSSStyleSelector::mapBackgroundImage):
  25273. * css/CSSStyleSelector.h:
  25274. * css/CSSValue.h:
  25275. (WebCore::CSSValue::isImageValue):
  25276. (WebCore::CSSValue::isImageGeneratorValue):
  25277. * html/CanvasRenderingContext2D.cpp:
  25278. (WebCore::CanvasRenderingContext2D::isPointInPath):
  25279. * platform/graphics/BitmapImage.cpp:
  25280. (WebCore::BitmapImage::BitmapImage):
  25281. (WebCore::BitmapImage::dataChanged):
  25282. (WebCore::BitmapImage::frameCount):
  25283. * platform/graphics/BitmapImage.h:
  25284. * platform/graphics/GraphicsContext.cpp:
  25285. (WebCore::GraphicsContext::clipToImageBuffer):
  25286. * platform/graphics/GraphicsContext.h:
  25287. * platform/graphics/ImageBuffer.h:
  25288. (WebCore::ImageBuffer::cgImage):
  25289. (WebCore::ImageBuffer::image):
  25290. * platform/graphics/cg/GraphicsContextCG.cpp:
  25291. (WebCore::GraphicsContext::clipToImageBuffer):
  25292. (WebCore::GraphicsContext::paintBuffer):
  25293. (WebCore::GraphicsContext::drawImage):
  25294. * platform/graphics/cg/ImageBufferCG.cpp:
  25295. (WebCore::ImageBuffer::create):
  25296. (WebCore::ImageBuffer::ImageBuffer):
  25297. (WebCore::ImageBuffer::~ImageBuffer):
  25298. (WebCore::ImageBuffer::image):
  25299. (WebCore::ImageBuffer::getImageData):
  25300. (WebCore::ImageBuffer::putImageData):
  25301. (WebCore::ImageBuffer::toDataURL):
  25302. * platform/graphics/cg/ImageCG.cpp:
  25303. (WebCore::BitmapImage::BitmapImage):
  25304. (WebCore::BitmapImage::draw):
  25305. (WebCore::Image::drawPattern):
  25306. * platform/graphics/qt/ImageQt.cpp:
  25307. (WebCore::BitmapImage::BitmapImage):
  25308. * rendering/InlineFlowBox.cpp:
  25309. (WebCore::InlineFlowBox::paintBackground):
  25310. * rendering/RenderBox.cpp:
  25311. (WebCore::RenderBox::calculateBackgroundSize):
  25312. (WebCore::RenderBox::imageChanged):
  25313. (WebCore::RenderBox::paintBackgroundExtended):
  25314. * rendering/RenderObject.cpp:
  25315. (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
  25316. (WebCore::RenderObject::updateBackgroundImages):
  25317. (WebCore::RenderObject::arenaDelete):
  25318. * rendering/RenderStyle.cpp:
  25319. (WebCore::StyleCachedImage::cssValue):
  25320. (WebCore::StyleCachedImage::canRender):
  25321. (WebCore::StyleCachedImage::imageSize):
  25322. (WebCore::StyleCachedImage::setImageContainerSize):
  25323. (WebCore::StyleCachedImage::addClient):
  25324. (WebCore::StyleCachedImage::removeClient):
  25325. (WebCore::StyleCachedImage::image):
  25326. (WebCore::StyleGeneratedImage::cssValue):
  25327. (WebCore::StyleGeneratedImage::imageSize):
  25328. (WebCore::StyleGeneratedImage::setImageContainerSize):
  25329. (WebCore::StyleGeneratedImage::addClient):
  25330. (WebCore::StyleGeneratedImage::removeClient):
  25331. (WebCore::StyleGeneratedImage::image):
  25332. * rendering/RenderStyle.h:
  25333. (WebCore::StyleImage::StyleImage):
  25334. (WebCore::StyleImage::~StyleImage):
  25335. (WebCore::StyleImage::operator==):
  25336. (WebCore::StyleImage::canRender):
  25337. (WebCore::StyleImage::isCachedImage):
  25338. (WebCore::StyleImage::isGeneratedImage):
  25339. (WebCore::StyleCachedImage::StyleCachedImage):
  25340. (WebCore::StyleCachedImage::data):
  25341. (WebCore::StyleCachedImage::isCachedImage):
  25342. (WebCore::StyleGeneratedImage::StyleGeneratedImage):
  25343. (WebCore::StyleGeneratedImage::data):
  25344. (WebCore::StyleGeneratedImage::isGeneratedImage):
  25345. (WebCore::BackgroundLayer::backgroundImage):
  25346. (WebCore::BackgroundLayer::setBackgroundImage):
  25347. (WebCore::BackgroundLayer::containsImage):
  25348. (WebCore::RenderStyle::backgroundImage):
  25349. (WebCore::RenderStyle::initialBackgroundImage):
  25350. * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
  25351. (WebCore::SVGPaintServerGradient::teardown):
  25352. * svg/graphics/cg/SVGResourceMaskerCg.mm:
  25353. (WebCore::SVGResourceMasker::applyMask):
  25354. 2008-04-11 Dan Bernstein <mitz@apple.com>
  25355. Reviewed by Oliver Hunt.
  25356. - add SVGGlyphMap.h to project files
  25357. * WebCore.vcproj/WebCore.vcproj:
  25358. * WebCore.xcodeproj/project.pbxproj:
  25359. 2008-04-11 Anders Carlsson <andersca@apple.com>
  25360. Fix release build.
  25361. * WebCore.base.exp:
  25362. * loader/archive/ArchiveResource.h:
  25363. (WebCore::ArchiveResource::response):
  25364. This should be const.
  25365. 2008-04-11 Antti Koivisto <antti@apple.com>
  25366. Try to fix Qt build.
  25367. * svg/animation/SMILTime.cpp:
  25368. 2008-04-11 Anders Carlsson <andersca@apple.com>
  25369. Reviewed by Brady.
  25370. Don't create the ArchiveResource response lazily.
  25371. * loader/archive/ArchiveResource.cpp:
  25372. (WebCore::ArchiveResource::ArchiveResource):
  25373. * loader/archive/ArchiveResource.h:
  25374. (WebCore::ArchiveResource::response):
  25375. 2008-04-11 Jan Michael Alonzo <jmalonzo@unpluggable.com>
  25376. Reviewed by Mark Rowe.
  25377. Added missing '\' in the svg include path
  25378. * GNUmakefile.am:
  25379. 2008-04-11 Antti Koivisto <antti@apple.com>
  25380. Another attempted Qt build fix.
  25381. * WebCore.pro:
  25382. 2008-04-11 Antti Koivisto <antti@apple.com>
  25383. Reviewed by Oliver.
  25384. Fix build when SVG is enabled but SVG_ANIMATION is not.
  25385. * ChangeLog:
  25386. * bindings/js/JSSVGElementWrapperFactory.cpp:
  25387. * bindings/objc/DOM.mm:
  25388. (WebCore::createElementClassMap):
  25389. * svg/SVGAElement.cpp:
  25390. (WebCore::SVGAElement::defaultEventHandler):
  25391. * svg/SVGAnimateColorElement.cpp:
  25392. * svg/SVGAnimateColorElement.h:
  25393. * svg/SVGAnimateColorElement.idl:
  25394. * svg/SVGAnimateMotionElement.h:
  25395. * svg/SVGAnimationElement.cpp:
  25396. (WebCore::SVGAnimationElement::animationMode):
  25397. * svg/SVGAnimationElement.h:
  25398. * svg/SVGAnimationElement.idl:
  25399. * svg/SVGSetElement.cpp:
  25400. * svg/SVGSetElement.h:
  25401. * svg/SVGSetElement.idl:
  25402. * svg/animation/SMILTimeContainer.cpp:
  25403. (WebCore::SMILTimeContainer::begin):
  25404. (WebCore::SMILTimeContainer::pause):
  25405. (WebCore::SMILTimeContainer::resume):
  25406. (WebCore::SMILTimeContainer::elapsed):
  25407. (WebCore::SMILTimeContainer::isPaused):
  25408. (WebCore::SMILTimeContainer::timerFired):
  25409. * svg/animation/SMILTimeContainer.h:
  25410. * svg/animation/SVGSMILElement.cpp:
  25411. * svg/animation/SVGSMILElement.h:
  25412. * svg/svgtags.in:
  25413. 2008-04-11 Anders Carlsson <andersca@apple.com>
  25414. Reviewed by Brady.
  25415. Move archive loading from FrameLoader to DocumentLoader.
  25416. * loader/DocumentLoader.cpp:
  25417. (WebCore::DocumentLoader::DocumentLoader):
  25418. (WebCore::DocumentLoader::clearArchiveResources):
  25419. (WebCore::DocumentLoader::deliverArchivedResourcesAfterDelay):
  25420. (WebCore::DocumentLoader::archiveResourceDeliveryTimerFired):
  25421. (WebCore::DocumentLoader::isArchiveLoadPending):
  25422. (WebCore::DocumentLoader::cancelPendingArchiveLoad):
  25423. (WebCore::DocumentLoader::scheduleArchiveLoad):
  25424. (WebCore::DocumentLoader::setDefersLoading):
  25425. * loader/DocumentLoader.h:
  25426. * loader/FrameLoader.cpp:
  25427. (WebCore::FrameLoader::FrameLoader):
  25428. (WebCore::FrameLoader::setDefersLoading):
  25429. (WebCore::FrameLoader::stopAllLoaders):
  25430. * loader/FrameLoader.h:
  25431. * loader/ResourceLoader.cpp:
  25432. (WebCore::ResourceLoader::load):
  25433. (WebCore::ResourceLoader::didCancel):
  25434. 2008-04-11 Timothy Hatcher <timothy@apple.com>
  25435. Fixes the regression where the DOM tree does not update when navigating
  25436. to another page with the Inspector open.
  25437. https://bugs.webkit.org/show_bug.cgi?id=18418
  25438. Reviewed by Adam Roben.
  25439. * page/inspector/ElementsPanel.js:
  25440. (WebInspector.ElementsPanel.prototype.reset): If the inspected document does not have a
  25441. firstChild yet, add an event listener for DOMContentLoaded. The event listener just sets
  25442. a proeprty that a polling functions looks for then triggers the reset.
  25443. (WebInspector.ElementsPanel.prototype._focusedNodeChanged): Always call updateStyles with
  25444. forceUpdate as true. This makes sure the Styles pane clears when there isn't a focused node.
  25445. 2008-04-11 Dan Bernstein <mitz@apple.com>
  25446. Reviewed by Timothy Hatcher.
  25447. - fix http://bugs.webkit.org/show_bug.cgi?id=18412
  25448. Inspector truncates text when editing a CSS property
  25449. * page/inspector/inspector.css:
  25450. 2008-04-11 Antti Koivisto <antti@apple.com>
  25451. Try to fix Qt build by including some headers.
  25452. * ChangeLog:
  25453. * platform/graphics/UnitBezier.h:
  25454. * svg/SVGAnimationElement.cpp:
  25455. * svg/animation/SMILTime.h:
  25456. * svg/animation/SVGSMILElement.cpp:
  25457. 2008-04-11 Antti Koivisto <antti@apple.com>
  25458. Try to fix Windows build by switching to std::sort().
  25459. * svg/animation/SVGSMILElement.cpp:
  25460. (WebCore::sortTimeList):
  25461. 2008-04-11 Rob Buis <buis@kde.org>
  25462. Reviewed by Eric.
  25463. http://bugs.webkit.org/show_bug.cgi?id=18340
  25464. Elements with display="none" in a <clipPath> still contribute to clipping path
  25465. Skip elements in clip-path container that have display=none specified.
  25466. * svg/SVGClipPathElement.cpp:
  25467. (WebCore::SVGClipPathElement::canvasResource):
  25468. 2008-04-10 Antti Koivisto <antti@apple.com>
  25469. Reviewed by Eric.
  25470. Redo the SVG animation support.
  25471. It does
  25472. - Full SMIL interval timing model including syncbase and event base timing (the hard part).
  25473. - CSS and XML attribute animation.
  25474. - Linear, discrete and spline calcModes.
  25475. - Values animation with keyTimes and keySplines.
  25476. - Link activated animations.
  25477. - Pretty good support for <animate> and <set> animations
  25478. - Basic support for <animateColor>, <animateMotion> and <animateTransform>.
  25479. This passes some 35 of the 56 tests in W3C SVG animation test suite, a bunch more
  25480. with some subtest failures.
  25481. What is still missing
  25482. - Additive animation with multiple animations operating on the same property. This is a
  25483. major architectural feature in animation code. It shouldn't be too hard to add.
  25484. - Only <animate> implements accumulate.
  25485. - <animateMotion> does not do paths, keypoints, rotate.
  25486. - <animateTransform> does not work correctly in all cases
  25487. - calcMode paced is missing.
  25488. - repeat, beginEvent, endEvent are missing.
  25489. - accesskey() is missing.
  25490. - JS does not see correct values for baseVal/animVal, changing values that are being
  25491. animted for a script produces wrong results. This problem needs to be solved outside
  25492. the animation code.
  25493. - Some other stuff I forgot or do not know about.
  25494. * GNUmakefile.am:
  25495. * WebCore.pro:
  25496. * WebCore.vcproj/WebCore.vcproj:
  25497. * WebCore.xcodeproj/project.pbxproj:
  25498. * dom/Document.cpp:
  25499. * history/CachedPage.cpp:
  25500. (WebCore::CachedPage::CachedPage):
  25501. Use cache notification mechanism to start/stop animations.
  25502. * svg/SVGAElement.cpp:
  25503. (WebCore::SVGAElement::defaultEventHandler):
  25504. Start target animation on link activation.
  25505. * svg/SVGAnimateColorElement.cpp:
  25506. (WebCore::SVGAnimateColorElement::applyAnimatedValueToElement):
  25507. (WebCore::SVGAnimateColorElement::updateAnimatedValue):
  25508. (WebCore::SVGAnimateColorElement::calculateFromAndToValues):
  25509. (WebCore::SVGAnimateColorElement::calculateFromAndByValues):
  25510. * svg/SVGAnimateColorElement.h:
  25511. * svg/SVGAnimateElement.cpp:
  25512. (WebCore::SVGAnimateElement::SVGAnimateElement):
  25513. (WebCore::parseNumberValueAndUnit):
  25514. (WebCore::SVGAnimateElement::applyAnimatedValueToElement):
  25515. (WebCore::SVGAnimateElement::updateAnimatedValue):
  25516. (WebCore::isColorAttribute):
  25517. (WebCore::SVGAnimateElement::calculateFromAndToValues):
  25518. (WebCore::SVGAnimateElement::calculateFromAndByValues):
  25519. * svg/SVGAnimateElement.h:
  25520. (WebCore::SVGAnimateElement::):
  25521. * svg/SVGAnimateMotionElement.cpp:
  25522. (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
  25523. (WebCore::SVGAnimateMotionElement::parseMappedAttribute):
  25524. (WebCore::SVGAnimateMotionElement::updateAnimatedValue):
  25525. (WebCore::parsePoint):
  25526. (WebCore::SVGAnimateMotionElement::calculateFromAndToValues):
  25527. (WebCore::SVGAnimateMotionElement::calculateFromAndByValues):
  25528. (WebCore::SVGAnimateMotionElement::applyAnimatedValueToElement):
  25529. (WebCore::SVGAnimateMotionElement::startedActiveInterval):
  25530. * svg/SVGAnimateMotionElement.h:
  25531. * svg/SVGAnimateTransformElement.cpp:
  25532. (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
  25533. (WebCore::SVGAnimateTransformElement::hasValidTarget):
  25534. (WebCore::SVGAnimateTransformElement::updateAnimatedValue):
  25535. (WebCore::transformListFor):
  25536. (WebCore::SVGAnimateTransformElement::applyAnimatedValueToElement):
  25537. (WebCore::SVGAnimateTransformElement::calculateFromAndToValues):
  25538. (WebCore::SVGAnimateTransformElement::calculateFromAndByValues):
  25539. (WebCore::SVGAnimateTransformElement::startedActiveInterval):
  25540. (WebCore::SVGAnimateTransformElement::parseTransformValue):
  25541. * svg/SVGAnimateTransformElement.h:
  25542. Concrete anmation element classes.
  25543. * svg/SVGAnimationElement.cpp:
  25544. (WebCore::SVGAnimationElement::SVGAnimationElement):
  25545. (WebCore::SVGAnimationElement::~SVGAnimationElement):
  25546. (WebCore::parseKeyTimes):
  25547. (WebCore::parseKeySplines):
  25548. (WebCore::SVGAnimationElement::parseMappedAttribute):
  25549. (WebCore::SVGAnimationElement::attributeChanged):
  25550. (WebCore::SVGAnimationElement::getStartTime):
  25551. (WebCore::SVGAnimationElement::getCurrentTime):
  25552. (WebCore::SVGAnimationElement::getSimpleDuration):
  25553. (WebCore::SVGAnimationElement::beginElement):
  25554. (WebCore::SVGAnimationElement::beginElementAt):
  25555. (WebCore::SVGAnimationElement::endElement):
  25556. (WebCore::SVGAnimationElement::endElementAt):
  25557. (WebCore::SVGAnimationElement::animationMode):
  25558. (WebCore::SVGAnimationElement::calcMode):
  25559. (WebCore::SVGAnimationElement::attributeType):
  25560. (WebCore::SVGAnimationElement::toValue):
  25561. (WebCore::SVGAnimationElement::byValue):
  25562. (WebCore::SVGAnimationElement::fromValue):
  25563. (WebCore::SVGAnimationElement::attributeName):
  25564. (WebCore::SVGAnimationElement::isAdditive):
  25565. (WebCore::SVGAnimationElement::isAccumulated):
  25566. (WebCore::SVGAnimationElement::hasValidTarget):
  25567. (WebCore::SVGAnimationElement::targetAttributeIsCSS):
  25568. (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
  25569. (WebCore::SVGAnimationElement::targetAttributeBaseValue):
  25570. (WebCore::solveEpsilon):
  25571. (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
  25572. (WebCore::SVGAnimationElement::startedActiveInterval):
  25573. (WebCore::SVGAnimationElement::applyAnimation):
  25574. (WebCore::SVGAnimationElement::unapplyAnimation):
  25575. (WebCore::SVGAnimationElement::endedActiveInterval):
  25576. * svg/SVGAnimationElement.h:
  25577. (WebCore::SVGAnimationElement::):
  25578. This is pretty much a complete rewrite of the SVGAnimationElement. Timing related functionality
  25579. was refactored to SMILTimingElement class that this class now inherits.
  25580. * svg/SVGDocumentExtensions.cpp:
  25581. (WebCore::SVGDocumentExtensions::startAnimations):
  25582. * svg/SVGElement.cpp:
  25583. (WebCore::SVGElement::ownerSVGElement):
  25584. * svg/SVGSVGElement.cpp:
  25585. We need to reach the <svg> element from <use> too so go out from the shadow tree.
  25586. (WebCore::SVGSVGElement::SVGSVGElement):
  25587. (WebCore::SVGSVGElement::~SVGSVGElement):
  25588. (WebCore::SVGSVGElement::pauseAnimations):
  25589. (WebCore::SVGSVGElement::unpauseAnimations):
  25590. (WebCore::SVGSVGElement::animationsPaused):
  25591. (WebCore::SVGSVGElement::getCurrentTime):
  25592. (WebCore::SVGSVGElement::willSaveToCache):
  25593. (WebCore::SVGSVGElement::willRestoreFromCache):
  25594. * svg/SVGSVGElement.h:
  25595. (WebCore::SVGSVGElement::timeContainer):
  25596. * svg/SVGSetElement.cpp:
  25597. (WebCore::SVGSetElement::applyAnimatedValueToElement):
  25598. (WebCore::SVGSetElement::calculateFromAndToValues):
  25599. (WebCore::SVGSetElement::calculateFromAndByValues):
  25600. (WebCore::SVGSetElement::updateAnimatedValue):
  25601. * svg/SVGSetElement.h:
  25602. Concrete anmation element classes.
  25603. * svg/SVGTimer.cpp: Removed.
  25604. * svg/SVGTimer.h: Removed.
  25605. * svg/SVGUseElement.cpp:
  25606. (WebCore::SVGUseElement::removedFromDocument):
  25607. * svg/TimeScheduler.cpp: Removed.
  25608. * svg/TimeScheduler.h: Removed.
  25609. Replaced these with SMILTimeContainer class.
  25610. * svg/animation: Added.
  25611. * svg/animation/SMILTime.cpp: Added.
  25612. (WebCore::operator+):
  25613. (WebCore::operator-):
  25614. (WebCore::operator*):
  25615. * svg/animation/SMILTime.h: Added.
  25616. (WebCore::SMILTime::SMILTime):
  25617. (WebCore::SMILTime::unresolved):
  25618. (WebCore::SMILTime::indefinite):
  25619. (WebCore::SMILTime::operator=):
  25620. (WebCore::SMILTime::value):
  25621. (WebCore::SMILTime::isFinite):
  25622. (WebCore::SMILTime::isIndefinite):
  25623. (WebCore::SMILTime::isUnresolved):
  25624. (WebCore::operator==):
  25625. (WebCore::operator!=):
  25626. (WebCore::operator>):
  25627. (WebCore::operator<):
  25628. (WebCore::operator>=):
  25629. (WebCore::operator<=):
  25630. (WebCore::max):
  25631. (WebCore::min):
  25632. A floating point number with special values "indefinite" and "unresolved". Defines math for those.
  25633. * svg/animation/SMILTimeContainer.cpp: Added.
  25634. (WebCore::SMILTimeContainer::SMILTimeContainer):
  25635. (WebCore::SMILTimeContainer::schedule):
  25636. (WebCore::SMILTimeContainer::unschedule):
  25637. (WebCore::SMILTimeContainer::elapsed):
  25638. (WebCore::SMILTimeContainer::isActive):
  25639. (WebCore::SMILTimeContainer::isPaused):
  25640. (WebCore::SMILTimeContainer::begin):
  25641. (WebCore::SMILTimeContainer::pause):
  25642. (WebCore::SMILTimeContainer::resume):
  25643. (WebCore::SMILTimeContainer::startTimer):
  25644. (WebCore::SMILTimeContainer::timerFired):
  25645. (WebCore::SMILTimeContainer::updateAnimations):
  25646. * svg/animation/SMILTimeContainer.h: Added.
  25647. Manages the clock and time line for active animations in a document.
  25648. * svg/animation/SVGSMILElement.cpp: Added.
  25649. (WebCore::ConditionEventListener::ConditionEventListener):
  25650. (WebCore::ConditionEventListener::handleEvent):
  25651. (WebCore::SVGSMILElement::Condition::Condition):
  25652. (WebCore::SVGSMILElement::SVGSMILElement):
  25653. (WebCore::SVGSMILElement::~SVGSMILElement):
  25654. (WebCore::SVGSMILElement::insertedIntoDocument):
  25655. (WebCore::SVGSMILElement::removedFromDocument):
  25656. (WebCore::SVGSMILElement::finishParsingChildren):
  25657. (WebCore::SVGSMILElement::parseOffsetValue):
  25658. (WebCore::SVGSMILElement::parseClockValue):
  25659. (WebCore::smilTimeSortFunction):
  25660. (WebCore::sortTimeList):
  25661. (WebCore::SVGSMILElement::parseCondition):
  25662. (WebCore::SVGSMILElement::isTimingElement):
  25663. (WebCore::SVGSMILElement::parseBeginOrEnd):
  25664. (WebCore::SVGSMILElement::parseMappedAttribute):
  25665. (WebCore::SVGSMILElement::attributeChanged):
  25666. (WebCore::SVGSMILElement::connectConditions):
  25667. (WebCore::SVGSMILElement::disconnectConditions):
  25668. (WebCore::SVGSMILElement::reschedule):
  25669. (WebCore::SVGSMILElement::targetElement):
  25670. (WebCore::SVGSMILElement::elapsed):
  25671. (WebCore::SVGSMILElement::restart):
  25672. (WebCore::SVGSMILElement::fill):
  25673. (WebCore::SVGSMILElement::xlinkHref):
  25674. (WebCore::SVGSMILElement::dur):
  25675. (WebCore::SVGSMILElement::repeatDur):
  25676. (WebCore::SVGSMILElement::repeatCount):
  25677. (WebCore::SVGSMILElement::maxValue):
  25678. (WebCore::SVGSMILElement::minValue):
  25679. (WebCore::SVGSMILElement::simpleDuration):
  25680. (WebCore::SVGSMILElement::addBeginTime):
  25681. (WebCore::SVGSMILElement::addEndTime):
  25682. (WebCore::SVGSMILElement::findInstanceTime):
  25683. (WebCore::SVGSMILElement::repeatingDuration):
  25684. (WebCore::SVGSMILElement::resolveActiveEnd):
  25685. (WebCore::SVGSMILElement::resolveInterval):
  25686. (WebCore::SVGSMILElement::resolveFirstInterval):
  25687. (WebCore::SVGSMILElement::resolveNextInterval):
  25688. (WebCore::SVGSMILElement::nextProgressTime):
  25689. (WebCore::SVGSMILElement::beginListChanged):
  25690. (WebCore::SVGSMILElement::endListChanged):
  25691. (WebCore::SVGSMILElement::checkRestart):
  25692. (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
  25693. (WebCore::SVGSMILElement::calculateNextProgressTime):
  25694. (WebCore::SVGSMILElement::determineActiveState):
  25695. (WebCore::SVGSMILElement::progress):
  25696. (WebCore::SVGSMILElement::notifyDependentsIntervalChanged):
  25697. (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
  25698. (WebCore::SVGSMILElement::addTimeDependent):
  25699. (WebCore::SVGSMILElement::removeTimeDependent):
  25700. (WebCore::SVGSMILElement::handleConditionEvent):
  25701. (WebCore::SVGSMILElement::beginByLinkActivation):
  25702. * svg/animation/SVGSMILElement.h: Added.
  25703. (WebCore::SVGSMILElement::timeContainer):
  25704. (WebCore::SVGSMILElement::):
  25705. (WebCore::SVGSMILElement::intervalBegin):
  25706. (WebCore::SVGSMILElement::intervalEnd):
  25707. (WebCore::SVGSMILElement::Condition::):
  25708. This abstract class implements the SMIL timing model. As an output it produces calls
  25709. to these virtual functions:
  25710. virtual void startedActiveInterval() = 0;
  25711. virtual void applyAnimation(float percent, unsigned repeat) = 0;
  25712. virtual void unapplyAnimation() = 0;
  25713. virtual void endedActiveInterval() = 0;
  25714. 2008-04-10 Antti Koivisto <antti@apple.com>
  25715. Reviewed by Eric.
  25716. Move CurveData out from AnimationController.cpp and rename
  25717. it to UnitBezier. This makes it possible to reuse this nice class from the
  25718. SVG animation code.
  25719. * WebCore.vcproj/WebCore.vcproj:
  25720. * WebCore.xcodeproj/project.pbxproj:
  25721. * page/AnimationController.cpp:
  25722. (WebCore::solveCubicBezierFunction):
  25723. * platform/graphics/UnitBezier.h: Added.
  25724. (WebCore::UnitBezier::UnitBezier):
  25725. (WebCore::UnitBezier::sampleCurveX):
  25726. (WebCore::UnitBezier::sampleCurveY):
  25727. (WebCore::UnitBezier::sampleCurveDerivativeX):
  25728. (WebCore::UnitBezier::solveCurveX):
  25729. (WebCore::UnitBezier::solve):
  25730. 2008-04-10 Brady Eidson <beidson@apple.com>
  25731. Reviewed by Sam Weinig
  25732. The name "OriginStorage" never felt right to a few of us. The HTML5 spec refers to our
  25733. concept of "OriginStorage" as a "storage area", which makes more sense here.
  25734. This patch is basically:
  25735. s/OriginStorage/StorageArea/
  25736. * GNUmakefile.am:
  25737. * WebCore.pro:
  25738. * WebCore.vcproj/WebCore.vcproj:
  25739. * WebCore.xcodeproj/project.pbxproj:
  25740. * WebCoreSources.bkl:
  25741. * loader/FrameLoader.cpp:
  25742. * page/DOMWindow.cpp:
  25743. (WebCore::DOMWindow::sessionStorage):
  25744. * page/Page.cpp:
  25745. * storage/OriginStorage.cpp: Removed.
  25746. * storage/OriginStorage.h: Removed.
  25747. * storage/SessionStorage.cpp:
  25748. (WebCore::SessionStorage::copy):
  25749. (WebCore::SessionStorage::storageArea):
  25750. * storage/SessionStorage.h:
  25751. * storage/Storage.cpp:
  25752. (WebCore::Storage::create):
  25753. (WebCore::Storage::Storage):
  25754. (WebCore::Storage::length):
  25755. (WebCore::Storage::key):
  25756. (WebCore::Storage::getItem):
  25757. (WebCore::Storage::setItem):
  25758. (WebCore::Storage::removeItem):
  25759. (WebCore::Storage::contains):
  25760. * storage/Storage.h:
  25761. * storage/StorageArea.cpp: Copied from storage/OriginStorage.cpp.
  25762. (WebCore::StorageArea::create):
  25763. (WebCore::StorageArea::StorageArea):
  25764. (WebCore::StorageArea::~StorageArea):
  25765. (WebCore::StorageArea::copy):
  25766. (WebCore::StorageArea::length):
  25767. (WebCore::StorageArea::key):
  25768. (WebCore::StorageArea::getItem):
  25769. (WebCore::StorageArea::setItem):
  25770. (WebCore::StorageArea::removeItem):
  25771. (WebCore::StorageArea::contains):
  25772. (WebCore::StorageArea::dispatchStorageEvent):
  25773. * storage/StorageArea.h: Copied from storage/OriginStorage.h.
  25774. 2008-04-10 Xan Lopez <xan@gnome.org>
  25775. Reviewed by Alp Toker.
  25776. http://bugs.webkit.org/show_bug.cgi?id=18342
  25777. Bug #18342 - Add logging to HTTP soup backend
  25778. Add soup logging facilities to HTTP soup backend.
  25779. Enable defining WEBKIT_SOUP_LOGGING, with values from
  25780. 0 to 3 for more verbosity.
  25781. * platform/network/soup/ResourceHandleSoup.cpp:
  25782. (WebCore::ResourceHandle::start):
  25783. 2008-04-10 Timothy Hatcher <timothy@apple.com>
  25784. Fixes floating point precision in the Resources graph labels by using String.sprintf to
  25785. format the values. Also makes the image view use Number.bytesToString when showing the file
  25786. size. Makes Number.bytesToString and Number.secondsToString take an optional formatter function
  25787. so the Inspector can pass WebInspector.UIString, so the format strings can be localized.
  25788. https://bugs.webkit.org/show_bug.cgi?id=18381
  25789. https://bugs.webkit.org/show_bug.cgi?id=14333
  25790. Reviewed by Adam Roben.
  25791. * English.lproj/InspectorLocalizedStrings.js: Added the new strings.
  25792. * page/inspector/ImageView.js:
  25793. (WebInspector.ImageView): Use Number.bytesToString to format this.resource.contentLength.
  25794. * page/inspector/ResourcesPanel.js:
  25795. (WebInspector.ResourceTransferTimeCalculator.prototype.formatValue): Pass WebInspector.UIString
  25796. to Number.secondsToString.
  25797. (WebInspector.ResourceTransferSizeCalculator.prototype.formatValue): Pass WebInspector.UIString
  25798. to Number.bytesToString.
  25799. * page/inspector/utilities.js:
  25800. (Number.secondsToString): Added a formatterFunction argument. Use the formatter and format strings
  25801. to control the number precision.
  25802. (Number.bytesToString): Ditto.
  25803. 2008-04-010 Alice Liu <alice.liu@apple.com>
  25804. Reviewed by Dan Bernstein.
  25805. Fixed <rdar://5815856> CrashTracer: [USER] 8384 crashes in WebCore::Widget::getView const + 6
  25806. Test: fast/events/mouseout-dead-subframe.html
  25807. * page/EventHandler.cpp:
  25808. dispatching a mouse event can change the document structure, necessitating
  25809. a check for whether we still want to pass the event to the pre-determined subframe
  25810. (WebCore::EventHandler::handleMouseMoveEvent):
  25811. 2008-04-10 Antti Koivisto <antti@apple.com>
  25812. Reviewed by Eric.
  25813. Fix scale transform. This will be tested by the animation test suite when
  25814. SVG animation support lands.
  25815. * svg/SVGTransformDistance.cpp:
  25816. (WebCore::SVGTransformDistance::SVGTransformDistance):
  25817. 2008-04-10 David Hyatt <hyatt@apple.com>
  25818. Add a gradient fillRect method to GraphicsContext. This is implemented only in the CG port. I stubbed
  25819. out a method in GraphicsContext.cpp with notImplemented(). Other platforms will need to add their own
  25820. gradient fill methods.
  25821. Reviewed by aroben
  25822. * platform/graphics/GraphicsContext.cpp:
  25823. (WebCore::GraphicsContext::fillRect):
  25824. * platform/graphics/GraphicsContext.h:
  25825. * platform/graphics/cg/GraphicsContextCG.cpp:
  25826. (WebCore::GraphicsContext::fillRect):
  25827. 2008-04-10 David Hyatt <hyatt@apple.com>
  25828. Gradient improvements. Support for adding color stops by Color and not just by String. Add the ability to mark
  25829. stops as already being sorted.
  25830. Reviewed by aroben
  25831. * platform/graphics/Gradient.cpp:
  25832. (WebCore::Gradient::addColorStop):
  25833. * platform/graphics/Gradient.h:
  25834. (WebCore::Gradient::setStopsSorted):
  25835. 2008-04-10 Timothy Hatcher <timothy@apple.com>
  25836. Fixes the build where some wtf headers would not be copied due
  25837. to a bug in some older versions of Xcode.
  25838. Rubber-stamped by Adam Roben.
  25839. * WebCore.xcodeproj/project.pbxproj: Adds a new script phase to handle
  25840. the copying of the icu and ForwardingHeaders folder to WebCore's PrivateHeaders.
  25841. Removes the old copy files phase and the icu and ForwardingHeaders folder references.
  25842. 2008-04-09 Brady Eidson <beidson@apple.com>
  25843. Reviewed by Mitz Pettel
  25844. Add the "onstorage" attribute for the body element to provide easy setup of StorageEvent handling.
  25845. Tests: storage/domstorage/sessionstorage/onstorage-attribute-markup.html
  25846. storage/domstorage/sessionstorage/onstorage-attribute-setattribute.html
  25847. * html/HTMLAttributeNames.in: Added "onstorage"
  25848. * html/HTMLBodyElement.cpp:
  25849. (WebCore::HTMLBodyElement::parseMappedAttribute): Handle this attribute on the body element *only*
  25850. because that's where the HTML5 spec says StorageEvents go. This might change in the future
  25851. 2008-04-09 Antti Koivisto <antti@apple.com>
  25852. Reviewed by Mitz.
  25853. Remove a less-than-critical bit from Node and replace it with a hash. Those bits are valuable!
  25854. Also moved setting of the guard to dispatchSimulatedClick for better consistency.
  25855. No one else calls dispatchSimulatedMouseEvent() currently and this is really a click() specific behavior.
  25856. * dom/EventTargetNode.cpp:
  25857. (WebCore::EventTargetNode::dispatchSimulatedMouseEvent):
  25858. (WebCore::EventTargetNode::dispatchSimulatedClick):
  25859. * dom/Node.cpp:
  25860. (WebCore::Node::Node):
  25861. * dom/Node.h:
  25862. 2008-04-09 Sam Weinig <sam@webkit.org>
  25863. Reviewed by Geoffrey Garen.
  25864. Fix for https://bugs.webkit.org/show_bug.cgi?id=18389
  25865. Crash in JSDOMWindowWrapper::mark loading digg.com
  25866. - Add a null check to JSDOMWindowWrapper::mark for the case when the collector
  25867. runs during its allocation.
  25868. - Cleans up the creation of the window to be a little more straight forward.
  25869. * bindings/js/JSDOMWindowBase.cpp:
  25870. (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate):
  25871. (WebCore::JSDOMWindowBase::JSDOMWindowBase):
  25872. (WebCore::JSDOMWindowBase::clear):
  25873. (WebCore::JSDOMWindowBase::wrapper):
  25874. * bindings/js/JSDOMWindowBase.h:
  25875. * bindings/js/JSDOMWindowWrapper.cpp:
  25876. (WebCore::JSDOMWindowWrapper::JSDOMWindowWrapper):
  25877. (WebCore::JSDOMWindowWrapper::mark):
  25878. * bindings/js/JSDOMWindowWrapper.h:
  25879. * bindings/js/kjs_proxy.cpp:
  25880. (WebCore::KJSProxy::initScript):
  25881. * bindings/scripts/CodeGeneratorJS.pm:
  25882. 2008-04-09 Brady Eidson <beidson@apple.com>
  25883. Rubberstamped by Mitzpettel
  25884. Added HTMLAttributeNames.in and HTMLTagNames.in to the xcodeproj for easy editing,
  25885. and sorted the html group
  25886. * WebCore.xcodeproj/project.pbxproj:
  25887. 2008-04-09 Brent Fulgham <bfulgham@gmail.com>
  25888. Reviewed by Mitz.
  25889. Correct build regression in Windows (Cairo) build due to changes
  25890. in FontDescription.h signature. (see http://bugs.webkit.org/show_bug.cgi?id=18394)
  25891. * rendering/RenderThemeWin.cpp: Change for new font methods.
  25892. (WebCore::RenderThemeWin::systemFont):
  25893. 2008-04-09 Brady Eidson <beidson@apple.com>
  25894. Reviewed by Sam Weinig
  25895. When enumerating a Storage object, the Storage built-ins should not be included, but the
  25896. prototype chain SHOULD be included.
  25897. * bindings/js/JSStorageCustom.cpp:
  25898. (WebCore::JSStorage::customGetPropertyNames): Return false so the prototype chain is walked
  25899. * storage/Storage.idl: Mark all built-ins as "DontEnum"
  25900. 2008-04-09 Brady Eidson <beidson@apple.com>
  25901. Reviewed by Adam Roben
  25902. Per the HTML5 spec, enumerating a Storage object should walk the keys in the storage area,
  25903. and should not return the built-in properties.
  25904. Test: storage/domstorage/sessionstorage/enumerate-storage.html
  25905. * bindings/js/JSLocationCustom.cpp:
  25906. (WebCore::JSLocation::customGetPropertyNames): Removed the name from an unused parameter
  25907. * bindings/js/JSStorageCustom.cpp:
  25908. (WebCore::JSStorage::customGetPropertyNames): Copy all of the keys into the property names array
  25909. * storage/Storage.idl: Add CustomGetPropertyNames
  25910. 2008-04-09 Timothy Hatcher <timothy@apple.com>
  25911. Fixes the regression where resource time/size pills do not
  25912. update during a load in the Inspector.
  25913. http://bugs.webkit.org/show_bug.cgi?id=18374
  25914. Reviewed by John Sullivan.
  25915. * page/inspector/ResourcesPanel.js:
  25916. (ResourcesPanel.prototype.show): Remove an unneeded call to _updateGraphBars,
  25917. since _updateSidebarWidth already calls _updateGraphBars.
  25918. (ResourcesPanel.prototype.addResource): Call updateGraphSideWidth.
  25919. (ResourcesPanel.prototype._updateGraphBars): Ditto.
  25920. (ResourceSidebarTreeElement.prototype.updateGraphSideWidth): Update the
  25921. style for graphSideElement with the passed in width.
  25922. 2008-04-09 Antti Koivisto <antti@apple.com>
  25923. Reviewed by Mitz.
  25924. Avoid unnecessary calls to virtual updateStyleAttributeIfNeeded() method.
  25925. - do the the checking in call sites instead of inside the function
  25926. - rename to updateStyleAttribute()
  25927. - use namedAttrMap directly (for getting id attribute) in insertedIntoDocument/removedFromDocument
  25928. to avoid calling attributes() which may trigger style attribute update.
  25929. * dom/Element.cpp:
  25930. (WebCore::Element::attributes):
  25931. (WebCore::Element::getAttribute):
  25932. (WebCore::Element::hasAttributes):
  25933. (WebCore::Element::insertedIntoDocument):
  25934. (WebCore::Element::removedFromDocument):
  25935. * dom/Element.h:
  25936. (WebCore::Element::updateStyleAttribute):
  25937. * dom/NamedAttrMap.cpp:
  25938. (WebCore::NamedAttrMap::addAttribute):
  25939. * dom/StyledElement.cpp:
  25940. (WebCore::StyledElement::updateStyleAttribute):
  25941. * dom/StyledElement.h:
  25942. 2008-04-09 Timothy Hatcher <timothy@apple.com>
  25943. A more complete fix for: can't drag the Web Inspector when grabbing
  25944. in the toolbar area. Makes dragging under the search field in the
  25945. empty space work again.
  25946. http://bugs.webkit.org/show_bug.cgi?id=18373
  25947. Reviewed by Adam Roben.
  25948. * page/inspector/inspector.js:
  25949. (WebInspector.toolbarDragStart): Prevent dragging if the event target
  25950. is a toggleable toolbar item. Allow dragging when the target is a
  25951. normal toolbar item.
  25952. 2008-04-08 Sam Weinig <sam@webkit.org>
  25953. Reviewed by Timothy Hatcher.
  25954. Fix for http://bugs.webkit.org/show_bug.cgi?id=18373
  25955. REGRESSION: Can't drag the Web Inspector when grabbing in the toolbar area
  25956. * page/inspector/inspector.css:
  25957. 2008-04-08 Christian Persch <chpe@gnome.org>
  25958. Reviewed by Alp Toker.
  25959. http://bugs.webkit.org/show_bug.cgi?id=18360
  25960. "missing sentinel" warnings in PluginDatabaseGtk.cpp
  25961. Use NULL, not 0 as sentinel in varargs calls.
  25962. * plugins/gtk/PluginDatabaseGtk.cpp:
  25963. (WebCore::PluginDatabase::getPluginPathsInDirectories):
  25964. (WebCore::PluginDatabase::defaultPluginDirectories):
  25965. 2008-04-04 Sam Weinig <sam@webkit.org>
  25966. Reviewed by Geoffrey Garen.
  25967. First step in implementing the "split window"
  25968. - This patch takes the first step in changing the window navigation model
  25969. from clearing the window properties on navigation, to replacing
  25970. an inner window. This is necessary to safely perform security checks
  25971. using the lexical global object.
  25972. This first step adds a new class called JSDOMWindowWrapper, which wraps
  25973. the real window object. All JS calls that would go to the window object
  25974. now go to it, which it forwards to the current inner window. To accomplish
  25975. this, the wrapper window is used as the ThisValue wherever the window was used
  25976. before.
  25977. * WebCore.base.exp:
  25978. * WebCore.xcodeproj/project.pbxproj:
  25979. * bindings/js/JSDOMWindowBase.cpp:
  25980. (WebCore::JSDOMWindowBase::JSDOMWindowBase):
  25981. (WebCore::JSDOMWindowBase::clear): Reset the wrapper windows prototype too.
  25982. (WebCore::JSDOMWindowBase::toThisObject):
  25983. (WebCore::JSDOMWindowBase::wrapper):
  25984. (WebCore::windowProtoFuncAToB):
  25985. (WebCore::windowProtoFuncBToA):
  25986. (WebCore::windowProtoFuncOpen):
  25987. (WebCore::windowProtoFuncSetTimeout):
  25988. (WebCore::windowProtoFuncClearTimeout):
  25989. (WebCore::windowProtoFuncSetInterval):
  25990. (WebCore::windowProtoFuncAddEventListener):
  25991. (WebCore::windowProtoFuncRemoveEventListener):
  25992. (WebCore::windowProtoFuncShowModalDialog):
  25993. (WebCore::windowProtoFuncNotImplemented):
  25994. (WebCore::toJS):
  25995. * bindings/js/JSDOMWindowBase.h:
  25996. Fix to expect the wrapper as the thisObj.
  25997. * bindings/js/JSDOMWindowCustom.cpp:
  25998. (WebCore::JSDOMWindow::postMessage):
  25999. (WebCore::toDOMWindow):
  26000. * bindings/js/JSDOMWindowWrapper.cpp: Added.
  26001. (WebCore::JSDOMWindowWrapper::JSDOMWindowWrapper):
  26002. (WebCore::JSDOMWindowWrapper::~JSDOMWindowWrapper):
  26003. (WebCore::JSDOMWindowWrapper::mark):
  26004. (WebCore::JSDOMWindowWrapper::className):
  26005. (WebCore::JSDOMWindowWrapper::getOwnPropertySlot):
  26006. (WebCore::JSDOMWindowWrapper::put):
  26007. (WebCore::JSDOMWindowWrapper::deleteProperty):
  26008. (WebCore::JSDOMWindowWrapper::getPropertyNames):
  26009. (WebCore::JSDOMWindowWrapper::getPropertyAttributes):
  26010. (WebCore::JSDOMWindowWrapper::defineGetter):
  26011. (WebCore::JSDOMWindowWrapper::defineSetter):
  26012. (WebCore::JSDOMWindowWrapper::lookupGetter):
  26013. (WebCore::JSDOMWindowWrapper::lookupSetter):
  26014. (WebCore::JSDOMWindowWrapper::toGlobalObject):
  26015. (WebCore::JSDOMWindowWrapper::impl):
  26016. (WebCore::JSDOMWindowWrapper::disconnectFrame):
  26017. (WebCore::JSDOMWindowWrapper::clear):
  26018. (WebCore::toJS):
  26019. * bindings/js/JSDOMWindowWrapper.h: Added.
  26020. (WebCore::JSDOMWindowWrapper::innerWindow):
  26021. (WebCore::JSDOMWindowWrapper::setInnerWindow):
  26022. (WebCore::JSDOMWindowWrapper::classInfo):
  26023. Forward methods to the innerWindow.
  26024. * bindings/js/JSHTMLDocumentCustom.cpp:
  26025. (WebCore::JSHTMLDocument::open):
  26026. * bindings/js/ScheduledAction.cpp:
  26027. (WebCore::ScheduledAction::execute):
  26028. * bindings/js/kjs_events.cpp:
  26029. (WebCore::JSAbstractEventListener::handleEvent):
  26030. * bindings/js/kjs_proxy.cpp:
  26031. (WebCore::KJSProxy::~KJSProxy):
  26032. (WebCore::KJSProxy::evaluate):
  26033. (WebCore::KJSProxy::clear):
  26034. (WebCore::KJSProxy::initScript):
  26035. (WebCore::KJSProxy::clearDocumentWrapper):
  26036. (WebCore::KJSProxy::processingUserGesture):
  26037. (WebCore::KJSProxy::attachDebugger):
  26038. * bindings/js/kjs_proxy.h:
  26039. (WebCore::KJSProxy::haveWindowWrapper):
  26040. (WebCore::KJSProxy::windowWrapper):
  26041. (WebCore::KJSProxy::globalObject):
  26042. (WebCore::KJSProxy::initScriptIfNeeded):
  26043. Hold onto the wrapper window instead of global object. As a convenience,
  26044. keep the globalObject() as a forward to the inner window.
  26045. * bindings/objc/DOMUtility.mm:
  26046. (KJS::createDOMWrapper):
  26047. * bindings/scripts/CodeGeneratorJS.pm:
  26048. * dom/Document.cpp:
  26049. (WebCore::Document::domWindow):
  26050. * dom/Document.h:
  26051. (WebCore::Document::defaultView):
  26052. * loader/FrameLoader.cpp:
  26053. (WebCore::FrameLoader::dispatchWindowObjectAvailable):
  26054. * page/DOMWindow.idl:
  26055. * page/Frame.cpp:
  26056. (WebCore::Frame::~Frame):
  26057. (WebCore::Frame::pageDestroyed):
  26058. 2008-04-08 Brady Eidson <beidson@apple.com>
  26059. Encourage Windows to rebuild - AGAIN...
  26060. * WebCore.vcproj/build-generated-files.sh:
  26061. * bindings/scripts/CodeGenerator.pm:
  26062. * bindings/scripts/CodeGeneratorJS.pm:
  26063. * config.h:
  26064. 2008-04-08 Brady Eidson <beidson@apple.com>
  26065. OMG release builds didn't have this flag Windows build bots I'm so
  26066. sorry will you ever forgive me?
  26067. (Found by Stephanie, rubberstamped and landed by Brady)
  26068. * WebCore.vcproj/WebCore.vcproj: Add ENABLE_DOM_STORAGE for release builds
  26069. 2008-04-08 Timothy Hatcher <timothy@apple.com>
  26070. Fixes a crash in KJS::JSValue::toObject when closing
  26071. Safari with Inspector open.
  26072. http://bugs.webkit.org/show_bug.cgi?id=18371
  26073. Reviewed by Adam Roben.
  26074. * page/InspectorController.cpp:
  26075. (WebCore::inspectedWindow): NULL check the result of toJSDOMWindow.
  26076. Return JSNull if JSDOMWindow is 0.
  26077. * page/inspector/ElementsPanel.js:
  26078. (ElementsPanel.prototype.reset): NULL check the result of
  26079. InspectorController.inspectedWindow.
  26080. 2008-04-08 Adam Roben <aroben@apple.com>
  26081. Wx build fix
  26082. * webcore-wx.bkl: Removed entry for non-existent file.
  26083. 2008-04-08 Adam Roben <aroben@apple.com>
  26084. qmake build fixes
  26085. * WebCore.pro: Removed entries for non-existent files.
  26086. 2008-04-08 Brady Eidson <beidson@apple.com>
  26087. Rubberstamped by Adam Roben
  26088. Touch some files to *strongly* encourage Windows to rebuilt with DOM_STORAGE enabled
  26089. * WebCore.vcproj/build-generated-files.sh:
  26090. * bindings/scripts/CodeGenerator.pm:
  26091. * config.h:
  26092. 2008-04-08 Timothy Hatcher <timothy@apple.com>
  26093. Implements the majority of the Inspector UI refresh as shown at:
  26094. http://trac.webkit.org/projects/webkit/wiki/ProposedWebInspectorUIRefresh
  26095. http://bugs.webkit.org/show_bug.cgi?id=17773
  26096. A few areas that have not been re-implemented with the new UI are:
  26097. * Search and search results.
  26098. * Request and response headers in the Resources panel.
  26099. * Changing the sorting, grouping or toggling small rows in Resources.
  26100. * Image and font previews in the icon of resources.
  26101. Reviewed by Adam Roben.
  26102. * English.lproj/InspectorLocalizedStrings.js: Updated to match actual strings.
  26103. * WebCore.vcproj/WebCore.vcproj: Added new files.
  26104. * page/InspectorController.cpp:
  26105. (WebCore::InspectorController::setWindowVisible): Call resetScriptObjects()
  26106. instead of individual clear functions.
  26107. (WebCore::InspectorController::populateScriptObjects): Renamed from
  26108. populateScriptResources.
  26109. (WebCore::InspectorController::addDatabaseScriptResource): Call
  26110. addDatabase instead of addResource.
  26111. (WebCore::InspectorController::removeDatabaseScriptResource): Call
  26112. removeDatabase instead of removeResource.
  26113. (WebCore::InspectorController::resetScriptObjects): Renamed from
  26114. clearScriptResources.
  26115. (WebCore::InspectorController::didCommitLoad): Call resetScriptObjects()
  26116. instead of individual clear functions.
  26117. * page/InspectorController.h: Rename functions.
  26118. * page/inspector/Console.js: Changed the object name to Console from
  26119. ConsolePanel. Made it inherit the prototype from View. Added code
  26120. to animate in and out.
  26121. * page/inspector/Database.js: Removed title updating and Resource
  26122. pseudo-subclassing. Made more of a Model object that just encapsulates
  26123. data. Add a getter for table names.
  26124. * page/inspector/DatabaseQueryView.js: Added. Implements the view seen
  26125. when selecting a Database in the DatabasesPanel. Implemented as an
  26126. interactive console-like area.
  26127. * page/inspector/DatabaseTableView.js: Added. Implements the view seen
  26128. when selecting a Database Table in the DatabasesPanel. Matches the old
  26129. Browse view of Database panels.
  26130. * page/inspector/DatabasesPanel.js: Changed the object name to DatabasesPanel
  26131. from DatabasePanel. Implements a panel that shows a sidebar of Databases
  26132. and Database Tables.
  26133. * page/inspector/ElementsPanel.js: Changed the object name to ElementsPanel
  26134. from DocumentPanel. Implements the DOM tree that shows the DOM rooted at the
  26135. main resource.
  26136. * page/inspector/FontView.js: Use this.contentElement instead of this.element.
  26137. * page/inspector/ImageView.js: Ditto.
  26138. * page/inspector/Images/clearConsoleButtons.png: Added.
  26139. * page/inspector/Images/consoleButtons.png: Added.
  26140. * page/inspector/Images/darkShadow.png: Flipped.
  26141. * page/inspector/Images/database.png: Modified to be 32x32.
  26142. * page/inspector/Images/databaseTable.png: Added.
  26143. * page/inspector/Images/databasesIcon.png: Added.
  26144. * page/inspector/Images/disclosureTriangleSmallDown.png: Added.
  26145. * page/inspector/Images/disclosureTriangleSmallDownBlack.png: Added.
  26146. * page/inspector/Images/disclosureTriangleSmallDownWhite.png: Added.
  26147. * page/inspector/Images/disclosureTriangleSmallRight.png: Added.
  26148. * page/inspector/Images/disclosureTriangleSmallRightBlack.png: Added.
  26149. * page/inspector/Images/disclosureTriangleSmallRightDown.png: Added.
  26150. * page/inspector/Images/disclosureTriangleSmallRightDownBlack.png: Added.
  26151. * page/inspector/Images/disclosureTriangleSmallRightDownWhite.png: Added.
  26152. * page/inspector/Images/disclosureTriangleSmallRightWhite.png: Added.
  26153. * page/inspector/Images/dockButtons.png: Added.
  26154. * page/inspector/Images/elementsIcon.png: Added.
  26155. * page/inspector/Images/gradientHighlightBottom.png:
  26156. * page/inspector/Images/resourceCSSIcon.png: Added.
  26157. * page/inspector/Images/resourceDocumentIcon.png: Added.
  26158. * page/inspector/Images/resourcePlainIcon.png: Added.
  26159. * page/inspector/Images/resourcesIcon.png: Added.
  26160. * page/inspector/Images/resourcesSizeGraphIcon.png: Added.
  26161. * page/inspector/Images/resourcesTimeGraphIcon.png: Added.
  26162. * page/inspector/Images/scriptsIcon.png: Added.
  26163. * page/inspector/Images/segment.png: Modified to fit the taller status bar.
  26164. * page/inspector/Images/segmentEnd.png: Ditto.
  26165. * page/inspector/Images/segmentHover.png: Ditto.
  26166. * page/inspector/Images/segmentHoverEnd.png: Ditto.
  26167. * page/inspector/Images/segmentSelected.png: Ditto.
  26168. * page/inspector/Images/segmentSelectedEnd.png: Ditto.
  26169. * page/inspector/Images/sidebarSelectionBackground.png: Added.
  26170. * page/inspector/Images/sidebarSelectionBackgroundFocused.png: Added.
  26171. * page/inspector/Images/sidebarSelectionBackgroundInactive.png: Added.
  26172. * page/inspector/Images/sidebarSmallSelectionBackground.png: Added.
  26173. * page/inspector/Images/sidebarSmallSelectionBackgroundFocused.png: Added.
  26174. * page/inspector/Images/sidebarSmallSelectionBackgroundInactive.png: Added.
  26175. * page/inspector/Images/statusbarBackground.png: Added.
  26176. * page/inspector/Images/statusbarBottomBackground.png: Added.
  26177. * page/inspector/Images/statusbarButtons.png: Added.
  26178. * page/inspector/Images/statusbarResizerVertical.png: Added.
  26179. * page/inspector/Images/toolbarItemSelected.png: Added.
  26180. * page/inspector/Panel.js: Added support for toolbar items and status bar items.
  26181. Inherits from the View prototype.
  26182. * page/inspector/Resource.js: Removed title updating and the ResourceTreeElement.
  26183. Made more of a Model object that just encapsulates data.
  26184. * page/inspector/ResourceCategory.js: Removed the ResourceCategoryTreeElement.
  26185. Made more of a Model object that just encapsulates data.
  26186. * page/inspector/ResourceView.js: A simple base object for Resource views
  26187. shown in ResourcesPanel. Inherits from the View prototype.
  26188. * page/inspector/ResourcesPanel.js: Changed the object name to ResourcesPanel
  26189. from NetworkPanel. Implements the timeline graph, size graph and resource
  26190. viewing by using ResourceViews.
  26191. * page/inspector/SidebarTreeElement.js: Added. Inherits from TreeElement and implements
  26192. a section element and a regular element that has an icon, title and optional subtitle.
  26193. * page/inspector/SourceView.js: Use this.contentElement instead of this.element.
  26194. * page/inspector/StylesSidebarPane.js: Null check WebInspector.mainResource.
  26195. * page/inspector/View.js: Added. A simple object to manage showing and hiding an element.
  26196. * page/inspector/WebKit.qrc: Added new files.
  26197. * page/inspector/inspector.css: New and changed style rules to support the new UI.
  26198. * page/inspector/inspector.html: New and changed HTML for the UI. The search field
  26199. is disabled until search is reimplemented.
  26200. * page/inspector/inspector.js: Removed code related to the sidebar and back-forward lists.
  26201. Also removed code related to navigation to panels. Added code to instantiate the new
  26202. panels and setup the toolbar.
  26203. 2008-04-08 Dan Bernstein <mitz@apple.com>
  26204. Reviewed by Antti Koivisto.
  26205. - fix a regression from r31313 which made the inspector highlight and
  26206. yellow find highlight for table cells with extra top appear in the
  26207. wrong position
  26208. * rendering/LayoutState.cpp:
  26209. (WebCore::LayoutState::LayoutState): Changed absolutePosition() to
  26210. absolutePositionForContent(), to get the right position for children of
  26211. table cells. This is the correct fix for this part of r31313.
  26212. * rendering/RenderBox.cpp:
  26213. (WebCore::RenderBox::absolutePosition): Reverted the change from r31313
  26214. by changing absolutePosition() to absolutePositionForContent() here too.
  26215. * rendering/RenderObject.h:
  26216. (WebCore::RenderObject::absolutePositionForContent): Changed to return
  26217. the result from absolutePosition().
  26218. * rendering/RenderTableCell.cpp:
  26219. (WebCore::RenderTableCell::absoluteClippedOverflowRect): Turned the
  26220. "else" case into an early return.
  26221. (WebCore::RenderTableCell::absolutePosition): Reverted the change from
  26222. r31313.
  26223. 2008-04-08 Dan Bernstein <mitz@apple.com>
  26224. Reviewed by Antti Koivisto.
  26225. - fix http://bugs.webkit.org/show_bug.cgi?id=18172
  26226. REGRESSION (r31114-31132): Page renders structured almost horizontally (at flickr.com)
  26227. Test: fast/block/float/br-with-clear-2.html
  26228. * rendering/bidi.cpp:
  26229. (WebCore::RenderBlock::layoutInlineChildren): The existing code for
  26230. handling a float-clearing <br> in incremental layout had several bugs in
  26231. it: it only applied when the <br> was on the last line of the block; it
  26232. assumed that the <br> was always the rightmost box on the line (which is
  26233. false in right-to-left runs); and in some places it looked at the last
  26234. child of the block instead of the last box on the line. Fixed these
  26235. bugs.
  26236. 2008-04-08 Adam Roben <aroben@apple.com>
  26237. Mac build fix
  26238. * WebCore.xcodeproj/project.pbxproj: Removed MainThread* files which
  26239. were moved to WTF.
  26240. 2008-04-08 Timothy Hatcher <timothy@apple.com>
  26241. Change WebInspector.elementDragStart and WebInspector.elementDragEnd to have more
  26242. state, so calling elementDragEnd does not need the listener functions. Also makes
  26243. calling elementDragStart again without elementDragEnd work correctly.
  26244. Reviewed by Adam Roben.
  26245. * page/inspector/ElementsPanel.js:
  26246. (DocumentPanel.prototype.rightSidebarResizerDragStart): Just call WebInspector.elementDragStart.
  26247. Removed code that stored away the listeners now that elementDragStart does it.
  26248. (DocumentPanel.prototype.rightSidebarResizerDragEnd): Just call WebInspector.elementDragEnd.
  26249. Removed code that deleted listeners properties now that elementDragEnd does it.
  26250. * page/inspector/inspector.js:
  26251. (WebInspector.sidebarResizerDragEnd): Pass less arguments to elementDragEnd.
  26252. (WebInspector.searchResultsResizerDragEnd): Ditto.
  26253. (WebInspector.elementDragStart): Store the listeners as private properties on WebInspector.
  26254. If the properties are already defined, call elementDragEnd first.
  26255. (WebInspector.elementDragEnd): Remove the event listeners using the stored properties.
  26256. Delete the private listener properties.
  26257. 2008-04-08 Adam Roben <aroben@apple.com>
  26258. Build fix
  26259. * ForwardingHeaders/wtf/MainThread.h: Added. Forgot to commit this.
  26260. 2008-04-08 Adam Roben <aroben@apple.com>
  26261. Move callOnMainThread to WTF
  26262. Reviewed by Alexey Proskuryakov.
  26263. * GNUmakefile.am:
  26264. * WebCore.pro:
  26265. * WebCore.vcproj/WebCore.vcproj:
  26266. * WebCoreSources.bkl:
  26267. Removed MainThread files.
  26268. * bindings/js/JSCustomSQLTransactionCallback.cpp:
  26269. * loader/icon/IconDatabase.cpp:
  26270. (WebCore::iconDatabase):
  26271. * storage/Database.cpp:
  26272. (WebCore::Database::Database):
  26273. * storage/DatabaseTracker.cpp:
  26274. Updated #includes and replaced calls to
  26275. WebCore::initializeThreadingAndMainThread with calls to
  26276. KJS::initializeThreading.
  26277. * platform/MainThread.cpp: Removed.
  26278. * platform/MainThread.h: Removed.
  26279. * platform/gtk/MainThreadGtk.cpp: Removed.
  26280. * platform/mac/MainThreadMac.mm: Removed.
  26281. * platform/qt/MainThreadQt.cpp: Removed.
  26282. * platform/win/MainThreadWin.cpp: Removed.
  26283. * platform/wx/MainThreadWx.cpp: Removed.
  26284. 2008-04-07 Timothy Hatcher <timothy@apple.com>
  26285. Makes the Network timeline graph resource sizes on the bar graph
  26286. when Transfer Size is selected.
  26287. http://bugs.webkit.org/show_bug.cgi?id=18351
  26288. Reviewed by Adam Roben.
  26289. * page/inspector/Resource.js:
  26290. (WebInspector.Resource.CompareByTime): Array sorting function for time.
  26291. Copied from WebInspector.NetworkPanel.timelineEntryCompare.
  26292. * page/inspector/ResourcesPanel.js:
  26293. (WebInspector.NetworkPanel): Set the selectedIndex of graphModeSelectElement to
  26294. make Transfer Time the default graph.
  26295. (WebInspector.NetworkPanel.prototype.changeGraphMode): Call calculator.reset,
  26296. _refreshAllResources and _updateGraphDividersIfNeeded.
  26297. (WebInspector.NetworkPanel.prototype.get totalDuration): Removed.
  26298. (WebInspector.NetworkPanel.prototype._updateGraphBoundriesIfNeeded): Removed boundary
  26299. checking code and just call calculator.updateBoundries.
  26300. (WebInspector.NetworkPanel.prototype._updateGraphDividersIfNeeded): Add a force argument.
  26301. Use calculator.boundarySpan when computing the slice. If the slice is NaN, don't make a label.
  26302. Ask the calculator to format the label values for each slice.
  26303. (WebInspector.NetworkPanel.prototype.clearTimeline): Call calculator.reset.
  26304. (WebInspector.NetworkPanel.timelineEntryCompare): Call WebInspector.Resource.CompareByTime.
  26305. (WebInspector.NetworkTimelineEntry.prototype.refresh): Ask the panel's calculator to compute
  26306. bar graph percentages for a resource. Use those percentages to change the bar style.
  26307. (WebInspector.ResourceCalculator): Renamed from WebInspector.TimelineValueCalculator.
  26308. (WebInspector.ResourceCalculator.prototype.computeSummaryValues): Changed the Array.forEach
  26309. to a normal for loop. Work with resources instead of TimelineEntries.
  26310. (WebInspector.ResourceCalculator.prototype.computeBarGraphPercentages): Return basic bar graph
  26311. percents with start always being zero.
  26312. (WebInspector.ResourceCalculator.prototype.get boundarySpan): Return the difference between
  26313. maximumBoundary and minimumBoundary.
  26314. (WebInspector.ResourceCalculator.prototype.updateBoundries): Update maximumBoundary based on _value.
  26315. The minimumBoundary is always zero.
  26316. (WebInspector.ResourceCalculator.prototype.reset): Delete maximumBoundary and minimumBoundary.
  26317. (WebInspector.ResourceCalculator.prototype._value): Takes a Resource instead of TimelineEntry.
  26318. (WebInspector.ResourceTransferTimeCalculator): Renamed from TransferTimeCalculator.
  26319. (WebInspector.ResourceTransferTimeCalculator.prototype.computeSummaryValues): Work with resources
  26320. instead of entries. Changed the Array.forEach to a normal for loop.
  26321. (WebInspector.ResourceTransferTimeCalculator.prototype.computeBarGraphPercentages): Return percents
  26322. just like WebInspector.NetworkTimelineEntry.prototype.refresh was doing before.
  26323. (WebInspector.ResourceTransferTimeCalculator.prototype.updateBoundries): Update minimumBoundary and
  26324. maximumBoundary just like the checks WebInspector.NetworkPanel.prototype._updateGraphBoundriesIfNeeded was doing.
  26325. (WebInspector.ResourceTransferSizeCalculator): Renamed from TransferSizeCalculator.
  26326. (WebInspector.ResourceTransferSizeCalculator.prototype._value): Takes a Resource instead of TimelineEntry.
  26327. 2008-04-08 Rob Buis <buis@kde.org>
  26328. Fix the SVG build.
  26329. * svg/SVGFEFloodElement.cpp:
  26330. (WebCore::SVGFEFloodElement::filterEffect):
  26331. 2008-04-08 Alice Liu <alice.liu@apple.com>
  26332. Reviewed by Dan Bernstein.
  26333. fixed http://bugs.webkit.org/show_bug.cgi?id=18329
  26334. REGRESSION: Assertion failure in -[WebViewFactory endOfTextMarkerRange:]
  26335. when invoking the Dictionary pop-up
  26336. * page/mac/AccessibilityObjectWrapper.mm:
  26337. (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
  26338. In the section of code where WebCore-equivalents of mac-specific types are
  26339. prepared, some functions weren't meant to operate on the default initialized
  26340. values. Checking for nil in certain places will better maintain the original
  26341. pre-refactoring code path.
  26342. 2008-04-08 Dan Bernstein <mitz@apple.com>
  26343. Reviewed by Maciej Stachowiak.
  26344. - fix most of the Windows layout test regressions from the font-weight patch
  26345. * platform/graphics/win/FontCacheWin.cpp:
  26346. (WebCore::matchImprovingEnumProc): Changed to be symmetric with respect
  26347. to italics: always prefer (reject) a candidate that changes the italics
  26348. trait to (from) the desired value.
  26349. (WebCore::createGDIFont): Added code to set more members of the LOGFONT
  26350. structure before creating the font.
  26351. 2008-04-07 Rob Buis <buis@kde.org>
  26352. Reviewed by Ollie.
  26353. http://bugs.webkit.org/show_bug.cgi?id=18354
  26354. feFlood in attribute should be removed according to SVG 1.1 Errata
  26355. Remove the in attribute from SVGFEFlood DOM.
  26356. * svg/SVGFEFloodElement.cpp:
  26357. (WebCore::SVGFEFloodElement::parseMappedAttribute):
  26358. * svg/SVGFEFloodElement.h:
  26359. * svg/SVGFEFloodElement.idl:
  26360. 2008-04-07 Brady Eidson <beidson@apple.com>
  26361. Touch JSStorageCustom.cpp to try to FORCE a recompile on bots that haven't gotten the message
  26362. * bindings/js/JSStorageCustom.cpp:
  26363. (WebCore::JSStorage::customPut):
  26364. 2008-04-07 Brady Eidson <beidson@apple.com>
  26365. Reviewed by John Honeycutt
  26366. ENABLE_DOM_STORAGE for Windows
  26367. * WebCore.vcproj/WebCore.vcproj:
  26368. * WebCore.vcproj/build-generated-files.sh:
  26369. 2008-04-07 Brady Eidson <beidson@apple.com>
  26370. Fix build for builds without DOM_STORAGE enabled
  26371. * dom/EventTargetNode.cpp:
  26372. (WebCore::EventTargetNode::dispatchStorageEvent):
  26373. * dom/EventTargetNode.h:
  26374. 2008-04-07 Alice Liu <alice.liu@apple.com>
  26375. Reviewed by Beth Dakin.
  26376. * WebCore.vcproj/WebCore.vcproj:
  26377. Added a few cross-platform accessibility source files
  26378. * WebCore.xcodeproj/project.pbxproj:
  26379. Added AXObjectCache.cpp
  26380. * page/AXObjectCache.cpp: Added.
  26381. These were made cross-platform:
  26382. (WebCore::AXObjectCache::~AXObjectCache):
  26383. (WebCore::AXObjectCache::get):
  26384. (WebCore::AXObjectCache::remove):
  26385. (WebCore::AXObjectCache::childrenChanged):
  26386. * page/AXObjectCache.h:
  26387. These were made platform-specific
  26388. (WebCore::AXObjectCache::isIDinUse):
  26389. (WebCore::AXObjectCache::detachWrapper):
  26390. (WebCore::AXObjectCache::attachWrapper):
  26391. (WebCore::AXObjectCache::postNotificationToElement):
  26392. * page/AccessibilityObject.cpp:
  26393. (WebCore::AccessibilityObject::detach):
  26394. Since only the mac has a wrapper for now, so temporarily
  26395. wrapping this line in #if PLATFORM(MAC)
  26396. (WebCore::AccessibilityObject::removeAXObjectID):
  26397. Since only the mac has uses Accessibility Object IDs,
  26398. wrap this line in #if PLATFORM(MAC)
  26399. * page/mac/AXObjectCacheMac.mm:
  26400. Detaching and attaching the wrapper is platform-specific
  26401. since each wrapper class is platform-specific.
  26402. (WebCore::AXObjectCache::detachWrapper):
  26403. (WebCore::AXObjectCache::attachWrapper):
  26404. 2008-04-07 Brady Eidson <beidson@apple.com>
  26405. Lovingly reviewed by Sam Weinig
  26406. <rdar://problem/5797684> - HTML5 SessionStorage and underpinnings for LocalStorage
  26407. Tests: storage/domstorage/sessionstorage/iframe-events.html
  26408. storage/domstorage/sessionstorage/index-get-and-set.html
  26409. storage/domstorage/sessionstorage/simple-events.html
  26410. storage/domstorage/sessionstorage/simple-usage.html
  26411. storage/domstorage/sessionstorage/window-open.html
  26412. storage/domstorage/window-attributes-exist.html
  26413. * Configurations/WebCore.xcconfig: Define to enable DOM_STORAGE
  26414. * bindings/js/JSDOMWindowCustom.cpp:
  26415. (WebCore::JSDOMWindow::mark): Add optionalSessionStorage case
  26416. * bindings/js/JSEventCustom.cpp:
  26417. (WebCore::toJS): Add StorageEvent case
  26418. * bindings/js/JSStorageCustom.cpp:
  26419. (WebCore::JSStorage::canGetItemsForName):
  26420. (WebCore::JSStorage::nameGetter): If the property doesn't exist on the object, call through to getItem()
  26421. (WebCore::JSStorage::customPut): If the property doesn't exist on the object, call through to setItem()
  26422. * dom/Event.cpp:
  26423. (WebCore::Event::isStorageEvent):
  26424. * dom/Event.h:
  26425. * dom/EventNames.h: Add "storage"
  26426. * dom/EventTargetNode.cpp:
  26427. (WebCore::EventTargetNode::dispatchStorageEvent):
  26428. * dom/EventTargetNode.h:
  26429. * loader/FrameLoader.cpp:
  26430. (WebCore::FrameLoader::createWindow): After a new page has been created, set its SessionStorage object
  26431. to a copy of the previous Page's
  26432. * page/DOMWindow.cpp:
  26433. (WebCore::DOMWindow::sessionStorage): Accessor to pull the appropriate OriginStorage out of the Page's
  26434. SessionStorage.
  26435. (WebCore::DOMWindow::localStorage): To be filled in later
  26436. * page/DOMWindow.h:
  26437. (WebCore::DOMWindow::optionalSessionStorage): Return the session Storage object for this window to mark,
  26438. if any exists
  26439. * page/DOMWindow.idl:
  26440. * page/Page.cpp:
  26441. (WebCore::Page::sessionStorage): Create and/or return the SessionStorage for this Page.
  26442. (WebCore::Page::setSessionStorage): Set the SessionStorage for this Page - used in FrameLoader after a
  26443. Window.open();
  26444. * page/Page.h:
  26445. * storage/OriginStorage.cpp: Intermediate layer between individual Storage objects, and shared StorageMap
  26446. objects. There is one OriginStorage object per SecurityOrigin in each "unique set of storage areas", such
  26447. as the SessionStorage. This layer forwards DOM-level calls down to the backing StorageMap, handles
  26448. copy-on-write along with the StorageMap, fires StorageEvents to the DOM when a value is changed, and will
  26449. eventually handle quota enforcement.
  26450. (WebCore::OriginStorage::create):
  26451. (WebCore::OriginStorage::OriginStorage):
  26452. (WebCore::OriginStorage::~OriginStorage):
  26453. (WebCore::OriginStorage::copy):
  26454. (WebCore::OriginStorage::length):
  26455. (WebCore::OriginStorage::key):
  26456. (WebCore::OriginStorage::getItem):
  26457. (WebCore::OriginStorage::setItem):
  26458. (WebCore::OriginStorage::removeItem):
  26459. (WebCore::OriginStorage::contains):
  26460. (WebCore::OriginStorage::dispatchStorageEvent):
  26461. * storage/OriginStorage.h:
  26462. * storage/SessionStorage.cpp: From the HTML5 spec:
  26463. "Each top-level browsing context has a unique set of session storage areas, one for each origin."
  26464. This object represents that "unique set of session storage areas", and creates or returns the Storage
  26465. object for the requested SecurityOrigin
  26466. (WebCore::SessionStorage::create):
  26467. (WebCore::SessionStorage::SessionStorage):
  26468. (WebCore::SessionStorage::copy):
  26469. (WebCore::SessionStorage::originStorage):
  26470. * storage/SessionStorage.h:
  26471. (WebCore::SessionStorage::page):
  26472. * storage/Storage.cpp: Representation of the DOM-level object, wrapped by JSStorage. There is a unique
  26473. Storage object per Window (per-Frame) that wraps a specific shared OriginStorage object.
  26474. (WebCore::Storage::create):
  26475. (WebCore::Storage::Storage):
  26476. (WebCore::Storage::length):
  26477. (WebCore::Storage::key):
  26478. (WebCore::Storage::getItem):
  26479. (WebCore::Storage::setItem):
  26480. (WebCore::Storage::removeItem):
  26481. (WebCore::Storage::contains):
  26482. * storage/Storage.h:
  26483. * storage/Storage.idl:
  26484. * storage/StorageEvent.cpp:
  26485. (WebCore::StorageEvent::StorageEvent):
  26486. (WebCore::StorageEvent::initStorageEvent):
  26487. * storage/StorageEvent.h:
  26488. (WebCore::StorageEvent::isStorageEvent):
  26489. * storage/StorageMap.cpp: The physical map of key/value pairs that is shared between OriginStorage objects,
  26490. and implements copy-on-write semantics whenever a value is changed
  26491. (WebCore::StorageMap::create):
  26492. (WebCore::StorageMap::StorageMap):
  26493. (WebCore::StorageMap::copy):
  26494. (WebCore::StorageMap::invalidateIterator): Used to support the key(unsigned i) part of the API
  26495. (WebCore::StorageMap::setIteratorToIndex): Ditto
  26496. (WebCore::StorageMap::length):
  26497. (WebCore::StorageMap::key):
  26498. (WebCore::StorageMap::getItem):
  26499. (WebCore::StorageMap::setItem):
  26500. (WebCore::StorageMap::removeItem):
  26501. (WebCore::StorageMap::contains):
  26502. * storage/StorageMap.h:
  26503. 2008-04-07 Timothy Hatcher <timothy@apple.com>
  26504. Renamed various functions that are internal to the Console
  26505. object to have an underscore prefix.
  26506. Rubber-stamped by Adam Roben.
  26507. * page/inspector/Console.js:
  26508. 2008-04-07 Timothy Hatcher <timothy@apple.com>
  26509. Renamed various functions and properties that are internal
  26510. to an object to have an underscore prefix.
  26511. Rubber-stamped by Adam Roben.
  26512. * page/inspector/Resource.js:
  26513. * page/inspector/ResourcesPanel.js:
  26514. 2008-04-07 Timothy Hatcher <timothy@apple.com>
  26515. Fixes coding style for two utility getters.
  26516. * page/inspector/utilities.js: Fix coding style for the
  26517. totalOffsetLeft and totalOffsetTop getters.
  26518. 2008-04-07 Dan Bernstein <mitz@apple.com>
  26519. Reviewed by Dave Hyatt.
  26520. - fix http://bugs.webkit.org/show_bug.cgi?id=18311
  26521. <rdar://problem/5842980> REGRESSION (r31620): Font variants (e.g. Helvetica Neue *Light*) don't render correctly
  26522. * platform/mac/WebFontCache.mm:
  26523. (+[WebFontCache internalFontWithFamily:traits:weight:size:]): Changed to
  26524. match by family name first, and only if that fails, look for a match by
  26525. full (PostScript) name. Reverted the full name-based match logic to only
  26526. distinguish between the broad categories of "bold" and "not bold".
  26527. 2008-04-07 Timothy Hatcher <timothy@apple.com>
  26528. When the WebInspector.currentFocusElement changes, move the caret
  26529. selection to be inside the focused element. This makes sure the
  26530. caret moves in and out of the console when the focus changes.
  26531. Reviewed by Adam Roben.
  26532. * page/inspector/TextPrompt.js:
  26533. (TextPrompt.prototype.isCaretInsidePrompt): Just call isInsertionCaretInside.
  26534. * page/inspector/inspector.js:
  26535. (WebInspector.set currentFocusElement): Make a caret selection inside
  26536. the focused element if there isn't a range selection and there isn't
  26537. already a caret selection inside.
  26538. * page/inspector/utilities.js:
  26539. (Element.prototype.isInsertionCaretInside): Added. Tests if the
  26540. selection is collapsed and is inside the element.
  26541. 2008-04-07 Brady Eidson <beidson@apple.com>
  26542. Reviewed by Tim Hatcher
  26543. Add 1 more empty file for upcoming work, as a separate step, to keep all build-systems working
  26544. * GNUmakefile.am:
  26545. * WebCore.pro:
  26546. * WebCore.vcproj/WebCore.vcproj:
  26547. * WebCore.xcodeproj/project.pbxproj:
  26548. * WebCoreSources.bkl:
  26549. * bindings/js/JSStorageCustom.cpp: Added.
  26550. 2008-04-07 Alexey Proskuryakov <ap@webkit.org>
  26551. Reviewed by Dan Bernstein.
  26552. <rdar://problem/5574946> Inline frame ISO-8859-1 even though parent character set is UTF-8
  26553. Test: fast/loader/inherit-charset-to-empty-frame.html
  26554. * loader/FrameLoader.cpp:
  26555. (WebCore::FrameLoader::write): Treat an empty m_encoding the same as null one.
  26556. 2008-04-07 Timothy Hatcher <timothy@apple.com>
  26557. Rename some Inspector panel objects to facilitate the up-coming
  26558. UI refresh changes.
  26559. Reviewed by Adam Roben.
  26560. * page/inspector/DatabasesPanel.js: Renamed ResourcePanel to ResourceView.
  26561. * page/inspector/ElementsPanel.js: Renamed SourcePanel to SourceView.
  26562. * page/inspector/FontView.js: Renamed FontPanel to FontView.
  26563. * page/inspector/ImageView.js: Renamed ImagePanel to ImageView.
  26564. * page/inspector/Resource.js: Instantiate the new "View" named objects.
  26565. * page/inspector/ResourceView.js: Renamed ResourcePanel to ResourceView.
  26566. * page/inspector/SourceView.js: Renamed SourcePanel to SourceView.
  26567. 2008-04-07 Timothy Hatcher <timothy@apple.com>
  26568. Fix an exception and remove code that was missed when TextPrompt
  26569. was added. This makes the Console work again.
  26570. Reviewed by Adam Roben.
  26571. * page/inspector/Console.js: Removed code that used non-existent
  26572. properties.
  26573. 2008-04-07 Timothy Hatcher <timothy@apple.com>
  26574. Remove the workaround for bug 11399 now that it is fixed.
  26575. Reviewed by Adam Roben.
  26576. * page/inspector/Console.js: Removed the 'with' statement
  26577. around the eval and call eval directly on the inspected window.
  26578. 2008-04-07 Luca Bruno <lethalman88@gmail.com>
  26579. Reviewed by Alp Toker.
  26580. http://bugs.webkit.org/show_bug.cgi?id=18297
  26581. Bug #18297 - Acid2/Acid3 -tests don't load load with soup.
  26582. Fixes in the libsoup backend: data url parsing, acid tests, redirects,
  26583. response headers handling and re-entrancy issues on job cancellation.
  26584. Thanks to Dan Winship for libsoup hints.
  26585. * platform/network/ResourceHandleInternal.h:
  26586. (WebCore::ResourceHandleInternal::ResourceHandleInternal): add m_cancelled and remove unuseful m_session
  26587. * platform/network/soup/ResourceHandleSoup.cpp:
  26588. (WebCore::restartedCallback): added to route redirects to webkit
  26589. (WebCore::dataCallback): add response headers, some checks and fix re-entrancy
  26590. (WebCore::parseDataUrl): be an idle callback for the main loop
  26591. (WebCore::ResourceHandle::start):
  26592. (WebCore::ResourceHandle::cancel): fixed re-entrancy
  26593. 2008-04-07 Jan Michael Alonzo <jmalonzo@unpluggable.com>
  26594. Build fix, rubber-stamped and landed by ap.
  26595. * GNUmakefile.am: Fix dom_storage conditional and typo: ENABLE_DOM_STORAG
  26596. 2008-04-07 Brady Eidson <beidson@apple.com>
  26597. Whoops, idls don't go in the vcproj!
  26598. * WebCore.vcproj/WebCore.vcproj:
  26599. 2008-04-06 Brady Eidson <beidson@apple.com>
  26600. Attempt to tickle Windows build into accepting this idl
  26601. * storage/StorageEvent.idl:
  26602. 2008-04-06 Brady Eidson <beidson@apple.com>
  26603. Reviewed by Sam
  26604. HTML5 Session and Local Storage
  26605. Land a bunch of empty files and interfaces to keep things building while
  26606. I finish off the rest of the implementation of SessionStorage
  26607. * DerivedSources.make:
  26608. * GNUmakefile.am:
  26609. * WebCore.pro:
  26610. * WebCore.vcproj/WebCore.vcproj:
  26611. * WebCore.xcodeproj/project.pbxproj:
  26612. * WebCoreSources.bkl:
  26613. * storage/OriginStorage.cpp: Added.
  26614. * storage/OriginStorage.h: Added.
  26615. * storage/SessionStorage.cpp: Added.
  26616. * storage/SessionStorage.h: Added.
  26617. * storage/Storage.cpp: Added.
  26618. (WebCore::Storage::length):
  26619. (WebCore::Storage::key):
  26620. (WebCore::Storage::getItem):
  26621. (WebCore::Storage::setItem):
  26622. (WebCore::Storage::removeItem):
  26623. * storage/Storage.h: Added.
  26624. * storage/Storage.idl: Added.
  26625. * storage/StorageEvent.cpp: Added.
  26626. * storage/StorageEvent.h: Added.
  26627. (WebCore::StorageEvent::key):
  26628. (WebCore::StorageEvent::oldValue):
  26629. (WebCore::StorageEvent::newValue):
  26630. (WebCore::StorageEvent::uri):
  26631. (WebCore::StorageEvent::source):
  26632. (WebCore::StorageEvent::initStorageEvent):
  26633. * storage/StorageEvent.idl: Added.
  26634. * storage/StorageMap.cpp: Added.
  26635. * storage/StorageMap.h: Added.
  26636. 2008-04-05 Kevin Ollivier <kevino@theolliviers.com>
  26637. Reviewed by Mark Rowe.
  26638. Add CSS to the MIMETypeRegistry, which ensures CSS files get
  26639. the right MIMEType when loaded from disk.
  26640. * platform/gtk/MIMETypeRegistryGtk.cpp:
  26641. * platform/wx/MimeTypeRegistryWx.cpp:
  26642. 2008-04-05 Rob Buis <buis@kde.org>
  26643. Reviewed by Eric.
  26644. http://bugs.webkit.org/show_bug.cgi?id=17129
  26645. Incorrect style resolution in CSS styled SVG, with multiple style sheets
  26646. Fix the style resolution on the svg by ensuring xml-stylesheet pseudo
  26647. attributes title and alternate are transferred to the stylesheet
  26648. created from the ProcessingInstruction.
  26649. * dom/ProcessingInstruction.cpp:
  26650. (WebCore::ProcessingInstruction::ProcessingInstruction):
  26651. (WebCore::ProcessingInstruction::checkStyleSheet):
  26652. (WebCore::ProcessingInstruction::setCSSStyleSheet):
  26653. * dom/ProcessingInstruction.h:
  26654. 2008-04-05 Dan Bernstein <mitz@apple.com>
  26655. Reviewed by Darin Adler.
  26656. - fix <rdar://problem/5843719> Excessive repainting of cells in tables with non-auto height
  26657. Test: fast/repaint/table-two-pass-layout-overpaint.html
  26658. * rendering/RenderTable.cpp:
  26659. (WebCore::RenderTable::layout): Changed the first pass over the sections
  26660. to only call calcRowHeight() and recalcOuterBorder() but not
  26661. layoutRows(), because the section's final height is unknown yet.
  26662. Removed caching of m_height before the call to calcHeight(), because
  26663. for non-positioned tables, calcHeight() only calculates the vertical
  26664. margins and does not change m_height.
  26665. Added a second pass over the sections, after the table height is known,
  26666. to call layoutRows() on each section, with additional height if needed.
  26667. Did minimal cleanup including caching the value of collapseBorders() in
  26668. a local variable and changing a while loop into a for loop.
  26669. * rendering/RenderTableSection.cpp:
  26670. (WebCore::RenderTableSection::calcRowHeight): Changed to return the
  26671. height of the section based on row height calculations.
  26672. (WebCore::RenderTableSection::layoutRows): Removed a call to
  26673. recalcOuterBorder(), which is now done by RenderTable::layout().
  26674. * rendering/RenderTableSection.h: Changed calcRowHeight() to have a
  26675. return value.
  26676. 2008-04-05 Simon Hausmann <shausman@trolltech.com>
  26677. Reviewed by Holger.
  26678. Fixes: Disable "unimplemented" warnings when building WebKit inside Qt.
  26679. * WebCore.pro:
  26680. * platform/NotImplemented.h:
  26681. 2008-04-05 Simon Hausmann <hausmann@webkit.org>
  26682. Rubber-stamped by Holger
  26683. Revert "* Load images incrementally. This will show warnings on the console"
  26684. This rolls out -r29739.
  26685. This unfortunately caused some crashes and drawing errors. Backing out for now.
  26686. * platform/graphics/qt/ImageDecoderQt.cpp:
  26687. (WebCore::ImageDecoderQt::setData):
  26688. 2008-04-04 Kevin Ollivier <kevino@theolliviers.com>
  26689. Add GradientWx.cpp to the wx build process.
  26690. * webcore-wx.bkl:
  26691. 2008-04-04 Dan Bernstein <mitz@apple.com>
  26692. Reviewed by Sam Weinig.
  26693. - speed up CSSFontSelector::getFontData()
  26694. * css/CSSFontSelector.cpp:
  26695. (WebCore::fontDataForGenericFamily): Factored out of getFontData().
  26696. (WebCore::CSSFontSelector::getFontData): Changed to call
  26697. fontDataForGenericFamily() directly if the map is empty.
  26698. 2008-04-04 Jon Honeycutt <jhoneycutt@apple.com>
  26699. Reviewed by Oliver.
  26700. Replace AccessibilityObject::isRenderImage() with a virtual
  26701. RenderObject::isRenderImage().
  26702. * page/AccessibilityObject.cpp:
  26703. (WebCore::AccessibilityObject::accessibilityIsIgnored):
  26704. (WebCore::AccessibilityObject::addChildren):
  26705. * page/AccessibilityObject.h:
  26706. (WebCore::AccessibilityObject::isDetached):
  26707. * rendering/RenderImage.h:
  26708. (WebCore::RenderImage::isRenderImage):
  26709. * rendering/RenderObject.h:
  26710. (WebCore::RenderObject::isRenderImage):
  26711. 2008-04-04 Dan Bernstein <mitz@apple.com>
  26712. - try to fix the wx build
  26713. * platform/graphics/wx/FontPlatformDataWx.cpp:
  26714. (WebCore::fontWeightToWxFontWeight):
  26715. (WebCore::FontPlatformData::FontPlatformData):
  26716. 2008-04-04 Jon Honeycutt <jhoneycutt@apple.com>
  26717. Reviewed by Beth.
  26718. Some more clean-up of AccessibilityObject:
  26719. - Rearranged/grouped methods.
  26720. - Marked many methods const.
  26721. - Changed many methods to take args by const ref instead of by val.
  26722. - Made headingLevel() static.
  26723. - Renamed detached() to isDetached(), loaded() to isLoaded(),
  26724. documentLinks to getDocumentLinks().
  26725. - Made clearChildren(), removeAXObjectID(), isDetached() private.
  26726. - Added notImplemented() calls for unimplemented methods.
  26727. - Replaced stringForReplacedNode method with static function.
  26728. * page/AccessibilityObject.cpp:
  26729. (WebCore::AccessibilityObject::~AccessibilityObject):
  26730. (WebCore::AccessibilityObject::firstChild):
  26731. (WebCore::AccessibilityObject::lastChild):
  26732. (WebCore::AccessibilityObject::previousSibling):
  26733. (WebCore::AccessibilityObject::nextSibling):
  26734. (WebCore::AccessibilityObject::parentObject):
  26735. (WebCore::AccessibilityObject::parentObjectUnignored):
  26736. (WebCore::AccessibilityObject::headingLevel):
  26737. (WebCore::AccessibilityObject::anchorElement):
  26738. (WebCore::AccessibilityObject::actionElement):
  26739. (WebCore::AccessibilityObject::mouseButtonListener):
  26740. (WebCore::AccessibilityObject::helpText):
  26741. (WebCore::AccessibilityObject::textUnderElement):
  26742. (WebCore::AccessibilityObject::hasIntValue):
  26743. (WebCore::AccessibilityObject::intValue):
  26744. (WebCore::AccessibilityObject::stringValue):
  26745. (WebCore::AccessibilityObject::title):
  26746. (WebCore::AccessibilityObject::accessibilityDescription):
  26747. (WebCore::AccessibilityObject::boundingBoxRect):
  26748. (WebCore::AccessibilityObject::size):
  26749. (WebCore::AccessibilityObject::linkedUIElement):
  26750. (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId):
  26751. (WebCore::AccessibilityObject::accessibilityIsIgnored):
  26752. (WebCore::AccessibilityObject::isLoaded):
  26753. (WebCore::AccessibilityObject::layoutCount):
  26754. (WebCore::AccessibilityObject::textLength):
  26755. (WebCore::AccessibilityObject::selectedText):
  26756. (WebCore::AccessibilityObject::selection):
  26757. (WebCore::AccessibilityObject::selectedTextRange):
  26758. (WebCore::AccessibilityObject::setSelectedText):
  26759. (WebCore::AccessibilityObject::setSelectedTextRange):
  26760. (WebCore::AccessibilityObject::makeRangeVisible):
  26761. (WebCore::AccessibilityObject::url):
  26762. (WebCore::AccessibilityObject::isVisited):
  26763. (WebCore::AccessibilityObject::isFocused):
  26764. (WebCore::AccessibilityObject::setValue):
  26765. (WebCore::AccessibilityObject::isEnabled):
  26766. (WebCore::AccessibilityObject::topRenderer):
  26767. (WebCore::AccessibilityObject::textControl):
  26768. (WebCore::AccessibilityObject::widget):
  26769. (WebCore::AccessibilityObject::axObjectCache):
  26770. (WebCore::AccessibilityObject::getDocumentLinks):
  26771. (WebCore::AccessibilityObject::documentFrameView):
  26772. (WebCore::AccessibilityObject::widgetForAttachmentView):
  26773. (WebCore::AccessibilityObject::frameViewIfRenderView):
  26774. (WebCore::AccessibilityObject::visiblePositionRange):
  26775. (WebCore::AccessibilityObject::doAXTextMarkerRangeForLine):
  26776. (WebCore::AccessibilityObject::doAXTextMarkerRangeForUnorderedTextMarkers):
  26777. (WebCore::AccessibilityObject::doAXLeftWordTextMarkerRangeForTextMarker):
  26778. (WebCore::AccessibilityObject::doAXRightWordTextMarkerRangeForTextMarker):
  26779. (WebCore::AccessibilityObject::doAXLeftLineTextMarkerRangeForTextMarker):
  26780. (WebCore::AccessibilityObject::doAXRightLineTextMarkerRangeForTextMarker):
  26781. (WebCore::AccessibilityObject::doAXSentenceTextMarkerRangeForTextMarker):
  26782. (WebCore::AccessibilityObject::doAXParagraphTextMarkerRangeForTextMarker):
  26783. (WebCore::AccessibilityObject::doAXStyleTextMarkerRangeForTextMarker):
  26784. (WebCore::AccessibilityObject::textMarkerRangeForRange):
  26785. (WebCore::stringForReplacedNode):
  26786. (WebCore::AccessibilityObject::doAXStringForTextMarkerRange):
  26787. (WebCore::AccessibilityObject::doAXBoundsForTextMarkerRange):
  26788. (WebCore::AccessibilityObject::doAXLengthForTextMarkerRange):
  26789. (WebCore::AccessibilityObject::doSetAXSelectedTextMarkerRange):
  26790. (WebCore::AccessibilityObject::doAXTextMarkerForPosition):
  26791. (WebCore::AccessibilityObject::doAXNextTextMarkerForTextMarker):
  26792. (WebCore::AccessibilityObject::doAXPreviousTextMarkerForTextMarker):
  26793. (WebCore::AccessibilityObject::doAXNextWordEndTextMarkerForTextMarker):
  26794. (WebCore::AccessibilityObject::doAXPreviousWordStartTextMarkerForTextMarker):
  26795. (WebCore::AccessibilityObject::doAXNextLineEndTextMarkerForTextMarker):
  26796. (WebCore::AccessibilityObject::doAXPreviousLineStartTextMarkerForTextMarker):
  26797. (WebCore::AccessibilityObject::doAXNextSentenceEndTextMarkerForTextMarker):
  26798. (WebCore::AccessibilityObject::doAXPreviousSentenceStartTextMarkerForTextMarker):
  26799. (WebCore::AccessibilityObject::doAXNextParagraphEndTextMarkerForTextMarker):
  26800. (WebCore::AccessibilityObject::doAXPreviousParagraphStartTextMarkerForTextMarker):
  26801. (WebCore::AccessibilityObject::textMarkerForIndex):
  26802. (WebCore::AccessibilityObject::doAXUIElementForTextMarker):
  26803. (WebCore::AccessibilityObject::doAXLineForTextMarker):
  26804. (WebCore::AccessibilityObject::rangeForTextMarkerRange):
  26805. (WebCore::AccessibilityObject::indexForTextMarker):
  26806. (WebCore::AccessibilityObject::doAXRangeForLine):
  26807. (WebCore::AccessibilityObject::doAXRangeForPosition):
  26808. (WebCore::AccessibilityObject::doAXRangeForIndex):
  26809. (WebCore::AccessibilityObject::doAXStyleRangeForIndex):
  26810. (WebCore::AccessibilityObject::doAXStringForRange):
  26811. (WebCore::AccessibilityObject::doAXBoundsForRange):
  26812. (WebCore::AccessibilityObject::doAccessibilityHitTest):
  26813. (WebCore::AccessibilityObject::focusedUIElement):
  26814. (WebCore::AccessibilityObject::observableObject):
  26815. (WebCore::AccessibilityObject::roleValue):
  26816. (WebCore::AccessibilityObject::canSetFocusAttribute):
  26817. (WebCore::AccessibilityObject::canSetValueAttribute):
  26818. (WebCore::AccessibilityObject::canSetTextRangeAttributes):
  26819. (WebCore::AccessibilityObject::hasChildren):
  26820. (WebCore::AccessibilityObject::axObjectID):
  26821. * page/AccessibilityObject.h:
  26822. (WebCore::VisiblePositionRange::VisiblePositionRange):
  26823. (WebCore::AccessibilityObject::PlainTextRange::PlainTextRange):
  26824. (WebCore::AccessibilityObject::areaElement):
  26825. (WebCore::AccessibilityObject::renderer):
  26826. (WebCore::AccessibilityObject::children):
  26827. (WebCore::AccessibilityObject::wrapper):
  26828. (WebCore::AccessibilityObject::isDetached):
  26829. * page/mac/AccessibilityObjectWrapper.mm:
  26830. (AXAttributeStringSetHeadingLevel):
  26831. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  26832. 2008-04-04 Timothy Hatcher <timothy@apple.com>
  26833. Restore the user entered text when clearing the auto-completion.
  26834. This is important when the user typed text that is a different
  26835. case than the completion. This has no affect on the Console, since
  26836. it matches completions case-sensitively. This is used in the up-coming
  26837. Database Query view for words like "SELECT" and "INSERT".
  26838. Reviewed by Adam Roben.
  26839. * page/inspector/TextPrompt.js:
  26840. (WebInspector.TextPrompt.prototype.clearAutoComplete): Restore the user typed
  26841. text in the original DOM range that complete() saved away.
  26842. (WebInspector.TextPrompt.prototype.complete): Store away the fullWordRange
  26843. and it's text content so clearAutoComplete can restore it.
  26844. 2008-04-04 Timothy Hatcher <timothy@apple.com>
  26845. Don't trim whitespace when looking for the current match, this prevents
  26846. tabbing through matches in the up-coming Database Query view.
  26847. Reviewed by Adam Roben.
  26848. * page/inspector/TextPrompt.js: Removed a trimTrailingWhitespace() call.
  26849. 2008-04-04 Timothy Hatcher <timothy@apple.com>
  26850. Factor out the Console text completion and command history into
  26851. a new TextPrompt object. This TextPrompt object will be used later
  26852. other parts of the Inspector that need text completion and history.
  26853. Not functionality changed, just moved code around.
  26854. Reviewed by Adam Roben.
  26855. * WebCore.vcproj/WebCore.vcproj: Add TextPrompt.js.
  26856. * page/inspector/Console.js: Call the new prompt object and
  26857. delete all the code that moved.
  26858. * page/inspector/TextPrompt.js: Added. Moved code from Console.js.
  26859. * page/inspector/WebKit.qrc: Add TextPrompt.js.
  26860. * page/inspector/inspector.html: Add TextPrompt.js.
  26861. 2008-04-04 Timothy Hatcher <timothy@apple.com>
  26862. Makes setting shouldRefreshChildren on a TreeElement perform the refresh
  26863. immediately if the element is already expanded.
  26864. Reviewed by Adam Roben.
  26865. * page/inspector/treeoutline.js:
  26866. (TreeElement.prototype.get shouldRefreshChildren): Return this._shouldRefreshChildren.
  26867. (TreeElement.prototype.set shouldRefreshChildren): If changing to true, and
  26868. already expanded,
  26869. call expand again to trigger the refresh. Sets this._shouldRefreshChildren.
  26870. (TreeElement.prototype._attach): Check for this._shouldRefreshChildren.
  26871. (TreeElement.prototype.expand): Ditto.
  26872. 2008-04-04 Jon Honeycutt <jhoneycutt@apple.com>
  26873. Reviewed by Beth.
  26874. Some clean up of AccessibilityObject:
  26875. - Use existing isImage() in more places.
  26876. - Use existing isTextControl() in more places.
  26877. - Added isRenderImage(). Check this before casting to RenderImage,
  26878. since other, non-RenderImage derived RenderObjects (e.g.
  26879. RenderListMarker) can return true for isImage().
  26880. - Fix two copy/paste errors with improper semicolons.
  26881. * page/AccessibilityObject.cpp:
  26882. (WebCore::AccessibilityObject::isImageButton): Use isImage().
  26883. (WebCore::AccessibilityObject::isRenderImage): Added.
  26884. (WebCore::AccessibilityObject::isAnchor): Use isImage().
  26885. (WebCore::AccessibilityObject::isAttachment): Same.
  26886. (WebCore::AccessibilityObject::accessibilityDescription): Same.
  26887. (WebCore::AccessibilityObject::accessibilityIsIgnored): Use
  26888. isRenderImage() instead of isImage().
  26889. (WebCore::AccessibilityObject::url): Use isImage().
  26890. (WebCore::AccessibilityObject::textControl): Remove improper semicolon,
  26891. and use isTextControl().
  26892. (WebCore::AccessibilityObject::textMarkerForIndex): Same.
  26893. (WebCore::AccessibilityObject::indexForTextMarker): Use isTextControl().
  26894. (WebCore::AccessibilityObject::doAXRangeForLine): Same.
  26895. (WebCore::AccessibilityObject::doAXRangeForIndex): Same
  26896. (WebCore::AccessibilityObject::doAXStringForRange): Same.
  26897. (WebCore::AccessibilityObject::roleValue): Use isImage().
  26898. (WebCore::AccessibilityObject::addChildren): Use isRenderImage().
  26899. * page/AccessibilityObject.h:
  26900. 2008-04-04 Timothy Hatcher <timothy@apple.com>
  26901. Fixes a null exception when hovering in some areas of the DOM tree.
  26902. Reviewed by Adam Roben.
  26903. * page/inspector/treeoutline.js:
  26904. (TreeOutline.prototype.treeElementFromPoint): Check listNode for null/undefined
  26905. before accessing any properties. Return null if listNode is null.
  26906. 2008-04-04 Timothy Hatcher <timothy@apple.com>
  26907. Changing WebInspector.currentFocusElement to/from an input element
  26908. does not change the actual focus of that input element. You see this
  26909. in the search field.
  26910. Reviewed by Adam Roben.
  26911. * page/inspector/inspector.js:
  26912. (WebInspector.set currentFocusElement): Call blur and focus if the
  26913. node implements them.
  26914. 2008-04-04 David Hyatt <hyatt@apple.com>
  26915. Improve the background size heuristic for SVGs used as background images with no intrinsic size specified.
  26916. Treat them as having a background-size of 100%. This means their maximal size will be the box established
  26917. by background-origin.
  26918. Reviewed by Beth
  26919. * rendering/RenderBox.cpp:
  26920. (WebCore::RenderBox::calculateBackgroundSize):
  26921. 2008-04-04 Timothy Hatcher <timothy@apple.com>
  26922. Correctly show DOCTYPE in the breadcrumbs and match the CSS rules
  26923. from view-source.css for the DOCTYPE in the DOM tree.
  26924. Reviewed by Adam Roben.
  26925. * css/view-source.css: Add and correct comments about keeping
  26926. in-sync with inspector.css.
  26927. * page/inspector/ElementsPanel.js:
  26928. (WebInspector.DocumentPanel.prototype.updateBreadcrumb):
  26929. Add a case for Node.DOCUMENT_TYPE_NODE.
  26930. * page/inspector/inspector.css: Add a rule for .webkit-html-doctype.
  26931. * page/inspector/utilities.js:
  26932. (nodeTitleInfo): Use the webkit-html-doctype class for nodes
  26933. with Node.DOCUMENT_TYPE_NODE.
  26934. 2008-04-04 Dan Bernstein <mitz@apple.com>
  26935. - try to fix the Tiger build
  26936. * icu/unicode/uscript.h: Copied from WebKit/mac/icu/unicode/uscript.h.
  26937. 2008-04-04 Adam Roben <aroben@apple.com>
  26938. Copy icu/ to PrivateHeaders for WebKit's benefit
  26939. Rubberstamped by Tim Hatcher.
  26940. * WebCore.xcodeproj/project.pbxproj: Renamed the Copy Forwarding
  26941. Headers build phase to Copy Forwarding and ICU Headers, and added the
  26942. icu/ directory to it.
  26943. 2008-04-04 Adam Roben <aroben@apple.com>
  26944. Fix <rdar://problem/5804776> Would like to use WebCore's
  26945. ForwardingHeaders in WebKit without manually creating copies
  26946. Patch by Tim Hatcher, typed by me.
  26947. * WebCore.xcodeproj/project.pbxproj: Added a new build phase, Copy
  26948. Forwarding Headers, that copies the ForwardingHeaders directory to
  26949. WebCore's PrivateHeaders directory.
  26950. 2008-04-04 Ada Chan <adachan@apple.com>
  26951. Changed the signature of imageTitleForFilename so we can pass in the width
  26952. and height as integers.
  26953. Reviewed by Dan.
  26954. * page/mac/WebCoreViewFactory.h:
  26955. * platform/mac/LocalizedStringsMac.mm:
  26956. (WebCore::imageTitle):
  26957. 2008-04-03 Dan Bernstein <mitz@apple.com>
  26958. - Windows build fix
  26959. * platform/graphics/win/FontCacheWin.cpp:
  26960. (WebCore::matchImprovingEnumProc):
  26961. 2008-04-03 Kevin Ollivier <kevino@theolliviers.com>
  26962. Fix PlatformGradient so that it's a pointer on all platforms.
  26963. * platform/graphics/Gradient.h:
  26964. 2008-04-03 Dan Bernstein <mitz@apple.com>
  26965. - 64-bit build fix
  26966. * platform/mac/WebFontCache.mm:
  26967. (+[WebFontCache internalFontWithFamily:traits:weight:size:]):
  26968. 2008-04-03 Kevin Ollivier <kevino@theolliviers.com>
  26969. wx build fix. Add stubs for gradient class platform functions.
  26970. * platform/graphics/wx/GradientWx.cpp: Added.
  26971. (WebCore::Gradient::platformDestroy):
  26972. (WebCore::Gradient::platformGradient):
  26973. 2008-04-03 Kevin Ollivier <kevino@theolliviers.com>
  26974. Reviewed by Dan Bernstein.
  26975. Refactor Gradient.h to have the same API on platforms
  26976. without a gradient class.
  26977. * platform/graphics/Gradient.h:
  26978. 2008-04-03 Dan Bernstein <mitz@apple.com>
  26979. - Qt build fix
  26980. * platform/graphics/qt/FontQt.cpp:
  26981. (WebCore::Font::Font):
  26982. 2008-04-03 Dan Bernstein <mitz@apple.com>
  26983. - Tiger build fix
  26984. * platform/mac/WebFontCache.mm:
  26985. * rendering/RenderThemeMac.mm:
  26986. 2008-04-03 Dan Bernstein <mitz@apple.com>
  26987. - Gtk build fix
  26988. * platform/graphics/gtk/FontPlatformData.h:
  26989. (WebCore::FontPlatformData::size):
  26990. * platform/graphics/gtk/FontPlatformDataGtk.cpp:
  26991. (WebCore::FontPlatformData::FontPlatformData):
  26992. * platform/graphics/gtk/FontPlatformDataPango.cpp:
  26993. (WebCore::FontPlatformData::FontPlatformData):
  26994. 2008-04-03 Dan Bernstein <mitz@apple.com>
  26995. - project file updates in preparation for build fixes
  26996. * GNUmakefile.am:
  26997. * WebCore.pro:
  26998. * WebCoreSources.bkl:
  26999. 2008-04-03 Nicholas Shanks <webkit@nickshanks.com>
  27000. Updated by Dan Bernstein. Reviewed by Dave Hyatt.
  27001. - WebCore part of fixing http://bugs.webkit.org/show_bug.cgi?id=6484
  27002. font-weight does not properly support graded weights
  27003. Tests to come: <http://bugs.webkit.org/show_bug.cgi?id=18306>
  27004. Build fixes for platforms other than Mac and Windows to come.
  27005. * WebCore.vcproj/WebCore.vcproj: Added FontDescription.cpp.
  27006. * WebCore.xcodeproj/project.pbxproj: Ditto.
  27007. * css/CSSComputedStyleDeclaration.cpp:
  27008. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Changed to
  27009. return additional weight value keywords 100, 200, 300, 500, 600, 800
  27010. and 900.
  27011. * css/CSSFontSelector.cpp:
  27012. (WebCore::hashForFont): Changed the bold parameter into a weight
  27013. parameter and added the weight to the string to be hashed.
  27014. (WebCore::CSSFontSelector::addFontFaceRule): Changed to apply all CSS
  27015. weight values to the font description.
  27016. (WebCore::CSSFontSelector::getFontData): Updated the fallback logic to
  27017. go through all weights equal or lighter from the desired weight. For
  27018. SVG, to also consider heavier weights.
  27019. * css/CSSParser.cpp:
  27020. (WebCore::CSSParser::parseValue): Cleaned up parsing of the font-weight
  27021. property.
  27022. * css/CSSStyleSelector.cpp:
  27023. (WebCore::CSSStyleSelector::applyProperty): Changed to apply all CSS
  27024. weight values to the font description.
  27025. * platform/graphics/Font.h:
  27026. (WebCore::Font::weight): Updated for the change to
  27027. FontDescription::weight().
  27028. * platform/graphics/FontCache.cpp:
  27029. (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): Replaced
  27030. the bold component of the key with a weight component.
  27031. (WebCore::FontPlatformDataCacheKey::operator==): Updated for the above.
  27032. (WebCore::computeHash): Ditto.
  27033. (WebCore::FontPlatformDataCacheKeyTraits::deletedValue): Removed
  27034. unnecessary parameters.
  27035. (WebCore::FontPlatformDataCacheKeyTraits::emptyValue): Ditto.
  27036. (WebCore::FontCache::getCachedFontPlatformData): Updated for the change
  27037. in FontPlatformDataCacheKey.
  27038. * platform/graphics/FontDescription.cpp: Added.
  27039. (WebCore::FontDescription::lighterWeight): Added. Returns a lighter CSS
  27040. font-weight value if there is one, or the lightest value.
  27041. (WebCore::FontDescription::bolderWeight): Added. Returns a heavier CSS
  27042. font-weight value if there is one, or the heaviest value.
  27043. * platform/graphics/FontDescription.h:
  27044. (WebCore::FontWeight): Added this enumeration.
  27045. (WebCore::FontDescription::FontDescription):
  27046. (WebCore::FontDescription::bold): Removed.
  27047. (WebCore::FontDescription::weight): Changed to return a FontWeight.
  27048. (WebCore::FontDescription::setBold): Removed.
  27049. (WebCore::FontDescription::setWeight): Changed to take a FontWeight.
  27050. * platform/graphics/mac/FontCacheMac.mm:
  27051. (WebCore::toAppKitFontWeight): Added. Maps a FontWeight to the AppKit
  27052. font weight scale of 0-15.
  27053. (WebCore::isAppKitFontWeightBold): Added.
  27054. (WebCore::FontCache::getFontDataForCharacters): Changed to use a weight
  27055. instead of the bold trait for custom fonts, and to decide whether to
  27056. synthesize bold based on the weights rather than the bold trait.
  27057. (WebCore::FontCache::fontExists): Updated for the change in
  27058. WebFontCache .
  27059. (WebCore::FontCache::createFontPlatformData): Ditto. Also changed to
  27060. decide whether to synthesize bold based on the weights rather than on
  27061. the bold trait.
  27062. * platform/graphics/win/FontCacheWin.cpp:
  27063. (WebCore::toGDIFontWeight): Added. Maps a FontWeight to a GDI font
  27064. weight constant.
  27065. (WebCore::isGDIFontWeightBold): Added.
  27066. (WebCore::adjustedGDIFontWeight): Added.
  27067. (WebCore::MatchImprovingProcData::MatchImprovingProcData): Added this
  27068. data structure for use by the following callback.
  27069. (WebCore::matchImprovingEnumProc): Added. The logic of this method is a
  27070. simplification of the betterChoice() predicate in WebFontCache.mm, which
  27071. considers only the italic trait and the weight.
  27072. (WebCore::createGDIFont): Added. Similarly to
  27073. +[WebFontCache fontWithFamily:traits:weight:size:], this function
  27074. finds the closest match in the family for the desired italic bit and
  27075. weight.
  27076. (WebCore::FontCache::fontExists): Changed to call createGDIFont().
  27077. (WebCore::FontCache::createFontPlatformData): Ditto. Also changed to
  27078. compute the synthetic bold and synthetic italic flags based on weights
  27079. and italic bits and pass them to the FontPlatformData constructor.
  27080. * platform/graphics/win/FontPlatformDataWin.cpp:
  27081. (WebCore::FontPlatformData::FontPlatformData): Changed the bold and
  27082. oblique parameters to mean whether these should be synthesized and
  27083. removed the font enumeration code that used to decide that.
  27084. * platform/graphics/win/SimpleFontDataWin.cpp:
  27085. (WebCore::SimpleFontData::smallCapsFontData): Changed to pass the
  27086. synthetic bold and oblique flags from the full-size FontPlatformData to
  27087. the FontPlatformData constructor for the small caps font.
  27088. * platform/mac/WebCoreTextRenderer.h:
  27089. * platform/mac/WebCoreTextRenderer.mm:
  27090. (WebCoreFindFont): Added a weight parameter, which is passed to
  27091. +[WebFontCache fontWithFamily:traits:weight:size:].
  27092. * platform/mac/WebFontCache.h:
  27093. * platform/mac/WebFontCache.mm:
  27094. (acceptableChoice):
  27095. (betterChoice): Changed to ignore the bold trait. Changed the logic for
  27096. deciding based on weights to prefer the font whose weight is closer to
  27097. the desired one, or, if both candidates' weights are the same distance
  27098. from the desired weight, the one that is more "off-center".
  27099. (+[WebFontCache internalFontWithFamily:traits:weight:size:]): Changed to
  27100. check for weight when matching by full name. Changed to pass
  27101. the actual desired weight instead of the constant 5 to
  27102. acceptableChoice() and betterChoice(). Changed to use weights to decide
  27103. whether to synthesize bold.
  27104. (+[WebFontCache fontWithFamily:traits:weight:size:]): Added a weight
  27105. parameter, which is passed to the internal method.
  27106. * platform/win/PopupMenuWin.cpp:
  27107. (WebCore::PopupMenu::paint): Updated for the change to FontDescription.
  27108. * rendering/RenderListBox.cpp:
  27109. (WebCore::RenderListBox::updateFromElement): Ditto.
  27110. (WebCore::RenderListBox::paintItemForeground): Ditto.
  27111. * rendering/RenderThemeMac.mm:
  27112. (WebCore::toFontWeight): Added. Maps the AppKit font weight range of
  27113. 0-15 to the FontWeight range.
  27114. (WebCore::RenderThemeMac::systemFont): Updated for the change to
  27115. FontDescription.
  27116. * rendering/RenderThemeSafari.cpp:
  27117. (WebCore::RenderThemeSafari::systemFont): Ditto.
  27118. 2008-04-03 Dan Bernstein <mitz@apple.com>
  27119. - another Gtk build fix attempt
  27120. * platform/graphics/cairo/GradientCairo.cpp:
  27121. (WebCore::Gradient::platformDestroy):
  27122. 2008-04-03 Dan Bernstein <mitz@apple.com>
  27123. - attempted Gtk build fix
  27124. * GNUmakefile.am:
  27125. 2008-04-03 Dan Bernstein <mitz@apple.com>
  27126. - attempted Qt build fix
  27127. * platform/graphics/qt/GradientQt.cpp:
  27128. (WebCore::Gradient::platformDestroy):
  27129. 2008-04-03 Dan Bernstein <mitz@apple.com>
  27130. - attempted Gtk build fix
  27131. * html/CanvasRenderingContext2D.cpp:
  27132. (WebCore::CanvasRenderingContext2D::stroke):
  27133. 2008-04-03 Dan Bernstein <mitz@apple.com>
  27134. - attempted Qt build fix
  27135. * html/CanvasRenderingContext2D.cpp:
  27136. (WebCore::CanvasRenderingContext2D::stroke):
  27137. 2008-04-03 Beth Dakin <bdakin@apple.com>
  27138. Reviewed by Alice.
  27139. Build fix for non-Macs.
  27140. * page/AXObjectCache.h:
  27141. (WebCore::AXObjectCache::isIDinUse):
  27142. 2008-04-03 Brent Fulgham <bfulgham@gmail.com>
  27143. Reviewed by Darin.
  27144. Correct build error due to incomplete merging of changes to project
  27145. files from Issue 17985. This small project file patch corrects
  27146. the build issue (see http://bugs.webkit.org/show_bug.cgi?id=18195).
  27147. * WebCore.vcproj/WebCore.vcproj:
  27148. 2008-04-02 Beth Dakin <bdakin@apple.com>
  27149. Reviewed by Hyatt.
  27150. This patch eliminates AccessibilityObjectMac. All of the platform-
  27151. specific code is now in AccessibilityObjectWrapper.
  27152. * WebCore.xcodeproj/project.pbxproj:
  27153. * dom/Element.h:
  27154. (WebCore::Element::isPasswordField):
  27155. * html/HTMLInputElement.h:
  27156. (WebCore::HTMLInputElement::isPasswordField):
  27157. * page/AXObjectCache.h:
  27158. (WebCore::AXObjectCache::isIDinUse):
  27159. * page/AccessibilityObject.cpp:
  27160. (WebCore::AccessibilityObject::isPasswordField):
  27161. (WebCore::AccessibilityObject::press):
  27162. (WebCore::AccessibilityObject::widgetForAttachmentView):
  27163. (WebCore::AccessibilityObject::doAXBoundsForTextMarkerRange):
  27164. (WebCore::AccessibilityObject::doAXTextMarkerForPosition):
  27165. * page/AccessibilityObject.h:
  27166. (WebCore::AccessibilityObject::areaElement):
  27167. (WebCore::AccessibilityObject::setWrapper):
  27168. * page/mac/AXObjectCacheMac.mm:
  27169. * page/mac/AccessibilityObjectMac.mm: Removed.
  27170. * page/mac/AccessibilityObjectWrapper.h:
  27171. * page/mac/AccessibilityObjectWrapper.mm:
  27172. (-[AccessibilityObjectWrapper attachmentView]):
  27173. (textMarkerForVisiblePosition):
  27174. (visiblePositionForTextMarker):
  27175. (visiblePositionForStartOfTextMarkerRange):
  27176. (visiblePositionForEndOfTextMarkerRange):
  27177. (textMarkerRangeFromMarkers):
  27178. (AXAttributeStringSetFont):
  27179. (CreateCGColorIfDifferent):
  27180. (AXAttributeStringSetColor):
  27181. (AXAttributeStringSetNumber):
  27182. (AXAttributeStringSetStyle):
  27183. (blockquoteLevel):
  27184. (AXAttributeStringSetBlockquoteLevel):
  27185. (AXAttributeStringSetSpelling):
  27186. (AXAttributeStringSetHeadingLevel):
  27187. (AXLinkElementForNode):
  27188. (AXAttributeStringSetElement):
  27189. (AXAttributedStringAppendText):
  27190. (nsStringForReplacedNode):
  27191. (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
  27192. (textMarkerRangeFromVisiblePositions):
  27193. (-[AccessibilityObjectWrapper accessibilityActionNames]):
  27194. (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
  27195. (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
  27196. (-[AccessibilityObjectWrapper textMarkerRangeForSelection]):
  27197. (-[AccessibilityObjectWrapper position]):
  27198. (createAccessibilityRoleMap):
  27199. (RoleEntry::):
  27200. (roleValueToNSString):
  27201. (-[AccessibilityObjectWrapper role]):
  27202. (-[AccessibilityObjectWrapper subrole]):
  27203. (-[AccessibilityObjectWrapper roleDescription]):
  27204. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  27205. (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
  27206. (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
  27207. (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]):
  27208. (-[AccessibilityObjectWrapper doAXRTFForRange:]):
  27209. (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
  27210. (-[AccessibilityObjectWrapper accessibilityShouldUseUniqueId]):
  27211. * platform/ScrollView.h:
  27212. * platform/mac/ScrollViewMac.mm:
  27213. (WebCore::ScrollView::viewRectToScreen):
  27214. (WebCore::ScrollView::absolutePointToView):
  27215. 2008-04-03 David Hyatt <hyatt@apple.com>
  27216. Create a new cross-platform Gradient abstraction and make CanvasGradient wrap it. This first
  27217. step just cleans up CanvasGradient. The code that calls it remains ifdef'd however.
  27218. Reviewed by olliej
  27219. * WebCore.pro:
  27220. * WebCore.vcproj/WebCore.vcproj:
  27221. * WebCore.xcodeproj/project.pbxproj:
  27222. * WebCoreSources.bkl:
  27223. * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
  27224. (WebCore::toJS):
  27225. * html/CanvasGradient.cpp:
  27226. (WebCore::CanvasGradient::CanvasGradient):
  27227. * html/CanvasGradient.h:
  27228. (WebCore::CanvasGradient::gradient):
  27229. (WebCore::CanvasGradient::addColorStop):
  27230. (WebCore::CanvasGradient::getColor):
  27231. * html/CanvasRenderingContext2D.cpp:
  27232. (WebCore::CanvasRenderingContext2D::fill):
  27233. (WebCore::CanvasRenderingContext2D::stroke):
  27234. (WebCore::CanvasRenderingContext2D::fillRect):
  27235. * html/CanvasStyle.h:
  27236. (WebCore::CanvasStyle::canvasGradient):
  27237. * platform/graphics/Gradient.cpp: Added.
  27238. (WebCore::Gradient::Gradient):
  27239. (WebCore::Gradient::~Gradient):
  27240. (WebCore::Gradient::addColorStop):
  27241. (WebCore::compareStops):
  27242. (WebCore::Gradient::getColor):
  27243. (WebCore::Gradient::findStop):
  27244. * platform/graphics/Gradient.h: Added.
  27245. (WebCore::Gradient::ColorStop::ColorStop):
  27246. (WebCore::Gradient::platformInit):
  27247. * platform/graphics/cairo/GradientCairo.cpp: Added.
  27248. (WebCore::Gradient::platformDestroy):
  27249. (WebCore::Gradient::platformGradient):
  27250. * platform/graphics/cg/GradientCG.cpp: Added.
  27251. (WebCore::Gradient::platformDestroy):
  27252. (WebCore::gradientCallback):
  27253. (WebCore::Gradient::platformGradient):
  27254. * platform/graphics/qt/GradientQt.cpp: Added.
  27255. (WebCore::Gradient::platformDestroy):
  27256. (WebCore::Gradient::platformGradient):
  27257. 2008-04-03 Simon Hausmann <hausmann@webkit.org>
  27258. Reviewed by Mark Rowe.
  27259. Roll out r31599 and r31605 again after discussion with Mark Rowe.
  27260. * history/HistoryItem.cpp:
  27261. * loader/FrameLoader.cpp:
  27262. (WebCore::FrameLoader::startIconLoader):
  27263. * loader/icon/IconDatabase.cpp:
  27264. (WebCore::IconDatabase::iconForPageURL):
  27265. (WebCore::IconDatabase::readIconForPageURLFromDisk):
  27266. * loader/icon/IconDatabase.h:
  27267. * loader/icon/IconDatabaseNone.cpp:
  27268. 2008-04-03 David Hyatt <hyatt@apple.com>
  27269. Fix for bug 18194, resizable text fields get messed up when resizing in the presence of zoom.
  27270. Reviewed by adele
  27271. * rendering/RenderLayer.cpp:
  27272. (WebCore::RenderLayer::resize):
  27273. 2008-04-03 Oliver Hunt <oliver@apple.com>
  27274. Rollout r31566 as there were a few issues i missed during review (thanks to antti for pointing them out)
  27275. * dom/Element.h:
  27276. * dom/NamedAttrMap.h:
  27277. * rendering/SVGRootInlineBox.cpp:
  27278. (WebCore::SVGRootInlineBox::buildLayoutInformation):
  27279. (WebCore::SVGRootInlineBox::buildTextChunks):
  27280. * svg/SVGAElement.h:
  27281. (WebCore::SVGAElement::contextElement):
  27282. * svg/SVGAltGlyphElement.h:
  27283. (WebCore::SVGAltGlyphElement::contextElement):
  27284. * svg/SVGAnimateColorElement.h:
  27285. * svg/SVGAnimateElement.h:
  27286. * svg/SVGAnimateMotionElement.h:
  27287. * svg/SVGAnimateTransformElement.h:
  27288. * svg/SVGAnimatedTemplate.h:
  27289. (WebCore::SVGAnimatedTemplate::associatedAttributeName):
  27290. (WebCore::lookupOrCreateWrapper):
  27291. * svg/SVGAnimationElement.h:
  27292. * svg/SVGCircleElement.h:
  27293. (WebCore::SVGCircleElement::contextElement):
  27294. * svg/SVGClipPathElement.h:
  27295. (WebCore::SVGClipPathElement::contextElement):
  27296. * svg/SVGComponentTransferFunctionElement.cpp:
  27297. * svg/SVGComponentTransferFunctionElement.h:
  27298. * svg/SVGCursorElement.cpp:
  27299. (WebCore::SVGCursorElement::SVGCursorElement):
  27300. * svg/SVGCursorElement.h:
  27301. (WebCore::SVGCursorElement::contextElement):
  27302. * svg/SVGDefsElement.h:
  27303. (WebCore::SVGDefsElement::contextElement):
  27304. * svg/SVGElement.cpp:
  27305. * svg/SVGElement.h:
  27306. (WebCore::SVGElement::svgAttributeChanged):
  27307. * svg/SVGEllipseElement.cpp:
  27308. (WebCore::SVGEllipseElement::SVGEllipseElement):
  27309. * svg/SVGEllipseElement.h:
  27310. (WebCore::SVGEllipseElement::contextElement):
  27311. * svg/SVGExternalResourcesRequired.h:
  27312. * svg/SVGFEBlendElement.h:
  27313. * svg/SVGFEColorMatrixElement.cpp:
  27314. * svg/SVGFEColorMatrixElement.h:
  27315. * svg/SVGFEComponentTransferElement.h:
  27316. * svg/SVGFECompositeElement.h:
  27317. * svg/SVGFEDiffuseLightingElement.h:
  27318. * svg/SVGFEDisplacementMapElement.h:
  27319. * svg/SVGFEFloodElement.h:
  27320. * svg/SVGFEGaussianBlurElement.h:
  27321. * svg/SVGFEImageElement.cpp:
  27322. * svg/SVGFEImageElement.h:
  27323. (WebCore::SVGFEImageElement::contextElement):
  27324. * svg/SVGFELightElement.h:
  27325. * svg/SVGFEMergeElement.h:
  27326. * svg/SVGFEMergeNodeElement.h:
  27327. * svg/SVGFEOffsetElement.h:
  27328. * svg/SVGFESpecularLightingElement.h:
  27329. * svg/SVGFETileElement.h:
  27330. * svg/SVGFETurbulenceElement.h:
  27331. * svg/SVGFilterElement.cpp:
  27332. (WebCore::SVGFilterElement::SVGFilterElement):
  27333. * svg/SVGFilterElement.h:
  27334. (WebCore::SVGFilterElement::contextElement):
  27335. * svg/SVGFilterPrimitiveStandardAttributes.cpp:
  27336. (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
  27337. * svg/SVGFilterPrimitiveStandardAttributes.h:
  27338. * svg/SVGFitToViewBox.cpp:
  27339. * svg/SVGFitToViewBox.h:
  27340. * svg/SVGFontElement.h:
  27341. * svg/SVGForeignObjectElement.cpp:
  27342. (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
  27343. * svg/SVGForeignObjectElement.h:
  27344. (WebCore::SVGForeignObjectElement::contextElement):
  27345. * svg/SVGGElement.h:
  27346. (WebCore::SVGGElement::contextElement):
  27347. * svg/SVGGradientElement.cpp:
  27348. * svg/SVGGradientElement.h:
  27349. * svg/SVGImageElement.cpp:
  27350. (WebCore::SVGImageElement::SVGImageElement):
  27351. * svg/SVGImageElement.h:
  27352. (WebCore::SVGImageElement::contextElement):
  27353. * svg/SVGLength.cpp:
  27354. * svg/SVGLength.h:
  27355. * svg/SVGLengthList.cpp:
  27356. * svg/SVGLengthList.h:
  27357. * svg/SVGLineElement.cpp:
  27358. (WebCore::SVGLineElement::SVGLineElement):
  27359. * svg/SVGLineElement.h:
  27360. (WebCore::SVGLineElement::contextElement):
  27361. * svg/SVGLinearGradientElement.cpp:
  27362. (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
  27363. (WebCore::SVGLinearGradientElement::collectGradientProperties):
  27364. * svg/SVGLinearGradientElement.h:
  27365. * svg/SVGMPathElement.h:
  27366. * svg/SVGMarkerElement.cpp:
  27367. (WebCore::SVGMarkerElement::SVGMarkerElement):
  27368. * svg/SVGMarkerElement.h:
  27369. (WebCore::SVGMarkerElement::contextElement):
  27370. * svg/SVGMaskElement.cpp:
  27371. (WebCore::SVGMaskElement::SVGMaskElement):
  27372. * svg/SVGMaskElement.h:
  27373. * svg/SVGNumberList.cpp:
  27374. * svg/SVGNumberList.h:
  27375. * svg/SVGPathElement.h:
  27376. (WebCore::SVGPathElement::contextElement):
  27377. * svg/SVGPatternElement.cpp:
  27378. (WebCore::SVGPatternElement::SVGPatternElement):
  27379. (WebCore::SVGPatternElement::collectPatternProperties):
  27380. * svg/SVGPatternElement.h:
  27381. * svg/SVGPolyElement.h:
  27382. (WebCore::SVGPolyElement::contextElement):
  27383. * svg/SVGPreserveAspectRatio.cpp:
  27384. * svg/SVGPreserveAspectRatio.h:
  27385. * svg/SVGRadialGradientElement.cpp:
  27386. (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
  27387. (WebCore::SVGRadialGradientElement::svgAttributeChanged):
  27388. (WebCore::SVGRadialGradientElement::collectGradientProperties):
  27389. * svg/SVGRadialGradientElement.h:
  27390. * svg/SVGRectElement.cpp:
  27391. (WebCore::SVGRectElement::SVGRectElement):
  27392. * svg/SVGRectElement.h:
  27393. (WebCore::SVGRectElement::contextElement):
  27394. * svg/SVGSVGElement.cpp:
  27395. (WebCore::SVGSVGElement::SVGSVGElement):
  27396. (WebCore::SVGSVGElement::currentView):
  27397. * svg/SVGSVGElement.h:
  27398. * svg/SVGScriptElement.h:
  27399. (WebCore::SVGScriptElement::contextElement):
  27400. * svg/SVGSetElement.h:
  27401. * svg/SVGStyledElement.h:
  27402. * svg/SVGStyledTransformableElement.cpp:
  27403. * svg/SVGStyledTransformableElement.h:
  27404. * svg/SVGSwitchElement.h:
  27405. (WebCore::SVGSwitchElement::contextElement):
  27406. * svg/SVGSymbolElement.h:
  27407. (WebCore::SVGSymbolElement::contextElement):
  27408. * svg/SVGTRefElement.h:
  27409. (WebCore::SVGTRefElement::contextElement):
  27410. * svg/SVGTSpanElement.h:
  27411. * svg/SVGTextContentElement.cpp:
  27412. (WebCore::SVGTextContentElement::SVGTextContentElement):
  27413. * svg/SVGTextContentElement.h:
  27414. * svg/SVGTextElement.cpp:
  27415. * svg/SVGTextElement.h:
  27416. (WebCore::SVGTextElement::contextElement):
  27417. * svg/SVGTextPathElement.cpp:
  27418. (WebCore::SVGTextPathElement::SVGTextPathElement):
  27419. * svg/SVGTextPathElement.h:
  27420. (WebCore::SVGTextPathElement::contextElement):
  27421. * svg/SVGTextPositioningElement.cpp:
  27422. * svg/SVGTextPositioningElement.h:
  27423. * svg/SVGTransformList.cpp:
  27424. * svg/SVGTransformList.h:
  27425. * svg/SVGURIReference.h:
  27426. * svg/SVGUseElement.cpp:
  27427. (WebCore::SVGUseElement::SVGUseElement):
  27428. * svg/SVGUseElement.h:
  27429. (WebCore::SVGUseElement::contextElement):
  27430. * svg/SVGViewElement.h:
  27431. (WebCore::SVGViewElement::contextElement):
  27432. * svg/SVGViewSpec.cpp:
  27433. * svg/SVGViewSpec.h:
  27434. 2008-04-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  27435. Reviewed by Simon.
  27436. * Change IconDatabase::iconForPageURL to return more information. E.g. if
  27437. an image has been found, or if the loading of an image has been scheduled.
  27438. * Update FrameLoader to use another method to trigger reading from disk
  27439. * Update the QWebFrame and QWebSettings
  27440. * history/HistoryItem.cpp:
  27441. * loader/FrameLoader.cpp:
  27442. * loader/icon/IconDatabase.cpp:
  27443. (WebCore::IconDatabase::iconForPageURL):
  27444. (WebCore::IconDatabase::readIconForPageURLFromDisk):
  27445. (WebCore::IconDatabase::iconURLForPageURL):
  27446. (WebCore::IconDatabase::defaultIcon):
  27447. * loader/icon/IconDatabase.h:
  27448. 2008-04-03 Dan Bernstein <mitz@apple.com>
  27449. - Mac build fix
  27450. * WebCore.base.exp:
  27451. 2008-04-03 Simon Hausmann <hausmann@webkit.org>
  27452. Fix the build when building without icondatabase.
  27453. * loader/icon/IconDatabaseNone.cpp: Fix the function signature, no
  27454. bool cache anymore.
  27455. 2008-04-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  27456. Reviewed by Simon.
  27457. * Remove the unused 'cache' parameter
  27458. * loader/icon/IconDatabase.cpp:
  27459. (WebCore::IconDatabase::iconForPageURL):
  27460. * loader/icon/IconDatabase.h:
  27461. 2008-04-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  27462. Reviewed by Simon.
  27463. * Add WebCore/loader/icon to the DEPENDPATH as well
  27464. * WebCore.pro:
  27465. 2008-04-02 Brady Eidson <beidson@apple.com>
  27466. Reviewed by Mitz Pettel
  27467. <rdar://problem/5838347> and http://bugs.webkit.org/show_bug.cgi?id=11839
  27468. Webarchive fails to save CSS files in @import statements
  27469. * css/CSSStyleSheet.cpp:
  27470. (WebCore::CSSStyleSheet::addSubresourceURLStrings): Recursively add the URL each @import rule under the current style sheet.
  27471. * css/CSSStyleSheet.h:
  27472. * css/StyleSheet.h:
  27473. (WebCore::StyleSheet::addSubresourceURLStrings):
  27474. * html/HTMLLinkElement.cpp:
  27475. (WebCore::HTMLLinkElement::getSubresourceAttributeStrings): Add the linked URL as well as all @import
  27476. rules rooted at the linked stylesheet.
  27477. * html/HTMLStyleElement.cpp:
  27478. (WebCore::HTMLStyleElement::getSubresourceAttributeStrings): Walk all @import rules rooted at this
  27479. stylesheet to add to the list.
  27480. * html/HTMLStyleElement.h:
  27481. 2008-04-02 Mark Rowe <mrowe@apple.com>
  27482. Reviewed by Oliver Hunt.
  27483. Ensure that debug symbols are generated for x86_64 and ppc64 builds.
  27484. * Configurations/Base.xcconfig:
  27485. 2008-04-02 Christian Persch <chpe@gnome.org>
  27486. Reviewed by Alp Toker.
  27487. GTK+/Pango font backend build fix.
  27488. * platform/graphics/gtk/FontCustomPlatformDataPango.cpp:
  27489. (WebCore::FontCustomPlatformData::fontPlatformData):
  27490. 2008-04-02 Eric Seidel <eric@webkit.org>
  27491. No review, build fix only.
  27492. Speculative build fix for no-svg build.
  27493. Use #if ENABLE(SVG) instead of #if ENABLE_SVG
  27494. * css/CSSMutableStyleDeclaration.cpp:
  27495. (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
  27496. 2008-04-02 Adam Roben <aroben@apple.com>
  27497. Rename instances of ExecState from "state" to "exec" in
  27498. JavaScriptDebugServer
  27499. Rename requested by Darin Adler.
  27500. * page/JavaScriptDebugServer.cpp:
  27501. 2008-04-02 Adam Roben <aroben@apple.com>
  27502. Make it possible for JavaScriptDebugListeners to listen to specific Pages
  27503. JavaScriptDebugServer now has overloads of its
  27504. addListener/removeListener methods that take a Page* to indicate for
  27505. which Page the JavaScriptDebugListener wishes to receive messages.
  27506. Reviewed by Darin.
  27507. * page/JavaScriptDebugServer.cpp:
  27508. (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): Delete all
  27509. ListenerSets being held in m_pageListenersMap.
  27510. (WebCore::JavaScriptDebugServer::addListener): Changed to call
  27511. hasListeners().
  27512. (WebCore::JavaScriptDebugServer::removeListener): Ditto.
  27513. (WebCore::JavaScriptDebugServer::addListener): Added. This overload
  27514. takes a Page* and puts the listener in the appropriate ListenerSet
  27515. within m_pageListenersMap. The ListenerSet is allocated and added to
  27516. m_pageListenersMap when its first listener is added.
  27517. (WebCore::JavaScriptDebugServer::removeListener): Added. This overload
  27518. takes a Page* and removes the listener from the appropriate
  27519. ListenerSet in m_pageListenersMap. The ListenerSet is deleted and
  27520. removed from m_pageListenersMap when its last listener is removed.
  27521. (WebCore::toPage): Added. Retrieves the parent Page from an ExecState.
  27522. (WebCore::JavaScriptDebugServer::sourceParsed): Changed to call
  27523. dispatchDidParseSource/dispatchDidFailToParseSource for both the
  27524. global listeners and the Page listeners.
  27525. (WebCore::dispatchFunctionToListeners): Added. This code was extracted
  27526. from the JavaScriptDebugServer method of the same name.
  27527. (WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Call
  27528. dispatchFunctionToListeners for both the global listeners and the Page
  27529. listeners.
  27530. * page/JavaScriptDebugServer.h:
  27531. - Added declarations for new methods.
  27532. - Made JavaScriptExecutionCallback typedef public so that it could
  27533. be used by a helper method.
  27534. - Added new m_pageListenersMap member.
  27535. 2008-04-02 Simon Hausmann <hausmann@webkit.org>
  27536. Fix compilation on case-sensitive file systems.
  27537. * svg/SVGGradientElement.h: Include SVGTransformList.h instead of
  27538. SVGTRansformlist.h
  27539. 2008-04-02 Nikolas Zimmermann <zimmermann@kde.org>
  27540. Reviewed by Oliver.
  27541. Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)
  27542. SVG Errata states: "All SVG DOM objects that directly correspond to an
  27543. attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
  27544. means that any changes made to the attribute are immediately reflected in the
  27545. corresponding SVG DOM object." (see linked URL on bug report)
  27546. Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
  27547. element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).
  27548. Add a new synchronization layer to handle SVG DOM -> XML changes.
  27549. Added Test: svg/custom/svg-xml-dom-sync.html
  27550. * dom/Element.h:
  27551. * dom/NamedAttrMap.h:
  27552. * rendering/SVGRootInlineBox.cpp:
  27553. (WebCore::nodeToTextContentElement):
  27554. (WebCore::nodeToTextPositioningElement):
  27555. (WebCore::SVGRootInlineBox::buildLayoutInformation):
  27556. (WebCore::SVGRootInlineBox::buildTextChunks):
  27557. * svg/SVGAElement.h:
  27558. (WebCore::SVGAElement::contextElement):
  27559. * svg/SVGAltGlyphElement.h:
  27560. (WebCore::SVGAltGlyphElement::contextElement):
  27561. * svg/SVGAnimateColorElement.h:
  27562. (WebCore::SVGAnimateColorElement::contextElement):
  27563. * svg/SVGAnimateElement.h:
  27564. (WebCore::SVGAnimateElement::contextElement):
  27565. * svg/SVGAnimateMotionElement.h:
  27566. (WebCore::SVGAnimateMotionElement::contextElement):
  27567. * svg/SVGAnimateTransformElement.h:
  27568. (WebCore::SVGAnimateTransformElement::contextElement):
  27569. * svg/SVGAnimatedTemplate.h:
  27570. (WebCore::SVGAnimatedTemplate::toString):
  27571. (WebCore::SVGAnimatedTemplate::associatedAttributeName):
  27572. (WebCore::lookupOrCreateWrapper):
  27573. (WebCore::SVGAnimatedAngle::SVGAnimatedAngle):
  27574. (WebCore::SVGAnimatedAngle::toString):
  27575. (WebCore::SVGAnimatedBoolean::SVGAnimatedBoolean):
  27576. (WebCore::SVGAnimatedBoolean::toString):
  27577. (WebCore::SVGAnimatedEnumeration::SVGAnimatedEnumeration):
  27578. (WebCore::SVGAnimatedEnumeration::toString):
  27579. (WebCore::SVGAnimatedInteger::SVGAnimatedInteger):
  27580. (WebCore::SVGAnimatedInteger::toString):
  27581. (WebCore::SVGAnimatedLength::SVGAnimatedLength):
  27582. (WebCore::SVGAnimatedLength::toString):
  27583. (WebCore::SVGAnimatedLengthList::SVGAnimatedLengthList):
  27584. (WebCore::SVGAnimatedLengthList::toString):
  27585. (WebCore::SVGAnimatedNumber::SVGAnimatedNumber):
  27586. (WebCore::SVGAnimatedNumber::toString):
  27587. (WebCore::SVGAnimatedNumberList::SVGAnimatedNumberList):
  27588. (WebCore::SVGAnimatedNumberList::toString):
  27589. (WebCore::SVGAnimatedPreserveAspectRatio::SVGAnimatedPreserveAspectRatio):
  27590. (WebCore::SVGAnimatedPreserveAspectRatio::toString):
  27591. (WebCore::SVGAnimatedRect::SVGAnimatedRect):
  27592. (WebCore::SVGAnimatedRect::toString):
  27593. (WebCore::SVGAnimatedString::SVGAnimatedString):
  27594. (WebCore::SVGAnimatedString::toString):
  27595. (WebCore::SVGAnimatedTransformList::SVGAnimatedTransformList):
  27596. (WebCore::SVGAnimatedTransformList::toString):
  27597. (WebCore::SVGAnimatedType::SVGAnimatedType):
  27598. * svg/SVGAnimationElement.h:
  27599. * svg/SVGCircleElement.h:
  27600. (WebCore::SVGCircleElement::contextElement):
  27601. * svg/SVGClipPathElement.h:
  27602. (WebCore::SVGClipPathElement::contextElement):
  27603. * svg/SVGComponentTransferFunctionElement.cpp:
  27604. * svg/SVGComponentTransferFunctionElement.h:
  27605. * svg/SVGCursorElement.cpp:
  27606. (WebCore::SVGCursorElement::SVGCursorElement):
  27607. * svg/SVGCursorElement.h:
  27608. (WebCore::SVGCursorElement::contextElement):
  27609. * svg/SVGDefsElement.h:
  27610. (WebCore::SVGDefsElement::contextElement):
  27611. * svg/SVGElement.cpp:
  27612. (WebCore::SVGElement::getAttribute):
  27613. * svg/SVGElement.h:
  27614. (LazilyUpdatedType::LazilyUpdatedType):
  27615. (LazilyUpdatedType::operator=):
  27616. (LazilyUpdatedType::operator==):
  27617. (LazilyUpdatedType::operator!=):
  27618. (LazilyUpdatedType::operator StoredType):
  27619. (WebCore::SVGElement::invokeSVGPropertySynchronizer):
  27620. (WebCore::SVGElement::addSVGPropertySynchronizer):
  27621. * svg/SVGEllipseElement.cpp:
  27622. (WebCore::SVGEllipseElement::SVGEllipseElement):
  27623. * svg/SVGEllipseElement.h:
  27624. (WebCore::SVGEllipseElement::contextElement):
  27625. * svg/SVGExternalResourcesRequired.h:
  27626. * svg/SVGFEBlendElement.h:
  27627. (WebCore::SVGFEBlendElement::contextElement):
  27628. * svg/SVGFEColorMatrixElement.cpp:
  27629. * svg/SVGFEColorMatrixElement.h:
  27630. (WebCore::SVGFEColorMatrixElement::contextElement):
  27631. * svg/SVGFEComponentTransferElement.h:
  27632. (WebCore::SVGFEComponentTransferElement::contextElement):
  27633. * svg/SVGFECompositeElement.h:
  27634. (WebCore::SVGFECompositeElement::contextElement):
  27635. * svg/SVGFEDiffuseLightingElement.h:
  27636. (WebCore::SVGFEDiffuseLightingElement::contextElement):
  27637. * svg/SVGFEDisplacementMapElement.h:
  27638. (WebCore::SVGFEDisplacementMapElement::contextElement):
  27639. * svg/SVGFEFloodElement.h:
  27640. (WebCore::SVGFEFloodElement::contextElement):
  27641. * svg/SVGFEGaussianBlurElement.h:
  27642. (WebCore::SVGFEGaussianBlurElement::contextElement):
  27643. * svg/SVGFEImageElement.cpp:
  27644. * svg/SVGFEImageElement.h:
  27645. (WebCore::SVGFEImageElement::contextElement):
  27646. * svg/SVGFELightElement.h:
  27647. * svg/SVGFEMergeElement.h:
  27648. (WebCore::SVGFEMergeElement::contextElement):
  27649. * svg/SVGFEMergeNodeElement.h:
  27650. (WebCore::SVGFEMergeNodeElement::contextElement):
  27651. * svg/SVGFEOffsetElement.h:
  27652. (WebCore::SVGFEOffsetElement::contextElement):
  27653. * svg/SVGFESpecularLightingElement.h:
  27654. (WebCore::SVGFESpecularLightingElement::contextElement):
  27655. * svg/SVGFETileElement.h:
  27656. (WebCore::SVGFETileElement::contextElement):
  27657. * svg/SVGFETurbulenceElement.h:
  27658. (WebCore::SVGFETurbulenceElement::contextElement):
  27659. * svg/SVGFilterElement.cpp:
  27660. (WebCore::SVGFilterElement::SVGFilterElement):
  27661. * svg/SVGFilterElement.h:
  27662. (WebCore::SVGFilterElement::contextElement):
  27663. * svg/SVGFilterPrimitiveStandardAttributes.cpp:
  27664. (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
  27665. * svg/SVGFilterPrimitiveStandardAttributes.h:
  27666. (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement):
  27667. * svg/SVGFitToViewBox.cpp:
  27668. * svg/SVGFitToViewBox.h:
  27669. * svg/SVGFontElement.h:
  27670. (WebCore::SVGFontElement::contextElement):
  27671. * svg/SVGForeignObjectElement.cpp:
  27672. (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
  27673. * svg/SVGForeignObjectElement.h:
  27674. (WebCore::SVGForeignObjectElement::contextElement):
  27675. * svg/SVGGElement.h:
  27676. (WebCore::SVGGElement::contextElement):
  27677. * svg/SVGGradientElement.cpp:
  27678. * svg/SVGGradientElement.h:
  27679. * svg/SVGImageElement.cpp:
  27680. (WebCore::SVGImageElement::SVGImageElement):
  27681. * svg/SVGImageElement.h:
  27682. (WebCore::SVGImageElement::contextElement):
  27683. * svg/SVGLength.cpp:
  27684. (WebCore::SVGLength::SVGLength):
  27685. (WebCore::SVGLength::operator=):
  27686. (WebCore::SVGLength::operator==):
  27687. (WebCore::SVGLength::operator!=):
  27688. * svg/SVGLength.h:
  27689. * svg/SVGLengthList.cpp:
  27690. (WebCore::SVGLengthList::valueAsString):
  27691. * svg/SVGLengthList.h:
  27692. * svg/SVGLineElement.cpp:
  27693. (WebCore::SVGLineElement::SVGLineElement):
  27694. * svg/SVGLineElement.h:
  27695. (WebCore::SVGLineElement::contextElement):
  27696. * svg/SVGLinearGradientElement.cpp:
  27697. (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
  27698. (WebCore::SVGLinearGradientElement::collectGradientProperties):
  27699. * svg/SVGLinearGradientElement.h:
  27700. (WebCore::SVGLinearGradientElement::contextElement):
  27701. * svg/SVGMPathElement.h:
  27702. (WebCore::SVGMPathElement::contextElement):
  27703. * svg/SVGMarkerElement.cpp:
  27704. (WebCore::SVGMarkerElement::SVGMarkerElement):
  27705. * svg/SVGMarkerElement.h:
  27706. (WebCore::SVGMarkerElement::contextElement):
  27707. * svg/SVGMaskElement.cpp:
  27708. (WebCore::SVGMaskElement::SVGMaskElement):
  27709. * svg/SVGMaskElement.h:
  27710. (WebCore::SVGMaskElement::contextElement):
  27711. * svg/SVGNumberList.cpp:
  27712. (WebCore::SVGNumberList::valueAsString):
  27713. * svg/SVGNumberList.h:
  27714. * svg/SVGPathElement.h:
  27715. (WebCore::SVGPathElement::contextElement):
  27716. * svg/SVGPatternElement.cpp:
  27717. (WebCore::SVGPatternElement::SVGPatternElement):
  27718. (WebCore::SVGPatternElement::collectPatternProperties):
  27719. * svg/SVGPatternElement.h:
  27720. (WebCore::SVGPatternElement::contextElement):
  27721. * svg/SVGPolyElement.h:
  27722. (WebCore::SVGPolyElement::contextElement):
  27723. * svg/SVGPreserveAspectRatio.cpp:
  27724. (WebCore::SVGPreserveAspectRatio::valueAsString):
  27725. * svg/SVGPreserveAspectRatio.h:
  27726. * svg/SVGRadialGradientElement.cpp:
  27727. (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
  27728. (WebCore::SVGRadialGradientElement::svgAttributeChanged):
  27729. (WebCore::SVGRadialGradientElement::collectGradientProperties):
  27730. * svg/SVGRadialGradientElement.h:
  27731. (WebCore::SVGRadialGradientElement::contextElement):
  27732. * svg/SVGRectElement.cpp:
  27733. (WebCore::SVGRectElement::SVGRectElement):
  27734. * svg/SVGRectElement.h:
  27735. (WebCore::SVGRectElement::contextElement):
  27736. * svg/SVGSVGElement.cpp:
  27737. (WebCore::SVGSVGElement::SVGSVGElement):
  27738. (WebCore::SVGSVGElement::currentView):
  27739. * svg/SVGSVGElement.h:
  27740. (WebCore::SVGSVGElement::contextElement):
  27741. * svg/SVGScriptElement.h:
  27742. (WebCore::SVGScriptElement::contextElement):
  27743. * svg/SVGSetElement.h:
  27744. (WebCore::SVGSetElement::contextElement):
  27745. * svg/SVGStyledElement.h:
  27746. * svg/SVGStyledTransformableElement.cpp:
  27747. * svg/SVGStyledTransformableElement.h:
  27748. * svg/SVGSwitchElement.h:
  27749. (WebCore::SVGSwitchElement::contextElement):
  27750. * svg/SVGSymbolElement.h:
  27751. (WebCore::SVGSymbolElement::contextElement):
  27752. * svg/SVGTRefElement.h:
  27753. (WebCore::SVGTRefElement::contextElement):
  27754. * svg/SVGTSpanElement.h:
  27755. (WebCore::SVGTSpanElement::contextElement):
  27756. * svg/SVGTextContentElement.cpp:
  27757. (WebCore::SVGTextContentElement::SVGTextContentElement):
  27758. * svg/SVGTextContentElement.h:
  27759. * svg/SVGTextElement.cpp:
  27760. * svg/SVGTextElement.h:
  27761. (WebCore::SVGTextElement::contextElement):
  27762. * svg/SVGTextPathElement.cpp:
  27763. (WebCore::SVGTextPathElement::SVGTextPathElement):
  27764. * svg/SVGTextPathElement.h:
  27765. (WebCore::SVGTextPathElement::contextElement):
  27766. * svg/SVGTextPositioningElement.cpp:
  27767. * svg/SVGTextPositioningElement.h:
  27768. * svg/SVGTransformList.cpp:
  27769. (SVGTransformList::valueAsString):
  27770. * svg/SVGTransformList.h:
  27771. * svg/SVGURIReference.h:
  27772. * svg/SVGUseElement.cpp:
  27773. (WebCore::SVGUseElement::SVGUseElement):
  27774. * svg/SVGUseElement.h:
  27775. (WebCore::SVGUseElement::contextElement):
  27776. * svg/SVGViewElement.h:
  27777. (WebCore::SVGViewElement::contextElement):
  27778. * svg/SVGViewSpec.cpp:
  27779. (WebCore::SVGViewSpec::SVGViewSpec):
  27780. (WebCore::SVGViewSpec::contextElement):
  27781. * svg/SVGViewSpec.h:
  27782. 2008-04-02 Darin Adler <darin@apple.com>
  27783. Reviewed by Alexey.
  27784. - fix storage leak seen on buildbot
  27785. * platform/graphics/cg/ImageBufferCG.cpp:
  27786. (WebCore::utiFromMIMEType): Put the result of createCFString() into a RetainPtr. Changed
  27787. result to be a RetainPtr.
  27788. (WebCore::ImageBuffer::toDataURL): Tweak a little bit, removing one local variable and
  27789. some unneeded explicit conversions.
  27790. 2008-04-01 Darin Adler <darin@apple.com>
  27791. * WebCore.vcproj/WebCore.vcproj: Added RangeBoundaryPoint.h -- not required, but convenient.
  27792. 2008-04-01 Darin Adler <darin@apple.com>
  27793. Reviewed by Sam and Antti.
  27794. - fix <rdar://problem/5829565> paste performance slowed down with the Range Acid3 changes
  27795. Added a new class, RangeBoundaryPoint, to use for range boundary points. The "truth" of
  27796. the offset is now stored as a node pointer, and the offset is computed as and when needed.
  27797. This allows us to efficiently update when the DOM tree is changed -- computation of the
  27798. node offsets is deferred until the Range is used later.
  27799. * WebCore.base.exp: Export nodeIndex().
  27800. * WebCore.xcodeproj/project.pbxproj: Added RangeBoundaryPoint.h, removed NodeWithIndexBefore.h
  27801. and NodeWIthIndexAfter.h. Also let Xcode tweak the file formatting.
  27802. * dom/ContainerNode.cpp:
  27803. (WebCore::ContainerNode::childrenChanged): Pass fewer arguments to Document.
  27804. * dom/Document.cpp:
  27805. (WebCore::Document::nodeChildrenChanged): Pass fewer arguments to Range.
  27806. (WebCore::Document::nodeWillBeRemoved): Pass node to range as a raw node pointer; no need for
  27807. the index.
  27808. * dom/Document.h: Take fewer arguments.
  27809. * dom/NodeWithIndexAfter.h: Removed.
  27810. * dom/NodeWithIndexBefore.h: Removed.
  27811. * dom/Range.cpp:
  27812. (WebCore::Range::Range): Changed to use the new RangeBoundaryPoint constructor.
  27813. (WebCore::Range::create): Updated to use RangeBoundaryPoint instead of Position.
  27814. (WebCore::Range::~Range): Ditto.
  27815. (WebCore::Range::startContainer): Ditto.
  27816. (WebCore::Range::startOffset): Ditto.
  27817. (WebCore::Range::endContainer): Ditto.
  27818. (WebCore::Range::endOffset): Ditto.
  27819. (WebCore::Range::commonAncestorContainer): Ditto.
  27820. (WebCore::Range::collapsed): Ditto.
  27821. (WebCore::Range::setStart): Ditto.
  27822. (WebCore::Range::setEnd): Ditto.
  27823. (WebCore::Range::collapse): Ditto.
  27824. (WebCore::Range::isPointInRange): Ditto.
  27825. (WebCore::Range::comparePoint): Ditto.
  27826. (WebCore::Range::compareNode): Ditto.
  27827. (WebCore::Range::compareBoundaryPoints): Ditto.
  27828. (WebCore::Range::boundaryPointsValid): Ditto.
  27829. (WebCore::Range::intersectsNode): Ditto.
  27830. (WebCore::Range::processContents): Ditto.
  27831. (WebCore::Range::cloneContents): Ditto.
  27832. (WebCore::Range::insertNode): Updated to use RangeBoundaryPoint. Also simplified the code
  27833. at the end that updates the range -- not all of it is needed now since most of the fixup
  27834. is done automatically by the range document mutation machinery. The one bit that remains
  27835. is arguably a bug, but we need to keep it to keep passing Acid3 until we get clarification
  27836. that it is indeed a bug (and then Acid3 will probably have to change).
  27837. (WebCore::Range::toString): Update to use RangeBoundaryPoint instead of Position.
  27838. (WebCore::Range::text): Ditto.
  27839. (WebCore::Range::createContextualFragment): Ditto.
  27840. (WebCore::Range::detach): Ditto.
  27841. (WebCore::Range::checkNodeWOffset): Changed case where the offset is a node offset to
  27842. be more efficient by using childNode instead of childNodeCount, and also return the node
  27843. before which is needed to set the value of a RangeBoundaryPoint.
  27844. (WebCore::Range::cloneRange): Ditto.
  27845. (WebCore::Range::setStartAfter): Ditto.
  27846. (WebCore::Range::setEndBefore): Ditto.
  27847. (WebCore::Range::setEndAfter): Ditto.
  27848. (WebCore::Range::selectNode): Ditto.
  27849. (WebCore::Range::selectNodeContents): Ditto.
  27850. (WebCore::Range::surroundContents): Ditto.
  27851. (WebCore::Range::setStartBefore): Ditto.
  27852. (WebCore::Range::checkDeleteExtract): Ditto.
  27853. (WebCore::Range::containedByReadOnly): Ditto.
  27854. (WebCore::Range::firstNode): Ditto.
  27855. (WebCore::Range::editingStartPosition): Ditto.
  27856. (WebCore::Range::pastLastNode): Ditto.
  27857. (WebCore::Range::addLineBoxRects): Ditto.
  27858. (WebCore::Range::formatForDebugger): Ditto.
  27859. (WebCore::Range::maxStartOffset): Ditto.
  27860. (WebCore::Range::maxEndOffset): Ditto.
  27861. (WebCore::boundaryNodeChildrenChanged): Updated to use RangeBoundaryPoint instead of
  27862. Position. Also changed name and changed to just call invalidateOffset.
  27863. (WebCore::Range::nodeChildrenChanged): Changed to take just a container node.
  27864. (WebCore::boundaryNodeWillBeRemoved): Updated to use RangeBoundaryPoint instead of
  27865. Position. Also changed name and changed to update childBefore.
  27866. (WebCore::Range::nodeWillBeRemoved): Changed to just take a Node*.
  27867. (WebCore::boundaryTextInserted): Updated to use RangeBoundaryPoint instead of
  27868. Position. Also changed name.
  27869. (WebCore::Range::textInserted): Ditto.
  27870. (WebCore::boundaryTextRemoved): Ditto.
  27871. (WebCore::Range::textRemoved): Ditto.
  27872. (WebCore::boundaryTextNodesMerged): Ditto.
  27873. (WebCore::Range::textNodesMerged): Ditto.
  27874. (WebCore::boundaryTextNodesSplit): Ditto.
  27875. (WebCore::Range::textNodeSplit): Ditto.
  27876. * dom/Range.h: Updated to use RangeBoundaryPoint instead of Position.
  27877. * dom/RangeBoundaryPoint.h: Added.
  27878. 2008-04-01 Anders Carlsson <andersca@apple.com>
  27879. Reviewed by Sam.
  27880. Get rid of old "bindings" forwarding headers.
  27881. * ForwardingHeaders/bindings: Removed.
  27882. * ForwardingHeaders/bindings/NP_jsobject.h: Removed.
  27883. * ForwardingHeaders/bindings/npruntime.h: Removed.
  27884. * ForwardingHeaders/bindings/npruntime_impl.h: Removed.
  27885. * ForwardingHeaders/bindings/npruntime_internal.h: Removed.
  27886. * ForwardingHeaders/bindings/runtime.h: Removed.
  27887. * ForwardingHeaders/bindings/runtime_object.h: Removed.
  27888. * ForwardingHeaders/bindings/runtime_root.h: Removed.
  27889. 2008-04-01 Timothy Hatcher <timothy@apple.com>
  27890. Rename DatabasePanel.js to DatabasesPanel.js to facilitate the up-coming UI refresh changes.
  27891. http://bugs.webkit.org/show_bug.cgi?id=17773
  27892. Rubber-stamped by Brady Eidson.
  27893. * WebCore.vcproj/WebCore.vcproj: Reference DatabasesPanel.js.
  27894. * page/inspector/DatabasePanel.js: Removed.
  27895. * page/inspector/DatabasesPanel.js: Copied from page/inspector/DatabasePanel.js.
  27896. * page/inspector/WebKit.qrc: Reference DatabasesPanel.js.
  27897. * page/inspector/inspector.html: Reference DatabasesPanel.js.
  27898. 2008-04-01 Brady Eidson <beidson@apple.com>
  27899. Touch a file to get Windows to rebuild WebCore
  27900. * platform/ContextMenu.cpp: Alphabetize headers
  27901. 2008-04-01 Brady Eidson <beidson@apple.com>
  27902. Reviewed by Adam Roben
  27903. Export loader/archive and loader/archive/cf headers for WebKitWin to use
  27904. * WebCore.vcproj/WebCore.vcproj:
  27905. 2008-04-01 Brady Eidson <beidson@apple.com>
  27906. Reviewed by Darin
  27907. WebArchives need to load on Windows the same way as on Mac, and this change in the
  27908. finished-loading code path was a big part of that
  27909. * loader/FrameLoader.cpp:
  27910. (WebCore::FrameLoader::finishedLoadingDocument): Only call the client's finishedLoading()
  27911. for non-archive loads
  27912. 2008-04-01 Dan Bernstein <mitz@apple.com>
  27913. - Mac build fix
  27914. * WebCore.xcodeproj/project.pbxproj: Made FontRenderingMode.h private.
  27915. 2008-04-01 Dan Bernstein <mitz@apple.com>
  27916. Reviewed by Darin Adler.
  27917. - move the FontRenderingMode enumeration into its own header file
  27918. * WebCore.vcproj/WebCore.vcproj:
  27919. * WebCore.xcodeproj/project.pbxproj:
  27920. * loader/CachedFont.h:
  27921. * platform/graphics/FontDescription.h:
  27922. * platform/graphics/FontRenderingMode.h: Added.
  27923. * platform/graphics/gtk/FontCustomPlatformData.h:
  27924. * platform/graphics/mac/FontCustomPlatformData.h:
  27925. * platform/graphics/qt/FontCustomPlatformData.h:
  27926. * platform/graphics/win/FontCustomPlatformData.h:
  27927. 2008-04-01 Darin Adler <darin@apple.com>
  27928. Reviewed by Mitz.
  27929. - fix <rdar://problem/5833351> REGRESSION: Leak in JSCustomXPathNSResolver::create
  27930. - fix <rdar://problem/5833216> REGRESSION: Leak in CSSStyleSelector::addViewportDependentMediaQueryResult
  27931. * bindings/js/JSCustomXPathNSResolver.cpp:
  27932. (WebCore::JSCustomXPathNSResolver::create): Added a missing adoptRef.
  27933. * css/CSSStyleSelector.cpp:
  27934. (WebCore::CSSStyleSelector::~CSSStyleSelector): Added a missing call to deleteAllValues.
  27935. 2008-04-01 Darin Adler <darin@apple.com>
  27936. Reviewed by Sam.
  27937. - speed up hasChildNodes, which does not need to be virtual
  27938. * dom/ContainerNode.cpp: Removed hasChildNodes.
  27939. * dom/ContainerNode.h: Added non-virtual inline hasChildNodes.
  27940. * dom/Node.cpp: Removed hasChildNodes.
  27941. * dom/Node.h: Added non-vritual inline hasChildNodes.
  27942. 2008-04-01 Simon Hausmann <hausmann@webkit.org>
  27943. Fix the non-mac build.
  27944. * page/AXObjectCache.h: Don't reference AccessibilityObjects when
  27945. building without accessibility.
  27946. * page/AccessibilityObject.h: Don't include RetainPtr.h for non-mac
  27947. builds.
  27948. 2008-04-01 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  27949. Reviewed by Simon.
  27950. * Do not store the QWebFrame associated with a ScrollView/FrameView
  27951. in the WebCore::Widget.
  27952. * Instead of asking the Widget for the QWebFrame use the QWebFramePrivate::core
  27953. and QWebFramePrivate::kit function to convert from and to QWebFrame.
  27954. * platform/Widget.h:
  27955. * platform/qt/WidgetQt.cpp:
  27956. (WebCore::WidgetPrivate::WidgetPrivate):
  27957. (WebCore::Widget::containingWindow):
  27958. 2008-04-01 Alice Liu <alice.liu@apple.com>
  27959. Patch by Beth Dakin <bdakin@apple.com> and Alice Liu
  27960. Reviewed by Darin.
  27961. Refactored WebCore Accessibility code. Prior to this patch, WebCore
  27962. accessibility was implemented in an ObjC class named WebCoreAXObject,
  27963. with much of the "guts" in C++. This patch the next natural step of
  27964. factoring out the C++ code into a class named AccessibilityObject, and
  27965. in order to maintain the required ObjC object ties, also implements an
  27966. ObjC class named AccessibilityObjectWrapper as a thin wrapper around the
  27967. C++ object. Internally within WebCore we operate on the C++ object as
  27968. much as possible, and the ObjC object gets used mostly when we need to
  27969. return something to AppKit or call something implemented on NSObject.
  27970. The AXObjectCache still keeps one HashMap, now of RenderObjects to
  27971. AccessibilityObjects instead of WebCoreAXObjects, and the
  27972. AccessibilityObject keeps track of its ObjC wrapper.
  27973. * WebCore.xcodeproj/project.pbxproj:
  27974. * page/AXObjectCache.h:
  27975. (WebCore::AXObjectCache::get):
  27976. (WebCore::AXObjectCache::removeAXID):
  27977. * page/AccessibilityObject.cpp: Added.
  27978. (WebCore::AccessibilityObject::AccessibilityObject):
  27979. (WebCore::AccessibilityObject::~AccessibilityObject):
  27980. (WebCore::AccessibilityObject::create):
  27981. (WebCore::AccessibilityObject::detach):
  27982. (WebCore::AccessibilityObject::firstChild):
  27983. (WebCore::AccessibilityObject::lastChild):
  27984. (WebCore::AccessibilityObject::previousSibling):
  27985. (WebCore::AccessibilityObject::nextSibling):
  27986. (WebCore::AccessibilityObject::parentObject):
  27987. (WebCore::AccessibilityObject::parentObjectUnignored):
  27988. (WebCore::AccessibilityObject::isWebArea):
  27989. (WebCore::AccessibilityObject::isImageButton):
  27990. (WebCore::AccessibilityObject::isAnchor):
  27991. (WebCore::AccessibilityObject::isTextControl):
  27992. (WebCore::AccessibilityObject::isImage):
  27993. (WebCore::AccessibilityObject::isAttachment):
  27994. (WebCore::isPasswordFieldElement):
  27995. (WebCore::AccessibilityObject::isPasswordField):
  27996. (WebCore::AccessibilityObject::headingLevel):
  27997. (WebCore::AccessibilityObject::isHeading):
  27998. (WebCore::AccessibilityObject::anchorElement):
  27999. (WebCore::isCheckboxOrRadio):
  28000. (WebCore::AccessibilityObject::actionElement):
  28001. (WebCore::AccessibilityObject::mouseButtonListener):
  28002. (WebCore::AccessibilityObject::helpText):
  28003. (WebCore::AccessibilityObject::textUnderElement):
  28004. (WebCore::AccessibilityObject::hasIntValue):
  28005. (WebCore::AccessibilityObject::intValue):
  28006. (WebCore::AccessibilityObject::stringValue):
  28007. (WebCore::labelForElement):
  28008. (WebCore::AccessibilityObject::title):
  28009. (WebCore::AccessibilityObject::accessibilityDescription):
  28010. (WebCore::AccessibilityObject::boundingBoxRect):
  28011. (WebCore::AccessibilityObject::size):
  28012. (WebCore::AccessibilityObject::linkedUIElement):
  28013. (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId):
  28014. (WebCore::AccessibilityObject::accessibilityIsIgnored):
  28015. (WebCore::AccessibilityObject::loaded):
  28016. (WebCore::AccessibilityObject::layoutCount):
  28017. (WebCore::AccessibilityObject::textLength):
  28018. (WebCore::AccessibilityObject::selectedText):
  28019. (WebCore::AccessibilityObject::selection):
  28020. (WebCore::AccessibilityObject::selectedTextRange):
  28021. (WebCore::AccessibilityObject::setSelectedText):
  28022. (WebCore::AccessibilityObject::setSelectedTextRange):
  28023. (WebCore::AccessibilityObject::makeRangeVisible):
  28024. (WebCore::AccessibilityObject::url):
  28025. (WebCore::AccessibilityObject::isVisited):
  28026. (WebCore::AccessibilityObject::isFocused):
  28027. (WebCore::AccessibilityObject::setFocused):
  28028. (WebCore::AccessibilityObject::setValue):
  28029. (WebCore::AccessibilityObject::isEnabled):
  28030. (WebCore::AccessibilityObject::press):
  28031. (WebCore::AccessibilityObject::topRenderer):
  28032. (WebCore::AccessibilityObject::textControl):
  28033. (WebCore::AccessibilityObject::widget):
  28034. (WebCore::AccessibilityObject::axObjectCache):
  28035. (WebCore::AccessibilityObject::documentLinks):
  28036. (WebCore::AccessibilityObject::documentFrameView):
  28037. (WebCore::AccessibilityObject::frameViewIfRenderView):
  28038. (WebCore::AccessibilityObject::visiblePositionRange):
  28039. (WebCore::AccessibilityObject::doAXTextMarkerRangeForLine):
  28040. (WebCore::AccessibilityObject::doAXTextMarkerRangeForUnorderedTextMarkers):
  28041. (WebCore::AccessibilityObject::doAXLeftWordTextMarkerRangeForTextMarker):
  28042. (WebCore::AccessibilityObject::doAXRightWordTextMarkerRangeForTextMarker):
  28043. (WebCore::updateAXLineStartForVisiblePosition):
  28044. (WebCore::AccessibilityObject::doAXLeftLineTextMarkerRangeForTextMarker):
  28045. (WebCore::AccessibilityObject::doAXRightLineTextMarkerRangeForTextMarker):
  28046. (WebCore::AccessibilityObject::doAXSentenceTextMarkerRangeForTextMarker):
  28047. (WebCore::AccessibilityObject::doAXParagraphTextMarkerRangeForTextMarker):
  28048. (WebCore::startOfStyleRange):
  28049. (WebCore::endOfStyleRange):
  28050. (WebCore::AccessibilityObject::doAXStyleTextMarkerRangeForTextMarker):
  28051. (WebCore::AccessibilityObject::textMarkerRangeForRange):
  28052. (WebCore::AccessibilityObject::stringForReplacedNode):
  28053. (WebCore::AccessibilityObject::doAXStringForTextMarkerRange):
  28054. (WebCore::AccessibilityObject::doAXBoundsForTextMarkerRange):
  28055. (WebCore::AccessibilityObject::doAXLengthForTextMarkerRange):
  28056. (WebCore::AccessibilityObject::doSetAXSelectedTextMarkerRange):
  28057. (WebCore::AccessibilityObject::doAXTextMarkerForPosition):
  28058. (WebCore::AccessibilityObject::doAXNextTextMarkerForTextMarker):
  28059. (WebCore::AccessibilityObject::doAXPreviousTextMarkerForTextMarker):
  28060. (WebCore::AccessibilityObject::doAXNextWordEndTextMarkerForTextMarker):
  28061. (WebCore::AccessibilityObject::doAXPreviousWordStartTextMarkerForTextMarker):
  28062. (WebCore::AccessibilityObject::doAXNextLineEndTextMarkerForTextMarker):
  28063. (WebCore::AccessibilityObject::doAXPreviousLineStartTextMarkerForTextMarker):
  28064. (WebCore::AccessibilityObject::doAXNextSentenceEndTextMarkerForTextMarker):
  28065. (WebCore::AccessibilityObject::doAXPreviousSentenceStartTextMarkerForTextMarker):
  28066. (WebCore::AccessibilityObject::doAXNextParagraphEndTextMarkerForTextMarker):
  28067. (WebCore::AccessibilityObject::doAXPreviousParagraphStartTextMarkerForTextMarker):
  28068. (WebCore::AccessibilityObject::textMarkerForIndex):
  28069. (WebCore::AccessibilityObject::doAXUIElementForTextMarker):
  28070. (WebCore::AccessibilityObject::doAXLineForTextMarker):
  28071. (WebCore::AccessibilityObject::rangeForTextMarkerRange):
  28072. (WebCore::AccessibilityObject::indexForTextMarker):
  28073. (WebCore::AccessibilityObject::doAXRangeForLine):
  28074. (WebCore::AccessibilityObject::doAXRangeForPosition):
  28075. (WebCore::AccessibilityObject::doAXRangeForIndex):
  28076. (WebCore::AccessibilityObject::doAXStyleRangeForIndex):
  28077. (WebCore::AccessibilityObject::doAXStringForRange):
  28078. (WebCore::AccessibilityObject::doAXBoundsForRange):
  28079. (WebCore::AccessibilityObject::doAXLineForIndex):
  28080. (WebCore::AccessibilityObject::doAccessibilityHitTest):
  28081. (WebCore::AccessibilityObject::focusedUIElement):
  28082. (WebCore::AccessibilityObject::observableObject):
  28083. (WebCore::AccessibilityObject::roleValue):
  28084. (WebCore::AccessibilityObject::canSetFocusAttribute):
  28085. (WebCore::AccessibilityObject::canSetValueAttribute):
  28086. (WebCore::AccessibilityObject::canSetTextRangeAttributes):
  28087. (WebCore::AccessibilityObject::childrenChanged):
  28088. (WebCore::AccessibilityObject::clearChildren):
  28089. (WebCore::AccessibilityObject::hasChildren):
  28090. (WebCore::AccessibilityObject::addChildren):
  28091. (WebCore::AccessibilityObject::axObjectID):
  28092. (WebCore::AccessibilityObject::setAXObjectID):
  28093. (WebCore::AccessibilityObject::removeAXObjectID):
  28094. * page/AccessibilityObject.h: Added.
  28095. (WebCore::VisiblePositionRange::VisiblePositionRange):
  28096. (WebCore::VisiblePositionRange::isNull):
  28097. (WebCore::AccessibilityObject::detached):
  28098. (WebCore::AccessibilityObject::PlainTextRange::PlainTextRange):
  28099. (WebCore::AccessibilityObject::PlainTextRange::isNull):
  28100. (WebCore::AccessibilityObject::renderer):
  28101. (WebCore::AccessibilityObject::children):
  28102. (WebCore::AccessibilityObject::wrapper):
  28103. (WebCore::AccessibilityObject::setWrapper):
  28104. * page/mac/AXObjectCacheMac.mm:
  28105. (WebCore::AXObjectCache::~AXObjectCache):
  28106. (WebCore::AXObjectCache::get):
  28107. (WebCore::AXObjectCache::remove):
  28108. (WebCore::AXObjectCache::getAXID):
  28109. (WebCore::AXObjectCache::removeAXID):
  28110. (WebCore::AXObjectCache::textMarkerForVisiblePosition):
  28111. (WebCore::AXObjectCache::childrenChanged):
  28112. (WebCore::AXObjectCache::postNotification):
  28113. (WebCore::AXObjectCache::postNotificationToElement):
  28114. * page/mac/AccessibilityObjectMac.mm: Added.
  28115. (createAccessibilityRoleMap):
  28116. (RoleEntry::):
  28117. (roleValueToNSString):
  28118. (AccessibilityObject::attachmentView):
  28119. (AccessibilityObject::performPressActionForAttachment):
  28120. (AccessibilityObject::textMarkerRange):
  28121. (AccessibilityObject::textMarkerForVisiblePosition):
  28122. (AccessibilityObject::startTextMarker):
  28123. (AccessibilityObject::visiblePositionForTextMarker):
  28124. (AccessibilityObject::visiblePositionForStartOfTextMarkerRange):
  28125. (AccessibilityObject::visiblePositionForEndOfTextMarkerRange):
  28126. (AccessibilityObject::textMarkerRangeFromVisiblePositions):
  28127. (AccessibilityObject::textMarkerRangeForSelection):
  28128. (AccessibilityObject::textMarkerRangeFromMarkers):
  28129. (AccessibilityObject::convertViewRectToScreenCoords):
  28130. (AccessibilityObject::convertAbsolutePointToViewCoords):
  28131. (AccessibilityObject::convertWidgetChildrenToNSArray):
  28132. (AccessibilityObject::position):
  28133. (AccessibilityObject::role):
  28134. (AccessibilityObject::subrole):
  28135. (AccessibilityObject::roleDescription):
  28136. (blockquoteLevel):
  28137. (AccessibilityObject::AXAttributeStringSetElement):
  28138. (AXAttributeStringSetBlockquoteLevel):
  28139. (CreateCGColorIfDifferent):
  28140. (AXAttributeStringSetColor):
  28141. (AXAttributeStringSetNumber):
  28142. (AXAttributeStringSetFont):
  28143. (AXAttributeStringSetStyle):
  28144. (AccessibilityObject::AXAttributeStringSetHeadingLevel):
  28145. (AccessibilityObject::AXLinkElementForNode):
  28146. (AXAttributeStringSetSpelling):
  28147. (AccessibilityObject::AXAttributedStringAppendText):
  28148. (nsStringForReplacedNode):
  28149. (AccessibilityObject::doAXAttributedStringForTextMarkerRange):
  28150. (AccessibilityObject::doAXAttributedStringForRange):
  28151. (AccessibilityObject::doAXRTFForRange):
  28152. * page/mac/AccessibilityObjectWrapper.h: Added.
  28153. * page/mac/AccessibilityObjectWrapper.mm: Added.
  28154. (-[AccessibilityObjectWrapper initWithAccessibilityObject:]):
  28155. (-[AccessibilityObjectWrapper unregisterUniqueIdForUIElement]):
  28156. (-[AccessibilityObjectWrapper detach]):
  28157. (-[AccessibilityObjectWrapper accessibilityObject]):
  28158. (-[AccessibilityObjectWrapper accessibilityActionNames]):
  28159. (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
  28160. (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
  28161. (-[AccessibilityObjectWrapper renderWidgetChildren]):
  28162. (convertToNSArray):
  28163. (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
  28164. (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
  28165. (-[AccessibilityObjectWrapper accessibilityHitTest:]):
  28166. (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
  28167. (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
  28168. (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
  28169. (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
  28170. (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
  28171. (rendererForView):
  28172. (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]):
  28173. (-[AccessibilityObjectWrapper accessibilityActionDescription:]):
  28174. (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
  28175. (-[AccessibilityObjectWrapper accessibilityShouldUseUniqueId]):
  28176. * page/mac/WebCoreAXObject.h: Removed.
  28177. * page/mac/WebCoreAXObject.mm: Removed.
  28178. * rendering/RenderMenuList.cpp:
  28179. (WebCore::RenderMenuList::selectElement):
  28180. * rendering/RenderMenuList.h:
  28181. 2008-03-31 Dan Bernstein <mitz@apple.com>
  28182. - fix previous attempted fixes
  28183. * platform/qt/TemporaryLinkStubs.cpp:
  28184. (PluginDatabase::getPluginPathsInDirectories):
  28185. * platform/wx/TemporaryLinkStubs.cpp:
  28186. (PluginDatabase::getPluginPathsInDirectories):
  28187. 2008-03-31 Dan Bernstein <mitz@apple.com>
  28188. - fix Qt link stubs
  28189. * platform/qt/TemporaryLinkStubs.cpp:
  28190. (PluginDatabase::getPluginPathsInDirectories):
  28191. (PluginDatabase::isPreferredPluginDirectory):
  28192. 2008-03-31 Dan Bernstein <mitz@apple.com>
  28193. - try to fix the Wx build
  28194. * platform/wx/TemporaryLinkStubs.cpp:
  28195. (PluginDatabase::getPluginPathsInDirectories):
  28196. (PluginDatabase::isPreferredPluginDirectory):
  28197. 2008-03-31 Dan Bernstein <mitz@apple.com>
  28198. - Gtk and Qt build fixes
  28199. * platform/graphics/gtk/FontCustomPlatformData.cpp:
  28200. (WebCore::FontCustomPlatformData::fontPlatformData):
  28201. * platform/graphics/gtk/FontCustomPlatformData.h:
  28202. * platform/graphics/qt/FontCustomPlatformData.cpp:
  28203. (WebCore::FontCustomPlatformData::fontPlatformData):
  28204. * platform/graphics/qt/FontCustomPlatformData.h:
  28205. 2008-03-31 Dan Bernstein <mitz@apple.com>
  28206. - Mac build fix
  28207. * platform/graphics/mac/FontCustomPlatformData.cpp:
  28208. (WebCore::FontCustomPlatformData::fontPlatformData):
  28209. * platform/graphics/mac/FontCustomPlatformData.h:
  28210. 2008-03-31 Dan Bernstein <mitz@apple.com>
  28211. Reviewed by Darin Adler.
  28212. - fix <rdar://problem/5792638> @font-face with downloadable fonts doesn't work with GDI text
  28213. * WebCore.vcproj/WebCore.vcproj: Added GetEOTHeader.{h,cpp}
  28214. * css/CSSFontFaceSource.cpp:
  28215. (WebCore::CSSFontFaceSource::getFontData): Changed to pass the rendering
  28216. mode to CachedFont::platformDataFromCustomData().
  28217. * loader/CachedFont.cpp:
  28218. (WebCore::CachedFont::platformDataFromCustomData): Added a rendering
  28219. mode parameter which is passed down to
  28220. FontCustomPlatformData::fontPlatformData().
  28221. * loader/CachedFont.h:
  28222. * platform/graphics/win/FontCacheWin.cpp:
  28223. (WebCore::FontCache::fontExists): Changed the number 5 to the named
  28224. constant CLEARTYPE_QUALITY.
  28225. * platform/graphics/win/FontCustomPlatformData.cpp:
  28226. (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added code
  28227. to delete the embedded font reference.
  28228. (WebCore::FontCustomPlatformData::fontPlatformData): Added code to
  28229. create an HFONT from the embedded font reference and pass it along with
  28230. the CGFontRef to the FontPlatformData constructor. Added a rendering
  28231. mode parameter which is passed down to the FontPlatformData constructor.
  28232. (WebCore::EOTStream::EOTStream): Added this helper class used to feed
  28233. data to TTLoadEmbeddedFont().
  28234. (WebCore::EOTStream::read): Added.
  28235. (WebCore::readEmbedProc): Added this TTLoadEmbeddedFont() callback.
  28236. (WebCore::createUniqueFontName): Added. Creates a unique GUID-derived
  28237. font name.
  28238. (WebCore::createFontCustomPlatformData): Added code to make the font
  28239. accessible to GDI by creating an Embedded OpenType stream and
  28240. activating it in the process under a globally-unique name.
  28241. * platform/graphics/win/FontCustomPlatformData.h:
  28242. Added a font reference data member which holds the embedded font.
  28243. (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a
  28244. rendering mode parameter.
  28245. * platform/graphics/win/FontPlatformData.h:
  28246. (WebCore::FontPlatformData::FontPlatformData): Made this class always
  28247. own the CGFontRef and the HFONT by turning these data members into a
  28248. RetainPtr and a RefPtr around a RefCountedHFONT.
  28249. Added an HFONT parameter to the CGFontRef-based constructor.
  28250. Made platformDataInit() private.
  28251. (WebCore::FontPlatformData::hfont):
  28252. (WebCore::FontPlatformData::cgFont):
  28253. (WebCore::FontPlatformData::hash):
  28254. (WebCore::FontPlatformData::RefCountedHFONT::RefCountedHFONT): Added.
  28255. (WebCore::FontPlatformData::RefCountedHFONT::~RefCountedHFONT):
  28256. (WebCore::FontPlatformData::RefCountedHFONT::hfont):
  28257. (WebCore::FontPlatformData::RefCountedHFONT::hash):
  28258. * platform/graphics/win/FontPlatformDataCGWin.cpp:
  28259. (WebCore::FontPlatformData::platformDataInit): Changed to take
  28260. ownership of the CGFontRef created here.
  28261. (WebCore::FontPlatformData::FontPlatformData): Added an HFONT parameter
  28262. and a useGDI flag.
  28263. * platform/graphics/win/FontPlatformDataWin.cpp:
  28264. (WebCore::FontPlatformData::FontPlatformData): Changed to take ownership
  28265. of the HFONT.
  28266. * platform/graphics/win/GetEOTHeader.cpp: Added.
  28267. (WebCore::BigEndianUShort::operator unsigned short):
  28268. (WebCore::BigEndianULong::operator unsigned):
  28269. (WebCore::appendBigEndianStringToEOTHeader):
  28270. (WebCore::getEOTHeader): Added. Creates an Embedded OpenType (.eot)
  28271. header for the given font data, making it suitable as input for
  28272. TTLoadEmbeddedFont.
  28273. * platform/graphics/win/GetEOTHeader.h: Added.
  28274. * platform/graphics/win/SimpleFontDataCGWin.cpp:
  28275. (WebCore::SimpleFontData::platformDestroy): Removed code to delete parts
  28276. of the FontPlatformData, since they are now always owned and managed
  28277. by the FontPlatformData.
  28278. 2008-03-31 Darin Adler <darin@apple.com>
  28279. Reviewed by Anders.
  28280. - fix crash seen on buildbot (regression from a recent speedup)
  28281. * html/HTMLDocument.cpp:
  28282. (WebCore::HTMLDocument::createElement): Check validity before calling isLower, since
  28283. that takes care of the null string case.
  28284. 2008-03-31 Dan Bernstein <mitz@apple.com>
  28285. Reviewed by John Sullivan.
  28286. - fix <rdar://problem/5741075> Google Maps: cursor and placemarks don't match up
  28287. * platform/win/CursorWin.cpp:
  28288. (WebCore::Cursor::Cursor): Set the 1-bit mask for full-alpha cursors
  28289. to fully opaque. The mask is ignored and the alpha values from the
  28290. 32-bit image are used except in the case of a fully-transparent image,
  28291. in which the fully-opaque 1-bit mask is required to get transparency.
  28292. 2008-03-31 Brady Eidson <beidson@apple.com>
  28293. Reviewed by Jon Honeycutt
  28294. Move a WebArchive loading check into WebCore
  28295. * loader/FrameLoader.cpp:
  28296. (WebCore::FrameLoader::committedLoad): Don't call the client method if currently loading a WebArchive
  28297. 2008-03-31 Brady Eidson <beidson@apple.com>
  28298. Reviewed by Oliver Hunt
  28299. "Turn on" WebArchives for Windows
  28300. Thought I'd done this already, but I hadn't!
  28301. * platform/MIMETypeRegistry.cpp:
  28302. (WebCore::initializeSupportedNonImageMimeTypes): Apply known ArchiveFactory MIME types
  28303. 2008-03-31 Dan Bernstein <mitz@apple.com>
  28304. Reviewed by Dave Hyatt.
  28305. - fix http://bugs.webkit.org/show_bug.cgi?id=18076
  28306. Box disappears after CSS Transition completes
  28307. * page/AnimationController.cpp: Changed the BLEND_MAYBE_INVALID_COLOR
  28308. macro to not blend two invalid colors.
  28309. * rendering/RenderStyle.cpp:
  28310. (WebCore::StyleBackgroundData::StyleBackgroundData): Added missing
  28311. copying of the m_color data member.
  28312. 2008-03-31 Julien Chaffraix <jchaffraix@webkit.org>
  28313. Reviewed by Darin.
  28314. Bug 18177: m_encoding is used twice in XMLHttpRequest
  28315. http://bugs.webkit.org/show_bug.cgi?id=18177
  28316. - Change XMLHttpRequest variable m_encoding to m_responseEncoding.
  28317. - Change send local variable m_encoding to encoding.
  28318. No test case (no functionnal change).
  28319. * platform/network/ResourceResponseBase.h: Removed unused variable.
  28320. * xml/XMLHttpRequest.cpp:
  28321. (WebCore::XMLHttpRequest::send): Changed local m_encoding to encoding.
  28322. (WebCore::XMLHttpRequest::didReceiveResponse): m_encoding -> m_responseEncoding.
  28323. (WebCore::XMLHttpRequest::didReceiveData): Ditto.
  28324. * xml/XMLHttpRequest.h: Change m_encoding to m_responseEncoding to disambiguate
  28325. the name as it is only used for response.
  28326. 2008-03-27 Adam Roben <aroben@apple.com>
  28327. Pass the right ExecStates to toJS when creating JS wrappers for
  28328. objects from the inspected page
  28329. We now use an ExecState from the inspected page to create the JS
  28330. wrappers for objects from the inspected page, rather than use an
  28331. ExecState from the Inspector.
  28332. Reviewed by Tim Hatcher.
  28333. * page/InspectorController.cpp:
  28334. (WebCore::getResourceDocumentNode):
  28335. (WebCore::InspectorController::focusNode):
  28336. (WebCore::InspectorController::addDatabaseScriptResource):
  28337. 2008-03-31 Adam Roben <aroben@apple.com>
  28338. Stop relying on functions added to prototypes in the Inspector being
  28339. callable on objects from the inspected window
  28340. Reviewed by Tim Hatcher.
  28341. * page/inspector/Console.js:
  28342. (WebInspector.ConsolePanel._formatnode): Use nodeTitleInfo.call(node)
  28343. instead of node.titleInfo().
  28344. * page/inspector/StylesSidebarPane.js: Changed uses of
  28345. getShorthandValue, getShorthandPriority, getLonghandProperties, and
  28346. getUniqueStyleProperties to call them as functions instead of as
  28347. methods on the CSSStyleDeclaration objects.
  28348. * page/inspector/utilities.js: Removed Node.prototype.titleInfo, and
  28349. changed our CSSStyleDeclaration methods to just be standalone
  28350. functions.
  28351. 2008-03-26 Adam Roben <aroben@apple.com>
  28352. Fix an exception while adding a message to the console
  28353. Reviewed by Mark Rowe.
  28354. * page/inspector/ConsolePanel.js: Don't call addMessageToSource if the
  28355. panel has no such method. This can happen if we get a message for,
  28356. e.g., a Database.
  28357. 2008-03-31 Brady Eidson <beidson@apple.com>
  28358. Reviewed by Darin and Mitz's rubber stamp
  28359. Remove dataForArchivedSelection(WebCore::Frame*) from the EditorClient - only usage is now directly in WebCore
  28360. * page/EditorClient.h:
  28361. * svg/graphics/SVGImageEmptyClients.h:
  28362. * platform/mac/PasteboardMac.mm:
  28363. (WebCore::Pasteboard::writeSelection): Make the archive and get the data directly
  28364. 2008-03-31 Brady Eidson <beidson@apple.com>
  28365. Reviewed by Mitz Pettel
  28366. Fix for http://bugs.webkit.org/show_bug.cgi?id=18183
  28367. Despite the bug reporter's instructions, I have still not been able to actually reproduce this crash and
  28368. therefore don't know how to make a layout test for it.
  28369. * loader/archive/ArchiveResource.cpp:
  28370. (WebCore::ArchiveResource::response): Fix potential null dereference
  28371. 2008-03-29 Adam Roben <aroben@apple.com>
  28372. Fix Bug 18208: Acid3 test 65 takes >33ms due to plugin refreshing on
  28373. Windows
  28374. <http://bugs.webkit.org/show_bug.cgi?id=18208>
  28375. We now keep track of all the plugin paths found each time refresh() is
  28376. called. We'll only instantiate PluginPackages if there are new paths
  28377. or paths with changed timestamps since the last time refresh() was
  28378. called.
  28379. Reviewed by Darin Adler and Anders Carlsson.
  28380. * plugins/PluginDatabase.cpp:
  28381. (WebCore::PluginDatabase::refresh):
  28382. - Only instantiate PluginPackages if there is a new path or a path
  28383. with a changed timestamp since we last ran refresh().
  28384. - Cache the set of plugin paths found and their timestamps for the
  28385. next call to refresh().
  28386. - Only re-register MIME types if our set of plugins changed.
  28387. * plugins/PluginDatabase.h: Added a new member to cache plugin paths
  28388. and their timestamps.
  28389. 2008-03-29 Adam Roben <aroben@apple.com>
  28390. Separate filesystem crawling from PluginPackage instantiation
  28391. Part of Bug 18208: Acid3 test 65 takes >33ms due to plugin refreshing
  28392. on Windows
  28393. <http://bugs.webkit.org/show_bug.cgi?id=18208>
  28394. refresh() is now the only place where PluginPackages are instantiated.
  28395. refresh() now asks for a set of plugins that no longer exist on disk,
  28396. and the set of all plugin files in our plugin directories. Using these
  28397. two sets we can update our instantiated plugins without copying any
  28398. HashSets. The code in refresh() and in the platform-specific methods
  28399. to crawl the filesystem is now quite a bit simpler.
  28400. PluginDatabase now stores both a PluginSet and a HashMap that maps
  28401. plugin paths to PluginPackages. This allows us to quickly determine
  28402. whether we already have a PluginPackage instantiated for a particular
  28403. path. The new add/remove methods handle the modification of these two
  28404. collections.
  28405. A nice side effect of all this is that refresh() no longer copies any
  28406. HashSets.
  28407. Reviewed by Mitz Pettel.
  28408. * plugins/PluginDatabase.cpp:
  28409. (WebCore::PluginDatabase::refresh): Unload any plugins that have been
  28410. deleted from disk, and add any plugins that either weren't installed
  28411. last time, or have changed since last time.
  28412. (WebCore::PluginDatabase::getDeletedPlugins): Added.
  28413. (WebCore::PluginDatabase::add): Added. Returns whether or not the
  28414. PluginPackage was actually added to the database (duplicates won't be
  28415. added).
  28416. (WebCore::PluginDatabase::remove): Added.
  28417. * plugins/PluginDatabase.h:
  28418. * plugins/PluginPackage.h:
  28419. (WebCore::PluginPackage::path): Added.
  28420. (WebCore::PluginPackage::lastModified): Added.
  28421. * plugins/gtk/PluginDatabaseGtk.cpp:
  28422. (WebCore::PluginDatabase::getPluginPathsInDirectories): Renamed from
  28423. getPluginsInDirectories. Now fills a HashSet of Strings instead of
  28424. instantiated PluginPackages.
  28425. * plugins/win/PluginDatabaseWin.cpp:
  28426. (WebCore::addPluginPathsFromRegistry): Ditto.
  28427. (WebCore::PluginDatabase::getPluginPathsInDirectories): Ditto.
  28428. 2008-03-29 Adam Roben <aroben@apple.com>
  28429. Change getPluginsInDirectories to use an out parameter
  28430. This avoids copying a HashSet.
  28431. Reviewed by Mitz Pettel.
  28432. * plugins/PluginDatabase.cpp:
  28433. (WebCore::PluginDatabase::refresh):
  28434. * plugins/PluginDatabase.h:
  28435. * plugins/gtk/PluginDatabaseGtk.cpp:
  28436. (WebCore::PluginDatabase::getPluginsInDirectories):
  28437. * plugins/win/PluginDatabaseWin.cpp:
  28438. (WebCore::PluginDatabase::getPluginsInDirectories):
  28439. 2008-03-29 Adam Roben <aroben@apple.com>
  28440. Make some PluginPackage methods return const String&
  28441. Reviewed by Mitz Pettel.
  28442. * plugins/PluginPackage.h:
  28443. 2008-03-29 Adam Roben <aroben@apple.com>
  28444. Rename PluginDatabase's "PluginPaths" to "PluginDirectories"
  28445. The code expects these paths to all be directories, so it seems good
  28446. to refer to them as such.
  28447. This patch just changes "Paths" to "Directories" and "Path" to
  28448. "Directory".
  28449. Reviewed by Mitz Pettel.
  28450. * platform/qt/TemporaryLinkStubs.cpp:
  28451. * platform/wx/TemporaryLinkStubs.cpp:
  28452. * plugins/PluginDatabase.cpp:
  28453. (WebCore::PluginDatabase::installedPlugins):
  28454. (WebCore::PluginDatabase::refresh):
  28455. * plugins/PluginDatabase.h:
  28456. (WebCore::PluginDatabase::setPluginDirectories):
  28457. * plugins/gtk/PluginDatabaseGtk.cpp:
  28458. (WebCore::PluginDatabase::getPluginsInDirectories):
  28459. * plugins/win/PluginDatabaseWin.cpp:
  28460. (WebCore::PluginDatabase::getPluginsInDirectories):
  28461. (WebCore::safariPluginsDirectory):
  28462. (WebCore::PluginDatabase::defaultPluginDirectories):
  28463. (WebCore::PluginDatabase::isPreferredPluginDirectory):
  28464. * plugins/win/PluginPackageWin.cpp:
  28465. (WebCore::PluginPackage::compare):
  28466. 2008-03-29 Adam Roben <aroben@apple.com>
  28467. Remove PlatformFileTime
  28468. This typedef is time_t on all platforms, so we can just get rid of the
  28469. typedef.
  28470. Reviewed by Mitz Pettel.
  28471. * platform/FileSystem.h:
  28472. * plugins/PluginPackage.cpp:
  28473. * plugins/PluginPackage.h:
  28474. 2008-03-29 Adam Roben <aroben@apple.com>
  28475. Change PlatformFileTime on Windows to be time_t
  28476. This matches other platforms and our existing functions in
  28477. FileSystem.h. It will also let us get rid of PlatformFileTime
  28478. altogether.
  28479. Reviewed by Mitz Pettel.
  28480. * platform/FileSystem.h: Change PlatformFileTime to time_t on Windows.
  28481. * plugins/win/PluginDatabaseWin.cpp:
  28482. (WebCore::addPluginsFromRegistry): Use getFileModificationTime to get
  28483. the modification time to pass to PluginPackage::create.
  28484. (WebCore::PluginDatabase::getPluginsInPaths): Ditto.
  28485. * plugins/win/PluginPackageWin.cpp:
  28486. (WebCore::PluginPackage::hash): Updated to use m_lastModified as a
  28487. time_t.
  28488. (WebCore::PluginPackage::equal): Ditto.
  28489. 2008-03-29 Adam Roben <aroben@apple.com>
  28490. Make PluginPackage work like our other RefCounted classes
  28491. PluginPackage now starts with a ref count of 1, and its createPackage
  28492. method now returns a PassRefPtr instead of a raw pointer.
  28493. Reviewed by Darin Adler.
  28494. * plugins/PluginPackage.cpp:
  28495. (WebCore::PluginPackage::PluginPackage): Removed explicit call to the
  28496. RefCounted constructor so that we'll start with a ref count of 1.
  28497. (WebCore::PluginPackage::createPackage): Changed to return a
  28498. PassRefPtr.
  28499. * plugins/PluginPackage.h:
  28500. * plugins/gtk/PluginDatabaseGtk.cpp:
  28501. (WebCore::PluginDatabase::getPluginsInPaths): Changed to store the
  28502. newly-created PluginPackage in a RefPtr.
  28503. * plugins/win/PluginDatabaseWin.cpp:
  28504. (WebCore::addPluginsFromRegistry): Ditto.
  28505. (WebCore::PluginDatabase::getPluginsInPaths): Ditto.
  28506. 2008-03-29 Adam Roben <aroben@apple.com>
  28507. Fix Bug 18214: WebKit will sometimes load duplicate plugins
  28508. <http://bugs.webkit.org/show_bug.cgi?id=18214>
  28509. We now compare 3 things to determine if two PluginPackages are equal:
  28510. 1) Name
  28511. 2) Description
  28512. 3) Supported MIME types
  28513. This matches Gecko's equality logic for plugins (implemented in
  28514. nsPluginTag::Equals).
  28515. Reviewed by Darin Adler.
  28516. * plugins/win/PluginPackageWin.cpp:
  28517. (WebCore::PluginPackage::hash): Use the above-mentioned 3 criteria to
  28518. calculate the hash.
  28519. (WebCore::PluginPackage::equal): Use the above-mentioned 3 criteria to
  28520. determine equality.
  28521. 2008-03-31 Simon Hausmann <hausmann@webkit.org>
  28522. Fix the Qt build.
  28523. ResourceHandleInternal.h references ResourceHandle::fireFailure, so include
  28524. ResourceHandle.h.
  28525. * platform/network/ResourceHandleInternal.h:
  28526. 2008-03-31 Rob Buis <buis@kde.org>
  28527. Reviewed by Darin.
  28528. http://bugs.webkit.org/show_bug.cgi?id=15595
  28529. marker property doesn't show up correctly as "shorthand" in inspector
  28530. Make sure parsing the marker property sets the individual
  28531. marker properties as implicit with marker as shorthand.
  28532. Also let CSSStyleDecleration::getPropertyValue return
  28533. the correct value for the marker property.
  28534. * css/CSSMutableStyleDeclaration.cpp:
  28535. (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
  28536. * css/CSSParser.cpp:
  28537. * css/CSSParser.h:
  28538. (WebCore::ShorthandScope::ShorthandScope):
  28539. (WebCore::ShorthandScope::~ShorthandScope):
  28540. * css/SVGCSSParser.cpp:
  28541. (WebCore::CSSParser::parseSVGValue):
  28542. 2008-03-30 Eric Seidel <eric@webkit.org>
  28543. Reviewed by Oliver.
  28544. Make AMatthews life easier -- fix the SVG_FILTERS build
  28545. Build fix only, no tests.
  28546. * svg/SVGComponentTransferFunctionElement.cpp:
  28547. (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
  28548. * svg/SVGFEColorMatrixElement.cpp:
  28549. (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
  28550. * svg/SVGFEDiffuseLightingElement.cpp:
  28551. * svg/SVGFEGaussianBlurElement.cpp:
  28552. * svg/SVGFEImageElement.cpp:
  28553. (WebCore::SVGFEImageElement::SVGFEImageElement):
  28554. * svg/SVGFESpecularLightingElement.cpp:
  28555. * svg/SVGFETurbulenceElement.cpp:
  28556. * svg/SVGFilterElement.cpp:
  28557. * svg/SVGFilterPrimitiveStandardAttributes.cpp:
  28558. * svg/graphics/filters/SVGFEBlend.cpp:
  28559. * svg/graphics/filters/SVGFEComponentTransfer.cpp:
  28560. * svg/graphics/filters/SVGFEComposite.cpp:
  28561. * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
  28562. * svg/graphics/filters/SVGFEGaussianBlur.cpp:
  28563. * svg/graphics/filters/SVGFEImage.cpp:
  28564. * svg/graphics/filters/SVGFEMerge.cpp:
  28565. * svg/graphics/filters/SVGFEMorphology.cpp:
  28566. * svg/graphics/filters/SVGFEOffset.cpp:
  28567. * svg/graphics/filters/SVGFESpecularLighting.cpp:
  28568. * svg/graphics/filters/SVGFETurbulence.cpp:
  28569. 2008-03-30 Dan Bernstein <mitz@apple.com>
  28570. Reviewed by Sam Weinig.
  28571. - fix http://bugs.webkit.org/show_bug.cgi?id=18115
  28572. REGRESSION (r31250): Incomplete repaint of GoogleReader sidebar while reading unread posts
  28573. Test: fast/repaint/lines-with-layout-delta.html
  28574. * rendering/RenderObject.cpp:
  28575. (WebCore::RenderObject::repaintRectangle): Made this method take layout
  28576. delta into account.
  28577. 2008-03-30 Dan Bernstein <mitz@apple.com>
  28578. Reviewed by Maciej Stachowiak.
  28579. - fix assertion failure in CSSParser.cpp's equalIgnoringCase() when
  28580. parsing certain transforms.
  28581. Test: fast/css/transform-function-lowercase-assert.html
  28582. * css/CSSParser.cpp:
  28583. (WebCore::TransformOperationInfo::TransformOperationInfo): Changed to
  28584. always pass a lowercase string as the second argument of
  28585. equalIgnoringCase().
  28586. 2008-03-30 Mark Rowe <mrowe@apple.com>
  28587. ARM build fix.
  28588. * platform/text/AtomicString.cpp:
  28589. (WebCore::equal): Use correct variable name.
  28590. 2008-03-30 Hiroyuki Ikezoe <poincare@ikezoe.net>
  28591. Reviewed by Alp Toker.
  28592. http://bugs.webkit.org/show_bug.cgi?id=18036
  28593. Rendering invalid japanese characters with pango backend.
  28594. * platform/graphics/gtk/FontPlatformDataPango.cpp:
  28595. (FontPlatformData::FontPlatformData): Set PangoFontDescription for
  28596. PangoContext explicitly to use proper font.
  28597. 2008-03-30 Rob Buis <buis@kde.org>
  28598. Reviewed by Oliver.
  28599. http://bugs.webkit.org/show_bug.cgi?id=17633
  28600. SVG: modifying x & y attribute of text element from JS fails
  28601. Make SVG text relayout when x, y attribute is changed from js.
  28602. * svg/SVGTextContentElement.cpp:
  28603. (WebCore::SVGTextContentElement::isKnownAttribute):
  28604. * svg/SVGTextContentElement.h:
  28605. * svg/SVGTextElement.cpp:
  28606. (WebCore::SVGTextElement::svgAttributeChanged):
  28607. * svg/SVGTextElement.h:
  28608. * svg/SVGTextPositioningElement.cpp:
  28609. (WebCore::SVGTextPositioningElement::isKnownAttribute):
  28610. * svg/SVGTextPositioningElement.h:
  28611. 2008-03-28 Maciej Stachowiak <mjs@apple.com>
  28612. Reviewed by Oliver.
  28613. - yet still more bindings speedup
  28614. Make AtomicString straight from UString in handcoded bindings
  28615. * bindings/js/JSElementCustom.cpp:
  28616. (WebCore::JSElement::setAttribute):
  28617. (WebCore::JSElement::setAttributeNS):
  28618. * dom/Document.cpp:
  28619. (WebCore::Document::createElement):
  28620. * dom/Document.h:
  28621. * html/HTMLDocument.cpp:
  28622. (WebCore::HTMLDocument::createElement):
  28623. * html/HTMLDocument.h:
  28624. 2008-03-29 Sam Weinig <sam@webkit.org>
  28625. Reviewed by Darin Adler.
  28626. Fix for <rdar://problem/5828873>
  28627. Since NSURL is allowing invalid urls to be loaded, we need to
  28628. check the URL validity at the ResourceHandle level and fire off
  28629. a cannotShowURL error.
  28630. * loader/FrameLoader.cpp:
  28631. (WebCore::FrameLoader::cannotShowURLError):
  28632. * loader/FrameLoader.h:
  28633. * loader/ResourceLoader.cpp:
  28634. (WebCore::ResourceLoader::cannotShowURLError):
  28635. (WebCore::ResourceLoader::wasBlocked):
  28636. (WebCore::ResourceLoader::cannotShowURL):
  28637. * loader/ResourceLoader.h:
  28638. * platform/KURL.h:
  28639. (WebCore::KURL::isValid):
  28640. * platform/network/ResourceHandle.cpp:
  28641. (WebCore::ResourceHandle::create):
  28642. (WebCore::ResourceHandle::scheduleFailure):
  28643. (WebCore::ResourceHandle::fireFailure):
  28644. (WebCore::portAllowed):
  28645. * platform/network/ResourceHandle.h:
  28646. (WebCore::ResourceHandle::):
  28647. * platform/network/ResourceHandleClient.h:
  28648. (WebCore::ResourceHandleClient::cannotShowURL):
  28649. * platform/network/ResourceHandleInternal.h:
  28650. (WebCore::ResourceHandleInternal::ResourceHandleInternal):
  28651. 2008-03-29 Darin Adler <darin@apple.com>
  28652. Reviewed by Mitz.
  28653. - more bindings speedup
  28654. When I changed the temporary variables to be UString that means that the
  28655. valueToString functions also need to return UString to avoid converting
  28656. from UString to String twice.
  28657. * bindings/js/kjs_binding.cpp:
  28658. (WebCore::valueToStringWithNullCheck): Changed return value to UString.
  28659. (WebCore::valueToStringWithUndefinedOrNullCheck): Ditto.
  28660. * bindings/js/kjs_binding.h: Ditto.
  28661. 2008-03-29 Darin Adler <darin@apple.com>
  28662. Reviewed by Sam.
  28663. * DerivedSources.make: Removed temporary remove-stray-JSRGBColor build rule.
  28664. 2008-03-29 Darin Adler <darin@apple.com>
  28665. Reviewed by Sam.
  28666. - tweak handling of the class attribute to speed up code that
  28667. sets it but never needs to parse it
  28668. 6% speedup of Acid3 test 26
  28669. * css/CSSStyleSelector.cpp:
  28670. (WebCore::CSSStyleSelector::matchRules): Change to use non-virtual
  28671. classNames function since the hasClass bit can only be set for a
  28672. StyledElement.
  28673. (WebCore::CSSStyleSelector::checkOneSelector): Ditto. Also
  28674. streamlined the code a bit for the tag matching as well.
  28675. * dom/ClassNames.cpp:
  28676. (WebCore::hasNonASCIIOrUpper): Added. This function does what other
  28677. callers seem to want isLower() to do. We should merge this with
  28678. isLower() in a subsequent cleanup pass.
  28679. (WebCore::ClassNamesData::createVector): Renamed from parseClassAttribute.
  28680. Turns the string into a vector.
  28681. (WebCore::ClassNamesData::containsAll): Added. Used by getElementsByClassName.
  28682. * dom/ClassNames.h: Added a separate ClassNameData class so we could hold
  28683. the string and case folding flag as well as the vector. Changed ClassNames
  28684. to have a set function rather than a parseClassAttribute function. Removed
  28685. the "static" from isClassWhitespace. There's no reason to ask for internal linkage.
  28686. * dom/ClassNodeList.cpp:
  28687. (WebCore::ClassNodeList::ClassNodeList): Use constructor instead of the
  28688. parseClassAttribute function.
  28689. (WebCore::ClassNodeList::nodeMatches): Get rid of unnneeded isElementNode
  28690. check, since hasClass will only be true for StyledElement nodes. Use the new
  28691. containsAll function in ClassNames instead of having a loop here.
  28692. * dom/ClassNodeList.h: Removed unneeded forward declaration.
  28693. * dom/Document.cpp: Removed unneeded include.
  28694. * dom/Element.cpp:
  28695. (WebCore::Element::cloneNode): Changed code to copy attributes to use a
  28696. function call instead of the assignment operator. This paves the way to
  28697. making the function more efficient, using a virtual function.
  28698. (WebCore::Element::setAttributeMap): Updated for PassRefPtr and for name change
  28699. (element -> m_element).
  28700. (WebCore::Element::createAttributeMap): Changed to use create function instead of
  28701. calling the constructor directly.
  28702. * dom/Element.h: Removed unneeded virtual getClassNames function.
  28703. Changed the argument to setAttributeMap to be a PassRefPtr.
  28704. * dom/NamedAttrMap.cpp:
  28705. (WebCore::NamedAttrMap::NamedAttrMap): Updated for name change (element -> m_element).
  28706. (WebCore::NamedAttrMap::getNamedItem): Ditto.
  28707. (WebCore::NamedAttrMap::removeNamedItem): Ditto.
  28708. (WebCore::NamedAttrMap::setNamedItem): Ditto.
  28709. (WebCore::NamedAttrMap::item): Ditto.
  28710. (WebCore::NamedAttrMap::detachFromElement): Ditto.
  28711. (WebCore::NamedAttrMap::setAttributes): Renamed this from the assignment operator.
  28712. (WebCore::NamedAttrMap::addAttribute): Ditto.
  28713. (WebCore::NamedAttrMap::removeAttribute): Ditto.
  28714. (WebCore::NamedAttrMap::isReadOnlyNode): Ditto.
  28715. * dom/NamedAttrMap.h: Removed the copy constructor and assignment operator and added
  28716. a new function, setAttributes, possibly to be made virtual in the future. Made
  28717. isReadOnlyNode non-virtual. Renamed element -> m_element. Made constructor protected
  28718. and added a create function.
  28719. * dom/NamedMappedAttrMap.cpp:
  28720. (WebCore::NamedMappedAttrMap::NamedMappedAttrMap): Changed constructor parameter to
  28721. take a StyledElement.
  28722. (WebCore::NamedMappedAttrMap::setClass): Changed to use the new set function.
  28723. * dom/NamedMappedAttrMap.h: Made constructor private and added a create function.
  28724. Replaced theparseClassAttribute function with clearClass and setClass functions.
  28725. Replaced the getClassNames function with a classNames function returning a reference
  28726. instead of a pointer.
  28727. * dom/NamedNodeMap.h: Changed to start refcount at 1 instead of 0. Removed unneeded
  28728. virtual function isReadOnlyNode.
  28729. * dom/StyledElement.cpp:
  28730. (WebCore::StyledElement::parseMappedAttribute): Rewrote class attribute handling to
  28731. use new function names and took out uneeded special case for null attribute.
  28732. (WebCore::StyledElement::createAttributeMap): Changed to use create function instead
  28733. of a direct call to new.
  28734. * dom/StyledElement.h: Replaced the virtual getClassNames function with a non-virtual
  28735. inline classNames function.
  28736. * html/HTMLElement.cpp:
  28737. (WebCore::HTMLElement::cloneNode): Changed code to copy attributes to use a
  28738. function call instead of the assignment operator.
  28739. * html/HTMLTokenizer.cpp:
  28740. (WebCore::Token::addAttribute): Use create function instead of a a direct call
  28741. to new.
  28742. * html/HTMLViewSourceDocument.cpp:
  28743. (WebCore::HTMLViewSourceDocument::createContainingTable): Use RefPtr and the new
  28744. create function.
  28745. (WebCore::HTMLViewSourceDocument::addViewSourceToken): Ditto.
  28746. (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Ditto.
  28747. (WebCore::HTMLViewSourceDocument::addLine): Ditto.
  28748. (WebCore::HTMLViewSourceDocument::addText): Ditto.
  28749. (WebCore::HTMLViewSourceDocument::addLink): Ditto.
  28750. * html/HTMLViewSourceDocument.h: Ditto.
  28751. * svg/SVGUseElement.cpp:
  28752. (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Changed code to copy
  28753. attributes to use a function call instead of the assignment operator.
  28754. (WebCore::SVGUseElement::transferUseAttributesToReplacedElement): Ditto.
  28755. 2008-03-29 Sam Weinig <sam@webkit.org>
  28756. Reviewed by Brady Eidson.
  28757. Fix crash when canceling a resource load while port blocked failure
  28758. timer is going.
  28759. Test: fast/loader/cancel-load-during-port-block-timer.html
  28760. * platform/network/ResourceHandle.cpp:
  28761. (WebCore::ResourceHandle::scheduleBlockedFailure):
  28762. (WebCore::ResourceHandle::fireBlockedFailure):
  28763. * platform/network/ResourceHandleInternal.h:
  28764. (WebCore::ResourceHandleInternal::ResourceHandleInternal):
  28765. Make the Timer a member variable of ResourceHandleInternal so
  28766. that it can be canceled if the ResourceHandle is destroyed.
  28767. 2008-03-28 Stephanie <slewis@apple.com>
  28768. Fix 64bit build
  28769. * WebCore.LP64.exp:
  28770. * loader/archive/cf/LegacyWebArchiveMac.mm:
  28771. (WebCore::createResourceResponseFromMacArchivedData):
  28772. 2008-03-28 Steve Falkenburg <sfalken@apple.com>
  28773. Enabled LTCG on files within "page".
  28774. Rubber stamped by Oliver.
  28775. * WebCore.vcproj/WebCore.vcproj:
  28776. 2008-03-28 Dan Bernstein <mitz@apple.com>
  28777. Reviewed by Dave Hyatt.
  28778. - fix a percentage background position regression from r31389
  28779. Test: fast/backgrounds/background-position-1.html
  28780. * rendering/Length.h:
  28781. (WebCore::Length::calcValue): Divide by 100.
  28782. (WebCore::Length::calcMinValue): Ditto.
  28783. 2008-03-28 David Hyatt <hyatt@apple.com>
  28784. Back out the Ahem font antialiasing hack, since it is now no longer required for LCD antialiased text
  28785. to match the reference rendering on Acid 3.
  28786. * platform/graphics/SimpleFontData.h:
  28787. * platform/graphics/mac/FontMac.mm:
  28788. (WebCore::Font::drawGlyphs):
  28789. * platform/graphics/mac/SimpleFontDataMac.mm:
  28790. (WebCore::SimpleFontData::platformInit):
  28791. * platform/graphics/win/FontCGWin.cpp:
  28792. (WebCore::Font::drawGlyphs):
  28793. * platform/graphics/win/SimpleFontDataCGWin.cpp:
  28794. (WebCore::SimpleFontData::platformInit):
  28795. * rendering/RenderBlock.cpp:
  28796. (WebCore::RenderBlock::positionNewFloats):
  28797. 2008-03-28 Brady Eidson <beidson@apple.com>
  28798. Reviewed by Darin Adler
  28799. More Kit->Core WebArchive changes.
  28800. Create an archive from the current selection in a frame
  28801. * WebCore.base.exp:
  28802. * loader/archive/cf/LegacyWebArchive.cpp:
  28803. (WebCore::LegacyWebArchive::createFromSelection):
  28804. * loader/archive/cf/LegacyWebArchive.h:
  28805. 2008-03-28 Kevin McCullough <kmccullough@apple.com>
  28806. - Somehow managed to duplicate code :(
  28807. * xml/XMLHttpRequest.cpp:
  28808. (WebCore::XMLHttpRequest::didFinishLoading):
  28809. 2008-03-28 Kevin McCullough <kmccullough@apple.com>
  28810. - Missed some changes in previous checkin.
  28811. * xml/XMLHttpRequest.cpp:
  28812. (WebCore::XMLHttpRequest::send): Get identifier from synchronous loader.
  28813. (WebCore::XMLHttpRequest::didFinishLoading):
  28814. 2008-03-28 Kevin McCullough <kmccullough@apple.com>
  28815. Reviewed by Adam.
  28816. -<rdar://problem/5712804> XMLHttpRequests do not show response contents, preview images (14313)
  28817. -<rdar://problem/5712931> XMLHttpRequests should be shown separately and grouped (14315)
  28818. -<rdar://problem/5732836> XMLHttpRequest: Inspector should show network activity/XHR in Console (17233)
  28819. - Send the XMLHttpRequest data to the Inspector Controller.
  28820. * loader/FrameLoader.cpp: Return the identifier for this resource since we need it in the XHR case.
  28821. (WebCore::FrameLoader::loadResourceSynchronously):
  28822. * loader/FrameLoader.h: Ditto.
  28823. * page/InspectorController.cpp:
  28824. (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): We only need the data since the type will
  28825. be XHR and the encoding is not used (we decoded earlier).
  28826. (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource): Locking is necessary when setting and clearing
  28827. the KJS::UString::Rep.
  28828. (WebCore::InspectorResource::setXMLHttpRequestProperties):
  28829. (WebCore::InspectorResource::sourceString): Return the decoded source.
  28830. (WebCore::addSourceToFrame): No longer do the decoding here, it has been encapsulated in the InspectorResource.
  28831. (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
  28832. * page/InspectorController.h: Pass a UString instead of copying to a WebCore::String. In case we
  28833. never ask for the string's contents this will save us an extra copy.
  28834. * xml/XMLHttpRequest.cpp:
  28835. (WebCore::XMLHttpRequest::send): In the synchronous load case we normally do not keep the identifier
  28836. but we need it to find the InspectorResource in order to tell it that it was loaded via XHR.
  28837. (WebCore::XMLHttpRequest::didFinishLoading): Tell the InspectorController that its resource was loaded
  28838. via XHR.
  28839. * xml/XMLHttpRequest.h: Ditto.
  28840. 2008-03-28 Brady Eidson <beidson@apple.com>
  28841. Reviewed by Sam Weinig
  28842. WebArchive saga continues - Can now make archives from ranges in WebCore
  28843. Again, previous layout test coverage exercised this code
  28844. * WebCore.base.exp:
  28845. * editing/markup.cpp:
  28846. (WebCore::createFullMarkup): Added a "markup from range" variant that copies the previous WebKit implementation
  28847. * editing/markup.h:
  28848. * loader/archive/cf/LegacyWebArchive.cpp:
  28849. (WebCore::LegacyWebArchive::create):
  28850. * loader/archive/cf/LegacyWebArchive.h:
  28851. 2008-03-28 Stephanie Lewis <slewis@apple.com>
  28852. windows build fix.
  28853. * platform/win/MainThreadWin.cpp:
  28854. (WebCore::initializeThreadingAndMainThread):
  28855. 2008-03-28 Brady Eidson <beidson@apple.com>
  28856. Reviewed by Sam Weinig
  28857. More Kit->Core webarchive code movement
  28858. * WebCore.base.exp:
  28859. * editing/markup.cpp:
  28860. (WebCore::createFullMarkup): Replacement for [DOMNode markupString], creating full markup at this node including
  28861. the document type string, which the WebKit implementation did indirectly
  28862. * editing/markup.h:
  28863. 2008-03-28 Darin Adler <darin@apple.com>
  28864. Reviewed by Maciej.
  28865. - cut down on copying and refcount churn a little by using references a bit more for
  28866. KURL and String
  28867. * bindings/js/JSXMLHttpRequest.cpp:
  28868. (WebCore::jsXMLHttpRequestPrototypeFunctionOpen): Use const KURL& instead of KURL.
  28869. * css/StyleSheet.h:
  28870. (WebCore::StyleSheet::href): Return const String& instead of String.
  28871. (WebCore::StyleSheet::title): Ditto.
  28872. * dom/Document.cpp:
  28873. (WebCore::Document::completeURL): Use const KURL* for a local variable instead of
  28874. KURL to avoid copying the KURL.
  28875. * dom/Element.cpp:
  28876. (WebCore::Element::baseURI): Use const KURL& instead of KURL.
  28877. * html/HTMLAnchorElement.cpp:
  28878. (WebCore::HTMLAnchorElement::hostname): Ditto.
  28879. * html/HTMLFrameElementBase.cpp:
  28880. (WebCore::HTMLFrameElementBase::isURLAllowed): Ditto.
  28881. * html/HTMLKeygenElement.cpp: Removed unneeded include of KURL.
  28882. * page/ContextMenuController.cpp:
  28883. (WebCore::ContextMenuController::contextMenuItemSelected): Get rid of temporary
  28884. KURL.
  28885. * platform/SecurityOrigin.cpp:
  28886. (WebCore::SecurityOrigin::createForFrame): Use const KURL& instead of KURL.
  28887. 2008-03-28 Alexey Proskuryakov <ap@webkit.org>
  28888. Reviewed by Sam Weinig.
  28889. Fix a dtoa thread safety issue.
  28890. * ForwardingHeaders/kjs/InitializeThreading.h: Added.
  28891. * platform/MainThread.cpp:
  28892. * platform/MainThread.h:
  28893. (WebCore::initializeThreadingAndMainThread): Call KJS::initializeThreading instead of its
  28894. WTF counterpart.
  28895. 2008-03-28 Brent Fulgham <bfulgham@gmail.com>
  28896. Reviewed by Maciej, landed by Brady
  28897. Correct build regression (http://bugs.webkit.org/show_bug.cgi?id=18148)
  28898. * platform/graphics/win/GraphicsContextCairoWin.cpp:
  28899. (WebCore::GraphicsContext::getWindowsContext):
  28900. (WebCore::GraphicsContext::releaseWindowsContext):
  28901. 2008-03-28 Brady Eidson <beidson@apple.com>
  28902. Reviewed by Darin
  28903. "Yet another transitional step" to empty out WebKit-based code for archiving.
  28904. With this patch, the key operation of "Creating a WebArchive rooted at a single Node" takes place
  28905. entirely within WebCore, and opens the door to saving WebArchives on Windows.
  28906. This is another "zero behavior change" patch, and current editing/ and webarchive/ layout tests
  28907. covered the relevant code
  28908. * WebCore.base.exp:
  28909. * loader/archive/cf/LegacyWebArchive.cpp:
  28910. (WebCore::LegacyWebArchive::create):
  28911. * loader/archive/cf/LegacyWebArchive.h:
  28912. 2008-03-28 Jasper Bryant-Greene <jasper@unix.geek.nz>
  28913. Reviewed by Alp Toker.
  28914. http://bugs.webkit.org/show_bug.cgi?id=18061
  28915. PlatformScrollBarGtk attempts to allocate negative width and/or height for widgets
  28916. Missing clampNegativeToZero() call meant that we tried to allocate widgets with negative width and/or height.
  28917. * platform/gtk/PlatformScrollBarGtk.cpp:
  28918. (PlatformScrollbar::geometryChanged):
  28919. 2008-03-28 Brady Eidson <beidson@apple.com>
  28920. Reviewed by Darin
  28921. Using convertUTF16ToUTF8() from WTF, add a helper function that gives you a UTF8 SharedBuffer
  28922. created from a String.
  28923. * ForwardingHeaders/wtf/unicode/UTF8.h: Added.
  28924. * platform/text/PlatformString.h:
  28925. * platform/text/String.cpp:
  28926. (WebCore::utf8Buffer):
  28927. 2008-03-28 Darin Adler <darin@apple.com>
  28928. Reviewed by Adam.
  28929. - eliminate a tiny bit of unnecessary refcount churn
  28930. * bindings/js/JSEventTargetBase.cpp:
  28931. (WebCore::eventNameForPropertyToken): Return const AtomicString&.
  28932. * bindings/js/JSEventTargetBase.h:
  28933. (WebCore::JSEventTargetBase::getValueProperty): Update for above change.
  28934. (WebCore::JSEventTargetBase::putValueProperty): Ditto.
  28935. 2008-03-28 Simon Hausmann <hausmann@webkit.org>
  28936. Fix the Qt build.
  28937. * rendering/Length.h: Include wtf/MathExtras.h for round().
  28938. 2008-03-28 David Hyatt <hyatt@apple.com>
  28939. Fix a bug where background-position truncates instead of rounding when it evaluates to fractional
  28940. pixel values. This matches other browsers.
  28941. Reviewed by maciej
  28942. Added fast/backgrounds/background-position-rounding.html
  28943. * rendering/Length.h:
  28944. (WebCore::Length::calcValue):
  28945. (WebCore::Length::calcMinValue):
  28946. * rendering/RenderBox.cpp:
  28947. (WebCore::RenderBox::calculateBackgroundImageGeometry):
  28948. 2008-03-27 Kevin Ollivier <kevino@theolliviers.com>
  28949. wx build fix. Return a default value for operator ==
  28950. when !USE(WXGC) (not implemented in that case).
  28951. * platform/graphics/wx/AffineTransformWx.cpp:
  28952. (WebCore::AffineTransform::operator== ):
  28953. 2008-03-27 Maciej Stachowiak <mjs@apple.com>
  28954. - fix build
  28955. * svg/SVGGlyphMap.h:
  28956. (WebCore::GlyphMapNode::create):
  28957. 2008-03-27 Brady Eidson <beidson@apple.com>
  28958. Forgot a small requested change before committing
  28959. * loader/DocumentLoader.cpp:
  28960. (WebCore::DocumentLoader::mainResource):
  28961. 2008-03-27 Brady Eidson <beidson@apple.com>
  28962. Reviewed by Adam Roben
  28963. Move [WebDataSource mainResource] and [WebDataSource subresources] down into WebCore
  28964. as the push to core-ify WebArchives continues.
  28965. This patch also introduces a behavior change. WebCore allows ArchiveResources with null or empty data.
  28966. WebKit has had the inexplicable distinction of allowing empty Data in a WebResource, but not null.
  28967. Since WebResource is API, I decided to leave it be to avoid a behavior change. But internally created resources
  28968. (as in "while archiving a page") are accepting of null or empty data.
  28969. This actually fixes a bug where not all subframes are archived, and resulted in a layout test change.
  28970. * WebCore.base.exp:
  28971. * loader/DocumentLoader.cpp:
  28972. (WebCore::DocumentLoader::archiveResourceForURL): Make this const
  28973. (WebCore::DocumentLoader::mainResource):
  28974. (WebCore::DocumentLoader::subresource): Make this const and relocate
  28975. (WebCore::DocumentLoader::getSubresources):
  28976. * loader/DocumentLoader.h:
  28977. 2008-03-27 Maciej Stachowiak <mjs@apple.com>
  28978. Reviewed by Darin.
  28979. - fixed many buildbot leaks in glyph map code
  28980. * svg/SVGGlyphMap.h:
  28981. (WebCore::GlyphMapNode::create): Use explicit create pattern, to avoid overreffing and therefore leaking
  28982. these objects.
  28983. (WebCore::SVGGlyphMap::add): Call create instead of using new.
  28984. 2008-03-27 Maciej Stachowiak <mjs@apple.com>
  28985. Rubber stamped by Oliver.
  28986. - re-fix Acid3, some code was incorrectly moved when fixing the Qt build
  28987. * rendering/SVGRootInlineBox.cpp:
  28988. (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
  28989. 2008-03-27 Simon Hausmann <hausmann@webkit.org>
  28990. Fix compilation against Qt 4.4 and one missing SVG_FONTS #ifdef.
  28991. * platform/graphics/qt/FontQt.cpp:
  28992. (WebCore::Font::floatWidth): Forgot to adjust this signture for Qt 4.4.
  28993. * bindings/js/JSSVGElementWrapperFactory.cpp: Added a missing #ifdef
  28994. for SVG_FONTS
  28995. 2008-03-27 Simon Hausmann <hausmann@webkit.org>
  28996. Reviewed by Eric Seidel.
  28997. Fix the Qt build and the build without ENABLE(SVG_FONTS)
  28998. * WebCore.pro: Removed ElementTimeControl.idl as it's ObjC only and
  28999. removed some SVG_FONTS specific idl files from IDL_BINDINGS for now
  29000. * bindings/js/JSSVGElementWrapperFactory.cpp: altGlyph is
  29001. ENABLE(SVG_FONTS) only
  29002. * platform/graphics/qt/FontQt.cpp:
  29003. (WebCore::Font::floatWidth): Adjust the function signature to Font.h
  29004. * rendering/SVGRootInlineBox.cpp:
  29005. (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): Fix
  29006. compilation without SVG_FONTS
  29007. * svg/SVGAltGlyphElement.cpp: Compile only if ENABLE(SVG_FONTS)
  29008. * svg/SVGAltGlyphElement.h: Ditto
  29009. * svg/svgtags.in: hkern and altGlyph are SVG_FONTS only.
  29010. * svg/SVGTSpanElement.cpp:
  29011. (WebCore::SVGTSpanElement::childShouldCreateRenderer): Compile without
  29012. SVG_FONTS
  29013. * svg/SVGTextElement.cpp:
  29014. (WebCore::SVGTextElement::childShouldCreateRenderer): Ditto
  29015. * svg/SVGTextPathElement.cpp:
  29016. (WebCore::SVGTextPathElement::childShouldCreateRenderer):
  29017. 2008-03-26 Timothy Hatcher <timothy@apple.com>
  29018. Rename some Inspector files to facilitate the up-coming UI refresh changes.
  29019. http://bugs.webkit.org/show_bug.cgi?id=17773
  29020. Rubber-stamped by Adam Roben.
  29021. * WebCore.vcproj/WebCore.vcproj:
  29022. * page/inspector/Console.js: Copied from page/inspector/ConsolePanel.js.
  29023. * page/inspector/ConsolePanel.js: Removed.
  29024. * page/inspector/DocumentPanel.js: Removed.
  29025. * page/inspector/ElementsPanel.js: Copied from page/inspector/DocumentPanel.js.
  29026. * page/inspector/FontPanel.js: Removed.
  29027. * page/inspector/FontView.js: Copied from page/inspector/FontPanel.js.
  29028. * page/inspector/ImagePanel.js: Removed.
  29029. * page/inspector/ImageView.js: Copied from page/inspector/ImagePanel.js.
  29030. * page/inspector/NetworkPanel.js: Removed.
  29031. * page/inspector/ResourcePanel.js: Removed.
  29032. * page/inspector/ResourceView.js: Copied from page/inspector/ResourcePanel.js.
  29033. * page/inspector/ResourcesPanel.js: Copied from page/inspector/NetworkPanel.js.
  29034. * page/inspector/SourcePanel.js: Removed.
  29035. * page/inspector/SourceView.js: Copied from page/inspector/SourcePanel.js.
  29036. * page/inspector/WebKit.qrc:
  29037. * page/inspector/inspector.html:
  29038. 2008-03-26 Steve Falkenburg <sfalken@apple.com>
  29039. Enable LTCG on css, dom files in WebCore
  29040. Reviewed by Stephanie.
  29041. * WebCore.vcproj/WebCore.vcproj:
  29042. 2008-03-26 Stephanie Lewis <slewis@apple.com>
  29043. Fix Windows Build
  29044. * WebCore.vcproj/WebCore.vcproj:
  29045. 2008-03-26 Mark Rowe <mrowe@apple.com>
  29046. Speculative GTK build fix.
  29047. * GNUmakefile.am:
  29048. 2008-03-26 Mark Rowe <mrowe@apple.com>
  29049. Mac build fix.
  29050. * WebCore.base.exp: Remove nonexistent symbol from the export file.
  29051. 2008-03-26 Sam Weinig <sam@webkit.org>
  29052. Try and fix Gtk+ again.
  29053. * GNUmakefile.am:
  29054. 2008-03-26 Dan Bernstein <mitz@apple.com>
  29055. Reviewed by Dave Hyatt.
  29056. - fix <rdar://problem/5816522> REGRESSION (r30111-30112): Tahoe web cam website has some text in Chinese or japanese
  29057. * html/HTMLParser.cpp:
  29058. (WebCore::HTMLParser::insertNode): Added call to beginParsingChildren()
  29059. on the new node.
  29060. (WebCore::HTMLParser::handleError): Ditto.
  29061. (WebCore::HTMLParser::reopenResidualStyleTags): Ditto.
  29062. (WebCore::HTMLParser::pushBlock): Removed incorrect call to
  29063. beginParsingChildren() on the current node.
  29064. * manual-tests/applet-finish-parsing-children.html: Added.
  29065. * manual-tests/resources/DrawMessage.class: Added.
  29066. 2008-03-26 Brady Eidson <beidson@apple.com>
  29067. Reviewed by Darin
  29068. When we create a WebArchive, we walk every node from some starting point, asking each node
  29069. along the way "What are your subresource URLs?"
  29070. That logic is currently in DOMNode in WebKitMac - this patch moves that ability down into
  29071. WebCore::Node
  29072. * WebCore.base.exp:
  29073. * dom/Node.cpp:
  29074. (WebCore::Node::getSubresourceURLs):
  29075. (WebCore::Node::getSubresourceAttributeStrings): Virtual and empty. Subclasses of Node that have
  29076. subresources will override it.
  29077. * dom/ProcessingInstruction.cpp:
  29078. (WebCore::ProcessingInstruction::getSubresourceAttributeStrings):
  29079. * dom/ProcessingInstruction.h:
  29080. * html/HTMLBodyElement.cpp:
  29081. (WebCore::HTMLBodyElement::getSubresourceAttributeStrings):
  29082. * html/HTMLBodyElement.h:
  29083. * html/HTMLEmbedElement.cpp:
  29084. (WebCore::HTMLEmbedElement::getSubresourceAttributeStrings):
  29085. * html/HTMLEmbedElement.h:
  29086. * html/HTMLImageElement.cpp:
  29087. (WebCore::HTMLImageElement::getSubresourceAttributeStrings):
  29088. * html/HTMLImageElement.h:
  29089. * html/HTMLInputElement.cpp:
  29090. (WebCore::HTMLInputElement::getSubresourceAttributeStrings):
  29091. * html/HTMLInputElement.h:
  29092. * html/HTMLLinkElement.cpp:
  29093. (WebCore::HTMLLinkElement::getSubresourceAttributeStrings):
  29094. * html/HTMLLinkElement.h:
  29095. * html/HTMLObjectElement.cpp:
  29096. (WebCore::HTMLObjectElement::getSubresourceAttributeStrings):
  29097. * html/HTMLObjectElement.h:
  29098. * html/HTMLParamElement.cpp:
  29099. (WebCore::HTMLParamElement::getSubresourceAttributeStrings):
  29100. * html/HTMLParamElement.h:
  29101. * html/HTMLScriptElement.cpp:
  29102. (WebCore::HTMLScriptElement::getSubresourceAttributeStrings):
  29103. * html/HTMLScriptElement.h:
  29104. * html/HTMLTableCellElement.cpp:
  29105. (WebCore::HTMLTableCellElement::getSubresourceAttributeStrings):
  29106. * html/HTMLTableCellElement.h:
  29107. * html/HTMLTableElement.cpp:
  29108. (WebCore::HTMLTableElement::getSubresourceAttributeStrings):
  29109. * html/HTMLTableElement.h:
  29110. * svg/SVGCursorElement.cpp:
  29111. (WebCore::SVGCursorElement::getSubresourceAttributeStrings):
  29112. * svg/SVGCursorElement.h:
  29113. * svg/SVGFEImageElement.cpp:
  29114. (WebCore::SVGFEImageElement::getSubresourceAttributeStrings):
  29115. * svg/SVGFEImageElement.h:
  29116. * svg/SVGImageElement.cpp:
  29117. (WebCore::SVGImageElement::getSubresourceAttributeStrings):
  29118. * svg/SVGImageElement.h:
  29119. * svg/SVGScriptElement.cpp:
  29120. (WebCore::SVGScriptElement::getSubresourceAttributeStrings):
  29121. * svg/SVGScriptElement.h:
  29122. 2008-03-26 Dan Bernstein <mitz@apple.com>
  29123. Reviewed by Dave Hyatt.
  29124. - maintain subpixel-antialiasing when drawing text with a simple shadow
  29125. * platform/graphics/mac/FontMac.mm:
  29126. (WebCore::Font::drawComplexText): If the shadow has a zero blur radius,
  29127. draw the shadow by drawing the text at an offset instead of relying on
  29128. Core Graphics shadows.
  29129. (WebCore::Font::drawGlyphs): Ditto.
  29130. * platform/graphics/win/FontCGWin.cpp:
  29131. (WebCore::Font::drawGlyphs): Ditto.
  29132. 2008-03-26 Brady Eidson <beidson@apple.com>
  29133. Reviewed by Mark Rowe
  29134. Part of the continued push to move WebArchive-related code down to WebCore, this
  29135. moves [WebDataSource subresourceForURL:] down to DocumentLoader->subresource()
  29136. * WebCore.base.exp:
  29137. * loader/DocumentLoader.cpp:
  29138. (WebCore::DocumentLoader::subresource): Create an ArchiveResource from a CachedResource if it exists
  29139. Otherwise, fallback to an ArchiveResource from the current Archive if any. Otherwise, return null
  29140. * loader/DocumentLoader.h:
  29141. * loader/archive/ArchiveResource.cpp:
  29142. (WebCore::ArchiveResource::create):
  29143. (WebCore::ArchiveResource::ArchiveResource):
  29144. * loader/archive/ArchiveResource.h:
  29145. 2008-03-26 Sam Weinig <sam@webkit.org>
  29146. Fix Gtk+ build.
  29147. * GNUmakefile.am:
  29148. 2008-03-26 Mark Rowe <mrowe@apple.com>
  29149. Rubber-stamped by Brady Eidson.
  29150. Update FEATURE_DEFINES to be consistent with the other locations in which it is defined.
  29151. * Configurations/WebCore.xcconfig:
  29152. 2008-03-26 Brent Fulgham <bfulgham@gmail.com>
  29153. Reviewed by Adam Roben.
  29154. Add necessary files and build commands to vcproj files to
  29155. build a Curl-based Windows WebKit. For details, see
  29156. http://bugs.webkit.org/show_bug.cgi?id=17985
  29157. * WebCore.vcproj/WebCore.vcproj:
  29158. 2008-03-26 Adam Roben <aroben@apple.com>
  29159. Record JS exceptions triggered by the Inspector's use of JSC
  29160. We now dump all exceptions returned from JavaScriptCore into the
  29161. Inspector's console.
  29162. The HANDLE_EXCEPTION macro records the line on which the exception was
  29163. returned. It calls a new private handleException method on
  29164. InspectorController.
  29165. Reviewed by Kevin McCullough.
  29166. * page/InspectorController.cpp:
  29167. (WebCore::InspectorController::callSimpleFunction): Made this be a
  29168. member of InspectorController so that it can call handleException.
  29169. (WebCore::addSourceToFrame): Pass the exception pointer on to inner
  29170. JSC calls, and check it after those calls return.
  29171. (WebCore::getResourceDocumentNode): Ditto.
  29172. (WebCore::search): Ditto. Also changed the name/type of an existing
  29173. exception variable to ExceptionCode ec.
  29174. (WebCore::databaseTableNames): Ditto.
  29175. (WebCore::moveByUnrestricted): Ditto.
  29176. (WebCore::InspectorController::~InspectorController): Check for and
  29177. record exceptions as we call JSC.
  29178. (WebCore::InspectorController::focusNode): Ditto.
  29179. (WebCore::InspectorController::scriptObjectReady): Ditto.
  29180. (WebCore::addHeaders): Added an exception parameter.
  29181. (WebCore::scriptObjectForRequest): Ditto.
  29182. (WebCore::scriptObjectForResponse): Ditto.
  29183. (WebCore::InspectorController::addScriptResource): Check for and
  29184. record exceptions as we call JSC.
  29185. (WebCore::InspectorController::addAndUpdateScriptResource): Ditto.
  29186. (WebCore::InspectorController::removeScriptResource): Ditto. Also
  29187. moved the call to setScriptObject to before the JSC calls so that it
  29188. will always be called even if we return early if JSC throws an
  29189. exception.
  29190. (WebCore::InspectorController::updateScriptResourceRequest): Check for
  29191. and record exceptions as we call JSC.
  29192. (WebCore::InspectorController::updateScriptResourceResponse): Ditto.
  29193. (WebCore::InspectorController::updateScriptResource): Ditto.
  29194. (WebCore::InspectorController::addDatabaseScriptResource): Ditto.
  29195. (WebCore::InspectorController::removeDatabaseScriptResource): Ditto.
  29196. Also moved the call to setScriptObject to before the JSC calls so that
  29197. it will always be called even if we return early if JSC throws an
  29198. exception.
  29199. (WebCore::InspectorController::addScriptConsoleMessage): Check for and
  29200. record exceptions as we call JSC.
  29201. (WebCore::InspectorController::handleException): Added.
  29202. * page/InspectorController.h:
  29203. 2008-03-26 Darin Adler <darin@apple.com>
  29204. Rubber stamped by Maciej.
  29205. - removed a couple log messages in error cases that are handled internally
  29206. * platform/text/TextCodecICU.cpp:
  29207. (WebCore::TextCodecICU::decode): Removed the LOG_ERROR.
  29208. * platform/text/mac/TextCodecMac.cpp:
  29209. (WebCore::TextCodecMac::decode): Ditto.
  29210. 2008-03-26 Sam Weinig <sam@webkit.org>
  29211. Reviewed by Adam Roben.
  29212. * page/Location.idl: Don't enumerate toString.
  29213. 2008-03-26 Mark Rowe <mrowe@apple.com>
  29214. Release build fix.
  29215. * rendering/SVGRootInlineBox.cpp:
  29216. (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): Initialize svgFont to zero.
  29217. 2008-03-26 Maciej Stachowiak <mjs@apple.com>
  29218. Reviewed by Hyatt and Adam.
  29219. Coded by me and Darin.
  29220. - SVG kerning support (horizontal kerning only for now since we don't do vertical text layout right yet)
  29221. Acid3 100/100
  29222. * DerivedSources.make:
  29223. * WebCore.vcproj/WebCore.vcproj:
  29224. * WebCore.xcodeproj/project.pbxproj:
  29225. * platform/graphics/Font.cpp:
  29226. (WebCore::Font::floatWidth):
  29227. (WebCore::Font::isSVGFont):
  29228. * platform/graphics/Font.h:
  29229. * rendering/SVGInlineTextBox.cpp:
  29230. (WebCore::SVGInlineTextBox::calculateGlyphWidth):
  29231. (WebCore::SVGInlineTextBox::calculateGlyphBoundaries):
  29232. * rendering/SVGInlineTextBox.h:
  29233. * rendering/SVGRootInlineBox.cpp:
  29234. (WebCore::cummulatedWidthOrHeightOfTextChunk):
  29235. (WebCore::SVGRootInlineBox::buildLayoutInformation):
  29236. (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
  29237. * rendering/SVGRootInlineBox.h:
  29238. (WebCore::LastGlyphInfo::LastGlyphInfo):
  29239. * svg/SVGFont.cpp:
  29240. (WebCore::SVGTextRunWalker::walk):
  29241. (WebCore::Font::svgFont):
  29242. (WebCore::floatWidthOfSubStringUsingSVGFont):
  29243. (WebCore::Font::floatWidthUsingSVGFont):
  29244. (WebCore::Font::drawTextUsingSVGFont):
  29245. (WebCore::Font::selectionRectForTextUsingSVGFont):
  29246. * svg/SVGFontElement.cpp:
  29247. (WebCore::SVGFontElement::invalidateGlyphCache):
  29248. (WebCore::SVGFontElement::ensureGlyphCache):
  29249. (WebCore::parseUnicodeRange):
  29250. (WebCore::parseUnicodeRangeList):
  29251. (WebCore::stringMatchesUnicodeRange):
  29252. (WebCore::matches):
  29253. (WebCore::SVGFontElement::getHorizontalKerningPairForStringsAndGlyphs):
  29254. * svg/SVGFontElement.h:
  29255. * svg/SVGGlyphElement.cpp:
  29256. (WebCore::SVGGlyphElement::insertedIntoDocument):
  29257. (WebCore::SVGGlyphElement::removedFromDocument):
  29258. * svg/SVGHKernElement.cpp: Added.
  29259. (WebCore::SVGHKernElement::SVGHKernElement):
  29260. (WebCore::SVGHKernElement::~SVGHKernElement):
  29261. (WebCore::SVGHKernElement::insertedIntoDocument):
  29262. (WebCore::SVGHKernElement::removedFromDocument):
  29263. (WebCore::SVGHKernElement::buildHorizontalKerningPair):
  29264. * svg/SVGHKernElement.h: Added.
  29265. (WebCore::SVGHorizontalKerningPair::SVGHorizontalKerningPair):
  29266. (WebCore::SVGHKernElement::rendererIsNeeded):
  29267. * svg/SVGHKernElement.idl: Added.
  29268. * svg/SVGTextContentElement.cpp:
  29269. (WebCore::cummulatedCharacterRangeLength):
  29270. (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
  29271. * svg/svgtags.in:
  29272. 2008-03-26 Sam Weinig <sam@webkit.org>
  29273. Reviewed by Adam Roben.
  29274. Autogenerate JSLocation.
  29275. * GNUmakefile.am:
  29276. * WebCore.pro:
  29277. * WebCore.vcproj/WebCore.vcproj:
  29278. * WebCore.xcodeproj/project.pbxproj:
  29279. * WebCoreSources.bkl:
  29280. Add files.
  29281. * DerivedSources.make: Add Location, remove JSLocation.lut.h
  29282. * bindings/js/JSDOMWindowBase.cpp:
  29283. (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate):
  29284. (WebCore::JSDOMWindowBase::getValueProperty):
  29285. (WebCore::JSDOMWindowBase::put):
  29286. (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
  29287. (WebCore::JSDOMWindowBase::disconnectFrame):
  29288. * bindings/js/JSDOMWindowBase.h:
  29289. Remove manuel management of the Location object.
  29290. * bindings/js/JSDOMWindowCustom.cpp:
  29291. (WebCore::JSDOMWindow::mark): Add marking of JSLocation.
  29292. (WebCore::JSDOMWindow::setLocation): Add custom setLocation as we only want to do this when
  29293. safe and we need to keep Dashboard quirks.
  29294. * bindings/js/JSDocumentCustom.cpp:
  29295. (WebCore::JSDocument::location):
  29296. Fetch the location object using the normal toJS route.
  29297. * bindings/js/JSLocation.cpp: Removed.
  29298. * bindings/js/JSLocation.h: Removed.
  29299. * bindings/js/JSLocationCustom.cpp: Added.
  29300. (WebCore::JSLocation::customGetOwnPropertySlot):
  29301. (WebCore::JSLocation::customPut):
  29302. (WebCore::JSLocation::deleteProperty):
  29303. (WebCore::JSLocation::customGetPropertyNames):
  29304. (WebCore::navigateIfAllowed):
  29305. (WebCore::JSLocation::setHref):
  29306. (WebCore::JSLocation::setProtocol):
  29307. (WebCore::JSLocation::setHost):
  29308. (WebCore::JSLocation::setHostname):
  29309. (WebCore::JSLocation::setPort):
  29310. (WebCore::JSLocation::setPathname):
  29311. (WebCore::JSLocation::setSearch):
  29312. (WebCore::JSLocation::setHash):
  29313. (WebCore::JSLocation::replace):
  29314. (WebCore::JSLocation::reload):
  29315. (WebCore::JSLocation::assign):
  29316. (WebCore::JSLocation::toString):
  29317. Setter and Functions need custom implementations as they rely on the dynamic
  29318. global object for determining the behavior of the navigation.
  29319. * history/CachedPage.cpp:
  29320. (WebCore::CachedPage::CachedPage):
  29321. (WebCore::CachedPage::restore):
  29322. (WebCore::CachedPage::clear):
  29323. * history/CachedPage.h:
  29324. Removed all the special casing for location as it should be treated like all
  29325. the other objects hanging off the window.
  29326. * page/DOMWindow.cpp:
  29327. (WebCore::DOMWindow::clear):
  29328. (WebCore::DOMWindow::location):
  29329. * page/DOMWindow.h:
  29330. (WebCore::DOMWindow::optionalLocation):
  29331. * page/DOMWindow.idl:
  29332. Add Location accessor and pointer getter for marking.
  29333. * page/Location.cpp: Added.
  29334. (WebCore::Location::Location):
  29335. (WebCore::Location::disconnectFrame):
  29336. (WebCore::Location::url):
  29337. (WebCore::Location::href):
  29338. (WebCore::Location::protocol):
  29339. (WebCore::Location::host):
  29340. (WebCore::Location::hostname):
  29341. (WebCore::Location::port):
  29342. (WebCore::Location::pathname):
  29343. (WebCore::Location::search):
  29344. (WebCore::Location::hash):
  29345. (WebCore::Location::toString):
  29346. * page/Location.h: Added.
  29347. (WebCore::Location::create):
  29348. (WebCore::Location::frame):
  29349. * page/Location.idl: Added.
  29350. 2008-03-26 David Hyatt <hyatt@apple.com>
  29351. Add support for the rendering and measurement of the <altGlyph> element in SVG. This patch brings
  29352. is half of what's needed to reach 100/100 on Acid3 and pass the test. Maciej has coded up the other half. :)
  29353. Reviewed by mjs
  29354. Added svg/custom/altGlyph.svg
  29355. * svg/SVGAltGlyphElement.cpp:
  29356. (WebCore::SVGAltGlyphElement::childShouldCreateRenderer):
  29357. (WebCore::SVGAltGlyphElement::glyphElement):
  29358. * svg/SVGAltGlyphElement.h:
  29359. * svg/SVGFont.cpp:
  29360. (WebCore::SVGTextRunWalker::walk):
  29361. * svg/SVGFontFaceElement.cpp:
  29362. (WebCore::SVGFontFaceElement::insertedIntoDocument):
  29363. * svg/SVGGlyphElement.cpp:
  29364. (WebCore::SVGGlyphElement::insertedIntoDocument):
  29365. (WebCore::SVGGlyphElement::removedFromDocument):
  29366. 2008-03-26 Adam Roben <aroben@apple.com>
  29367. Turn on SVG animation on Windows
  29368. Also touched some files to force things to rebuild/regenerate.
  29369. * WebCore.vcproj/WebCore.vcproj: Added ENABLE_SVG_ANIMATION.
  29370. * WebCore.vcproj/build-generated-files.sh: Ditto.
  29371. * bindings/scripts/CodeGenerator.pm: Touched.
  29372. * config.h: Touched.
  29373. * svg/svgtags.in: Touched.
  29374. 2008-03-26 Justin Garcia <justin.garcia@apple.com>
  29375. Reviewed by Harrison.
  29376. <rdar://problem/5820749> REGRESSION (Safari 3.1): Mail's plain text reply omits blank line following the attribution
  29377. * editing/markup.cpp:
  29378. (WebCore::createFragmentFromText): When asked to create a fragment from "Attribution:\n"
  29379. with a context from [html, 0] to [html, 0], we'd return "<html>Attribution</html><br>".
  29380. Don't enclose paragraphs in clones of the context's enclosing block if that block is the
  29381. html or body element. Currently no way to test [DOMHTMLElement createFragmentFromText:].
  29382. 2008-03-26 Antti Koivisto <antti@apple.com>
  29383. Reviewed by Anders.
  29384. http://bugs.webkit.org/show_bug.cgi?id=17077
  29385. Bug 17077: SVG SMIL animation is currently broken (and turned off) (affects Acid3 tests 75 and 76)
  29386. - enable SVG animation support.
  29387. - basic implementation of beginElement()/endElement().
  29388. Animation definitely will need more work than this, but it is a start!
  29389. * Configurations/WebCore.xcconfig:
  29390. * svg/SVGAnimationElement.cpp:
  29391. (WebCore::SVGAnimationElement::SVGAnimationElement):
  29392. (WebCore::SVGAnimationElement::updateAnimatedValueForElapsedSeconds):
  29393. (WebCore::SVGAnimationElement::beginElement):
  29394. (WebCore::SVGAnimationElement::beginElementAt):
  29395. (WebCore::SVGAnimationElement::endElement):
  29396. (WebCore::SVGAnimationElement::endElementAt):
  29397. * svg/SVGAnimationElement.h:
  29398. 2008-03-26 Mark Rowe <mrowe@apple.com>
  29399. Reviewed by David Hyatt.
  29400. Make the Ahem font antialias correctly on Acid3 on Tiger.
  29401. * WebCore.Tiger.exp:
  29402. * platform/graphics/mac/SimpleFontDataMac.mm:
  29403. (WebCore::SimpleFontData::platformInit):
  29404. * platform/mac/WebCoreSystemInterface.h:
  29405. * platform/mac/WebCoreSystemInterface.mm:
  29406. 2008-03-26 Simon Hausmann <hausmann@webkit.org>
  29407. Attempt to fix the Qt build.
  29408. * platform/text/qt/TextCodecQt.cpp: Adjust function signature.
  29409. (WebCore::TextCodecQt::decode):
  29410. * platform/text/qt/TextCodecQt.h: Ditto.
  29411. 2008-03-26 Dan Bernstein <mitz@apple.com>
  29412. Reviewed by Anders Carlsson.
  29413. - fix http://bugs.webkit.org/show_bug.cgi?id=18104
  29414. REGRESSION: LEAK: 2 InlineBox in editing/inserting/12882.html
  29415. * rendering/bidi.cpp:
  29416. (WebCore::RenderBlock::layoutInlineChildren): When deciding to ditch
  29417. old clean lines (due to changed or newly-added floats), keep the
  29418. reference to those lines so they can be properly deleted in the end,
  29419. and use a separate flag to signal that no matching should be attempted.
  29420. 2008-03-26 Mark Rowe <mrowe@apple.com>
  29421. Speculative Windows build fix.
  29422. * platform/graphics/win/SimpleFontDataCGWin.cpp:
  29423. 2008-03-25 Steve Falkenburg <sfalken@apple.com>
  29424. Turn on link-time-codegen in html and rendering related files.
  29425. Reviewed by Oliver.
  29426. * WebCore.vcproj/WebCore.vcproj:
  29427. 2008-03-26 Maciej Stachowiak <mjs@apple.com>
  29428. Reviewed by Darin.
  29429. - fixed "SVG multichar glyph matching matches longest instead of first (affects Acid3 test 79)"
  29430. http://bugs.webkit.org/show_bug.cgi?id=18118
  29431. * svg/SVGFont.cpp:
  29432. (WebCore::SVGTextRunWalker::walk):
  29433. * svg/SVGFontElement.cpp:
  29434. (WebCore::SVGFontElement::SVGFontElement):
  29435. (WebCore::SVGFontElement::addGlyphToCache):
  29436. (WebCore::SVGFontElement::removeGlyphFromCache):
  29437. (WebCore::SVGFontElement::ensureGlyphCache):
  29438. (WebCore::SVGFontElement::getGlyphIdentifiersForString):
  29439. * svg/SVGFontElement.h:
  29440. * svg/SVGGlyphElement.h:
  29441. (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
  29442. * svg/SVGGlyphMap.h: Added. New radix tree based glyph map.
  29443. (WebCore::GlyphMapNode::GlyphMapNode):
  29444. (WebCore::SVGGlyphMap::SVGGlyphMap):
  29445. (WebCore::SVGGlyphMap::add):
  29446. (WebCore::SVGGlyphMap::compareGlyphPriority):
  29447. (WebCore::SVGGlyphMap::get):
  29448. (WebCore::SVGGlyphMap::clear):
  29449. 2008-03-26 David Hyatt <hyatt@apple.com>
  29450. Fix build bustage on Tiger. Tiger will not have the bug fix.
  29451. * platform/graphics/mac/SimpleFontDataMac.mm:
  29452. (WebCore::SimpleFontData::platformInit):
  29453. * platform/graphics/win/SimpleFontDataCGWin.cpp:
  29454. (WebCore::SimpleFontData::platformInit):
  29455. 2008-03-26 David Hyatt <hyatt@apple.com>
  29456. Make the Ahem font antialias correctly on Acid3.
  29457. Reviewed by Dan
  29458. * platform/graphics/SimpleFontData.h:
  29459. * platform/graphics/mac/FontMac.mm:
  29460. (WebCore::Font::drawGlyphs):
  29461. * platform/graphics/mac/SimpleFontDataMac.mm:
  29462. (WebCore::SimpleFontData::platformInit):
  29463. * platform/graphics/win/FontCGWin.cpp:
  29464. (WebCore::Font::drawGlyphs):
  29465. * platform/graphics/win/SimpleFontDataCGWin.cpp:
  29466. (WebCore::SimpleFontData::platformInit):
  29467. 2008-03-26 Mark Rowe <mrowe@apple.com>
  29468. Fix the Mac build.
  29469. * WebCore.xcodeproj/project.pbxproj: Copy the newly generated header into the right place.
  29470. 2008-03-26 Adam Roben <aroben@apple.com>
  29471. Fix Bug 17768: REGRESSION (r30146): Inspector no longer shows elements
  29472. properties
  29473. <http://bugs.webkit.org/show_bug.cgi?id=17768>
  29474. We were throwing an exception from Object.describe because of some
  29475. undefined variables.
  29476. Reviewed by Tim Hatcher.
  29477. * page/inspector/utilities.js:
  29478. (Object.describe): Reinstate the type1 and type2 variables that were
  29479. removed in r30146. They're still used when formatting a function.
  29480. 2008-03-26 Eric Seidel <eric@webkit.org>
  29481. Reviewed by darin.
  29482. Forgot to add braces darin asked for during review.
  29483. * dom/XMLTokenizer.cpp:
  29484. (WebCore::XMLTokenizer::write):
  29485. 2008-03-26 Eric Seidel <eric@webkit.org>
  29486. Reviewed by darin.
  29487. Fix, makes us pass Test 70
  29488. XML documents should be strict about encoding checks
  29489. http://bugs.webkit.org/show_bug.cgi?id=17079
  29490. Test: fast/encoding/invalid-xml.html
  29491. * WebCore.base.exp:
  29492. * dom/XMLTokenizer.cpp:
  29493. (WebCore::XMLTokenizer::write):
  29494. * loader/CachedFont.cpp:
  29495. (WebCore::CachedFont::ensureSVGFontData):
  29496. * loader/TextResourceDecoder.cpp:
  29497. (WebCore::TextResourceDecoder::TextResourceDecoder):
  29498. (WebCore::TextResourceDecoder::decode):
  29499. * loader/TextResourceDecoder.h:
  29500. * platform/text/TextCodec.h:
  29501. (WebCore::TextCodec::decode):
  29502. * platform/text/TextCodecICU.cpp:
  29503. (WebCore::TextCodecICU::decodeToBuffer):
  29504. (WebCore::ErrorCallbackSetter::ErrorCallbackSetter):
  29505. (WebCore::ErrorCallbackSetter::~ErrorCallbackSetter):
  29506. (WebCore::TextCodecICU::decode):
  29507. * platform/text/TextCodecICU.h:
  29508. * platform/text/TextCodecLatin1.cpp:
  29509. * platform/text/TextCodecLatin1.h:
  29510. * platform/text/TextCodecUTF16.cpp:
  29511. * platform/text/TextCodecUTF16.h:
  29512. * platform/text/TextCodecUserDefined.cpp:
  29513. * platform/text/TextCodecUserDefined.h:
  29514. * platform/text/TextDecoder.cpp:
  29515. (WebCore::TextDecoder::checkForBOM):
  29516. * platform/text/TextDecoder.h:
  29517. (WebCore::TextDecoder::decode):
  29518. * platform/text/TextEncoding.cpp:
  29519. (WebCore::TextEncoding::decode):
  29520. * platform/text/TextEncoding.h:
  29521. (WebCore::TextEncoding::decode):
  29522. * platform/text/mac/TextCodecMac.cpp:
  29523. (WebCore::TextCodecMac::decode):
  29524. * platform/text/mac/TextCodecMac.h:
  29525. 2008-03-26 Antti Koivisto <antti@apple.com>
  29526. Reviewed by Adam.
  29527. Add ElementTimeControl interface to SVGAnimationElement.
  29528. Passes Acid3 test 75.
  29529. * DerivedSources.make:
  29530. * WebCore.pro:
  29531. * WebCore.vcproj/WebCore.vcproj:
  29532. * WebCore.xcodeproj/project.pbxproj:
  29533. * bindings/scripts/CodeGeneratorObjC.pm:
  29534. * svg/ElementTimeControl.h: Added.
  29535. (WebCore::ElementTimeControl::~ElementTimeControl):
  29536. * svg/ElementTimeControl.idl: Added.
  29537. * svg/SVGAnimationElement.cpp:
  29538. (WebCore::SVGAnimationElement::beginElement):
  29539. (WebCore::SVGAnimationElement::beginElementAt):
  29540. (WebCore::SVGAnimationElement::endElement):
  29541. (WebCore::SVGAnimationElement::endElementAt):
  29542. * svg/SVGAnimationElement.h:
  29543. * svg/SVGAnimationElement.idl:
  29544. 2008-03-26 Kevin McCullough <kmccullough@apple.com>
  29545. - LayoutTest fix. Null check.
  29546. * xml/XMLHttpRequest.cpp:
  29547. (WebCore::XMLHttpRequest::send):
  29548. 2008-03-26 Dan Bernstein <mitz@apple.com>
  29549. Reviewed by Darin Adler.
  29550. - fix http://bugs.webkit.org/show_bug.cgi?id=17994
  29551. REGRESSION (523-525+) View not updated when changing CSS size via JavaScript
  29552. - fix http://bugs.webkit.org/show_bug.cgi?id=18063
  29553. REGRESSION (r31250): Small bug that just cropped up in WebKit r31275
  29554. Tests: fast/repaint/subtree-root-clip.html
  29555. fast/repaint/subtree-root-clip-2.html
  29556. fast/repaint/subtree-root-clip-3.html
  29557. * rendering/LayoutState.cpp:
  29558. (WebCore::LayoutState::LayoutState): Changed to not set an initial clip.
  29559. Since the root is clipping, there is no need to set a clip, and setting
  29560. the clip based on the container was wrong because often the root was
  29561. not included in the container's overflow rect because it had its own
  29562. layer.
  29563. * rendering/RenderBox.cpp:
  29564. (WebCore::RenderBox::absolutePosition): Removed code that added table
  29565. cell's extra top offset only in the slow (recursive) code path.
  29566. * rendering/RenderTableCell.cpp:
  29567. (WebCore::RenderTableCell::absolutePosition): Added code to add the
  29568. extra top offset in both code paths.
  29569. 2008-03-26 Simon Hausmann <hausmann@webkit.org>
  29570. Fix the Qt build.
  29571. * platform/graphics/qt/FontQt.cpp:
  29572. (WebCore::Font::floatWidth):
  29573. 2008-03-24 Maciej Stachowiak <mjs@apple.com>
  29574. Reviewed by Eric.
  29575. - fixed "SVGTextElement.getStartPositionOfChar does not correctly account for multichar glyphs"
  29576. http://bugs.webkit.org/show_bug.cgi?id=18046
  29577. * platform/graphics/Font.cpp:
  29578. (WebCore::Font::floatWidth): Allow expressing a run that has extra "context" characters beyond the end,
  29579. and reporting of how many characters were actually consumed, to support multichar glyphs in SVG fonts.
  29580. * platform/graphics/Font.h:
  29581. * rendering/SVGInlineTextBox.cpp:
  29582. (WebCore::SVGInlineTextBox::calculateGlyphWidth): Pass along extra chars in argument and chars consumed out
  29583. argument.
  29584. (WebCore::SVGInlineTextBox::calculateGlyphHeight): Pass along extra chars in argument.
  29585. (WebCore::SVGInlineTextBox::calculateGlyphBoundaries): Add boilerplate; may not handle multichar glyphs
  29586. right but I don't know what effects this would have.
  29587. * rendering/SVGInlineTextBox.h:
  29588. * rendering/SVGRootInlineBox.cpp:
  29589. (WebCore::cummulatedWidthOrHeightOfTextChunk): Add boilerplate; may not handle multichar glyphs right
  29590. but again I am not sure what effect this would have.
  29591. (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): Account for multichar glyphs - let glyph
  29592. selection consider extra chars, and account for the fact that a glyph may have consumed multiple chars.
  29593. * rendering/SVGRootInlineBox.h:
  29594. * svg/SVGFont.cpp:
  29595. (WebCore::SVGTextRunWalker::walk): This is the place where glyph selection happens, so this is where
  29596. we accout for multichar glyphs (both looking at extra chars past the end of the run, and reporting how
  29597. many chars were consumed).
  29598. (WebCore::floatWidthOfSubStringUsingSVGFont): Pass aforementioned info through the layers.
  29599. (WebCore::Font::floatWidthUsingSVGFont): ditto
  29600. (WebCore::Font::drawTextUsingSVGFont): ditto
  29601. (WebCore::Font::selectionRectForTextUsingSVGFont): ditto
  29602. * svg/SVGTextContentElement.cpp:
  29603. (WebCore::cummulatedCharacterRangeLength): ditto
  29604. (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): ditto
  29605. 2008-03-25 Beth Dakin <bdakin@apple.com>
  29606. Reviewed by Oliver.
  29607. Fix for <rdar://problem/5811826> CSSValueList::item() does not
  29608. range-check index
  29609. Check bounds before accessing the item to avoid a crash.
  29610. itemWithoutBoundsCheck() is still inlined and not bounds-checked to
  29611. avoid slowing down our internal callers of item().
  29612. * css/CSSValueList.cpp:
  29613. (WebCore::CSSValueList::item):
  29614. * css/CSSValueList.h:
  29615. (WebCore::CSSValueList::itemWithoutBoundsCheck):
  29616. Call itemWithoutBoundsCheck() to avoid slowing down these internal
  29617. callers.
  29618. * css/CSSFontSelector.cpp:
  29619. (WebCore::CSSFontSelector::addFontFaceRule):
  29620. * css/CSSMutableStyleDeclaration.cpp:
  29621. (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
  29622. * css/CSSStyleSelector.cpp:
  29623. (WebCore::applyCounterList):
  29624. (WebCore::CSSStyleSelector::applyProperty):
  29625. * css/MediaQueryEvaluator.cpp:
  29626. (WebCore::parseAspectRatio):
  29627. * svg/SVGFontFaceElement.cpp:
  29628. (WebCore::SVGFontFaceElement::rebuildFontFace):
  29629. * svg/graphics/SVGPaintServer.cpp:
  29630. (WebCore::dashArrayFromRenderingStyle):
  29631. 2008-03-25 Antti Koivisto <antti@apple.com>
  29632. Reviewed by Oliver.
  29633. Fix http://bugs.webkit.org/show_bug.cgi?id=18082
  29634. REGRESSION (r31287): GMail does not work if user stylesheet is set
  29635. Oops, my cache refactoring patch was missing these rather essential lines for
  29636. user stylesheets. They would get reloaded repeatedly.
  29637. * loader/Cache.cpp:
  29638. (WebCore::Cache::requestUserCSSStyleSheet):
  29639. 2008-03-25 Matt Lilek <webkit@mattlilek.com>
  29640. Rubber stamped by Adam
  29641. Roll out r31300 since it causes assertion failures on page load.
  29642. See http://bugs.webkit.org/show_bug.cgi?id=18093
  29643. * page/InspectorController.cpp:
  29644. (WebCore::InspectorController::didFinishLoading):
  29645. (WebCore::InspectorController::didFailLoading):
  29646. 2008-03-25 Darin Adler <darin@apple.com>
  29647. Reviewed by Anders.
  29648. - fix http://bugs.webkit.org/show_bug.cgi?id=17252
  29649. Acid3 test removing Nodes during NodeIterator walk fails (affects Acid3 test 2)
  29650. Test: traversal/acid3-test-2.html
  29651. * bindings/js/JSNodeIteratorCustom.cpp:
  29652. (WebCore::JSNodeIterator::nextNode): Update since result is PassRefPtr.
  29653. (WebCore::JSNodeIterator::previousNode): Ditto.
  29654. * dom/NodeIterator.cpp:
  29655. (WebCore::NodeIterator::nextNode): Changed result to PassRefPtr. Added code to
  29656. track both the current candidate (which needs to move along to the next node
  29657. if current node is deleted) and the current provisional result (passed to acceptNode,
  29658. and needs to be returned even if it's deleted).
  29659. (WebCore::NodeIterator::previousNode): Ditto.
  29660. (WebCore::NodeIterator::nodeWillBeRemoved): Call updateForNodeRemoval for
  29661. m_candidateNode as well as m_referenceNode.
  29662. * dom/NodeIterator.h: Use PassRefPtr for return values.
  29663. 2008-03-25 Brady Eidson <beidson@apple.com>
  29664. Reviewed by Anders
  29665. Add the ability to transform a CString into a SharedBuffer to avoid copying data
  29666. This is valuable to avoid copying a block of data for an upcoming patch
  29667. * platform/SharedBuffer.cpp:
  29668. (WebCore::SharedBuffer::adoptVector):
  29669. * platform/SharedBuffer.h:
  29670. * platform/text/CString.cpp:
  29671. (WebCore::CString::releaseBuffer):
  29672. * platform/text/CString.h:
  29673. (WebCore::CStringBuffer::releaseBuffer):
  29674. 2008-03-25 Brady Eidson <beidson@apple.com>
  29675. Attempt to fix .bkl build systems after recent archive additions
  29676. * webcore-base.bkl:
  29677. 2008-03-25 Kevin McCullough <kmccullough@apple.com>
  29678. Reviewed by Adam.
  29679. - Cleaned up the needless use of RefPtrs, which we may someday no longer use for
  29680. InspectorResources.
  29681. * page/InspectorController.cpp:
  29682. (WebCore::InspectorController::didFinishLoading):
  29683. (WebCore::InspectorController::didFailLoading):
  29684. 2008-03-25 Kevin McCullough <kmccullough@apple.com>
  29685. Reviewed by Adam.
  29686. - Added a null check
  29687. * xml/XMLHttpRequest.cpp: Null check
  29688. (WebCore::XMLHttpRequest::send):
  29689. 2008-03-25 Kevin McCullough <kmccullough@apple.com>
  29690. Reviewed by Tim.
  29691. -<rdar://problem/5712804> XMLHttpRequests do not show response contents, preview images (14313)
  29692. -<rdar://problem/5712931> XMLHttpRequests should be shown separately and grouped (14315)
  29693. -<rdar://problem/5732836> XMLHttpRequest: Inspector should show network activity/XHR in Console (17233)
  29694. - XMLHttpRequestResources now identify themselves to the inspector which caches the data related to
  29695. the request since no one else caches it. However this is just the plumbing and the Inspector's UI
  29696. has not been changed to show XHR resources yet.
  29697. * page/InspectorController.cpp: Add ability to set XHR data on an InspectorResource.
  29698. (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
  29699. (WebCore::XMLHttpRequestResource::data):
  29700. (WebCore::XMLHttpRequestResource::encoding):
  29701. (WebCore::InspectorResource::): Add new type.
  29702. (WebCore::InspectorResource::~InspectorResource): No longer virtual since we are not using inheritance.
  29703. (WebCore::InspectorResource::type): Ditto.
  29704. (WebCore::InspectorResource::setXMLHttpRequestResource):
  29705. (WebCore::InspectorResource::isXHR):
  29706. (WebCore::InspectorResource::xmlHttpRequestData):
  29707. (WebCore::InspectorResource::xmlHttpRequestEncoding):
  29708. (WebCore::InspectorResource::InspectorResource):
  29709. (WebCore::addSourceToFrame):
  29710. (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
  29711. * page/InspectorController.h: Add accessor for setting the XHR data.
  29712. * page/inspector/Resource.js: Keep the XHR resource types in sync with the Inspector Controller.
  29713. * xml/XMLHttpRequest.cpp: Give the InspectorController the XHR information to cache.
  29714. (WebCore::XMLHttpRequest::send):
  29715. 2008-03-25 Adam Roben <aroben@apple.com>
  29716. Add an UnusedParam.h forwarding header for use by testapi
  29717. Reviewed by Steve Falkenburg.
  29718. * ForwardingHeaders/wtf/UnusedParam.h: Added.
  29719. 2008-03-25 Brady Eidson <beidson@apple.com>
  29720. Reviewed by Adam Roben
  29721. <rdar://problem/5819308> - View Source is empty when view webarchives
  29722. * WebCore.base.exp:
  29723. * loader/DocumentLoader.cpp:
  29724. (WebCore::DocumentLoader::setParsedArchiveData):
  29725. (WebCore::DocumentLoader::parsedArchiveData):
  29726. * loader/DocumentLoader.h:
  29727. * loader/FrameLoader.cpp:
  29728. (WebCore::FrameLoader::finishedLoadingDocument): Set the archive's MainResource data as the parsedArchiveData
  29729. in the DocumentLoader
  29730. 2008-03-25 Eric Seidel <eric@webkit.org>
  29731. Reviewed by Oliver.
  29732. Speculative crash fix for Acid3 crasher.
  29733. I couldn't figure out how to make a test case for this?
  29734. Suggestions welcome.
  29735. * css/CSSFontSelector.cpp: null check document->renderer()
  29736. 2008-03-25 Antti Koivisto <antti@apple.com>
  29737. Reviewed by Geoff Garen.
  29738. Some memory cache cleanups:
  29739. - Separate CachedResource loading from construction, initiate load using a separate load() method.
  29740. - Add special case function to Cache for loading user stylesheets. This allows removal
  29741. of a bunch of parameters from several methods and CachedResource constructors.
  29742. - Construct CachedResources with m_inCache set to false which is quite a bit more logical as they
  29743. are not yet in the cache at that point.
  29744. - Pass encoding around as const String& instead of const String*.
  29745. * css/CSSImageValue.cpp:
  29746. (WebCore::CSSImageValue::image):
  29747. * html/HTMLImageLoader.cpp:
  29748. (WebCore::HTMLImageLoader::updateFromElement):
  29749. * loader/Cache.cpp:
  29750. (WebCore::createResource):
  29751. (WebCore::Cache::requestResource):
  29752. (WebCore::Cache::requestUserCSSStyleSheet):
  29753. (WebCore::Cache::remove):
  29754. * loader/Cache.h:
  29755. * loader/CachedCSSStyleSheet.cpp:
  29756. (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
  29757. * loader/CachedCSSStyleSheet.h:
  29758. * loader/CachedFont.cpp:
  29759. (WebCore::CachedFont::CachedFont):
  29760. (WebCore::CachedFont::load):
  29761. (WebCore::CachedFont::ref):
  29762. * loader/CachedFont.h:
  29763. * loader/CachedImage.cpp:
  29764. (WebCore::CachedImage::CachedImage):
  29765. (WebCore::CachedImage::load):
  29766. * loader/CachedImage.h:
  29767. * loader/CachedResource.cpp:
  29768. (WebCore::CachedResource::CachedResource):
  29769. (WebCore::CachedResource::~CachedResource):
  29770. (WebCore::CachedResource::load):
  29771. * loader/CachedResource.h:
  29772. (WebCore::CachedResource::load):
  29773. * loader/CachedScript.cpp:
  29774. (WebCore::CachedScript::CachedScript):
  29775. * loader/CachedScript.h:
  29776. * loader/CachedXBLDocument.cpp:
  29777. (WebCore::CachedXBLDocument::CachedXBLDocument):
  29778. * loader/CachedXBLDocument.h:
  29779. * loader/CachedXSLStyleSheet.cpp:
  29780. (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
  29781. * loader/CachedXSLStyleSheet.h:
  29782. * loader/DocLoader.cpp:
  29783. (WebCore::DocLoader::requestImage):
  29784. (WebCore::DocLoader::requestFont):
  29785. (WebCore::DocLoader::requestCSSStyleSheet):
  29786. (WebCore::DocLoader::requestUserCSSStyleSheet):
  29787. (WebCore::DocLoader::requestScript):
  29788. (WebCore::DocLoader::requestXSLStyleSheet):
  29789. (WebCore::DocLoader::requestXBLDocument):
  29790. (WebCore::DocLoader::requestResource):
  29791. (WebCore::DocLoader::preload):
  29792. * loader/DocLoader.h:
  29793. 2008-03-25 Darin Adler <darin@apple.com>
  29794. Reviewed by Anders.
  29795. - avoid converting UString to String and then later to AtomicString
  29796. 1% speedup on Acid3 test 26
  29797. This is inefficient for the case where there's already an AtomicString.
  29798. By first creating and destroying a String we waste time.
  29799. * bindings/scripts/CodeGeneratorJS.pm: Use const UString& for string
  29800. arguments rather than using String; this uses the object as it's produced
  29801. from toString rather than creating a new temporary object that might not
  29802. be of the right type. The type conversion happens at the callsite instead.
  29803. Also eliminate the ability to use the type AtomicString from IDL.
  29804. * dom/KeyboardEvent.idl: AtomicString -> DOMString.
  29805. * dom/MouseEvent.idl: Ditto.
  29806. * dom/MutationEvent.idl: Ditto.
  29807. * dom/UIEvent.idl: Ditto.
  29808. * svg/SVGStyleElement.idl: Ditto.
  29809. 2008-03-25 Brady Eidson <beidson@apple.com>
  29810. Build fix for non-CoreFoundation platforms
  29811. * loader/archive/ArchiveFactory.cpp:
  29812. 2008-03-25 Brady Eidson <beidson@apple.com>
  29813. Reviewed by Darin
  29814. Remove newly obsolete FrameLoaderClient methods
  29815. * loader/FrameLoaderClient.h:
  29816. * svg/graphics/SVGImageEmptyClients.h:
  29817. (WebCore::SVGEmptyFrameLoaderClient::setMainDocumentError):
  29818. (WebCore::SVGEmptyFrameLoaderClient::finishedLoading):
  29819. 2008-03-25 Brady Eidson <beidson@apple.com>
  29820. Reviewed by Darin
  29821. <rdar://problem/4516169> - Support WebArchives on Windows
  29822. And pave the way for many future WebArchive bug fixes and enhancements
  29823. This patch accomplishes two main goals:
  29824. 1 - Consolidates much of the spread out WebKitMac archive code into one place in WebCore. This allows for cleaner refactoring
  29825. in the future as well as adding more archive formats with ease.
  29826. 2 - Hooks up WebArchive support on Windows. Safari-style .webarchive files are nothing more than property lists readable by
  29827. CoreFoundation. While there are still some outstanding issues, including an NSKeyedArchiver chunk of data for the
  29828. ResourceResponse for each resource, this patch manually parses through the property list on CoreFoundation platforms and
  29829. gets many archives loading on Windows
  29830. My goal for this first cut was zero behavior change. As such, I went for a direct port of the WebKitMac code. There will be
  29831. opportunities for redesign and refactoring as followups.
  29832. * WebCore.base.exp:
  29833. * loader/DocumentLoader.cpp:
  29834. (WebCore::DocumentLoader::setupForReplaceByMIMEType): Ported from WebKitMac, WebDataSource
  29835. (WebCore::DocumentLoader::addAllArchiveResources):
  29836. (WebCore::DocumentLoader::addArchiveResource):
  29837. (WebCore::DocumentLoader::archiveResourceForURL):
  29838. (WebCore::DocumentLoader::popArchiveForSubframe):
  29839. (WebCore::DocumentLoader::clearArchiveResources):
  29840. * loader/DocumentLoader.h:
  29841. * loader/FrameLoader.cpp: Moved WebFrameLoaderClient and WebFrame code down into their more appropriate FrameLoader home
  29842. (WebCore::FrameLoader::FrameLoader):
  29843. (WebCore::FrameLoader::setDefersLoading):
  29844. (WebCore::FrameLoader::deliverArchivedResourcesAfterDelay):
  29845. (WebCore::FrameLoader::archiveResourceDeliveryTimerFired):
  29846. (WebCore::FrameLoader::loadURLIntoChildFrame):
  29847. (WebCore::FrameLoader::loadArchive):
  29848. (WebCore::FrameLoader::scheduleArchiveLoad):
  29849. (WebCore::FrameLoader::stopAllLoaders):
  29850. (WebCore::FrameLoader::cancelPendingArchiveLoad):
  29851. (WebCore::FrameLoader::isArchiveLoadPending):
  29852. (WebCore::FrameLoader::finishedLoadingDocument):
  29853. * loader/FrameLoader.h:
  29854. * loader/ResourceLoader.cpp:
  29855. (WebCore::ResourceLoader::load):
  29856. * loader/archive/Archive.h: Generic "Archive of web resources" class that is only useful when subclassed.
  29857. Contains a MainResource, subresources, and Archives for subframes
  29858. (WebCore::Archive::mainResource):
  29859. (WebCore::Archive::subresources):
  29860. (WebCore::Archive::subframeArchives):
  29861. (WebCore::Archive::setMainResource):
  29862. (WebCore::Archive::addSubresource):
  29863. (WebCore::Archive::addSubframeArchive):
  29864. * loader/archive/ArchiveFactory.cpp: A class that will take raw archive data and the MIMEtype, and create the
  29865. appropriate Archive class for it. Additionally it handles registering the known MIMEtypes for all known archive formats
  29866. (WebCore::archiveFactoryCreate):
  29867. (WebCore::archiveMIMETypes):
  29868. (WebCore::ArchiveFactory::isArchiveMimeType):
  29869. (WebCore::ArchiveFactory::create):
  29870. (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
  29871. * loader/archive/ArchiveFactory.h:
  29872. * loader/archive/ArchiveResource.cpp: Analog to "WebResource" in WebKitMac. Contains the data and other important
  29873. attributes of an archived resource
  29874. (WebCore::ArchiveResource::create):
  29875. (WebCore::ArchiveResource::ArchiveResource):
  29876. (WebCore::ArchiveResource::response):
  29877. * loader/archive/ArchiveResource.h:
  29878. (WebCore::ArchiveResource::data):
  29879. (WebCore::ArchiveResource::url):
  29880. (WebCore::ArchiveResource::mimeType):
  29881. (WebCore::ArchiveResource::textEncoding):
  29882. (WebCore::ArchiveResource::frameName):
  29883. (WebCore::ArchiveResource::ignoreWhenUnarchiving):
  29884. (WebCore::ArchiveResource::shouldIgnoreWhenUnarchiving):
  29885. * loader/archive/ArchiveResourceCollection.cpp: Analog of "WebUnarchivingState" in WebKitMac. Contains a hash of
  29886. all the resources for every frame in an archive, and contains the archives for each subframe needed to load a multi-frame archive
  29887. (WebCore::ArchiveResourceCollection::ArchiveResourceCollection):
  29888. (WebCore::ArchiveResourceCollection::addAllResources):
  29889. (WebCore::ArchiveResourceCollection::addResource):
  29890. (WebCore::ArchiveResourceCollection::archiveResourceForURL):
  29891. (WebCore::ArchiveResourceCollection::popSubframeArchive):
  29892. * loader/archive/ArchiveResourceCollection.h:
  29893. * loader/archive/cf/LegacyWebArchive.cpp: Subclass of Archive specifically for Webkit's Objective-C based ".webarchive" format.
  29894. Mostly a collection of static methods involved in parsing and serializing a WebKit-style .webarchive. Is mostly supported
  29895. for any CF platform.
  29896. (WebCore::createPropertyListRepresentationFromResource):
  29897. (WebCore::createPropertyListRep):
  29898. (WebCore::createResourceResponseFromPropertyListData):
  29899. (WebCore::createResource):
  29900. (WebCore::LegacyWebArchive::create):
  29901. (WebCore::LegacyWebArchive::LegacyWebArchive):
  29902. (WebCore::LegacyWebArchive::init):
  29903. (WebCore::LegacyWebArchive::extract):
  29904. (WebCore::LegacyWebArchive::rawDataRepresentation):
  29905. (WebCore::createResourceResponseFromMacArchivedData):
  29906. (WebCore::propertyListDataFromResourceResponse):
  29907. * loader/archive/cf/LegacyWebArchive.h:
  29908. * loader/archive/cf/LegacyWebArchiveMac.mm:
  29909. (WebCore::createResourceResponseFromMacArchivedData):
  29910. (WebCore::propertyListDataFromResourceResponse):
  29911. * platform/network/mac/ResourceRequest.h:
  29912. * platform/network/mac/ResourceRequestMac.mm:
  29913. (WebCore::ResourceRequest::applyWebArchiveHackForMail): Tweak the resource request for Mac clients when loading WebArchives
  29914. 2008-03-25 David Hyatt <hyatt@apple.com>
  29915. Cut and paste error in the zoom code. A width() should have been a height(). Regression tests caught this.
  29916. * page/DOMWindow.cpp:
  29917. (WebCore::DOMWindow::innerHeight):
  29918. 2008-03-24 Darin Adler <darin@apple.com>
  29919. - try to fix broken Wx build
  29920. * platform/wx/TemporaryLinkStubs.cpp:
  29921. (GraphicsContext::setPlatformShadow):
  29922. (GraphicsContext::clearPlatformShadow):
  29923. 2008-03-24 Darin Adler <darin@apple.com>
  29924. Reviewed by Sam.
  29925. - use AtomicString more consistently for attribute values
  29926. 1% speedup on Acid3 test 26
  29927. * dom/Element.cpp:
  29928. (WebCore::Element::setAttribute): Changed value argument to AtomicString.
  29929. Also fixed call to lower() to only be done if the name isn't already lowercase.
  29930. Also took out one unneeded condition in a cascade of if statements.
  29931. (WebCore::Element::createAttribute): Ditto.
  29932. (WebCore::Element::setAttributeNS): Ditto.
  29933. * dom/Element.h: Ditto.
  29934. * dom/StyledElement.cpp:
  29935. (WebCore::StyledElement::createAttribute): Ditto.
  29936. * dom/StyledElement.h: Ditto.
  29937. 2008-03-24 Darin Adler <darin@apple.com>
  29938. Reviewed by Sam.
  29939. - get rid of extra level of function call in toJS functions for Node
  29940. 0.6% speedup on Acid3 test 26
  29941. * bindings/js/JSNodeCustom.cpp:
  29942. (WebCore::toJS): Take a raw pointer, not a PassRefPtr, like other toJS functions.
  29943. * bindings/scripts/CodeGeneratorJS.pm: Add an inlined toJS for EventTargetNode*
  29944. to avoid ambiguity that otherwise exists between the toJS for EventTarget* and
  29945. for Node*.
  29946. 2008-03-24 Darin Adler <darin@apple.com>
  29947. Reviewed by Hyatt.
  29948. - add fast path to isValidName that does not use advanced Unicode functions
  29949. 2% speedup on Acid3 test 26
  29950. * dom/Document.cpp:
  29951. (WebCore::isValidNameNonASCII): Added. Contains the old isValidName function.
  29952. (WebCore::isValidNameASCII): Added. Contains a simpler function that returns
  29953. true for most valid names that are also all ASCII.
  29954. (WebCore::Document::isValidName): Changed to call both of the above functions.
  29955. The common case is that isValidNameASCII returns true so isValidNameNonASCII
  29956. is never called.
  29957. 2008-03-24 David Hyatt <hyatt@apple.com>
  29958. Fix for bug 18052, window properties need to respect zoom factor.
  29959. Reviewed by Beth
  29960. * page/DOMWindow.cpp:
  29961. (WebCore::DOMWindow::innerHeight):
  29962. (WebCore::DOMWindow::innerWidth):
  29963. (WebCore::DOMWindow::scrollX):
  29964. (WebCore::DOMWindow::scrollY):
  29965. (WebCore::DOMWindow::scrollTo):
  29966. * page/FrameView.cpp:
  29967. (WebCore::FrameViewPrivate::reset):
  29968. (WebCore::FrameView::layout):
  29969. (WebCore::FrameView::performPostLayoutTasks):
  29970. 2008-03-24 Sam Weinig <sam@webkit.org>
  29971. Reviewed by Darin Adler.
  29972. Fix http://bugs.webkit.org/show_bug.cgi?id=18048
  29973. The "thisObject" parameter to JSEvaluateScript is not used properly
  29974. * bindings/js/kjs_proxy.cpp:
  29975. (WebCore::KJSProxy::evaluate): No need to pass a thisObject since we want the global object to be used.
  29976. * bridge/jni/jni_jsobject.mm:
  29977. (JavaJSObject::eval): To avoid any change to this function, don't pass a thisObject to keep the same
  29978. behavior.
  29979. 2008-03-24 Brady Eidson <beidson@apple.com>
  29980. Reviewed by Darin's rubberstamp
  29981. Land a load of empty files for upcoming work to make sure I'm not breaking any platform's build
  29982. * GNUmakefile.am:
  29983. * WebCore.pro:
  29984. * WebCore.vcproj/WebCore.vcproj:
  29985. * WebCore.xcodeproj/project.pbxproj:
  29986. * WebCoreSources.bkl:
  29987. * loader/archive: Added.
  29988. * loader/archive/Archive.h: Added.
  29989. * loader/archive/ArchiveFactory.cpp: Added.
  29990. * loader/archive/ArchiveFactory.h: Added.
  29991. * loader/archive/ArchiveResource.cpp: Added.
  29992. * loader/archive/ArchiveResource.h: Added.
  29993. * loader/archive/ArchiveResourceCollection.cpp: Added.
  29994. * loader/archive/ArchiveResourceCollection.h: Added.
  29995. * loader/archive/cf: Added.
  29996. * loader/archive/cf/LegacyWebArchive.cpp: Added.
  29997. * loader/archive/cf/LegacyWebArchive.h: Added.
  29998. * loader/archive/cf/LegacyWebArchiveMac.mm: Added.
  29999. 2008-03-24 David Hyatt <hyatt@apple.com>
  30000. Fix for bug 18009. Make sure the IE offset/client/scroll*** extensions respect full page zoom.
  30001. Reviewed by Beth
  30002. * dom/Element.cpp:
  30003. (WebCore::localZoomForRenderer):
  30004. (WebCore::adjustForLocalZoom):
  30005. (WebCore::adjustForAbsoluteZoom):
  30006. (WebCore::Element::offsetLeft):
  30007. (WebCore::Element::offsetTop):
  30008. (WebCore::Element::offsetWidth):
  30009. (WebCore::Element::offsetHeight):
  30010. (WebCore::Element::clientLeft):
  30011. (WebCore::Element::clientTop):
  30012. (WebCore::Element::clientWidth):
  30013. (WebCore::Element::clientHeight):
  30014. (WebCore::Element::scrollLeft):
  30015. (WebCore::Element::scrollTop):
  30016. (WebCore::Element::setScrollLeft):
  30017. (WebCore::Element::setScrollTop):
  30018. (WebCore::Element::scrollWidth):
  30019. (WebCore::Element::scrollHeight):
  30020. * rendering/RenderBox.cpp:
  30021. (WebCore::RenderBox::setStyle):
  30022. * rendering/RenderObject.cpp:
  30023. (WebCore::RenderObject::offsetParent):
  30024. * rendering/RenderObject.h:
  30025. 2008-03-24 Brady Eidson <beidson@apple.com>
  30026. Reviewed by Darin
  30027. Some style cleanup and add a logging channel for upcoming work
  30028. * platform/Logging.cpp:
  30029. * platform/Logging.h:
  30030. * platform/MIMETypeRegistry.cpp:
  30031. (WebCore::initializeSupportedImageMIMETypes):
  30032. (WebCore::initializeSupportedNonImageMimeTypes):
  30033. 2008-03-24 Dan Bernstein <mitz@apple.com>
  30034. Reviewed by Sam Weinig.
  30035. - fix <rdar://problem/5812292> CrashTracer: [REGRESSION] 60 crashes in Safari at com.apple.WebCore: WebCore::RenderObject::repaintRectangle + 47
  30036. Test: fast/repaint/renderer-destruction-by-invalidateSelection-crash.html
  30037. * page/FrameView.cpp:
  30038. (WebCore::FrameViewPrivate::reset): Removed repaintRects code.
  30039. (WebCore::FrameView::layout): Ditto.
  30040. (WebCore::FrameView::addRepaintInfo): Removed.
  30041. * page/FrameView.h: Removed addRepaintInfo().
  30042. * rendering/RenderBlock.cpp:
  30043. (WebCore::RenderBlock::layoutBlock): Changed to call repaintRectangle
  30044. instead of FrameView::addRepaintInfo().
  30045. * rendering/RenderTable.cpp:
  30046. (WebCore::RenderTable::layout): Ditto.
  30047. 2008-03-24 Alp Toker <alp@atoker.com>
  30048. GTK+/soup http backend build fix for breakage introduced in r31141.
  30049. Fix suggested by Xan.
  30050. * platform/network/ResourceHandle.h:
  30051. 2008-03-24 Dan Bernstein <mitz@apple.com>
  30052. Reviewed by Sam Weinig.
  30053. - fix <rdar://problem/5792582> CSS opacity does not work with GDI text
  30054. - fix <rdar://problem/5792619> non-opaque CSS colors do not work with GDI text (RGBA, HSLA)
  30055. - fix <rdar://problem/5792624> GDI text can't be stroked/filled independently
  30056. - make text-shadow work with GDI text
  30057. - make -webkit-background-clip: text work with GDI text
  30058. * platform/graphics/GraphicsContext.cpp:
  30059. (WebCore::GraphicsContext::setShadow): Made this a shared method that
  30060. updates the state and calls the platform-specific method.
  30061. (WebCore::GraphicsContext::clearShadow): Ditto.
  30062. (WebCore::GraphicsContext::getShadow): Added.
  30063. * platform/graphics/GraphicsContext.h:
  30064. (WebCore::GraphicsContext::WindowsBitmap): Added this class that
  30065. represents a bitmap with a Windows device context that GDI can draw into.
  30066. * platform/graphics/GraphicsContextPrivate.h:
  30067. (WebCore::GraphicsContextState::GraphicsContextState): Added the shadow
  30068. parameters to the graphics state.
  30069. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  30070. (WebCore::GraphicsContext::setPlatformShadow): Renamed the platform-
  30071. specific implementation to this.
  30072. (WebCore::GraphicsContext::clearPlatformShadow): Renamed the platform-
  30073. specific implementation to this.
  30074. * platform/graphics/cg/GraphicsContextCG.cpp:
  30075. (WebCore::GraphicsContext::setPlatformShadow): Renamed the platform-
  30076. specific implementation to this.
  30077. (WebCore::GraphicsContext::clearPlatformShadow): Renamed the platform-
  30078. specific implementation to this.
  30079. * platform/graphics/qt/GraphicsContextQt.cpp:
  30080. (WebCore::GraphicsContext::setPlatformShadow): Renamed the platform-
  30081. specific implementation to this.
  30082. (WebCore::GraphicsContext::clearPlatformShadow): Renamed the platform-
  30083. specific implementation to this.
  30084. * platform/graphics/win/FontCGWin.cpp:
  30085. (WebCore::toCGFloat): Added. Converts a Windows FIXED.
  30086. (WebCore::createPathForGlyph): Added. Retrieves a glyph's hinted
  30087. outline from GDI and creates a CGPath containing it.
  30088. (WebCore::Font::drawGlyphs): Added two code paths in the GDI case.
  30089. The existing code path, which uses GDI to draw text directly to the
  30090. graphics context, is used for opaque-colored, non-transformed,
  30091. non-stroked, non-shadowed text in a GDI-backed graphics context that is
  30092. not in a transparency layer.
  30093. An additional code path is used for non-stroked text in all other cases.
  30094. It uses GDI to draw black text into an all-white Windows bitmap, then
  30095. uses the green channel as a mask to create a bitmap with the desired
  30096. fill color and alpha. The bitmap is then drawn into the graphics
  30097. context, at which time transparency layers, transforms and shadows are
  30098. handled properly.
  30099. A third code path is used for stroked text. It constructs a path from
  30100. hinted glyph outlines retrieved from GDI and strokes (and optionally
  30101. fills) it.
  30102. * platform/graphics/win/GraphicsContextCGWin.cpp:
  30103. (WebCore::GraphicsContext::getWindowsContext): Added a mayCreateBitmap
  30104. parameter. When false, prevents this method from creating a Windows
  30105. device context if the graphics context does not already have one.
  30106. (WebCore::GraphicsContext::releaseWindowsContext): Added a
  30107. mayCreateBitmap parameter to match getWindowsContext().
  30108. (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap):
  30109. (WebCore::GraphicsContext::WindowsBitmap::~WindowsBitmap):
  30110. (WebCore::GraphicsContext::createWindowsBitmap): Added.
  30111. (WebCore::GraphicsContext::drawWindowsBitmap): Added. Draws the bitmap
  30112. as a non-alpha-premultiplied image.
  30113. 2008-03-24 Kevin McCullough <kmccullough@apple.com>
  30114. - Fixed Changelog
  30115. 2008-03-24 Marco Barisione <marco.barisione@collabora.co.uk>
  30116. Reviewed by Alp Toker.
  30117. http://bugs.webkit.org/show_bug.cgi?id=17845
  30118. [GTK] combo box menu displayed in the wrong position
  30119. * platform/gtk/PopupMenuGtk.cpp:
  30120. (WebCore::PopupMenu::show): Change the popup menu vertical position so
  30121. that the active item is over the combo box.
  30122. (WebCore::PopupMenu::menuPositionFunction): use the "push in" style
  30123. like native GTK+ combo boxes to handle menus that don't fit in the
  30124. screen.
  30125. 2008-03-24 Adam Roben <aroben@apple.com>
  30126. * WebCore.vcproj/WebCore.vcproj: Add files from WebCore/page/inspector
  30127. to the project.
  30128. 2008-03-24 Alexey Proskuryakov <ap@webkit.org>
  30129. Build fix.
  30130. * WebCore.xcodeproj/project.pbxproj: Added DOMSVGAltGlyphElement.h and
  30131. DOMSVGAltGlyphElementInternal.h to Copy Generated Headers phase.
  30132. 2008-03-24 Eric Seidel <eric@webkit.org>
  30133. Build fix, no review.
  30134. Fix project paths to be group relative instead of project relative
  30135. * WebCore.xcodeproj/project.pbxproj:
  30136. 2008-03-23 Maciej Stachowiak <mjs@apple.com>
  30137. Reviewed by Eric.
  30138. - fixed "SVGTextElement.getNumberOfChars is broken for altGlyph (affects Acid3 test 79)"
  30139. http://bugs.webkit.org/show_bug.cgi?id=17062
  30140. * svg/SVGAltGlyphElement.cpp: Added. Implementation for new element.
  30141. (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
  30142. (WebCore::SVGAltGlyphElement::~SVGAltGlyphElement):
  30143. (WebCore::SVGAltGlyphElement::setGlyphRef):
  30144. (WebCore::SVGAltGlyphElement::glyphRef):
  30145. (WebCore::SVGAltGlyphElement::setFormat):
  30146. (WebCore::SVGAltGlyphElement::format):
  30147. (WebCore::SVGAltGlyphElement::childShouldCreateRenderer):
  30148. (WebCore::SVGAltGlyphElement::createRenderer): For now, this just renders as a tspan,
  30149. which is right for everything besides the alternate glyph substitution itself.
  30150. * svg/SVGAltGlyphElement.h: Added. Header for new element.
  30151. (WebCore::SVGAltGlyphElement::contextElement):
  30152. * svg/SVGAltGlyphElement.idl: Added. Interface for new element.
  30153. * svg/SVGTSpanElement.cpp:
  30154. (WebCore::SVGTSpanElement::childShouldCreateRenderer): Allow altGlyph to render here.
  30155. * svg/SVGTextElement.cpp:
  30156. (WebCore::SVGTextElement::childShouldCreateRenderer): ditto
  30157. * svg/SVGTextPathElement.cpp:
  30158. (WebCore::SVGTextPathElement::childShouldCreateRenderer): ditto
  30159. * svg/svgtags.in: Add altGlyph
  30160. * DerivedSources.make: Add new files
  30161. * GNUmakefile.am: ditto
  30162. * WebCore.SVG.exp: Add new ObjC DOM class
  30163. * WebCore.pro: Add new files
  30164. * WebCore.vcproj/WebCore.vcproj: ditto
  30165. * WebCore.xcodeproj/project.pbxproj: ditto
  30166. * bindings/js/JSSVGElementWrapperFactory.cpp: Handle altGlyph
  30167. * bindings/objc/DOM.mm:
  30168. (WebCore::createElementClassMap): ditto
  30169. * bindings/objc/DOMInternal.h: Include altGlyph header
  30170. * bindings/objc/DOMSVG.h: Include altGlyph header
  30171. 2008-03-23 Robert Blaut <webkit@blaut.biz>
  30172. Reviewed by eseidel. Landed by eseidel.
  30173. Bug 17685: [~=] attribute selector failing to match empty string
  30174. <http://bugs.webkit.org/show_bug.cgi?id=17685>
  30175. Test: fast/css/attribute-selector-empty-value.html
  30176. * css/CSSStyleSelector.cpp:
  30177. (WebCore::CSSStyleSelector::checkOneSelector):
  30178. 2008-03-22 Marco Barisione <marco.barisione@collabora.co.uk>
  30179. Reviewed by Darin Adler.
  30180. http://bugs.webkit.org/show_bug.cgi?id=16339
  30181. Frame scrollbar positions are not updated on page scroll
  30182. Widget::geometryChanged() was called instead of
  30183. ScrollViewScrollbar::geometryChanged() because of a missing const.
  30184. * platform/gtk/ScrollViewGtk.cpp:
  30185. (WebCore::ScrollViewScrollbar::geometryChanged): add the missing
  30186. const.
  30187. 2008-03-22 Rodney Dawes <dobey@wayofthemonkey.com>
  30188. Reviewed by Mark Rowe.
  30189. Bug 17974: REGRESSION: npfunctions.h should not import npruntime_internal.h
  30190. <http://bugs.webkit.org/show_bug.cgi?id=17974>
  30191. <rdar://problem/5782310>
  30192. Include npapi.h and npruntime.h directly in npfunctions.h.
  30193. Add npfunctions.h and npapi.h to npruntime_internal.h.
  30194. Replace includes of npfunctions.h with npruntime_internal.h.
  30195. * bridge/npruntime_internal.h:
  30196. * plugins/PluginPackage.h:
  30197. * plugins/PluginStream.h:
  30198. * plugins/npapi.cpp:
  30199. * plugins/npfunctions.h:
  30200. 2008-03-22 Mark Rowe <mrowe@apple.com>
  30201. Qt build fix.
  30202. * bridge/qt/qt_runtime.cpp:
  30203. (KJS::Bindings::valueRealType):
  30204. 2008-03-22 Eric Seidel <eric@webkit.org>
  30205. Reviewed by mjs.
  30206. Unify handling of NAMESPACE_ERR and fix Acid3 test 25
  30207. http://bugs.webkit.org/show_bug.cgi?id=16693
  30208. Test: fast/dom/DOMImplementation/createDocumentType-err.html
  30209. * dom/DOMImplementation.cpp:
  30210. (WebCore::DOMImplementation::createDocumentType):
  30211. (WebCore::DOMImplementation::createDocument):
  30212. * dom/DOMImplementation.idl:
  30213. * dom/Document.cpp:
  30214. (WebCore::Document::hasPrefixNamespaceMismatch):
  30215. (WebCore::Document::createElementNS):
  30216. (WebCore::Document::parseQualifiedName):
  30217. (WebCore::Document::createAttributeNS):
  30218. * dom/Document.h:
  30219. * dom/Element.cpp:
  30220. (WebCore::Element::setAttributeNS):
  30221. * editing/FormatBlockCommand.cpp:
  30222. (WebCore::FormatBlockCommand::doApply):
  30223. 2008-03-22 Eric Seidel <eric@webkit.org>
  30224. Reviewed by mjs.
  30225. Fix createElementNS to throw exceptions for invalid qualified names
  30226. Fixes Acid3 sub-test 23
  30227. http://bugs.webkit.org/show_bug.cgi?id=16833
  30228. Tests: fast/dom/Document/createAttributeNS-namespace-err.html
  30229. fast/dom/Document/createElementNS-namespace-err.html
  30230. * dom/Document.cpp:
  30231. (WebCore::Document::createElement):
  30232. (WebCore::hasNamespaceError):
  30233. (WebCore::Document::createElementNS):
  30234. (WebCore::Document::createAttributeNS):
  30235. * dom/Document.idl:
  30236. 2008-03-21 Cameron Zwarich <cwzwarich@uwaterloo.ca>
  30237. Reviewed by Oliver Hunt.
  30238. Bug 13693: REGRESSION (r13615): Acid2 Test Eyes render improperly after a page refresh
  30239. <http://bugs.webkit.org/show_bug.cgi?id=13693>
  30240. Do not create bogus history items for unloaded <object> elements, because they
  30241. cause fallback content to be ignored on reload.
  30242. * loader/FrameLoader.cpp:
  30243. (WebCore::FrameLoader::createHistoryItemTree):
  30244. 2008-03-21 Dan Bernstein <mitz@apple.com>
  30245. Reviewed by Oliver Hunt.
  30246. - fix http://bugs.webkit.org/show_bug.cgi?id=17988
  30247. REGRESSION (r31114-31132): Crash in InlineBox::isDirty() opening chowhound.com
  30248. Test: fast/css-generated-content/empty-content-with-float-crash.html
  30249. * rendering/bidi.cpp:
  30250. (WebCore::RenderBlock::layoutInlineChildren): Added a null check for
  30251. the case where the block contains no in-flow elements but still lays
  30252. out as a line flow, which can happen as a result of empty generated
  30253. content.
  30254. 2008-03-21 Sam Weinig <sam@webkit.org>
  30255. Reviewed by Oliver Hunt.
  30256. Fix <rdar://problem/5788451>
  30257. toDataURL not implemented for Windows (need mapping of MIME type to UTI)
  30258. Hard code support for just PNG's on windows, the minimum the spec requires.
  30259. * platform/MIMETypeRegistry.cpp:
  30260. (WebCore::initializeSupportedImageMIMETypesForEncoding):
  30261. * platform/graphics/cg/ImageBufferCG.cpp:
  30262. (WebCore::utiFromMIMEType):
  30263. (WebCore::ImageBuffer::toDataURL):
  30264. 2008-03-21 Matt Lilek <webkit@mattlilek.com>
  30265. Not reviewed, Mac build fix.
  30266. * bindings/objc/WebScriptObject.mm:
  30267. (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
  30268. * bridge/jni/jni_utility.cpp:
  30269. (KJS::Bindings::convertValueToJValue):
  30270. * bridge/objc/objc_runtime.mm:
  30271. (ObjcFallbackObjectImp::callAsFunction):
  30272. 2008-03-21 Adam Roben <aroben@apple.com>
  30273. Attempt to fix the Mac build
  30274. * bindings/objc/DOMUtility.mm:
  30275. (KJS::createDOMWrapper):
  30276. 2008-03-21 Adam Roben <aroben@apple.com>
  30277. Rename static info members to s_info
  30278. This avoids conflicts with custom "info" methods, such as the one that
  30279. will soon be added to Console.
  30280. Reviewed by Ada Chan and Sam Weinig.
  30281. 2008-03-21 David Hyatt <hyatt@apple.com>
  30282. <rdar://problem/5808863> Zooming should not let non-zero border width become zero
  30283. Make sure zoomed values that begin >= 1 are not allowed to fall below 1.
  30284. Reviewed by adele
  30285. * css/CSSPrimitiveValue.cpp:
  30286. (WebCore::CSSPrimitiveValue::computeLengthDouble):
  30287. * loader/CachedImage.cpp:
  30288. (WebCore::CachedImage::imageSize):
  30289. (WebCore::CachedImage::imageRect):
  30290. 2008-03-21 Kevin McCullough <kmccullough@apple.com>
  30291. Reviewed by Sam.
  30292. -<rdar://problem/5712804> XMLHttpRequests do not show response contents, preview images (14313)
  30293. -<rdar://problem/5712931> XMLHttpRequests should be shown separately and grouped (14315)
  30294. -<rdar://problem/5732836> XMLHttpRequest: Inspector should show network activity/XHR in Console (17233)
  30295. - Instrument the InspectorController to cache XHR resrouces since they are not cached by WebCore.
  30296. The resources will be kept in the same map as all other resources so they will have the exact
  30297. same lifecycle.
  30298. * ChangeLog:
  30299. * page/InspectorController.cpp:
  30300. (WebCore::InspectorCachedXMLHttpRequestResource::type):
  30301. (WebCore::InspectorCachedXMLHttpRequestResource::setType):
  30302. (WebCore::InspectorCachedXMLHttpRequestResource::data):
  30303. (WebCore::InspectorCachedXMLHttpRequestResource::setData):
  30304. (WebCore::InspectorCachedXMLHttpRequestResource::encoding):
  30305. (WebCore::InspectorCachedXMLHttpRequestResource::setEncoding):
  30306. (WebCore::InspectorCachedXMLHttpRequestResource::create):
  30307. (WebCore::InspectorCachedXMLHttpRequestResource::InspectorCachedXMLHttpRequestResource):
  30308. 2008-03-21 Rodney Dawes <dobey@wayofthemonkey.com>
  30309. Reviewed by Holger.
  30310. http://bugs.webkit.org/show_bug.cgi?id=17981
  30311. Remove WebCore/ForwardingHeaders from cppflags as it is not needed,
  30312. and causes build problems with GTK+.
  30313. * GNUmakefile.am:
  30314. 2008-03-21 Dan Bernstein <mitz@apple.com>
  30315. Reviewed by Adele Peterson.
  30316. - fix http://bugs.webkit.org/show_bug.cgi?id=17966
  30317. REGRESSION (r31114-r31132): Clearing via br behaves unpredictably
  30318. Test: fast/block/float/br-with-clear.html
  30319. * rendering/bidi.cpp:
  30320. (WebCore::RenderBlock::layoutInlineChildren): Fixed the logic for the
  30321. very special case of an all-lines-clean block that ends with a float-
  30322. clearing <br> by looking for the <br> at the end of the line rather
  30323. than at its beginning.
  30324. 2008-03-21 Adam Roben <aroben@apple.com>
  30325. Don't allow any newly-scheduled plugin requests to be serviced when JS is paused
  30326. This is a followup to r31199.
  30327. Reviewed by Tim Hatcher.
  30328. * plugins/PluginView.cpp:
  30329. (WebCore::PluginView::requestTimerFired): Added an assertion that JS
  30330. is not paused.
  30331. (WebCore::PluginView::scheduleRequest): Don't start the request timer
  30332. if JS is paused. This is the bug fix.
  30333. (WebCore::PluginView::setJavaScriptPaused): Replaced the use of
  30334. m_requestTimerWasActive with a check to see if we have any pending
  30335. requests. m_requestTimerWasActive would not be accurate if a new
  30336. request had been scheduled while JS was paused.
  30337. (WebCore::PluginView::PluginView): Removed initialization of
  30338. m_requestTimerWasActive.
  30339. * plugins/PluginView.h: Removed m_requestTimerWasActive.
  30340. 2008-03-20 Dan Bernstein <mitz@apple.com>
  30341. Reviewed by Anders Carlsson.
  30342. - fix an assertion failure due to a line being marked dirty during
  30343. computeVerticalPositionsForLine() due to temporary box destruction
  30344. Test: fast/inline/clean-after-removing-temp-boxes.html
  30345. * rendering/RenderText.cpp:
  30346. (WebCore::RenderText::setTextWithOffset): Added code to dirty lines
  30347. when this method is called on an empty text node, which has no line
  30348. boxes.
  30349. * rendering/bidi.cpp:
  30350. (WebCore::RenderBlock::computeVerticalPositionsForLine): Mark the line
  30351. clean in the end.
  30352. 2008-03-20 Anders Carlsson <andersca@apple.com>
  30353. Reviewed by Maciej.
  30354. Make some member variables private.
  30355. * loader/ResourceLoader.cpp:
  30356. (WebCore::ResourceLoader::ResourceLoader):
  30357. * loader/ResourceLoader.h:
  30358. 2008-03-20 Anders Carlsson <andersca@apple.com>
  30359. Reviewed by Maciej.
  30360. Get rid of m_originalURL in ResourceLoader.
  30361. * loader/ResourceLoader.cpp:
  30362. (WebCore::ResourceLoader::load):
  30363. Don't store m_originalURL.
  30364. * loader/ResourceLoader.h:
  30365. * loader/SubresourceLoader.cpp:
  30366. (WebCore::SubresourceLoader::willSendRequest):
  30367. Use the url of the current request instead of the original URL.
  30368. 2008-03-20 Anders Carlsson <andersca@apple.com>
  30369. Reviewed by Maciej.
  30370. Small loader cleanups.
  30371. * loader/MainResourceLoader.cpp:
  30372. (WebCore::MainResourceLoader::willSendRequest):
  30373. No need to call setRequest here, ResourceLoader::willSendRequest takes care of that.
  30374. Also, there is no need to check that newRequest is null here, because we assert earlier that it is not.
  30375. * loader/ResourceLoader.h:
  30376. Get rid of setRequest, it is no longer needed.
  30377. 2008-03-20 Anders Carlsson <andersca@apple.com>
  30378. Get rid of a couple of unnecessary class declarations.
  30379. * loader/SubresourceLoader.h:
  30380. 2008-03-20 David Hyatt <hyatt@apple.com>
  30381. Add a new value to background-clip, "text", that allows backgrounds to be clipped to foreground text (and
  30382. associated text decorations like shadows and underlines).
  30383. Reviewed by Beth
  30384. * css/CSSParser.cpp:
  30385. (WebCore::CSSParser::parseBackgroundProperty):
  30386. * css/CSSPrimitiveValueMappings.h:
  30387. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  30388. (WebCore::CSSPrimitiveValue::operator EBackgroundBox):
  30389. * platform/graphics/GraphicsContext.cpp:
  30390. (WebCore::GraphicsContext::clipToImageBuffer):
  30391. * platform/graphics/GraphicsContext.h:
  30392. * platform/graphics/cg/GraphicsContextCG.cpp:
  30393. (WebCore::GraphicsContext::clipToImageBuffer):
  30394. * rendering/InlineBox.cpp:
  30395. (WebCore::InlineBox::paint):
  30396. * rendering/InlineFlowBox.cpp:
  30397. (WebCore::InlineFlowBox::paintBackgrounds):
  30398. (WebCore::InlineFlowBox::paintBackground):
  30399. (WebCore::InlineFlowBox::paintBoxDecorations):
  30400. * rendering/InlineFlowBox.h:
  30401. * rendering/InlineTextBox.cpp:
  30402. (WebCore::InlineTextBox::paint):
  30403. * rendering/RenderBlock.cpp:
  30404. (WebCore::RenderBlock::paintColumns):
  30405. (WebCore::RenderBlock::paintObject):
  30406. (WebCore::RenderBlock::paintFloats):
  30407. * rendering/RenderBlock.h:
  30408. * rendering/RenderBox.cpp:
  30409. (WebCore::RenderBox::paintRootBoxDecorations):
  30410. (WebCore::RenderBox::paintBoxDecorations):
  30411. (WebCore::RenderBox::paintBackgrounds):
  30412. (WebCore::RenderBox::paintBackground):
  30413. (WebCore::RenderBox::paintBackgroundExtended):
  30414. * rendering/RenderBox.h:
  30415. * rendering/RenderFieldset.cpp:
  30416. (WebCore::RenderFieldset::paintBoxDecorations):
  30417. * rendering/RenderFlow.cpp:
  30418. (WebCore::RenderFlow::paintLines):
  30419. * rendering/RenderObject.h:
  30420. (WebCore::RenderObject::paintBackgroundExtended):
  30421. * rendering/RenderStyle.h:
  30422. * rendering/RenderTable.cpp:
  30423. (WebCore::RenderTable::paintBoxDecorations):
  30424. * rendering/RenderTableCell.cpp:
  30425. (WebCore::RenderTableCell::paintBackgroundsBehindCell):
  30426. 2008-03-20 Adam Roben <aroben@apple.com>
  30427. Allow pausing/blocking of JS execution by plugins
  30428. Part of Bug 17133: Should support pausing JavaScript execution without
  30429. hanging the process
  30430. <http://bugs.webkit.org/show_bug.cgi?id=17133>
  30431. <rdar://problem/5719551>
  30432. This patch doesn't affect Mac, which doesn't use the shared PluginView
  30433. code.
  30434. Note that this patch doesn't prevent plugins from executing JS via an
  30435. NPObject they've already gotten hold of. It just blocks obtaining new
  30436. NPObjects and pauses any requests to evaluate javascript: URIs. This
  30437. is probably good enough for now because most plugins seem to always
  30438. obtain the Window object each time they want to execute JS.
  30439. Reviewed by Tim Hatcher.
  30440. * plugins/PluginView.cpp:
  30441. (WebCore::PluginView::getValue): Return an error if JS is paused.
  30442. (WebCore::PluginView::setJavaScriptPaused): Stop the request timer if
  30443. we're pausing, and resume it if we're unpausing.
  30444. (WebCore::PluginView::PluginView): Initialize new members.
  30445. * plugins/PluginView.h:
  30446. 2008-03-20 Adam Roben <aroben@apple.com>
  30447. Allow pausing of callOnMainThread callbacks
  30448. Part of Bug 17133: Should support pausing JavaScript execution without
  30449. hanging the process
  30450. <http://bugs.webkit.org/show_bug.cgi?id=17133>
  30451. <rdar://problem/5719551>
  30452. Reviewed by Tim Hatcher.
  30453. * platform/MainThread.cpp:
  30454. (WebCore::dispatchFunctionsFromMainThread): If callbacks are paused,
  30455. don't dispatch the functions.
  30456. (WebCore::setMainThreadCallbacksPaused): Added. If we're being
  30457. unpaused, call scheduleDispatchFunctionsOnMainThread so that any
  30458. queued callbacks will get dispatched in the near future.
  30459. * platform/MainThread.h:
  30460. 2008-03-20 Adam Roben <aroben@apple.com>
  30461. Allow blocking of JS event handlers/javascript: URIs per-Frame
  30462. Part of Bug 17133: Should support pausing JavaScript execution without
  30463. hanging the process
  30464. <http://bugs.webkit.org/show_bug.cgi?id=17133>
  30465. <rdar://problem/5719551>
  30466. Two new methods are added to KJSProxy: setPaused and isPaused. When
  30467. setPaused(true) is called, JS event handlers are blocked and
  30468. javascript: URIs will not be evaluated.
  30469. Reviewed by Tim Hatcher.
  30470. * bindings/js/kjs_events.cpp:
  30471. (WebCore::JSAbstractEventListener::handleEvent):
  30472. - Removed some old KJS_DEBUGGER code
  30473. - Don't run the handler if the KJSProxy is paused.
  30474. * bindings/js/kjs_proxy.cpp:
  30475. (WebCore::KJSProxy::KJSProxy): Initialize new member.
  30476. * bindings/js/kjs_proxy.h: Added new methods.
  30477. * loader/FrameLoader.cpp:
  30478. (WebCore::FrameLoader::executeScript): Don't execute the script if the
  30479. KJSProxy is paused.
  30480. 2008-03-20 Jon Honeycutt <jhoneycutt@apple.com>
  30481. Reviewed by Anders.
  30482. Fix Windows warning / leak: warning C4150: deletion of pointer to
  30483. incomplete type 'WebCore::PluginRequest'; no destructor called
  30484. * plugins/PluginView.cpp: Move PluginRequest class to PluginView.h so
  30485. Windows PluginView destructor can use WTF::deleteAllValues to clean up
  30486. m_requests.
  30487. * plugins/PluginView.h:
  30488. (WebCore::PluginRequest::PluginRequest):
  30489. (WebCore::PluginRequest::frameLoadRequest):
  30490. (WebCore::PluginRequest::notifyData):
  30491. (WebCore::PluginRequest::sendNotification):
  30492. (WebCore::PluginRequest::shouldAllowPopups):
  30493. 2008-03-20 Mark Rowe <mrowe@apple.com>
  30494. Reviewed by Sam Weinig.
  30495. Ensure that the defines in FEATURE_DEFINES are sorted so that they will match the default settings of build-webkit.
  30496. This will prevent the world from being rebuilt if you happen to switch between building in Xcode and with build-webkit on the
  30497. command-line.
  30498. * Configurations/WebCore.xcconfig:
  30499. 2008-03-20 Jon Honeycutt <jhoneycutt@apple.com>
  30500. Reviewed by Anders.
  30501. <rdar://problem/5809600> REGRESSION:
  30502. http/tests/plugins/cross-frame-object-access.html hangs Windows Layout
  30503. Tests
  30504. r30897 changed the way we conditionalize this feature.
  30505. * plugins/PluginView.cpp:
  30506. (WebCore::PluginView::getValue): Test ENABLE(NETSCAPE_PLUGIN_API)
  30507. instead of USE(NPOBJECT).
  30508. (WebCore::PluginView::bindingInstance): Same.
  30509. 2008-03-20 Adam Roben <aroben@apple.com>
  30510. Highlight nodes when you hover over them in the Console
  30511. Part of Bug 16532: Inspector should highlight nodes in page when
  30512. hovering over nodes in Inspector's interface
  30513. <http://bugs.webkit.org/show_bug.cgi?id=16532>
  30514. <rdar://problem/5712896>
  30515. Reviewed by Tim Hatcher.
  30516. * page/inspector/ConsolePanel.js:
  30517. (WebInspector.ConsolePanel._formatnode): Add mouseover/mouseout event
  30518. listeners to highlight the node and clear the highlight.
  30519. 2008-03-20 Adam Roben <aroben@apple.com>
  30520. Highlight nodes in the page when you hover over their DOM breadcrumbs
  30521. Part of Bug 16532: Inspector should highlight nodes in page when
  30522. hovering over nodes in Inspector's interface
  30523. <http://bugs.webkit.org/show_bug.cgi?id=16532>
  30524. <rdar://problem/5712896>
  30525. Reviewed by Tim Hatcher.
  30526. * page/inspector/DocumentPanel.js:
  30527. (WebInspector.DocumentPanel): Add an mouseout event listener to the
  30528. breadcrumbs element to clear the highlighted node.
  30529. (WebInspector.DocumentPanel.updateBreadcrumbs): Change the mouseover
  30530. event listener to highlight the node represented by the hovered
  30531. breadcrumb.
  30532. 2008-03-20 Adam Roben <aroben@apple.com>
  30533. Highlight nodes in the page when you hover over them in the DOM tree
  30534. Part of Bug 16532: Inspector should highlight nodes in page when
  30535. hovering over nodes in Inspector's interface
  30536. <http://bugs.webkit.org/show_bug.cgi?id=16532>
  30537. <rdar://problem/5712896>
  30538. The inspected node is no longer highlighted (unless, of course, you
  30539. hover over it).
  30540. Reviewed by Tim Hatcher.
  30541. * page/inspector/DocumentPanel.js:
  30542. (WebInspector.DocumentPanel):
  30543. - Don't highlight the focused node when the DOM tree is shown
  30544. - Added mousemove/mouseout event listeners to set/clear the
  30545. highlighted node. These are added to the root of the DOM tree
  30546. instead of to each individual list item to avoid flashing as the
  30547. mouse moves between nodes.
  30548. (WebInspector.DocumentPanel.set focusedDOMNode): Don't highlight the
  30549. focused node.
  30550. (WebInspector.DocumentPanel._onmousemove): Highlight the node under
  30551. the mouse.
  30552. 2008-03-20 Adam Roben <aroben@apple.com>
  30553. Show nodes' content/padding/border/margin boxes in the node highlight
  30554. Part of Bug 17221: Node highlight should show node metrics
  30555. <http://bugs.webkit.org/show_bug.cgi?id=17221>
  30556. <rdar://problem/5732822>
  30557. Outstanding issues:
  30558. 1) We don't show padding/border/margins for inlines
  30559. 2) We don't show any numeric metrics, we just draw the boxes
  30560. 3) We'll probably want to tweak the look of the highlight some, at
  30561. least to make the boxes better distinguishable
  30562. Reviewed by Tim Hatcher.
  30563. * page/InspectorController.cpp:
  30564. (WebCore::drawOutlinedRect): Added. Just draws a single rect.
  30565. (WebCore::drawHighlightForBoxes): Added. Takes the rects we calculated
  30566. for the node and draws the highlight.
  30567. (WebCore::InspectorController::drawNodeHighlight): Calculates the
  30568. content/padding/border/margin boxes for blocks and passes them off to
  30569. drawHighlightForBoxes. The behavior for inlines is for now unchanged.
  30570. 2008-03-20 Adam Roben <aroben@apple.com>
  30571. Fix RenderContainer's override of addLineBoxRects to match RenderObject's
  30572. RenderContainer::addLineBoxRects was never getting called because its
  30573. parameters didn't match those of RenderObject::addLineBoxRects.
  30574. Reviewed by Mitz Pettel.
  30575. No test possible.
  30576. * rendering/RenderContainer.cpp: Added an optional bool
  30577. useSelectionHeight parameter to match RenderObject's method.
  30578. * rendering/RenderContainer.h: Ditto.
  30579. 2008-03-20 Marco Barisione <marco.barisione@collabora.co.uk>
  30580. Reviewed by Alp Toker.
  30581. http://bugs.webkit.org/show_bug.cgi?id=17946
  30582. [GTK] Widgets are not clipped
  30583. * platform/gtk/RenderThemeGtk.cpp:
  30584. (WebCore::paintMozWidget): pass the clipping rectangle to
  30585. moz_gtk_widget_paint() instead of just the widget rectangle.
  30586. 2008-03-20 David Hyatt <hyatt@apple.com>
  30587. Fix for http://bugs.webkit.org/show_bug.cgi?id=9279
  30588. Make :hover work with the adjacent sibling selector. This fix makes all forms of dynamic changes
  30589. (class name changes, :hover, :focus, etc.) work properly when used with the + selector.
  30590. Reviewed by weinig
  30591. Added fast/css/dynamic-sibling-selector.html
  30592. * dom/Element.cpp:
  30593. (WebCore::Element::recalcStyle):
  30594. 2008-03-20 Aaron Golden <aegolden@gmail.com>
  30595. Reviewed by Darin and David Kilzer.
  30596. Addresses <http://bugs.webkit.org/show_bug.cgi?id=15263>, which caused certain marquees to not display.
  30597. Test: fast/html/marquee-scroll.html
  30598. * html/HTMLMarqueeElement.cpp:
  30599. (WebCore::HTMLMarqueeElement::parseMappedAttribute):
  30600. 2008-03-20 Adam Roben <aroben@apple.com>
  30601. Export InspectorController::drawNodeHighlight
  30602. Reviewed by Tim Hatcher.
  30603. * WebCore.base.exp: Also sorted this file.
  30604. 2008-03-19 Stephanie Lewis <slewis@apple.com>
  30605. Rubber-stamped by Anders.
  30606. Fix Windows Build
  30607. * platform/cf/SharedBufferCF.cpp:
  30608. (WebCore::SharedBuffer::createCFData):
  30609. 2008-03-19 Stephanie Lewis <slewis@apple.com>
  30610. Rubber-stamped by Anders.
  30611. Fix Windows Build
  30612. * platform/SharedBuffer.h:
  30613. 2008-03-19 Justin Garcia <justin.garcia@apple.com>
  30614. Reviewed by Oliver.
  30615. <rdar://problem/5780697> Copying content with CSS property values that are percentages can cause fidelity issues
  30616. Elements with height: x%; overflow: visible; overlap what's below them when they are copied from
  30617. a document in quirksmode and pasted into to one in standards mode. This fix uses the computed
  30618. the value for a property if its value is a percentage.
  30619. * css/CSSMutableStyleDeclaration.cpp:
  30620. (WebCore::CSSMutableStyleDeclaration::addParsedProperty): Added so that we don't have to use
  30621. setProperty from appendStartMarkup. We already have a parsed property value, so we shouldn't
  30622. use setProperty, since it takes in a String. If we did, we would have to call CSSValue::cssText()
  30623. for a String only to re-parse it in setProperty. This wasn't extremely important now, but it will
  30624. be as we compute more properties to fix the rest of the copy/paste fidelity bugs.
  30625. * css/CSSMutableStyleDeclaration.h:
  30626. * editing/markup.cpp:
  30627. (WebCore::appendStartMarkup): Compute values for properties that have percentage values. We could
  30628. perhaps narrow this special case to only include properties that are effected by quirksmode.
  30629. 2008-03-19 Sam Weinig <sam@webkit.org>
  30630. Reviewed by Anders Carlsson.
  30631. Fix for <rdar://problem/5785694>
  30632. Crash occurs at KJS::Collector::collect() when loading web clip widgets with a PAC file
  30633. Make the activeExecStates stack per JSGlobalObject instead of static to ensure
  30634. thread safety.
  30635. * bindings/objc/WebScriptObject.mm:
  30636. (+[WebScriptObject throwException:]): Change to throw an exception on the current
  30637. GlobalObject instead of the top of the static activeExecStates stack.
  30638. (-[WebScriptObject setException:]): Change to use the top of the rootObjects GlobalObject
  30639. instead of the top of the static activeExecStates stack.
  30640. * bridge/c/c_instance.cpp:
  30641. * bridge/c/c_instance.h:
  30642. * bridge/jni/jni_instance.cpp:
  30643. (JavaInstance::virtualBegin):
  30644. (JavaInstance::virtualEnd):
  30645. * bridge/jni/jni_instance.h:
  30646. * bridge/objc/objc_instance.h:
  30647. * bridge/objc/objc_instance.mm:
  30648. (ObjcInstance::~ObjcInstance):
  30649. (ObjcInstance::virtualBegin):
  30650. (ObjcInstance::virtualEnd):
  30651. * bridge/runtime.cpp:
  30652. (KJS::Bindings::Instance::setDidExecuteFunction):
  30653. (KJS::Bindings::Instance::didExecuteFunction):
  30654. (KJS::Bindings::Instance::setCurrentGlobalObject): Added.
  30655. (KJS::Bindings::Instance::currentGlobalObject): Added.
  30656. (KJS::Bindings::Instance::begin):
  30657. (KJS::Bindings::Instance::end):
  30658. * bridge/runtime.h:
  30659. (KJS::Bindings::Instance::virtualBegin): Renamed from begin().
  30660. (KJS::Bindings::Instance::virtualEnd): Renamed from end().
  30661. We now store the currently active globalObject everytime we cross the runtime
  30662. object boundary. To do this, we take advantage of the existing begin/end
  30663. methods that are called when crossing this boundary, making begin set the current
  30664. globalObject and then call the old begin, now called virtualBegin.
  30665. 2008-03-19 Brady Eidson <beidson@apple.com>
  30666. Reviewed by Anders
  30667. Change SharedBuffer so the wrapping platform data aspect can be shared with all CoreFoundation platforms
  30668. (Mac and Windows instead of just Mac)
  30669. * WebCore.vcproj/WebCore.vcproj: Add SharedBufferCF.cpp
  30670. * WebCore.xcodeproj/project.pbxproj: Ditto
  30671. * platform/SharedBuffer.cpp:
  30672. * platform/SharedBuffer.h: Change the private c'tor from NSData to CFDataRef, other PLATFORM tweaks
  30673. * platform/cf/SharedBufferCF.cpp: Added.
  30674. (WebCore::SharedBuffer::SharedBuffer):
  30675. (WebCore::SharedBuffer::createCFData): Non-Mac version of createCFData
  30676. (WebCore::SharedBuffer::hasPlatformData):
  30677. (WebCore::SharedBuffer::platformData):
  30678. (WebCore::SharedBuffer::platformDataSize):
  30679. (WebCore::SharedBuffer::maybeTransferPlatformData):
  30680. (WebCore::SharedBuffer::clearPlatformData):
  30681. * platform/mac/SharedBufferMac.mm:
  30682. (WebCore::SharedBuffer::wrapNSData): Use the CFDataRef constructor via toll-free bridging
  30683. (WebCore::SharedBuffer::createCFData): Mac-specific version of createCFData
  30684. 2008-03-19 Oliver Hunt <oliver@apple.com>
  30685. Reviewed by Antti.
  30686. Bug 17954: Canvas arc() with radius of 0 throws exception
  30687. http://bugs.webkit.org/show_bug.cgi?id=17954
  30688. Simple fix -- use >= instead of > when validating the radius.
  30689. * html/CanvasRenderingContext2D.cpp:
  30690. (WebCore::CanvasRenderingContext2D::arc):
  30691. 2008-03-19 Justin Garcia <justin.garcia@apple.com>
  30692. Reviewed by Oliver.
  30693. <rdar://problem/5794920> Acid3: Assertion failure in VisiblePosition::previous when clicking on results (17004)
  30694. The position inside an empty inline-block was a candidate, but upstream and downstream
  30695. would move across it without stopping. This confused canonicalPosition, since no more
  30696. than two candidates should have the same upstream/downstream (be visually equivalent).
  30697. Code was added intentionally in isCandidate to make VisiblePositions inside empty
  30698. inline-blocks, so we need to make upstream/downstream understand that.
  30699. * dom/Position.cpp:
  30700. (WebCore::endsOfNodeAreVisuallyDistinctPositions): upstream and downstream used to only
  30701. stop when entering or leaving a non-inline element (referred to as a "block"). We must also
  30702. avoid entering or leaving an empty inline-block. This will allow a VisiblePosition there, to
  30703. match up with what the code in isCandidate intended.
  30704. (WebCore::enclosingVisualBoundary): Removed enclosingBlock and replaced it with this.
  30705. (WebCore::Position::upstream): Added better comments, called the new functions.
  30706. (WebCore::Position::downstream): Ditto.
  30707. * dom/Position.h:
  30708. 2008-03-19 Dan Bernstein <mitz@apple.com>
  30709. Rubber-stamped by John Sullivan.
  30710. - change CSS property and value keyword constants from all-caps with
  30711. underscores to intra-caps.
  30712. * css/makeprop.pl:
  30713. * css/makevalues.pl:
  30714. * All files using the constants
  30715. 2008-03-19 Adam Roben <aroben@apple.com>
  30716. Make clicking anywhere in a row in the DOM tree select that row's node
  30717. We now have mousedown and dblclick event listeners on the root of the
  30718. tree that forward the event to the node on the row the mouse is over.
  30719. Reviewed by Tim Hatcher.
  30720. * page/inspector/DocumentPanel.js:
  30721. (WebInspector.DocumentPanel): Added a dblclick and mousedown event
  30722. listeners to the root of the tree.
  30723. (WebInspector.DocumentPanel._treeElementFromEvent): Added. Finds the
  30724. tree element for the row underneath the mouse.
  30725. (WebInspector.DocumentPanel._ondblclick): Added. Sends the dblclick
  30726. event on to the tree element in the current row.
  30727. (WebInspector.DocumentPanel._onmousedown): Added. Selects the tree
  30728. element in the current row.
  30729. * page/inspector/treeoutline.js:
  30730. (TreeOutline.treeElementFromPoint): Added.
  30731. (TreeElement.treeElementSelected): Changed to call
  30732. TreeElement.isEventWithinDisclosureTriangle, and added an early return.
  30733. (TreeElement.treeElementToggled): Ditto.
  30734. (TreeElement.isEventWithinDisclosureTriangle): Added.
  30735. * page/inspector/utilities.js:
  30736. (Node.enclosingNodeOrSelfWithNodeNameInArray): Added.
  30737. (Node.enclosingNodeOrSelfWithNodeName): Now just calls
  30738. enclosingNodeOrSelfWithNodeNameInArray.
  30739. (Elemnt.get totalOffsetLeft): Added.
  30740. (Elemnt.get totalOffsetTop): Added.
  30741. 2008-03-19 Dan Bernstein <mitz@apple.com>
  30742. Reviewed by Sam Weinig.
  30743. - fix assertion failure in RenderBlock::determineStartPosition() at http://www.wired.com/techbiz/it/magazine/16-04/bz_apple
  30744. Test: fast/repaint/line-flow-with-floats-10.html
  30745. * rendering/bidi.cpp:
  30746. (WebCore::RenderBlock::determineStartPosition): Removed bogus assertion.
  30747. If the float's top margin has changed and it has not been repositioned
  30748. yet, we do not have its new y position.
  30749. 2008-03-19 David Hyatt <hyatt@apple.com>
  30750. New implementation of full page zoom. Because of how much doesn't transform when zooming, and because
  30751. of the need to obey viewport constraints, I decided to take a completely different approach. Now CSS
  30752. lengths and intrinsic sizes are simply adjusted by the zoom factor. This approach works much better and
  30753. avoids pixel cracks more than the old approach. In addition widgets "just work", namely plugins zoom
  30754. and scrollbars do not.
  30755. This patch also implements the IE zoom CSS property. This property allows fine-grained control over
  30756. zooming at the element level. It takes values of normal | <number> | <percentage> to match WinIE. In
  30757. addition, in the vein of text-size-adjust for text zooming, I have extended the zoom property with an
  30758. extra value, reset. The reset keyword can be used to prevent a section of the page from scaling at all
  30759. when a zoom is applied.
  30760. Reviewed by olliej
  30761. * css/CSSComputedStyleDeclaration.cpp:
  30762. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  30763. Support the new 'zoom' property for getComputedStyle.
  30764. * css/CSSParser.cpp:
  30765. (WebCore::CSSParser::parseValue):
  30766. Code that parses the 'zoom' property.
  30767. * css/CSSPrimitiveValue.cpp:
  30768. (WebCore::CSSPrimitiveValue::computeLengthInt):
  30769. (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
  30770. (WebCore::CSSPrimitiveValue::computeLengthShort):
  30771. (WebCore::CSSPrimitiveValue::computeLengthFloat):
  30772. (WebCore::CSSPrimitiveValue::computeLengthDouble):
  30773. * css/CSSPrimitiveValue.h:
  30774. Extend all of the computeLength methods to take a multiplier so that lengths can be adjusted by the
  30775. zoom factor.
  30776. * css/CSSPropertyNames.in:
  30777. Add the new zoom property to the list of properties we understand.
  30778. * css/CSSStyleSelector.cpp:
  30779. (WebCore::CSSStyleSelector::applyDeclarations):
  30780. (WebCore::CSSStyleSelector::applyProperty):
  30781. (WebCore::CSSStyleSelector::mapBackgroundSize):
  30782. (WebCore::CSSStyleSelector::mapBackgroundXPosition):
  30783. (WebCore::CSSStyleSelector::mapBackgroundYPosition):
  30784. (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
  30785. * css/CSSStyleSelector.h:
  30786. (WebCore::CSSStyleSelector::setStyle):
  30787. Pass in the zoom factor when computing all lengths in CSS.
  30788. * css/CSSValueKeywords.in:
  30789. Add support for the 'reset' keyword of the zoom property.
  30790. * dom/Document.cpp:
  30791. (WebCore::Document::recalcStyle):
  30792. Set the 'zoom' CSS property on the RenderView. This is how we implement full page zoom.
  30793. * html/CanvasRenderingContext2D.cpp:
  30794. (WebCore::size):
  30795. Make sure the back end canvas size ignores zooming when rendering images.
  30796. * html/HTMLImageElement.cpp:
  30797. (WebCore::HTMLImageElement::width):
  30798. (WebCore::HTMLImageElement::height):
  30799. (WebCore::HTMLImageElement::naturalWidth):
  30800. (WebCore::HTMLImageElement::naturalHeight):
  30801. Use the unzoomed width/height if we have no style information in HTMLImageElement.cpp.
  30802. * loader/CachedImage.cpp:
  30803. (WebCore::CachedImage::ref):
  30804. (WebCore::CachedImage::imageSize):
  30805. (WebCore::CachedImage::imageRect):
  30806. * loader/CachedImage.h:
  30807. (WebCore::CachedImage::canRender):
  30808. Force access to the CachedImage metrics to take a multiplier so that people have to think about
  30809. the zoom factor. The "intrinsic size" of the image then takes that into account.
  30810. * loader/ImageDocument.cpp:
  30811. (WebCore::ImageTokenizer::finish):
  30812. (WebCore::ImageDocument::scale):
  30813. (WebCore::ImageDocument::resizeImageToFit):
  30814. (WebCore::ImageDocument::imageChanged):
  30815. (WebCore::ImageDocument::restoreImageSize):
  30816. (WebCore::ImageDocument::imageFitsInWindow):
  30817. Make sure image documents respect the zoom.
  30818. * page/AnimationController.cpp:
  30819. (WebCore::ImplicitAnimation::animate):
  30820. Make the 'zoom' CSS property work with CSS transitions.
  30821. * page/Frame.h:
  30822. (WebCore::Frame::pageZoomFactor):
  30823. (WebCore::Frame::textZoomFactor):
  30824. Add accessors for obtaining the pageZoom vs. textZoom.
  30825. * page/FrameView.cpp:
  30826. (WebCore::FrameView::adjustViewSize):
  30827. Remove the old zoom implementation that used transforms.
  30828. * page/mac/WebCoreAXObject.mm:
  30829. (-[WebCoreAXObject accessibilityIsIgnored]):
  30830. Pass in the zoom factor.
  30831. * rendering/InlineFlowBox.cpp:
  30832. (WebCore::InlineFlowBox::paintBackground):
  30833. (WebCore::InlineFlowBox::paintBoxDecorations):
  30834. Pass in the zoom factor when testing for size.
  30835. * rendering/RenderBox.cpp:
  30836. (WebCore::RenderBox::calculateBackgroundSize):
  30837. (WebCore::RenderBox::imageChanged):
  30838. (WebCore::RenderBox::paintBackgroundExtended):
  30839. (WebCore::RenderBox::calcHeight):
  30840. * rendering/RenderFrameSet.cpp:
  30841. (WebCore::RenderFrameSet::layout):
  30842. * rendering/RenderHTMLCanvas.cpp:
  30843. (WebCore::RenderHTMLCanvas::canvasSizeChanged):
  30844. * rendering/RenderHTMLCanvas.h:
  30845. (WebCore::RenderHTMLCanvas::renderName):
  30846. (WebCore::RenderHTMLCanvas::intrinsicSizeChanged):
  30847. * rendering/RenderImage.cpp:
  30848. (WebCore::RenderImage::setImageSizeForAltText):
  30849. (WebCore::RenderImage::imageChanged):
  30850. (WebCore::RenderImage::calcReplacedWidth):
  30851. (WebCore::RenderImage::calcReplacedHeight):
  30852. * rendering/RenderImage.h:
  30853. (WebCore::RenderImage::intrinsicSizeChanged):
  30854. * rendering/RenderListMarker.cpp:
  30855. (WebCore::RenderListMarker::layout):
  30856. (WebCore::RenderListMarker::imageChanged):
  30857. (WebCore::RenderListMarker::getRelativeMarkerRect):
  30858. * rendering/RenderObject.cpp:
  30859. (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
  30860. (WebCore::RenderObject::paintBorder):
  30861. Pass in the zoom factor when testing for size.
  30862. * rendering/RenderReplaced.cpp:
  30863. (WebCore::RenderReplaced::RenderReplaced):
  30864. (WebCore::RenderReplaced::setStyle):
  30865. (WebCore::RenderReplaced::intrinsicSizeChanged):
  30866. * rendering/RenderReplaced.h:
  30867. Added a new call when the zoom factor changes, intrinsicSizeChanged(). Replaced element subclasses
  30868. respond to this via overrides.
  30869. * rendering/RenderStyle.cpp:
  30870. (WebCore::StyleVisualData::StyleVisualData):
  30871. (WebCore::StyleInheritedData::StyleInheritedData):
  30872. (WebCore::StyleInheritedData::operator==):
  30873. (WebCore::RenderStyle::diff):
  30874. * rendering/RenderStyle.h:
  30875. (WebCore::StyleVisualData::operator==):
  30876. (WebCore::RenderStyle::zoom):
  30877. (WebCore::RenderStyle::zoomInEffect):
  30878. (WebCore::RenderStyle::setZoom):
  30879. (WebCore::RenderStyle::setZoomInEffect):
  30880. (WebCore::RenderStyle::initialZoom):
  30881. Support for 'zoom' in the RenderStyle. "zoomInEffect" represents the computed zoom taking into account
  30882. all the zooms specified on ancestors.
  30883. * rendering/RenderTableCol.cpp:
  30884. (WebCore::RenderTableCol::imageChanged):
  30885. * rendering/RenderTableRow.cpp:
  30886. (WebCore::RenderTableRow::imageChanged):
  30887. * rendering/RenderTableSection.cpp:
  30888. (WebCore::RenderTableSection::imageChanged):
  30889. * rendering/RenderVideo.h:
  30890. (WebCore::RenderVideo::intrinsicSizeChanged):
  30891. Pass in the zoom factor.
  30892. * rendering/RenderView.cpp:
  30893. (WebCore::RenderView::calcHeight):
  30894. (WebCore::RenderView::calcWidth):
  30895. (WebCore::RenderView::layout):
  30896. (WebCore::RenderView::viewHeight):
  30897. (WebCore::RenderView::viewWidth):
  30898. * rendering/RenderView.h:
  30899. (WebCore::RenderView::zoomFactor):
  30900. Back out the old implementation.
  30901. 2008-03-19 Adam Roben <aroben@apple.com>
  30902. Rename firstParent* methods to enclosingNode*
  30903. Rubberstamped by John Sullivan.
  30904. * page/inspector/ConsolePanel.js:
  30905. * page/inspector/DocumentPanel.js:
  30906. * page/inspector/NetworkPanel.js:
  30907. * page/inspector/inspector.js:
  30908. * page/inspector/utilities.js:
  30909. 2008-03-19 Dan Bernstein <mitz@apple.com>
  30910. Reviewed by John Sullivan.
  30911. - fix <rdar://problem/5805070> CrashTracer: [USER] 33 crashes in Safari at com.apple.WebCore: WebCore::FrameView::layout + 431
  30912. Test: fast/dynamic/subtree-parent-static-y.html
  30913. * rendering/RenderObject.cpp:
  30914. (WebCore::RenderObject::markContainingBlocksForLayout): Avoid calling
  30915. this method on the parent if the parent is the new layout subtree root,
  30916. which would result in marking all the way to the top, when it should
  30917. actually do nothing.
  30918. 2008-03-19 Mark Rowe <mrowe@apple.com>
  30919. Reviewed by Oliver Hunt.
  30920. Use WTF::Unicode abstraction rather than using ICU functions directly.
  30921. * html/PreloadScanner.cpp:
  30922. (WebCore::PreloadScanner::tokenize):
  30923. 2008-03-19 Mark Rowe <mrowe@apple.com>
  30924. Attempt to fix the Gtk build.
  30925. * platform/network/curl/ResourceHandleCurl.cpp:
  30926. (WebCore::ResourceHandle::setHostAllowsAnyHTTPSCertificate):
  30927. 2008-03-18 Darin Adler <darin@apple.com>
  30928. Reviewed by Maciej.
  30929. - Speed up JavaScript built-in properties by changing the
  30930. hash table to take advantage of the identifier objects
  30931. 5% speedup for Acid3 test 26
  30932. * bindings/js/JSDOMWindowBase.cpp:
  30933. (WebCore::JSDOMWindowBase::getOwnPropertySlot): Update for change to HashTable.
  30934. (WebCore::JSDOMWindowBase::put): Ditto.
  30935. * bindings/js/JSDOMWindowCustom.cpp:
  30936. (WebCore::JSDOMWindow::customGetOwnPropertySlot): Ditto.
  30937. * bindings/js/JSHTMLInputElementBase.cpp:
  30938. (WebCore::JSHTMLInputElementBase::getOwnPropertySlot): Ditto.
  30939. * bindings/js/JSHistoryCustom.cpp:
  30940. (WebCore::JSHistory::customGetOwnPropertySlot): Ditto.
  30941. * bindings/js/JSLocation.cpp:
  30942. (WebCore::JSLocation::customGetOwnPropertySlot): Ditto.
  30943. (WebCore::JSLocation::put): Ditto.
  30944. * bindings/js/kjs_binding.cpp:
  30945. (WebCore::nonCachingStaticFunctionGetter): Ditto.
  30946. * bindings/scripts/CodeGeneratorJS.pm: Same changes as in the
  30947. create_hash_table script.
  30948. 2008-03-18 Matt Lilek <webkit@mattlilek.com>
  30949. Fix the Gtk build for real this time.
  30950. * platform/network/curl/AuthenticationChallenge.h:
  30951. 2008-03-18 Sam Weinig <sam@webkit.org>
  30952. Reviewed by Anders Carlsson.
  30953. Fix for http://bugs.webkit.org/show_bug.cgi?id=17057
  30954. REGRESSION: Frequent random crashes in WebCore::JSNodeList::indexGetter
  30955. <rdar://problem/5725058>
  30956. Tests: fast/dom/NodeList/5725058-crash-scenario-1.html
  30957. fast/dom/NodeList/5725058-crash-scenario-2.html
  30958. fast/dom/NodeList/5725058-crash-scenario-3.html
  30959. * dom/ChildNodeList.cpp:
  30960. (WebCore::ChildNodeList::ChildNodeList):
  30961. * dom/ChildNodeList.h:
  30962. Remove rootNodeChildrenChanged() method and fix the constructor to not
  30963. pass in a needsNotifications argument to DynamicNodeList, as it no longer
  30964. takes one.
  30965. * dom/ClassNodeList.cpp:
  30966. (WebCore::ClassNodeList::ClassNodeList):
  30967. Don't pass the needsNotifications argument to DynamicNodeList.
  30968. * dom/ContainerNode.cpp:
  30969. (WebCore::ContainerNode::childrenChanged):
  30970. Rename call to hasNodeLists() to hasNodeListCaches().
  30971. * dom/Document.cpp:
  30972. (WebCore::Document::Document):
  30973. (WebCore::Document::~Document): Zero out the m_document variable to signify
  30974. to destructors down the destruction chain that this is a Document type node
  30975. being destructed, and thus, accessing document() is prohibited.
  30976. * dom/Document.h:
  30977. (WebCore::Document::addNodeListCache): Renamed from addNodeList.
  30978. (WebCore::Document::removeNodeListCache): Renamed from removeNodeList, adds assertion.
  30979. (WebCore::Document::hasNodeListCaches): Renamed from hasNodeListCaches.
  30980. Rename m_numNodeLists to m_numNodeListCaches.
  30981. * dom/DynamicNodeList.cpp:
  30982. (WebCore::DynamicNodeList::DynamicNodeList):
  30983. (WebCore::DynamicNodeList::~DynamicNodeList):
  30984. (WebCore::DynamicNodeList::invalidateCache):
  30985. (WebCore::DynamicNodeList::Caches::Caches):
  30986. * dom/DynamicNodeList.h:
  30987. (WebCore::DynamicNodeList::hasOwnCaches):
  30988. Remove the needsNotifications concept from DynamicNodeList, instead, manually
  30989. invalidate the cache for lists that own their own cache.
  30990. * dom/NameNodeList.cpp:
  30991. (WebCore::NameNodeList::NameNodeList):
  30992. * dom/NameNodeList.h:
  30993. Remove rootNodeAttributeChanged() method and fix the constructor to not
  30994. pass in a needsNotifications argument to DynamicNodeList, as it no longer
  30995. takes one.
  30996. * dom/Node.cpp:
  30997. (WebCore::Node::~Node): Decrement the document's nodeListCache count
  30998. if we had a NodeListsNodeData cache and this is not the Document being
  30999. destructor, as tagged by a null m_document.
  31000. (WebCore::Node::childNodes): Increment the document's nodeListCache count
  31001. if we need create the NodeListsNodeData.
  31002. (WebCore::Node::registerDynamicNodeList): Increment the document's nodeListCache count
  31003. if we need create the NodeListsNodeData. Change to invalidate all the caches, instead
  31004. of just the ChildNodeList, if document has had no NodeListCaches.
  31005. (WebCore::Node::unregisterDynamicNodeList): Change to remove the cache from the m_listsWithCaches
  31006. set if it is owned by the NodeList and clear the m_nodeLists if it is empty.
  31007. (WebCore::Node::notifyLocalNodeListsAttributeChanged): Move logic to
  31008. NodeListsNodeData::invalidateAttributeCaches and clear the cache pointer if it is empty.
  31009. (WebCore::Node::notifyLocalNodeListsChildrenChanged): Move logic to
  31010. NodeListsNodeData::invalidateCaches and clear the cache pointer if it is empty.
  31011. (WebCore::Node::notifyNodeListsChildrenChanged): Cleanup.
  31012. (WebCore::Node::getElementsByName): Increment the document's nodeListCache count
  31013. if we need create the NodeListsNodeData.
  31014. (WebCore::Node::getElementsByClassName): Increment the document's nodeListCache count
  31015. if we need create the NodeListsNodeData.
  31016. (WebCore::NodeListsNodeData::invalidateCaches): Added.
  31017. (WebCore::NodeListsNodeData::invalidateAttributeCaches): Added.
  31018. (WebCore::NodeListsNodeData::isEmpty): Added.
  31019. * dom/TagNodeList.cpp:
  31020. (WebCore::TagNodeList::TagNodeList):
  31021. Don't pass the needsNotifications argument to DynamicNodeList.
  31022. 2008-03-18 Matt Lilek <webkit@mattlilek.com>
  31023. Not reviewed, build fix.
  31024. * platform/network/curl/AuthenticationChallenge.h:
  31025. 2008-03-18 Brent Fulgham <bfulgham@gmail.com>
  31026. Reviewed by Adam Roben.
  31027. Provide some stub implementations for things that WebKit
  31028. uses for performing authentication/challenge activities. This
  31029. is in support of http://bugs.webkit.org/show_bug.cgi?id=17837
  31030. * platform/network/ResourceHandle.h:
  31031. * platform/network/curl/AuthenticationChallenge.h:
  31032. (WebCore::AuthenticationChallenge::AuthenticationChallenge):
  31033. (WebCore::AuthenticationChallenge::sourceHandle):
  31034. 2008-03-18 Eric Seidel <eric@webkit.org>
  31035. Reviewed by Oliver.
  31036. Fix SVGImage crash seen once, and obvious via code inspection.
  31037. I was not able to find a test case for this.
  31038. * svg/graphics/SVGImage.cpp:
  31039. (WebCore::SVGImage::setContainerSize):
  31040. (WebCore::SVGImage::usesContainerSize):
  31041. (WebCore::SVGImage::hasRelativeWidth):
  31042. (WebCore::SVGImage::hasRelativeHeight):
  31043. 2008-03-18 Rodney Dawes <dobey@wayofthemonkey.com>
  31044. Fix Qt build after r31123.
  31045. Add PluginView methods to TemporaryLinkStubs.
  31046. * platform/qt/TemporaryLinkStubs.cpp:
  31047. 2008-03-18 Sam Weinig <sam@webkit.org>
  31048. Reviewed by Darin Adler.
  31049. - Speed up JavaScript prototype and constructor object creation
  31050. using a static Identifier in the self() methods to avoid the
  31051. cost of creating one from a c-string each time.
  31052. 5% speedup for Acid3 test 26
  31053. * bindings/scripts/CodeGeneratorJS.pm:
  31054. 2008-03-18 Antti Koivisto <antti@apple.com>
  31055. Reviewed by Mark Rowe.
  31056. Enable preloading for other platforms besides Mac.
  31057. * GNUmakefile.am:
  31058. * WebCore.pro:
  31059. * WebCore.vcproj/WebCore.vcproj:
  31060. * WebCoreSources.bkl:
  31061. * html/HTMLTokenizer.cpp:
  31062. * html/HTMLTokenizer.h:
  31063. * html/PreloadScanner.cpp:
  31064. (WebCore::PreloadScanner::tokenize):
  31065. 2008-03-18 Dan Bernstein <mitz@apple.com>
  31066. Reviewed by Adele Peterson.
  31067. - fix <rdar://problem/5805127> REGRESSION (r31116): Assertion failure (floatIndex < floats.size()) in RenderBlock::determineStartPosition() at digg.com
  31068. Test: fast/dynamic/floating-to-positioned.html
  31069. * rendering/RenderObject.cpp:
  31070. (WebCore::RenderObject::setStyle): Added code to remove a float from
  31071. object lists if its position property changes to something other than
  31072. static, since then it ceases to be a float.
  31073. 2008-03-18 Adam Roben <aroben@apple.com>
  31074. Windows build fix after r31123
  31075. * plugins/win/PluginViewWin.cpp: Add back MozillaUserAgent.
  31076. 2008-03-18 Dan Bernstein <mitz@apple.com>
  31077. Reviewed by Darin Adler.
  31078. - eliminate RenderFlow::m_clear
  31079. * rendering/RenderBlock.cpp:
  31080. (WebCore::RenderBlock::layoutBlock): Removed code to set m_clear.
  31081. (WebCore::RenderBlock::newLine): Added a 'clear' parameter.
  31082. * rendering/RenderBlock.h:
  31083. * rendering/RenderFlow.h:
  31084. (WebCore::RenderFlow::RenderFlow): Removed initialization of m_clear.
  31085. * rendering/bidi.cpp:
  31086. (WebCore::RenderBlock::layoutInlineChildren): Added a local 'clear'
  31087. variable, passing a pointer to it to findNextLineBreak() and its value
  31088. to newLine().
  31089. (WebCore::RenderBlock::findNextLineBreak): Added a 'clear' parameter,
  31090. which this method adjusts when it encounters a <br>.
  31091. 2008-03-18 Simon Hausmann <hausmann@webkit.org>
  31092. Reviewed by Holger.
  31093. Fix the Qt build and clean up the invoke mechanism for dispatching
  31094. functions in the main thread by using QMetaObject::invokeMethod
  31095. instead of posting a null event.
  31096. * platform/qt/MainThreadQt.cpp:
  31097. 2008-03-18 Rodney Dawes <dobey@wayofthemonkey.com>
  31098. Fix Mac build from commit of r31123.
  31099. Add a typedef for NSView* to PlatformWidget, remove duplicate PluginMessageThrottlerWin definition.
  31100. * platform/Widget.h:
  31101. * WebCore.vcproj/WebCore.vcproj:
  31102. 2008-03-18 Rodney Dawes <dobey@wayofthemonkey.com>
  31103. Reviewed by Jon Honeycutt.
  31104. Add PluginView.cpp and npapi.cpp to build files.
  31105. Copy win/PluginViewWin.cpp to PluginView.cpp for shared code.
  31106. Split Windows specific code out of PluginView.cpp.
  31107. Add #if USE(NPOBJECT) around dependant code.
  31108. Use npruntime_internal.h instead of npapi.h.
  31109. Add PlatformWidget typedef to Widget.h.
  31110. Update WidgetGtk.cpp for the PlatformWidget usage.
  31111. Add needed methods to TemporaryLinkStubs for GTK+ port.
  31112. * GNUmakefile.am:
  31113. * WebCore.pro:
  31114. * WebCoreSources.bkl:
  31115. * WebCore.vcproj/WebCore.vcproj:
  31116. * plugins/win/PluginViewWin.cpp:
  31117. * plugins/PluginView.cpp:
  31118. * plugins/PluginView.h:
  31119. * plugins/npapi.cpp:
  31120. * platform/Widget.h:
  31121. * platform/gtk/WidgetGtk.cpp:
  31122. * platform/gtk/TemporaryLinkStubs.cpp:
  31123. 2008-03-17 Darin Adler <darin@apple.com>
  31124. Reviewed by Maciej.
  31125. - speed up document property fetching (eliminate the AtomicString
  31126. objects made during document property lookup)
  31127. 3% speedup for Acid3 test 26
  31128. * bindings/js/JSDOMWindowBase.cpp:
  31129. (WebCore::JSDOMWindowBase::getOwnPropertySlot): Use AtomicString::find to
  31130. locate the AtomicString, only if already present. Also call the new faster
  31131. versions of the hasNamedItem and hasElementWithId functions that don't
  31132. ref/deref the AtomicStringImpl, get inlined, etc.
  31133. * bindings/js/JSHTMLDocumentCustom.cpp:
  31134. (WebCore::JSHTMLDocument::canGetItemsForName): Ditto.
  31135. (WebCore::writeHelper): Use a Vector instead of a String to build up
  31136. the string to avoid the bad performance of string append.
  31137. * dom/Document.cpp: Tweaked code and comments a bit. Nothing substantive.
  31138. * dom/Document.h: Added new hasElementWithId function that's faster than
  31139. getElementById because it doesn't ref/deref the AtomicStringImpl*, gets
  31140. inlined, doesn't have to handle the 0 case, and doesn't try to return the
  31141. element pointer (just a boolean).
  31142. * html/HTMLAppletElement.cpp:
  31143. (WebCore::HTMLAppletElement::parseMappedAttribute): Use AtomicString
  31144. consistently. Also renamed the data member for clarity.
  31145. (WebCore::HTMLAppletElement::insertedIntoDocument): Ditto.
  31146. (WebCore::HTMLAppletElement::removedFromDocument): Ditto.
  31147. * html/HTMLAppletElement.h: Ditto.
  31148. * html/HTMLDocument.cpp:
  31149. (WebCore::addItemToMap): Use AtomicString instead of String.
  31150. (WebCore::removeItemFromMap): Ditto.
  31151. (WebCore::HTMLDocument::addNamedItem): Updated for member name change.
  31152. (WebCore::HTMLDocument::removeNamedItem): Ditto.
  31153. (WebCore::HTMLDocument::addExtraNamedItem): Ditto.
  31154. (WebCore::HTMLDocument::removeExtraNamedItem): Ditto.
  31155. (WebCore::HTMLDocument::clear): Added. Moved code here from the JavaScript
  31156. bindings. If we're going to have an empty placeholder function, there's no
  31157. reason to have it in the bindings instead of here.
  31158. * html/HTMLDocument.h: Added clear. Changed the named item function
  31159. arguments to AtomicString insted of String. Changed the NameCountMap to
  31160. use AtomicStringImpl* instead of StringImpl*. Renamed the data members
  31161. to add a m_ prefix and remove the needless doc prefix. Added hasNamedItem
  31162. and hasExtraNamedItem functions that are inlined and faster than the old
  31163. idiom because they doesn't ref/deref the AtomicStringImpl*, get inlined,
  31164. and don't have to handle the 0 case.
  31165. * html/HTMLDocument.idl: Removed the [Custom] attribute on clear and took
  31166. it out of the JavaScript-specific section.
  31167. * html/HTMLEmbedElement.cpp:
  31168. (WebCore::HTMLEmbedElement::parseMappedAttribute): Use AtomicString
  31169. consistently. Also renamed the data member for clarity.
  31170. (WebCore::HTMLEmbedElement::insertedIntoDocument): Ditto.
  31171. (WebCore::HTMLEmbedElement::removedFromDocument): Ditto.
  31172. * html/HTMLFormElement.cpp:
  31173. (WebCore::HTMLFormElement::insertedIntoDocument): Ditto.
  31174. (WebCore::HTMLFormElement::removedFromDocument): Ditto.
  31175. (WebCore::HTMLFormElement::parseMappedAttribute): Ditto.
  31176. * html/HTMLFormElement.h: Ditto.
  31177. * html/HTMLFrameElementBase.cpp:
  31178. (WebCore::HTMLFrameElementBase::openURL): Renamed m_name to m_frameName for
  31179. clarity, since the frame name is not the same as the name attribute.
  31180. (WebCore::HTMLFrameElementBase::parseMappedAttribute): Ditto.
  31181. (WebCore::HTMLFrameElementBase::setNameAndOpenURL): Ditto.
  31182. * html/HTMLFrameElementBase.h: Ditto.
  31183. * html/HTMLIFrameElement.cpp:
  31184. (WebCore::HTMLIFrameElement::parseMappedAttribute): Use AtomicString
  31185. consistently. Also renamed the data member for clarity.
  31186. (WebCore::HTMLIFrameElement::insertedIntoDocument): Ditto.
  31187. (WebCore::HTMLIFrameElement::removedFromDocument): Ditto.
  31188. * html/HTMLIFrameElement.h: Ditto.
  31189. * html/HTMLImageElement.cpp:
  31190. (WebCore::HTMLImageElement::parseMappedAttribute): Ditto.
  31191. (WebCore::HTMLImageElement::insertedIntoDocument): Ditto.
  31192. (WebCore::HTMLImageElement::removedFromDocument): Ditto.
  31193. * html/HTMLImageElement.h: Ditto.
  31194. * html/HTMLObjectElement.cpp:
  31195. (WebCore::HTMLObjectElement::parseMappedAttribute): Ditto.
  31196. (WebCore::HTMLObjectElement::insertedIntoDocument): Ditto.
  31197. (WebCore::HTMLObjectElement::removedFromDocument): Ditto.
  31198. (WebCore::HTMLObjectElement::updateDocNamedItem): Ditto.
  31199. * html/HTMLObjectElement.h: Ditto.
  31200. * html/HTMLParamElement.cpp:
  31201. (WebCore::HTMLParamElement::isURLAttribute): Use equalIgnoringCase instead
  31202. of callling lower().
  31203. * html/HTMLPlugInElement.h: Changed the type of m_name. The code that
  31204. uses this is in HTMLAppletElement, HTMLEmbedElement, and HTMLObjectElement.
  31205. * platform/text/AtomicString.cpp:
  31206. (WebCore::equal): Moved to an inline so we can share this code between a
  31207. few different functions. It could move to a header too if we want to use
  31208. it elsewhere.
  31209. (WebCore::UCharBufferTranslator::equal): Change to use inline.
  31210. (WebCore::HashAndCharactersTranslator::hash): Added.
  31211. (WebCore::HashAndCharactersTranslator::equal): Added.
  31212. (WebCore::HashAndCharactersTranslator::translate): Added.
  31213. (WebCore::AtomicString::add): Improved the Identifier and UString overloads
  31214. to use the already-computed hash code instead of rehashing the string.
  31215. (WebCore::AtomicString::find): Added.
  31216. * platform/text/AtomicString.h: Added a find function so we can avoid
  31217. allocating memory just to look up a string in an atomic string set or map.
  31218. * platform/text/StringImpl.h: Added declarations needed for the
  31219. AtomicString changes.
  31220. 2008-03-17 Timothy Hatcher <timothy@apple.com>
  31221. Reviewed by Mark Rowe.
  31222. Bug 17908: Various bugs in the Console completion code
  31223. http://bugs.webkit.org/show_bug.cgi?id=17908
  31224. * page/inspector/ConsolePanel.js:
  31225. (WebInspector.ConsolePanel.complete): Moved the code that checked for the caret being at the end
  31226. of the prompt into the _caretAtEndOfPrompt helper function.
  31227. (WebInspector.ConsolePanel.messagesSelectStart): Clear and redo the auto complete when the selection changes.
  31228. (WebInspector.ConsolePanel._caretInsidePrompt): Fixed a logic error that always caused a false result.
  31229. (WebInspector.ConsolePanel._caretAtEndOfPrompt): Added. Tests if the selection is a caret at the
  31230. end of the prompt.
  31231. (WebInspector.ConsolePanel._moveCaretToEndOfPrompt): Changed the offset to use the childNodes length.
  31232. This makes sure the caret is at the end when there are multiple text nodes in the prompt.
  31233. 2008-03-17 Dan Bernstein <mitz@apple.com>
  31234. Rubber-stamped by Dave Hyatt.
  31235. - FloatingObject cleanup
  31236. Renamed FloatingObject's data members as follows: node -> m_renderer,
  31237. startY -> m_top, endY -> m_bottom, left -> m_left, width -> m_width,
  31238. and noPaint -> !m_shouldPaint, reversing the meaning of the flag.
  31239. Also addressed the FIXME in RenderBlock::containsFloat().
  31240. * rendering/RenderBlock.cpp:
  31241. (WebCore::RenderBlock::repaintOverhangingFloats):
  31242. (WebCore::RenderBlock::paintFloats):
  31243. (WebCore::RenderBlock::insertFloatingObject):
  31244. (WebCore::RenderBlock::removeFloatingObject):
  31245. (WebCore::RenderBlock::positionNewFloats):
  31246. (WebCore::RenderBlock::leftRelOffset):
  31247. (WebCore::RenderBlock::rightRelOffset):
  31248. (WebCore::RenderBlock::nextFloatBottomBelow):
  31249. (WebCore::RenderBlock::floatBottom):
  31250. (WebCore::RenderBlock::floatRect):
  31251. (WebCore::RenderBlock::lowestPosition):
  31252. (WebCore::RenderBlock::rightmostPosition):
  31253. (WebCore::RenderBlock::leftmostPosition):
  31254. (WebCore::RenderBlock::leftBottom):
  31255. (WebCore::RenderBlock::rightBottom):
  31256. (WebCore::RenderBlock::clearFloats):
  31257. (WebCore::RenderBlock::addOverhangingFloats):
  31258. (WebCore::RenderBlock::addIntrudingFloats):
  31259. (WebCore::RenderBlock::containsFloat): Changed to return false if the
  31260. floats lists exists but is empty, since line layout code no longer
  31261. relies on the buggy behavior.
  31262. (WebCore::RenderBlock::nodeAtPoint):
  31263. (WebCore::RenderBlock::adjustForBorderFit):
  31264. * rendering/RenderBlock.h:
  31265. (WebCore::RenderBlock::containsFloats):
  31266. (WebCore::RenderBlock::FloatingObject::FloatingObject):
  31267. * rendering/bidi.cpp:
  31268. (WebCore::RenderBlock::layoutInlineChildren):
  31269. (WebCore::RenderBlock::matchedEndLine):
  31270. 2008-03-17 Dan Bernstein <mitz@apple.com>
  31271. Reviewed by Dave Hyatt.
  31272. - allow incremental relayout of blocks that contain floats
  31273. Tests: fast/repaint/line-flow-with-floats-[1-9].html
  31274. * rendering/RenderBlock.cpp:
  31275. (WebCore::RenderBlock::clearFloatsIfNeeded): Cleaned up by moving most
  31276. of the function body out of an if statement which was replaced with an
  31277. early return.
  31278. (WebCore::RenderBlock::insertFloatingObject): Cleaned up by moving most
  31279. of the function body out of an if statement and moving the ASSERT, which
  31280. is a crash in release builds, to the beginning. Made this function set
  31281. the m_isDescendant flag of floating objects it creates.
  31282. (WebCore::RenderBlock::removeFloatingObject): Added a call to
  31283. markLinesDirtyInVerticalRange() when removing a float from a block with
  31284. inline children.
  31285. (WebCore::RenderBlock::markLinesDirtyInVerticalRange): Added. Marks the
  31286. lines in the given range as dirty.
  31287. (WebCore::RenderBlock::clearFloats): Added code to detect changes to
  31288. the geometry of floats intruding into this block from other blocks and
  31289. mark any lines whose available width has changed as a result as dirty.
  31290. * rendering/RenderBlock.h:
  31291. (WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added a structure
  31292. to cache a float with its position and size.
  31293. (WebCore::RenderBlock::FloatingObject::FloatingObject): Added an
  31294. m_isDescendant flag, used by clearFloats() to distinguish between floats
  31295. entering the block from outside and floats internal to the block.
  31296. * rendering/RootInlineBox.h:
  31297. (WebCore::RootInlineBox::floats): Added.
  31298. (WebCore::RootInlineBox::floatsPtr): Added.
  31299. (WebCore::RootInlineBox::Overflow::Overflow): Added a data member to
  31300. hold the floats originating on the line.
  31301. * rendering/bidi.cpp:
  31302. (WebCore::RenderBlock::layoutInlineChildren): Made the existence of
  31303. floats not force a full layout. Changed to cache the geometry of floats
  31304. in the block and detect changes to it. If a float's size or position
  31305. changes, all lines from that point on are treated as dirty. An exception
  31306. is a change in the dimensions of a float on an otherwise-clean line,
  31307. which only dirties lines potentially affected by the change (see
  31308. determineStartPosition()). Added code to update each RootInlineBox's
  31309. set of floats as lines are laid out. Added code to shift floats
  31310. belonging to clean lines in the end along with the lines.
  31311. (WebCore::RenderBlock::determineStartPosition): Made this function look
  31312. for changes to floats' dimensions and mark lines as dirty accordingly.
  31313. Also look for new floats and if found, cause a full layout. Added code
  31314. to re-add floats belonging to clean lines.
  31315. (WebCore::RenderBlock::matchedEndLine): Added checking that the clean
  31316. lines in the end can be shifted vertically as needed, i.e. that the
  31317. available width along the way is uniform.
  31318. 2008-03-17 Eric Seidel <eric@webkit.org>
  31319. Reviewed by darin.
  31320. Fix _NPN_IntFromIdentifier (and export the symbol for use!)
  31321. Test: plugins/netscape-identifier-conversion.html
  31322. * WebCore.NPAPI.exp:
  31323. * bridge/npruntime.cpp:
  31324. (_NPN_IntFromIdentifier):
  31325. 2008-03-17 Sam Weinig <sam@webkit.org>
  31326. Reviewed by Dan Bernstein.
  31327. Add HTMLCollection constructor to the Window object. (Omission noticed by Harri Porten)
  31328. * page/DOMWindow.idl:
  31329. 2008-03-17 Holger Hans Peter Freyther <zecke@selfish.org>
  31330. Unreviewed Gtk+ build fix.
  31331. * platform/gtk/ScrollViewGtk.cpp: remove const
  31332. 2008-03-17 Julien Chaffraix <julien.chaffraix@gmail.com>
  31333. Reviewed by Holger.
  31334. <http://bugs.webkit.org/show_bug.cgi?id=17754>
  31335. - Implement ResourceHandle::loadResourceSynchronously to dispatch synchronous
  31336. requests.
  31337. - Implement WebCoreSynchronousLoader, the ResourceHandleClient which holds
  31338. the network data, response and error for us during the transfert.
  31339. * platform/network/ResourceHandleInternal.h: Remove trailing white space.
  31340. * platform/network/curl/ResourceHandleCurl.cpp: Add WebCoreSynchronousLoader
  31341. (WebCore::WebCoreSynchronousLoader::resourceResponse):
  31342. (WebCore::WebCoreSynchronousLoader::resourceError):
  31343. (WebCore::WebCoreSynchronousLoader::data):
  31344. (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
  31345. (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
  31346. (WebCore::WebCoreSynchronousLoader::didReceiveData):
  31347. (WebCore::WebCoreSynchronousLoader::didFinishLoading):
  31348. (WebCore::WebCoreSynchronousLoader::didFail):
  31349. (WebCore::ResourceHandle::loadResourceSynchronously): Implement method
  31350. using WebCoreSynchronousLoader.
  31351. * platform/network/curl/ResourceHandleManager.cpp:
  31352. (WebCore::ResourceHandleManager::dispatchSynchronousJob):
  31353. (WebCore::ResourceHandleManager::startJob):
  31354. (WebCore::ResourceHandleManager::initializeHandle): Handle initialization
  31355. method used both for synchronous and asynchronous job.
  31356. * platform/network/curl/ResourceHandleManager.h:
  31357. 2008-03-17 Darin Adler <darin@apple.com>
  31358. - try to fix GTK build
  31359. * platform/ScrollView.h: Make setGtkAdjustments adjustment.
  31360. And non-virtual (why was it virtual?).
  31361. 2008-03-17 Rodney Dawes <dobey@wayofthemonkey.com>
  31362. Fix Bug 17898: Split PluginMessageThrottlerWin into its own files
  31363. <http://bugs.webkit.org/show_bug.cgi?id=17898>
  31364. Move the PluginMessageThrottlerWin class into its own files, in
  31365. preparation for refactoring PluginView code to be shared.
  31366. Reviewed and tweaked by Adam Roben.
  31367. * WebCore.vcproj/WebCore.vcproj:
  31368. * plugins/PluginView.h:
  31369. * plugins/win/PluginMessageThrottlerWin.cpp: Added.
  31370. * plugins/win/PluginMessageThrottlerWin.h: Added.
  31371. * plugins/win/PluginViewWin.cpp:
  31372. 2008-03-17 Adam Roben <aroben@apple.com>
  31373. More Windows build fixes after r31098
  31374. * platform/ScrollView.h: Make some more methods public.
  31375. 2008-03-17 Adam Roben <aroben@apple.com>
  31376. Windows and Qt build fixes after r31098
  31377. * platform/ScrollView.h: Mark methods public that still need to be so.
  31378. 2008-03-16 Timothy Hatcher <timothy@apple.com>
  31379. Reviewed by Darin Adler.
  31380. Bug 17883: Console completion should support bracket notation
  31381. http://bugs.webkit.org/show_bug.cgi?id=17883
  31382. Also fixes a bug where the Inspector's window object was used instead of the
  31383. inspected window object.
  31384. * page/inspector/ConsolePanel.js:
  31385. (WebInspector.ConsolePanel.complete): Add a comment about the _backwardsRange call.
  31386. (WebInspector.ConsolePanel.completions): Add a comment about the _backwardsRange call.
  31387. Check the last character of the expression for a dot or bracket. Fallback
  31388. to the InspectorController.inspectedWindow() instead of window, this was a bad bug.
  31389. If the expression caused an exception, just consider the prefix a window property.
  31390. When bracket notation is used remember what quote was used and compared property names
  31391. with that quote surrounding it. Also escape the property name for the quote and backslash.
  31392. 2008-03-17 Robert Blaut <webkit@blaut.biz>
  31393. Reviewed by Darin.
  31394. Fix for bug http://bugs.webkit.org/show_bug.cgi?id=17696
  31395. Set default margin-bottom for form element in quirk mode
  31396. and be compatible with Gecko.
  31397. Tests: fast/css/margin-bottom-form-element-quirk.html
  31398. fast/css/margin-bottom-form-element-strict.html
  31399. * css/html4.css:
  31400. * css/quirks.css:
  31401. 2008-03-17 Antti Koivisto <antti@apple.com>
  31402. Reviewed by Darin.
  31403. Speculative fix for http://bugs.webkit.org/show_bug.cgi?id=17878
  31404. Bug 17878: REGRESSION: Acid3 sometimes crashes Webkit under WebCore::Loader::Host::cancelRequests
  31405. I can't reproduce the crash or make a test case for this one but I'm pretty sure this
  31406. is the problem. Essentially the same bug as http://bugs.webkit.org/show_bug.cgi?id=17862
  31407. except in didFail() instead of didFinishLoading().
  31408. * loader/loader.cpp:
  31409. (WebCore::Loader::Host::didFail):
  31410. 2008-03-17 Jan Michael Alonzo <jmalonzo@unpluggable.com>
  31411. Reviewed and tweaked by Darin.
  31412. http://bugs.webkit.org/show_bug.cgi?id=17172
  31413. Refactor platform checks in ScrollView.h
  31414. * platform/ScrollView.h: Change #ifs around.
  31415. 2008-03-17 Yuzhu Shen <yuzhu.shen@gmail.com>
  31416. Reviewed by Darin.
  31417. Fix the bug: http://bugs.webkit.org/show_bug.cgi?id=17760
  31418. It is necessary to load the image even when src="".
  31419. Test: fast/images/load-img-with-empty-src.html
  31420. * html/HTMLImageLoader.cpp:
  31421. (WebCore::HTMLImageLoader::updateFromElement): isNull rather than isEmpty.
  31422. 2008-03-17 Rodney Dawes <dobey@wayofthemonkey.com>
  31423. Fix GTK+ build from r31094.
  31424. * plugins/gtk/PluginDatabaseGtk.cpp:
  31425. (PluginDatabase::getPluginsInPaths):
  31426. 2008-03-17 Adam Roben <aroben@apple.com>
  31427. Fix Bug 17876: REGRESSION (r31060): Attempting to visit Ofcom page causes crash
  31428. <http://bugs.webkit.org/show_bug.cgi?id=17876>
  31429. Reviewed by John.
  31430. Test: fast/dom/remove-named-attribute-crash.html
  31431. * dom/NamedAttrMap.cpp:
  31432. (WebCore::NamedAttrMap::removeAttribute): Store the Attribute we're
  31433. going to remove from the m_attributes Vector in a RefPtr so it doesn't
  31434. get deleted when it is removed from the Vector.
  31435. 2008-03-17 Rodney Dawes <dobey@wayofthemonkey.com>
  31436. Reviewed by Adam Roben.
  31437. Implement PluginDatabase for GTK+ with PluginDatabaseGtk.cpp.
  31438. Remove implemented methods from TemporaryLinkStubs.
  31439. * GNUmakefile.am:
  31440. * plugins/gtk:
  31441. * plugins/gtk/PluginDatabaseGtk.cpp:
  31442. * platform/gtk/TemporaryLinkStubs.cpp:
  31443. 2008-03-17 Simon Hausmann <hausmann@webkit.org>
  31444. Fix the Qt build.
  31445. * platform/text/qt/TextCodecQt.cpp:
  31446. (WebCore::TextCodecQt::encode):
  31447. * platform/text/qt/TextCodecQt.h:
  31448. 2008-03-16 Maciej Stachowiak <mjs@apple.com>
  31449. Not reviewed, just fixing an incomplete comment from the last commit.
  31450. * dom/Range.cpp:
  31451. (WebCore::Range::surroundContents):
  31452. 2008-03-16 Maciej Stachowiak <mjs@apple.com>
  31453. Reviewed by Darin.
  31454. - fixed "Acid3 expects different exceptions for surroundContents calls involving comment nodes (affects Acid3 test 11)"
  31455. http://bugs.webkit.org/show_bug.cgi?id=17509
  31456. This gets us to 92/100
  31457. * dom/Range.cpp:
  31458. (WebCore::Range::surroundContents): Check for
  31459. HIERARCHY_REQUEST_ERR before BAD_BOUNDARYPOINTS_ERR, since Acid3
  31460. expects exceptional conditions to be tested in the order that the
  31461. spec lists them. Also, adjust the HIERARCHY_REQUEST_ERR check. If
  31462. the start point of the range is in a comment node, the node that
  31463. would be the parent of a partial replacement is actually the
  31464. comment node's parent (since comment nodes have character
  31465. indices), so we should do the HIERARCHY_REQUEST_ERR check based on
  31466. the parent of the comment node, as for text nodes, even though it
  31467. will fail later with a different exception because it is not
  31468. allowed to surround a partially selected non-text node.
  31469. 2008-03-16 Brett Wilson <brettw@chromium.org>
  31470. Reviewed by Darin.
  31471. Fix bug 15119: URL query characters that are unencodable in the
  31472. request's character set should be converted to XML entities with
  31473. non-alphanumeric characters escaped.
  31474. Test: http/tests/uri/escaped-entity.html
  31475. * html/FormDataList.cpp:
  31476. (WebCore::FormDataList::appendString):
  31477. * html/HTMLFormElement.cpp:
  31478. (WebCore::HTMLFormElement::formData):
  31479. * platform/KURL.cpp:
  31480. (WebCore::encodeRelativeString):
  31481. * platform/text/String.cpp:
  31482. (WebCore::String::latin1):
  31483. (WebCore::String::utf8):
  31484. * platform/text/TextCodec.cpp:
  31485. (WebCore::TextCodec::unencodableCharReplacement):
  31486. * platform/text/TextCodec.h:
  31487. * platform/text/TextCodecICU.cpp:
  31488. (WebCore::urlEscapedEntityCallback):
  31489. (WebCore::gbkUrlEscapedEntityCallack):
  31490. (WebCore::TextCodecICU::encode):
  31491. * platform/text/TextCodecICU.h:
  31492. (WebCore::TextCodecICU::setNeedsGBKFallbacks):
  31493. * platform/text/TextCodecLatin1.cpp:
  31494. (WebCore::encodeComplexWindowsLatin1):
  31495. (WebCore::TextCodecLatin1::encode):
  31496. * platform/text/TextCodecLatin1.h:
  31497. * platform/text/TextCodecUTF16.cpp:
  31498. (WebCore::TextCodecUTF16::encode):
  31499. * platform/text/TextCodecUTF16.h:
  31500. * platform/text/TextCodecUserDefined.cpp:
  31501. (WebCore::encodeComplexUserDefined):
  31502. (WebCore::TextCodecUserDefined::encode):
  31503. * platform/text/TextCodecUserDefined.h:
  31504. * platform/text/TextEncoding.cpp:
  31505. (WebCore::TextEncoding::encode):
  31506. * platform/text/TextEncoding.h:
  31507. * platform/text/mac/TextCodecMac.cpp:
  31508. (WebCore::TextCodecMac::encode):
  31509. * platform/text/mac/TextCodecMac.h:
  31510. * xml/XMLHttpRequest.cpp:
  31511. (WebCore::XMLHttpRequest::send):
  31512. 2008-03-16 Kevin Ollivier <kevino@theolliviers.com>
  31513. Rubber stamped by Darin.
  31514. Add set-webkit-configuration support for wx port, and centralize
  31515. build dir location setting.
  31516. http://bugs.webkit.org/show_bug.cgi?id=17790
  31517. * webcore-base.bkl:
  31518. 2008-03-16 Darin Adler <darin@apple.com>
  31519. Reviewed by Mark Rowe.
  31520. - http://bugs.webkit.org/show_bug.cgi?id=17881
  31521. a little cleanup for HTMLTextAreaElement
  31522. Tests: fast/forms/textarea-default-value-leading-newline.html
  31523. fast/forms/textarea-linewrap-dynamic.html
  31524. * html/HTMLTextAreaElement.cpp:
  31525. (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Tweaked names/
  31526. (WebCore::HTMLTextAreaElement::selectionStart): Ditto, also use early return
  31527. and check for < 0 rather than -1 specifically.
  31528. (WebCore::HTMLTextAreaElement::selectionEnd): Ditto.
  31529. (WebCore::HTMLTextAreaElement::setSelectionStart): Early return.
  31530. (WebCore::HTMLTextAreaElement::setSelectionEnd): Ditto.
  31531. (WebCore::HTMLTextAreaElement::select): Ditto.
  31532. (WebCore::HTMLTextAreaElement::setSelectionRange): Ditto.
  31533. (WebCore::HTMLTextAreaElement::parseMappedAttribute): Changed value parsing
  31534. to treat unknown values as meaning "default" rather than "leave value as-is".
  31535. Only call setNeedsLayoutAndPrefWidthsRecalc when mode changed.
  31536. (WebCore::HTMLTextAreaElement::createRenderer): Removed name of unused argument.
  31537. (WebCore::HTMLTextAreaElement::appendFormData): Updated for name changes.
  31538. (WebCore::HTMLTextAreaElement::isKeyboardFocusable): Got rid of unnneeded explicit
  31539. class name in isFocusable call.
  31540. (WebCore::HTMLTextAreaElement::isMouseFocusable): Ditto.
  31541. (WebCore::HTMLTextAreaElement::updateFocusAppearance): Tweaked formatting.
  31542. (WebCore::HTMLTextAreaElement::defaultEventHandler): Ditto.
  31543. (WebCore::HTMLTextAreaElement::updateValue): Early return.
  31544. (WebCore::HTMLTextAreaElement::setValue): Got rid of intermediate value to
  31545. eliminate on small refcount churn.
  31546. (WebCore::HTMLTextAreaElement::defaultValue): Got rid of unneeded redundant
  31547. string length checks, since String already checks all indexing and returns 0.
  31548. (WebCore::HTMLTextAreaElement::setDefaultValue): Added code to normalize
  31549. line endings and add a leading line ending to fix cases where the first
  31550. character is a newline.
  31551. (WebCore::HTMLTextAreaElement::accessKeyAction): Removed name of unused arg.
  31552. (WebCore::HTMLTextAreaElement::accessKey): Changed return value to avoid
  31553. refcount churn.
  31554. (WebCore::HTMLTextAreaElement::selection): Updated names and use < 0 instead
  31555. of -1 specifically.
  31556. * html/HTMLTextAreaElement.h: Replaced wrap function with more-specific
  31557. shouldWrapText one. Changed return value of accessKey. Made WrapMethod enum
  31558. provate and renamed the values. Renamed cachedSelStart and cachedSelEnd to
  31559. m_cachedSelectionStart and m_cachedSelectionEnd.
  31560. * rendering/RenderTextControl.cpp:
  31561. (WebCore::RenderTextControl::createInnerTextStyle): Updated for change to
  31562. HTMLTextAreaElement wrap function.
  31563. 2008-03-16 Antti Koivisto <antti@apple.com>
  31564. Reviewed by Mitz.
  31565. Fix http/tests/security/frame-loading-via-document-write.html
  31566. which was broken by the preload patch.
  31567. Don't print error message when preload fails local file security check.
  31568. Some minor refactoring.
  31569. * html/PreloadScanner.cpp:
  31570. (WebCore::PreloadScanner::emitTag):
  31571. (WebCore::PreloadScanner::emitCSSRule):
  31572. * loader/Cache.cpp:
  31573. (WebCore::Cache::requestResource):
  31574. * loader/Cache.h:
  31575. * loader/DocLoader.cpp:
  31576. (WebCore::DocLoader::requestResource):
  31577. (WebCore::DocLoader::preload):
  31578. (WebCore::DocLoader::printPreloadStats):
  31579. * loader/DocLoader.h:
  31580. 2008-03-16 Antti Koivisto <antti@apple.com>
  31581. Reviewed by Darin.
  31582. Fix http://bugs.webkit.org/show_bug.cgi?id=17862
  31583. REGRESSION (r31038): Reproducible crash under DocLoader::checkForReload() at marware.com
  31584. This was a memory smasher introduced by the preloading patch.
  31585. If a script resource was marked uncacheable, early deletion of the
  31586. Request object would cause deletion of the CachedResource too if
  31587. it was referred more than once in a single document.
  31588. Test: http/tests/misc/uncacheable-script-repeated.html
  31589. * loader/loader.cpp:
  31590. (WebCore::Loader::Host::servePendingRequests):
  31591. (WebCore::Loader::Host::didFinishLoading):
  31592. 2008-03-16 Yuzhu Shen <yuzhu.shen@gmail.com>
  31593. Reviewed by Darin.
  31594. Fix bug http://bugs.webkit.org/show_bug.cgi?id=17714
  31595. <img href="#"> should go to top of the page.
  31596. Test: fast/html/empty-fragment-id-goto-top.html
  31597. * loader/FrameLoader.cpp:
  31598. (WebCore::FrameLoader::gotoAnchor):
  31599. 2008-03-16 Thiago Macieira <thiago.macieira@trolltech.com>
  31600. Reviewed by Darin.
  31601. Don't use RefPtr in classes you haven't seen the implementation of.
  31602. Forward-declaration and declaration of RefPtr<Foo> is ok. But you
  31603. cannot *use* said objects until Foo is defined. This is true even for
  31604. initialisation with a 0.
  31605. Seems the HP aCC compiler is more strict here than gcc.
  31606. * editing/SplitTextNodeCommand.h:
  31607. * page/FrameTree.h:
  31608. * xml/XPathExpressionNode.h:
  31609. 2008-03-16 Darin Adler <darin@apple.com>
  31610. Reviewed by Mitz.
  31611. - fix http://bugs.webkit.org/show_bug.cgi?id=14941
  31612. <rdar://problem/5404093> textarea value from JavaScript includes extra newline
  31613. Test: fast/forms/textarea-trailing-newline.html
  31614. * rendering/RenderTextControl.cpp:
  31615. (WebCore::RenderTextControl::finishText): Added code to strip the trailing
  31616. newline. It's possible there are some obscure cases where this is not wanted,
  31617. but I couldn't find any. If someone finds a case where this is bad, we can
  31618. make the code conditional.
  31619. 2008-03-16 Darin Adler <darin@apple.com>
  31620. Reviewed by Mitz.
  31621. - fix http://bugs.webkit.org/show_bug.cgi?id=17876
  31622. Attempting to visit Ofcom page causes crash
  31623. This is causing intermittent crashes on some existing test cases on the buildbot
  31624. too; I don't have a 100% test case right now, but it should be easy to add one later
  31625. and this does fix a crash in a test we already have.
  31626. * dom/CharacterData.cpp:
  31627. (WebCore::CharacterData::CharacterData): Initialize m_data to the empty string,
  31628. not the null string. The class assumes the string can never being null.
  31629. (WebCore::CharacterData::setData): If asked to set the data to the null string,
  31630. set it to the empty string instead. This matches what the (non-empty) constructor
  31631. has always done.
  31632. 2008-03-15 Timothy Hatcher <timothy@apple.com>
  31633. Reviewed by Adam Roben.
  31634. Bug 17870: Web Inspector console should feel more like a terminal
  31635. http://bugs.webkit.org/show_bug.cgi?id=17870
  31636. Bug 14390: Console input area should be more noticeable
  31637. http://bugs.webkit.org/show_bug.cgi?id=14390
  31638. <rdar://5712831>
  31639. Bug 17237: Inspector should tab-complete object properties in the Console
  31640. http://bugs.webkit.org/show_bug.cgi?id=17237
  31641. <rdar://5732842>
  31642. Adds tab completion, auto completion and a blended input prompt.
  31643. The prompt is also focused when the console is shown.
  31644. Implements a new look, that will be part of the UI refresh.
  31645. * page/inspector/ConsolePanel.js:
  31646. (WebInspector.ConsolePanel): Renamed a few properties.
  31647. (WebInspector.ConsolePanel.get/set promptText): Property to set
  31648. and get the current prompt text. Does not affect command history.
  31649. (WebInspector.ConsolePanel.show): Make the prompt focus on show.
  31650. (WebInspector.ConsolePanel.acceptAutoComplete): Accepts any
  31651. pending auto complete text.
  31652. (WebInspector.ConsolePanel.clearAutoComplete): Cancels any pending
  31653. auto complete text.
  31654. (WebInspector.ConsolePanel.autoCompleteSoon): Sets a timeout to auto
  31655. complete in 250 ms, only if there isn't a pending auto complete.
  31656. (WebInspector.ConsolePanel.complete):
  31657. (WebInspector.ConsolePanel.completions): Generate a list of possible
  31658. completions based on the prefix and the previous expression ranges.
  31659. (WebInspector.ConsolePanel._backwardsRange): Helper to scan backwards
  31660. from a node and offset to find a start node and offset of the first
  31661. character found in the characters string.
  31662. (WebInspector.ConsolePanel._evalInInspectedWindow): Helper to eval in the
  31663. inspected window.
  31664. (WebInspector.ConsolePanel._caretInsidePrompt): Returns true if the selection
  31665. is collapsed and is inside the prompt element.
  31666. (WebInspector.ConsolePanel._moveCaretToEndOfPrompt): Moves the selection
  31667. to the end of the prompt.
  31668. (WebInspector.ConsolePanel._onTabPressed): Calls complete on
  31669. tab press.
  31670. (WebInspector.ConsolePanel._onEnterPressed): Call clearAutoComplete so the
  31671. autocompletion text is not evaluated.
  31672. * page/inspector/Images/errorIcon.png: New image.
  31673. * page/inspector/Images/userInputIcon.png: Added.
  31674. * page/inspector/Images/userInputPreviousIcon.png: Added.
  31675. * page/inspector/Images/warningIcon.png: New image.
  31676. * page/inspector/inspector.css: New refreshed UI.
  31677. 2008-03-15 Mark Mentovai <mark@moxienet.com>
  31678. Reviewed and landed by Darin.
  31679. - http://bugs.webkit.org/show_bug.cgi?id=17833
  31680. use file extensions instead of explicit file types in WebCore's Xcode project
  31681. * WebCore.xcodeproj/project.pbxproj: Remove unnecessary
  31682. uses of explicitFileType, preferring lastKnownFileType ("File Type:
  31683. Default for File" in Xcode's File Info's General tab). Files below
  31684. that relied on an explicit file type setting other than what would
  31685. be implied by their extensions have been renamed to have correct
  31686. extensions.
  31687. * bridge/jni/jni_jsobject.cpp: Removed.
  31688. * bridge/jni/jni_jsobject.mm: Copied from bridge/jni/jni_jsobject.cpp.
  31689. * loader/mac/LoaderNSURLExtras.m: Removed.
  31690. * loader/mac/LoaderNSURLExtras.mm: Copied from loader/mac/LoaderNSURLExtras.m.
  31691. * platform/mac/SharedTimerMac.cpp: Removed.
  31692. * platform/mac/SharedTimerMac.mm: Copied from platform/mac/SharedTimerMac.cpp.
  31693. 2008-03-15 Darin Adler <darin@apple.com>
  31694. Reviewed by Sam.
  31695. - fix http://bugs.webkit.org/show_bug.cgi?id=11997
  31696. Ranges are not fixed after mutation (affects Acid3 test 13)
  31697. Test: fast/dom/Range/mutation.html
  31698. * WebCore.xcodeproj/project.pbxproj: Added NodeWithIndex.h, NodeWithIndexAfter.h,
  31699. and NodeWithIndexBefore.h.
  31700. * dom/CharacterData.cpp:
  31701. (WebCore::CharacterData::setData): Replaced call to Document::removeMarkers
  31702. with call to Document::textRemoved.
  31703. (WebCore::CharacterData::insertData): Replaced call to Document::shiftMarkers
  31704. with call to Document::textInserted.
  31705. (WebCore::CharacterData::deleteData): Replaced call to Document::removeMarkers
  31706. and Document::shiftMarkers with call to Document::textRemoved.
  31707. (WebCore::CharacterData::replaceData): Replaced call to Document::removeMarkers
  31708. and Document::shiftMarkers with call to Document::textRemoved and
  31709. Document::textInserted.
  31710. (WebCore::CharacterData::containsOnlyWhitespace): Tweaked a bit.
  31711. * dom/ContainerNode.cpp:
  31712. (WebCore::ContainerNode::childrenChanged): Added a call to
  31713. Document::nodeChildrenChanged when the nmber of children was changed (and not
  31714. by the parser).
  31715. (WebCore::dispatchChildRemovalEvents): Updated for name change.
  31716. * dom/Document.cpp:
  31717. (WebCore::Document::~Document): Assert that all ranges are gone.
  31718. (WebCore::Document::nodeChildrenChanged): Added. Calls nodeChildrenChanged on
  31719. all ranges.
  31720. (WebCore::Document::nodeWillBeRemoved): Renamed from notifyBeforeNodeRemoval.
  31721. Added code to call nodeWillBeRemoved on all ranges.
  31722. (WebCore::Document::textInserted): Added. Calls textInserted on all ranges and
  31723. also calls shiftMarkers.
  31724. (WebCore::Document::textRemoved): Added. Calls textRemoved on all ranges and also
  31725. calls removeMarkers and shiftMarkers.
  31726. (WebCore::Document::textNodesMerged): Added. Calls textNodesMerged on all ranges.
  31727. (WebCore::Document::textNodeSplit): Added. Calls textNodeSplit on all ranges.
  31728. (WebCore::Document::attachRange): Added. Adds range to the HashSet of all ranges
  31729. for this document.
  31730. (WebCore::Document::detachRange): Added. Removes range from the HashSet.
  31731. * dom/Document.h: Added the new functions and the data member.
  31732. * dom/Element.cpp:
  31733. (WebCore::Element::normalizeAttributes): Added. Contains the part of the
  31734. normalize function that's specific to Element. Better encapsulation to have it
  31735. here rather than in Node::normalize.
  31736. * dom/Element.h: Added the new function.
  31737. * dom/Node.cpp:
  31738. (WebCore::Node::normalize): Rewrote so it's no longer recursive. Also added
  31739. a call to textNodesMerged after each pair of nodes is merged but before the
  31740. second node is removed.
  31741. (WebCore::Node::traverseNextNodePostOrder): Added. Helper function used by
  31742. normalize, but also useful elsewhere.
  31743. * dom/Node.h: Added the new function.
  31744. * dom/NodeIterator.cpp:
  31745. (WebCore::NodeIterator::nodeWillBeRemoved): Renamed from notifyBeforeNodeRemoval.
  31746. * dom/NodeIterator.h: Ditto.
  31747. * dom/ProcessingInstruction.cpp:
  31748. (WebCore::ProcessingInstruction::setData): Call textRemoved.
  31749. * dom/Range.cpp:
  31750. (WebCore::NodeWithIndex::index): Added. Computes and stores index.
  31751. (WebCore::NodeWithIndexBefore::indexBefore): Added. Computes and stores index.
  31752. (WebCore::NodeWithIndexAfter::indexAfter): Added. Computes and stores index.
  31753. (WebCore::Range::Range): Call attachRange.
  31754. (WebCore::Range::~Range): Call detachRange unless the range is already detached.
  31755. (WebCore::Range::commonAncestorContainer): Removed check for WRONG_DOCUMENT_ERR.
  31756. It's no longer possible to create a range where the two containers are non-zero
  31757. and have no common ancestor.
  31758. (WebCore::Range::isPointInRange): Rewrote expression to be more readable.
  31759. (WebCore::Range::compareNode): Changed local variable to use int for consistency.
  31760. (WebCore::Range::compareBoundaryPoints): Replaced ASSERT with ASSERT_NOT_REACHED.
  31761. (WebCore::Range::deleteContents): Removed check for INVALID_STATE_ERR and
  31762. initialization of ec to 0; both are now inside checkDeleteExtract.
  31763. (WebCore::Range::intersectsNode): Changed local variable to use int for consistency.
  31764. Also changed comparison to use < 0 and >= 0 rather than checking explicitly for 1
  31765. and -1.
  31766. (WebCore::Range::processContents): Changed code to not get the nodeType multiple
  31767. times on the same node, and tweaked formatting. Removed code to update the range
  31768. on deletion, because the normal delete logic will take care of that now.
  31769. (WebCore::Range::extractContents): Removed check for INVALID_STATE_ERR and
  31770. initialization of ec to 0; both are now inside checkDeleteExtract.
  31771. (WebCore::Range::insertNode): Changed local variable to use int for consistency.
  31772. (WebCore::Range::toString): Changed variable name to pastLast.
  31773. (WebCore::Range::detach): Call detachRange.
  31774. (WebCore::Range::checkDeleteExtract): Added check for detached range and code to
  31775. set ec to 0; moved here from the two callers. Also changed variable name to pastLast.
  31776. (WebCore::endpointNodeChildrenChanged): Added.
  31777. (WebCore::Range::nodeChildrenChanged): Added.
  31778. (WebCore::endpointNodeWillBeRemoved): Added.
  31779. (WebCore::Range::nodeWillBeRemoved): Added.
  31780. (WebCore::endpointTextInserted): Added.
  31781. (WebCore::Range::textInserted): Added.
  31782. (WebCore::endpointTextRemoved): Added.
  31783. (WebCore::Range::textRemoved): Added.
  31784. (WebCore::endpointTextNodesMerged): Added.
  31785. (WebCore::Range::textNodesMerged): Added.
  31786. (WebCore::endpointTextNodesSplit): Added.
  31787. (WebCore::Range::textNodeSplit): Added.
  31788. * dom/Range.h: Added new member functions.
  31789. * dom/NodeWithIndex.h: Added. Makes it so we won't find the index for the same
  31790. node more than once.
  31791. * dom/NodeWithIndexAfter.h: Added. Similar to NodeWithIndex but gives the index after a
  31792. node and treats a node pointer of 0 as meaning "before first node in parent container".
  31793. * dom/NodeWithIndexBefore.h: Added. Similar to NodeWithIndex but treats a node pointer of 0
  31794. as meaning "after last node in parent container".
  31795. * dom/Text.cpp:
  31796. (WebCore::Text::splitText): Call textNodeSplit.
  31797. * editing/ApplyStyleCommand.cpp:
  31798. (WebCore::ApplyStyleCommand::applyInlineStyle): Changed variable name to pastLast.
  31799. 2008-03-15 Julien Chaffraix <julien.chaffraix@gmail.com>
  31800. Reviewed by Holger.
  31801. [CURL] Crash below ResourceHandleManager::setupPOST when job->request().httpBody() is NULL
  31802. http://bugs.webkit.org/show_bug.cgi?id=16906
  31803. Add null checks for httpBody() to match other ports.
  31804. Test: http/tests/xmlhttprequest/xmlhttprequest-post-crash.html
  31805. * platform/network/curl/ResourceHandleManager.cpp:
  31806. (WebCore::readCallback): Add null check.
  31807. (WebCore::ResourceHandleManager::setupPOST): Ditto.
  31808. 2008-03-14 Steve Falkenburg <sfalken@apple.com>
  31809. PGO build fixes.
  31810. * WebCore.vcproj/WebCore.vcproj:
  31811. 2008-03-14 Anders Carlsson <andersca@apple.com>
  31812. Reviewed by Sam.
  31813. <rdar://problem/5794989>
  31814. https://bugs.webkit.org/show_bug.cgi?id=17792
  31815. REGRESSION (Safari 3.0.4-3.1): Ordering tickets from Sweden's biggest train operator doesn't work
  31816. Pass the frame loader that should be used for looking up the frame name to FrameLoader::createWindow
  31817. so that somewindow.open calls where the active window and 'somewindow' differ return the correct frame.
  31818. * bindings/js/JSDOMWindowBase.cpp:
  31819. (WebCore::createWindow):
  31820. * loader/FrameLoader.cpp:
  31821. (WebCore::FrameLoader::createWindow):
  31822. * loader/FrameLoader.h:
  31823. 2008-03-14 Dan Bernstein <mitz@apple.com>
  31824. Reviewed by Mark Rowe.
  31825. - fix <rdar://problem/5797836> shadow offsets are smaller than specified
  31826. * platform/graphics/cg/GraphicsContextCG.cpp:
  31827. (WebCore::GraphicsContext::setShadow): Made the workaround for
  31828. <rdar://problem/5539388> unconditional.
  31829. 2008-03-14 Adam Roben <aroben@apple.com>
  31830. Fix it right this time
  31831. * platform/MainThread.cpp: Cast to unsigned so we can use %u in the
  31832. format string.
  31833. * platform/mac/MainThreadMac.mm:
  31834. 2008-03-14 Adam Roben <aroben@apple.com>
  31835. Mac build fix
  31836. * platform/mac/MainThreadMac.mm: Corrected a typo.
  31837. 2008-03-14 Dan Bernstein <mitz@apple.com>
  31838. Reviewed by Darin Adler.
  31839. - fix http://bugs.webkit.org/show_bug.cgi?id=17834
  31840. REGRESSION: floated first-letter does not work when included in table
  31841. Test: fast/css/first-letter-float.html
  31842. * rendering/RenderBlock.cpp:
  31843. (WebCore::RenderBlock::updateFirstLetter): Changed the search for the
  31844. first text node to stop at a float if that float is an existing first-
  31845. letter.
  31846. 2008-03-14 Sam Weinig <sam@webkit.org>
  31847. Fix Mac build
  31848. * WebCore.xcodeproj/project.pbxproj:
  31849. 2008-03-13 Adam Roben <aroben@apple.com>
  31850. Make most of callOnMainThread's implementation be cross-platform
  31851. I took the non-platform-specific parts of MainThreadWin.cpp and moved
  31852. them to a new MainThread.cpp. Each platform is now responsible for
  31853. implementing one function, scheduleDispatchFunctionsOnMainThread,
  31854. which is supposed to set things up so that
  31855. dispatchFunctionsFromMainThread gets called from the main thread in
  31856. the near future.
  31857. Reviewed by Alexey.
  31858. * GNUmakefile.am: Added MainThread.cpp to the project.
  31859. * WebCore.pro: Ditto.
  31860. * WebCore.vcproj/WebCore.vcproj: Ditto.
  31861. * WebCore.xcodeproj/project.pbxproj: Ditto.
  31862. * WebCoreSources.bkl: Ditto.
  31863. * platform/MainThread.cpp:
  31864. - Copied from WebCore/platform/win/MainThreadWin.cpp.
  31865. - Removed the Windows-specific parts.
  31866. (WebCore::callOnMainThread): Changed to call
  31867. scheduleDispatchFunctionsOnMainThread instead of PostMessage.
  31868. * platform/gtk/MainThreadGtk.cpp:
  31869. (WebCore::timeoutFired): Renamed from callFunctionOnMainThread. Now
  31870. just calls dispatchFunctionsFromMainThread.
  31871. (WebCore::scheduleDispatchFunctionsOnMainThread): Added. Calls through
  31872. to g_timeout_add.
  31873. * platform/mac/MainThreadMac.mm: Renamed WebCoreFunctionWrapper to
  31874. WebCoreMainThreadCaller.
  31875. (-[WebCoreMainThreadCaller call]): Calls through to
  31876. dispatchFunctionsFromMainThread.
  31877. (WebCore::scheduleDispatchFunctionsOnMainThread): Makes a new
  31878. WebCoreMainThreadCaller and calls performSelectorOnMainThread on it.
  31879. * platform/qt/MainThreadQt.cpp: Removed PerformFunctionEvent.
  31880. (WebCore::MainThreadInvoker::event): Chagned to call through to
  31881. dispatchFunctionsFromMainThread.
  31882. (WebCore::scheduleDispatchFunctionsOnMainThread): Sends an empty event
  31883. to the MainThreadInvoker.
  31884. * platform/win/MainThreadWin.cpp:
  31885. - Removed the non-Windows-specific parts.
  31886. - Removed some unnecessary initialization of static variables to 0.
  31887. (WebCore::ThreadingWindowWndProc): Changed to call
  31888. dispatchFunctionsFromMainThread.
  31889. (WebCore::scheduleDispatchFunctionsOnMainThread): Calls through to
  31890. PostMessage.
  31891. * platform/wx/MainThreadWx.cpp:
  31892. (WebCore::scheduleDispatchFunctionsOnMainThread): Added.
  31893. 2008-03-14 Beth Dakin <bdakin@apple.com>
  31894. Reviewed by Geoff.
  31895. Fix for <rdar://problem/5728171> Potential PLT speedup: don't
  31896. realloc every time inside NamedAttrMap::addAttribute
  31897. The speed-up for this turned out to be so small that it is mostly
  31898. imperceptible. It is likely that it is a tiny boost, though, and
  31899. the new code is much cleaner.
  31900. * dom/Element.cpp:
  31901. (WebCore::Element::setAttributeMap): attrs is now called
  31902. m_attributes
  31903. * dom/NamedAttrMap.cpp: The array attrs is now the Vector of
  31904. RefPtrs called m_attributes, and there is no longer any need for
  31905. the len member variable.
  31906. (WebCore::NamedAttrMap::NamedAttrMap):
  31907. (WebCore::NamedAttrMap::item):
  31908. (WebCore::NamedAttrMap::getAttributeItem):
  31909. (WebCore::NamedAttrMap::clearAttributes):
  31910. (WebCore::NamedAttrMap::operator=):
  31911. (WebCore::NamedAttrMap::addAttribute):
  31912. (WebCore::NamedAttrMap::removeAttribute):
  31913. (WebCore::NamedAttrMap::mapsEquivalent):
  31914. * dom/NamedAttrMap.h: Same.
  31915. (WebCore::NamedAttrMap::length):
  31916. (WebCore::NamedAttrMap::attributeItem):
  31917. (WebCore::NamedAttrMap::shrinkToLength):
  31918. (WebCore::NamedAttrMap::reserveCapacity):
  31919. * html/HTMLTokenizer.cpp: One of the benefits of the old array was
  31920. that it never took up more memory than it needed to. So the
  31921. tokenizer utilizes new member functions on NamedAttrMap
  31922. (shrinkToLength and reserveCapacity) to try to keep memory usage at
  31923. a minimum.
  31924. (WebCore::Token::addAttribute):
  31925. (WebCore::HTMLTokenizer::processToken):
  31926. 2008-03-14 David D. Kilzer <ddkilzer@apple.com>
  31927. BUILD FIX when ENABLE(MAC_JAVA_BRIDGE) set to 0.
  31928. * page/mac/FrameMac.mm: Move up #if ENABLE(MAC_JAVA_BRIDGE) guard
  31929. to comment out unused code.
  31930. 2008-03-14 David D. Kilzer <ddkilzer@apple.com>
  31931. Unify concept of enabling the Mac Java bridge.
  31932. Reviewed by Darin and Anders.
  31933. No test cases added since there is no change in functionality.
  31934. * DerivedSources.make: Added check for ENABLE_MAC_JAVA_BRIDGE macro.
  31935. If defined as "1", add WebCore.JNI.exp to WEBCORE_EXPORT_DEPENDENCIES.
  31936. * WebCore.JNI.exp: Added.
  31937. * WebCore.base.exp: Moved exported JNI methods to WebCore.JNI.exp.
  31938. * bridge/jni/jni_class.cpp: Added #if ENABLE(MAC_JAVA_BRIDGE) guard.
  31939. * bridge/jni/jni_class.h: Ditto.
  31940. * bridge/jni/jni_instance.cpp: Ditto.
  31941. * bridge/jni/jni_instance.h: Ditto.
  31942. * bridge/jni/jni_jsobject.cpp: Ditto.
  31943. * bridge/jni/jni_jsobject.h: Ditto.
  31944. * bridge/jni/jni_objc.mm: Ditto.
  31945. * bridge/jni/jni_runtime.cpp: Ditto.
  31946. * bridge/jni/jni_runtime.h: Ditto.
  31947. * bridge/jni/jni_utility.cpp: Ditto.
  31948. * bridge/jni/jni_utility.h: Ditto.
  31949. * bridge/runtime.cpp: Removed unused #include statements.
  31950. * bridge/runtime.h:
  31951. (KJS::Bindings::Instance::BindingLanguage): Added #if ENABLE(MAC_JAVA_BRIDGE)
  31952. guard for JavaLanguage enum. Also added #if PLATFORM(MAC) guard for
  31953. ObjectiveCLanguage enum to match corresponding code in runtime.cpp.
  31954. * config.h: Removed definition of HAVE_JNI.
  31955. * loader/FrameLoaderClient.h:
  31956. (WebCore::FrameLoaderClient::javaApplet): Added #if ENABLE(MAC_JAVA_BRIDGE) guard.
  31957. * page/Frame.cpp:
  31958. (WebCore::Frame::Frame): Ditto.
  31959. * page/Frame.h:
  31960. (WebCore::Frame::initJavaJSBindings): Ditto.
  31961. * page/mac/FrameMac.mm:
  31962. (WebCore::Frame::createScriptInstanceForWidget): Ditto.
  31963. (WebCore::Frame::initJavaJSBindings): Ditto.
  31964. 2008-03-13 Darin Adler <darin@apple.com>
  31965. * html/PreloadScanner.h: Corrected license.
  31966. * html/PreloadScanner.cpp: Corrected license.
  31967. 2008-03-13 Mark Mentovai <mark@moxienet.com>
  31968. Reviewed by darin. Landed by eseidel.
  31969. * platform/FloatConversion.h: Include a header to get CoreGraphics
  31970. types when using CoreGraphics types.
  31971. 2008-03-13 Mark Mentovai <mark@moxienet.com>
  31972. Reviewed by eseidel. Landed by eseidel.
  31973. * WebCore.xcodeproj/project.pbxproj:
  31974. * css/CSSParser.cpp:
  31975. * css/makeprop.pl:
  31976. Move CSSPropertyNames.c to CSSPropertyNames.cpp
  31977. 2008-03-13 Mark Mentovai <mark@moxienet.com>
  31978. Reviewed by eseidel. Landed by eseidel.
  31979. * platform/Arena.h: Use statement1;statement2 instead of
  31980. (statement1,statement2) in CLEAR_UNUSED.
  31981. 2008-03-13 Tommi Komulainen <tommi.komulainen@iki.fi>
  31982. Reviewed by Alp Toker.
  31983. http://bugs.webkit.org/show_bug.cgi?id=17821
  31984. [SOUP] POST requests are empty
  31985. Send the HTTP request body as well.
  31986. * platform/network/soup/ResourceHandleSoup.cpp:
  31987. (WebCore::ResourceHandle::start):
  31988. 2008-03-13 Dan Bernstein <mitz@apple.com>
  31989. Reviewed by Dave Hyatt.
  31990. - fix http://bugs.webkit.org/show_bug.cgi?id=17819
  31991. Border-collapse: collapse later cell wins on PC, earlier cell on Mac
  31992. Test: fast/table/border-collapsing/equal-precedence-resolution.html
  31993. * rendering/RenderTableCell.cpp:
  31994. (WebCore::RenderTableCell::collapsedLeftBorder): When calling
  31995. compareBorders() with borders that may have the same precedence, made
  31996. sure to pass the border belonging to the earlier (in document order)
  31997. element first, since compareBorders() prefers the first argument when
  31998. there is a tie.
  31999. (WebCore::RenderTableCell::collapsedRightBorder): Ditto.
  32000. (WebCore::RenderTableCell::collapsedTopBorder): Ditto.
  32001. 2008-03-13 Adam Roben <aroben@apple.com>
  32002. wx build fix and Windows leak fix after r31034
  32003. * platform/graphics/wx/ImageWx.cpp:
  32004. (WebCore::Image::loadPlatformResource): Use SharedBuffer::create.
  32005. * platform/win/SharedBufferWin.cpp:
  32006. (WebCore::SharedBuffer::createWithContentsOfFile): Ditto (we were
  32007. leaking the SharedBuffer here before).
  32008. 2008-03-13 Antti Koivisto <antti@apple.com>
  32009. Reviewed by Eric.
  32010. Correct a few issues spotted by Mike Belshe.
  32011. * html/PreloadScanner.cpp:
  32012. (WebCore::PreloadScanner::tokenize):
  32013. * loader/loader.cpp:
  32014. (WebCore::Loader::cancelRequests):
  32015. 2008-03-13 Rodney Dawes <dobey@wayofthemonkey.com>
  32016. Fix GTK+ build for SharedBuffer changes.
  32017. * platform/graphics/gtk/ImageGtk.cpp:
  32018. (Image::loadPlatformResource):
  32019. 2008-03-13 Steve Falkenburg <sfalken@apple.com>
  32020. More PGO build fixes.
  32021. * WebCorePrefix.cpp:
  32022. 2008-03-13 Antti Koivisto <antti@apple.com>
  32023. Reviewed by Darin.
  32024. Make page loads go fast.
  32025. http://bugs.webkit.org/show_bug.cgi?id=17480
  32026. - Implement speculative preloading. When a script load blocks the main parser, use a side
  32027. parser to pick up more resources.
  32028. - Implement per-host load queues, prioritize scripts and stylesheets over images.
  32029. Depending on content and network latency this may speed things up quite a bit.
  32030. * WebCore.xcodeproj/project.pbxproj:
  32031. * dom/Document.cpp:
  32032. (WebCore::Document::implicitClose):
  32033. Clear the preloads after laoding completes.
  32034. * html/HTMLLinkElement.cpp:
  32035. (WebCore::HTMLLinkElement::parseMappedAttribute):
  32036. (WebCore::HTMLLinkElement::tokenizeRelAttribute):
  32037. * html/HTMLLinkElement.h:
  32038. Make tokenizeRelAttribute() public static so it can be used from elsewhere.
  32039. Eliminate a pointless bitfield so I can get references.
  32040. * html/HTMLTokenizer.cpp:
  32041. (WebCore::HTMLTokenizer::scriptHandler):
  32042. (WebCore::HTMLTokenizer::scriptExecution):
  32043. (WebCore::HTMLTokenizer::write):
  32044. * html/HTMLTokenizer.h:
  32045. Spin up the preload scanner whenever a script load blocks the parser. One scanner tracks the end of
  32046. the document while temporary ones are created as needed to scan document.write() output.
  32047. * html/PreloadScanner.cpp: Added.
  32048. (WebCore::PreloadScanner::PreloadScanner):
  32049. (WebCore::PreloadScanner::~PreloadScanner):
  32050. (WebCore::PreloadScanner::begin):
  32051. (WebCore::PreloadScanner::end):
  32052. (WebCore::PreloadScanner::reset):
  32053. (WebCore::PreloadScanner::write):
  32054. (WebCore::isWhitespace):
  32055. (WebCore::PreloadScanner::clearLastCharacters):
  32056. (WebCore::PreloadScanner::rememberCharacter):
  32057. (WebCore::PreloadScanner::lastCharactersMatch):
  32058. (WebCore::legalEntityFor):
  32059. (WebCore::PreloadScanner::consumeEntity):
  32060. (WebCore::PreloadScanner::tokenize):
  32061. (WebCore::PreloadScanner::processAttribute):
  32062. (WebCore::PreloadScanner::emitCharacter):
  32063. (WebCore::PreloadScanner::tokenizeCSS):
  32064. (WebCore::PreloadScanner::emitTag):
  32065. (WebCore::PreloadScanner::emitCSSRule):
  32066. * html/PreloadScanner.h: Added.
  32067. (WebCore::PreloadScanner::inProgress):
  32068. (WebCore::PreloadScanner::):
  32069. HTML5 tokenization plus some glue code. Fake CSS parsing thrown in just for fun.
  32070. * loader/Cache.cpp:
  32071. (WebCore::Cache::pruneDeadResources):
  32072. Preloads have zero refcount, avoid kicking them out too early.
  32073. * loader/CachedResource.cpp:
  32074. (WebCore::CachedResource::CachedResource):
  32075. (WebCore::CachedResource::ref):
  32076. * loader/CachedResource.h:
  32077. (WebCore::CachedResource::):
  32078. (WebCore::CachedResource::preloadResult):
  32079. (WebCore::CachedResource::setRequestedFromNetworkingLayer):
  32080. (WebCore::CachedResource::canDelete):
  32081. (WebCore::CachedResource::isPreloaded):
  32082. (WebCore::CachedResource::increasePreloadCount):
  32083. (WebCore::CachedResource::decreasePreloadCount):
  32084. Keep track which resources are preloads. Avoid deleting them. Track
  32085. at which point of the loading preloads get utilized to enable some interesting
  32086. statistics.
  32087. * loader/DocLoader.cpp:
  32088. (WebCore::DocLoader::~DocLoader):
  32089. (WebCore::DocLoader::checkForReload):
  32090. (WebCore::DocLoader::registerPreload):
  32091. (WebCore::DocLoader::clearPreloads):
  32092. (WebCore::DocLoader::printPreloadStats):
  32093. * loader/DocLoader.h:
  32094. Ensure we utilize preloaded resources during reloads.
  32095. Keep a list of all preloads in the document. Clear the preloads after
  32096. parsing is complete. Some debug statistics.
  32097. * loader/DocumentLoader.cpp:
  32098. (WebCore::DocumentLoader::isLoadingInAPISense):
  32099. Avoid signaling that loading is complete too early.
  32100. * loader/loader.cpp:
  32101. (WebCore::Loader::Loader):
  32102. (WebCore::Loader::~Loader):
  32103. (WebCore::Loader::determinePriority):
  32104. (WebCore::Loader::load):
  32105. (WebCore::Loader::scheduleServePendingRequests):
  32106. (WebCore::Loader::requestTimerFired):
  32107. (WebCore::Loader::servePendingRequests):
  32108. (WebCore::Loader::cancelRequests):
  32109. (WebCore::Loader::Host::Host):
  32110. (WebCore::Loader::Host::~Host):
  32111. (WebCore::Loader::Host::addRequest):
  32112. (WebCore::Loader::Host::hasRequests):
  32113. (WebCore::Loader::Host::servePendingRequests):
  32114. (WebCore::Loader::Host::didFinishLoading):
  32115. (WebCore::Loader::Host::didFail):
  32116. (WebCore::Loader::Host::didReceiveResponse):
  32117. (WebCore::Loader::Host::didReceiveData):
  32118. (WebCore::Loader::Host::cancelPendingRequests):
  32119. (WebCore::Loader::Host::cancelRequests):
  32120. * loader/loader.h:
  32121. (WebCore::Loader::):
  32122. Distribute load requests to per-host priority queues. Limit the number of loads issued to the
  32123. networking layer so we have better changes of getting important requests through first.
  32124. Prioritize scripts > stylesheets > images.
  32125. 2008-03-13 David Hyatt <hyatt@apple.com>
  32126. This patch makes full page zoom work pretty well. It fixes repainting so that it works when transforms
  32127. are set on the RenderView. It also implements the "smart layout" behavior that other browsers support when
  32128. zooming. The page will still try to constrain to the viewport size even when zoomed.
  32129. Reviewed by john
  32130. * dom/Document.cpp:
  32131. (WebCore::Document::recalcStyle):
  32132. Make sure to test for transform changes even when there is no zoom. This fixes repainting issues
  32133. caused by jumping from a zoomed state back to the standard size.
  32134. * page/FrameView.cpp:
  32135. (WebCore::FrameView::adjustViewSize):
  32136. Adjust for the zoom factor (the render tree is in unzoomed coordinates, but the scrollbars of the view
  32137. need to handle zoomed coordinates).
  32138. * rendering/RenderBox.cpp:
  32139. (WebCore::RenderBox::calcHeight):
  32140. Fix the body-sizing-to-the-view-height quirk so that it takes the zoom factor into account when
  32141. stretching to fill the viewport.
  32142. * rendering/RenderLayer.cpp:
  32143. (WebCore::RenderLayer::updateLayerPositions):
  32144. (WebCore::RenderLayer::setHasVisibleContent):
  32145. Remove the FIXMEs now that absoluteClippedOverflowRect works with transforms on the RenderView.
  32146. * rendering/RenderView.cpp:
  32147. (WebCore::RenderView::calcHeight):
  32148. (WebCore::RenderView::calcWidth):
  32149. Make sure the calculated width/height take the zoom factor into account in order to get the "smart layout"
  32150. behavior.
  32151. (WebCore::RenderView::layout):
  32152. When deciding whether children have to get a relayout, we need to check the zoomed width/height and not just
  32153. the viewport size.
  32154. (WebCore::RenderView::computeAbsoluteRepaintRect):
  32155. Patched to take into account transforms set on the RenderView.
  32156. (WebCore::RenderView::docHeight):
  32157. (WebCore::RenderView::docWidth):
  32158. Patched to just always use m_width and m_height initially, since those have already been adjusted for
  32159. the zoom factor.
  32160. (WebCore::RenderView::zoomedHeight):
  32161. (WebCore::RenderView::zoomedWidth):
  32162. * rendering/RenderView.h:
  32163. New helper methods for obtaining the adjusted width/height of the viewport taking into account the
  32164. zoom factor.
  32165. 2008-03-13 Anders Carlsson <andersca@apple.com>
  32166. Build fix.
  32167. * WebCore.base.exp:
  32168. 2008-03-13 Anders Carlsson <andersca@apple.com>
  32169. Reviewed by Adam.
  32170. Get rid of actualRequest, it is not used anymore. Also, get rid of
  32171. initialRequest and replace all uses with originalRequest because those are
  32172. the same thing.
  32173. * loader/DocumentLoader.cpp:
  32174. * loader/DocumentLoader.h:
  32175. * loader/FrameLoader.cpp:
  32176. (WebCore::FrameLoader::initialRequest):
  32177. (WebCore::FrameLoader::originalRequestURL):
  32178. 2008-03-13 Brady Eidson <beidson@apple.com>
  32179. Reviewed by Anders
  32180. Convert SharedBuffer to start with a refCount of 1
  32181. * loader/ImageDocument.cpp:
  32182. (WebCore::ImageTokenizer::finish):
  32183. * loader/ResourceLoader.cpp:
  32184. (WebCore::ResourceLoader::addData):
  32185. (WebCore::ResourceLoader::willStopBufferingData):
  32186. * loader/icon/IconDatabase.cpp:
  32187. (WebCore::IconDatabase::defaultIcon):
  32188. (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase):
  32189. * loader/loader.cpp:
  32190. (WebCore::Loader::didReceiveData):
  32191. * platform/SharedBuffer.h:
  32192. (WebCore::SharedBuffer::create): Make all constructors private, add ::create() calls
  32193. * platform/SharedBuffer.cpp:
  32194. (WebCore::SharedBuffer::SharedBuffer): Revert to default RefCounted constructor to start with a ref count of 1
  32195. (WebCore::SharedBuffer::copy):
  32196. * platform/mac/SharedBufferMac.mm:
  32197. (WebCore::SharedBuffer::wrapNSData):
  32198. (WebCore::SharedBuffer::SharedBuffer): Revert to default RefCounted constructor to start with a ref count of 1
  32199. 2008-03-13 Steve Falkenburg <sfalken@apple.com>
  32200. PGO build fixes.
  32201. Disable PGO for normal release builds.
  32202. Added work-in-progress Release_PGOInstrument/Release_PGOOptimize targets.
  32203. * WebCore.vcproj/WebCore.vcproj:
  32204. 2008-03-13 Anders Carlsson <andersca@apple.com>
  32205. Reviewed by Darin.
  32206. Make a bunch of DocumentLoader setters/getters inline.
  32207. * loader/DocumentLoader.cpp:
  32208. * loader/DocumentLoader.h:
  32209. (WebCore::DocumentLoader::isStopping):
  32210. (WebCore::DocumentLoader::setCommitted):
  32211. (WebCore::DocumentLoader::isCommitted):
  32212. (WebCore::DocumentLoader::isLoading):
  32213. (WebCore::DocumentLoader::setLoading):
  32214. (WebCore::DocumentLoader::response):
  32215. (WebCore::DocumentLoader::mainDocumentError):
  32216. (WebCore::DocumentLoader::setResponse):
  32217. (WebCore::DocumentLoader::isClientRedirect):
  32218. (WebCore::DocumentLoader::setIsClientRedirect):
  32219. (WebCore::DocumentLoader::overrideEncoding):
  32220. (WebCore::DocumentLoader::responses):
  32221. (WebCore::DocumentLoader::triggeringAction):
  32222. (WebCore::DocumentLoader::setTriggeringAction):
  32223. (WebCore::DocumentLoader::setOverrideEncoding):
  32224. (WebCore::DocumentLoader::setLastCheckedRequest):
  32225. (WebCore::DocumentLoader::lastCheckedRequest):
  32226. (WebCore::DocumentLoader::title):
  32227. (WebCore::DocumentLoader::setLoadingFromCachedPage):
  32228. (WebCore::DocumentLoader::isLoadingFromCachedPage):
  32229. 2008-03-13 Rodney Dawes <dobey@wayofthemonkey.com>
  32230. Fix builds without SVG enabled.
  32231. * page/Frame.cpp:
  32232. (Frame::shouldApplyTextZoom):
  32233. (Frame::shouldApplyPageZoom):
  32234. 2008-03-13 Simon Hausmann <hausmann@webkit.org>
  32235. Fix the Qt build.
  32236. * bridge/qt/qt_instance.cpp:
  32237. (KJS::Bindings::QtInstance::getQtInstance):
  32238. (KJS::Bindings::QtInstance::getRuntimeObject):
  32239. * bridge/qt/qt_instance.h:
  32240. (KJS::Bindings::QtInstance::create):
  32241. * bridge/qt/qt_runtime.cpp:
  32242. (KJS::Bindings::convertQVariantToValue):
  32243. (KJS::Bindings::QtConnectionObject::execute):
  32244. * page/qt/FrameQt.cpp:
  32245. (WebCore::Frame::createScriptInstanceForWidget):
  32246. 2008-03-12 Sam Weinig <sam@webkit.org>
  32247. Reviewed by Darin Adler.
  32248. Fix <rdar://problem/5784773>
  32249. Crash loading QT movies @ apple.com/ipodtouch/features.html with a PAC file (WebKitThreadingException)
  32250. Make bridged RuntimeObjects get collected on the main thread only. This is necessary
  32251. because clients of the bridged objects are unlikely to prepared for a collection on
  32252. non-main thread, which can happen with a PAC file.
  32253. * bridge/runtime_object.cpp:
  32254. (RuntimeObjectImp::RuntimeObjectImp):
  32255. 2008-03-12 Adam Roben <aroben@apple.com>
  32256. Fix Bug 17815: Inspector's DOM tree should descend into subframes
  32257. <http://bugs.webkit.org/show_bug.cgi?id=17815>
  32258. Reviewed by Tim.
  32259. * page/inspector/DocumentPanel.js:
  32260. (WebInspector.DocumentPanel.revealNode): Changed to provide
  32261. _isAncestorIncludingParentFramesWithinPanel and
  32262. _parentNodeOrFrameElementWithinPanel for the isAncestor and getParent
  32263. parameters to findTreeElement so that parent frames will be searched.
  32264. (WebInspector.DocumentPanel.updateBreadcrumb):
  32265. - Changed while loop to for loop
  32266. - Use _parentNodeOrFrameElementWithinPanel instead of
  32267. Node.parentNode to move to the next node
  32268. - The loop now ends when we reach the DocumentPanel's document node
  32269. - Traversal past other Document nodes is now allowed
  32270. - We add the "start" class to the final crumb after the loop exits
  32271. (WebInspector.DocumentPanel._getDocumentForNode): Added. Simple helper
  32272. that returns the node itself if the node is a Document node, or the
  32273. node's ownerDocument otherwise.
  32274. (WebInspector.DocumentPanel._parentNodeOrFrameElementWithinPanel):
  32275. Added. Returns the node's parent node or, in the case of a Document
  32276. node, the node's window's owning frame element, but will not return a
  32277. node that is in a parent frame of the DocumentPanel's Document.
  32278. (WebInspector.DocumentPanel._isAncestorIncludingParentFramesWithinPanel):
  32279. Added. Returns true if a is an ancestor of b if a is an ancestor of a
  32280. frame element whose subframe(s) contain b.
  32281. (WebInspector.DOMNodeTreeElement): We now consider ourselves to have
  32282. children if we have a contentDocument.
  32283. (WebInspector.DOMNodeTreeElement.onpopulate): Moved the appendChild
  32284. loop into a function so that we can add both children of our
  32285. contentDocument and children of our node to the tree.
  32286. (WebInspector.DOMNodeTreeElement.ondblclick): Changed so that we get
  32287. the rootDOMNode by traversing the tree outline hierarchy instead of
  32288. the DOM hierarchy so that we can easily jump up to a parent frame.
  32289. 2008-03-12 Adam Roben <aroben@apple.com>
  32290. Update the styles/metrics panes and breadcrumb after editing DOM
  32291. attributes
  32292. Reviewed by Tim.
  32293. * page/inspector/DocumentPanel.js:
  32294. (WebInspector.DocumentPanel.set focusedDOMNode): Moved code to update
  32295. the parts of the DocumentPanel other than the DOM tree into a new
  32296. function, _focusedNodeChanged.
  32297. (WebInspector.DocumentPanel._focusedNodeChanged): Added. The
  32298. forceUpdate parameter specifies whether the update should occur even
  32299. if the focused node hasn't changed since the last update.
  32300. (WebInspector.DocumentPanel.updateBreadcrumb): Added a forceUpdate
  32301. parameter. If forceUpdate is true, we always rebuild the breadcrumbs.
  32302. (WebInspector.DocumentPanel.updateStyles): Added a forceUpdate
  32303. parameter. If forceUpdate is true, we always rebuild the styles pane.
  32304. (WebInspector.DOMNodeTreeElement._attributeEditingCommitted): Added a
  32305. call to DocumentPanel._focusedNodeChanged. We have to force the update
  32306. because we haven't changed the focused node (the attributes of the
  32307. node have changed).
  32308. * page/inspector/StylesSidebarPane.js:
  32309. (WebInspector.StylesSidebarPane.update): Added a forceUpdate
  32310. parameter. If forceUpdate is true we always rebuild the styles.
  32311. 2008-03-12 Mark Rowe <mrowe@apple.com>
  32312. Further Gtk and Qt build fixes.
  32313. * bridge/runtime.cpp:
  32314. (KJS::Bindings::Instance::createRuntimeObject): Adapt Qt-only code for change to PassRefPtr.
  32315. * page/gtk/FrameGtk.cpp: Add missing include.
  32316. 2008-03-12 Mark Rowe <mrowe@apple.com>
  32317. Fix Gtk and Qt builds.
  32318. * page/gtk/FrameGtk.cpp:
  32319. * page/qt/FrameQt.cpp:
  32320. 2008-03-12 Mark Rowe <mrowe@apple.com>
  32321. Mac build fix.
  32322. * WebCore.base.exp: Remove symbol.
  32323. 2008-03-12 Steve Falkenburg <sfalken@apple.com>
  32324. Build fix.
  32325. * page/win/FrameWin.cpp:
  32326. 2008-03-12 Steve Falkenburg <sfalken@apple.com>
  32327. Build fix.
  32328. * plugins/win/PluginViewWin.cpp:
  32329. (WebCore::PluginView::bindingInstance):
  32330. 2008-03-12 Darin Adler <darin@apple.com>
  32331. Reviewed by Anders.
  32332. - http://bugs.webkit.org/show_bug.cgi?id=17640
  32333. eliminate WebCoreFrameBridge
  32334. * WebCore.base.exp: Added more exports, needed by code moved from WebCoreFrameBridge
  32335. to WebFrame in WebKit.
  32336. * WebCore.xcodeproj/project.pbxproj: Added more headers, same reason. Also deleted
  32337. WebCoreFrameBridge.h and WebCoreFrameBridge.mm.
  32338. * page/Frame.cpp:
  32339. (WebCore::Frame::Frame): Added call to initJavaJSBindings(), formerly handled by
  32340. the WebCoreFrameBridge.
  32341. * page/Frame.h: Added initJavaJSBindings function.
  32342. * page/mac/FrameMac.mm:
  32343. (WebCore::updateRenderingForBindings): Moved here from WebCoreFrameBridge.
  32344. (WebCore::Frame::initJavaJSBindings): Ditto; code was in the init function.
  32345. * page/mac/WebCoreFrameBridge.h: Removed.
  32346. * page/mac/WebCoreFrameBridge.mm: Removed.
  32347. 2008-03-12 Sam Weinig <sam@webkit.org>
  32348. Reviewed by Anders Carlsson.
  32349. Don't go through the Document just to get the frame Element.
  32350. * page/DOMWindow.cpp:
  32351. (WebCore::DOMWindow::frameElement):
  32352. 2008-03-12 Anders Carlsson <andersca@apple.com>
  32353. Reviewed by Geoff and Sam.
  32354. More Instance cleanup:
  32355. * Make Instance inherit from RefCounted instead of doing its own refcounting.
  32356. * Make all Instance subclasses private, add static create methods.
  32357. * Have Instance start out with a refcount of 1.
  32358. * Get rid of Instance::createBindingForLanguageInstance and call the individual
  32359. instance constructor methods instead.
  32360. * Fix many methods to take and return PassRefPtr<Instance> to ensure that the
  32361. refcounting is done correctly.
  32362. * bridge/c/c_instance.h:
  32363. (KJS::Bindings::CInstance::create):
  32364. * bridge/c/c_utility.cpp:
  32365. (KJS::Bindings::convertNPVariantToValue):
  32366. * bridge/jni/jni_instance.cpp:
  32367. (JavaInstance::invokeMethod):
  32368. * bridge/jni/jni_instance.h:
  32369. (KJS::Bindings::JavaInstance::create):
  32370. * bridge/jni/jni_jsobject.cpp:
  32371. (JavaJSObject::convertJObjectToValue):
  32372. * bridge/jni/jni_runtime.cpp:
  32373. (JavaField::valueFromInstance):
  32374. (JavaArray::valueAt):
  32375. * bridge/objc/objc_instance.h:
  32376. (KJS::Bindings::ObjcInstance::create):
  32377. * bridge/objc/objc_utility.mm:
  32378. (KJS::Bindings::convertObjcValueToValue):
  32379. * bridge/qt/qt_instance.cpp:
  32380. (KJS::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp):
  32381. (KJS::Bindings::QtInstance::getQtInstance):
  32382. (KJS::Bindings::QtInstance::getRuntimeObject):
  32383. * bridge/qt/qt_instance.h:
  32384. * bridge/runtime.cpp:
  32385. (KJS::Bindings::Instance::Instance):
  32386. (KJS::Bindings::Instance::createRuntimeObject):
  32387. * bridge/runtime.h:
  32388. * bridge/runtime_object.cpp:
  32389. (RuntimeObjectImp::RuntimeObjectImp):
  32390. * bridge/runtime_object.h:
  32391. * page/Frame.h:
  32392. * page/mac/FrameMac.mm:
  32393. (WebCore::Frame::createScriptInstanceForWidget):
  32394. * page/win/FrameWin.cpp:
  32395. (WebCore::Frame::createScriptInstanceForWidget):
  32396. * plugins/PluginView.h:
  32397. * plugins/win/PluginViewWin.cpp:
  32398. (WebCore::PluginView::bindingInstance):
  32399. 2008-03-12 Dan Bernstein <mitz@apple.com>
  32400. Suggested by Darin Adler. Reviewed by Dave Hyatt.
  32401. - speed up BidiIterator::direction()
  32402. * rendering/bidi.cpp:
  32403. (WebCore::BidiIterator::current): Made inline and corrected the
  32404. out-of-bounds condition to work with 0-length text and offsets beyond
  32405. the end of the text.
  32406. (WebCore::BidiIterator::direction): Changed to call current() and not
  32407. call the virtual method isListMarker() most of the time.
  32408. (WebCore::addMidpoint): Removed unnecessary null-check of smidpoints.
  32409. (WebCore::appendRunsForObject): Ditto.
  32410. 2008-03-12 Adam Roben <aroben@apple.com>
  32411. Make URLs not be underlined while editing them in the DOM view
  32412. Reviewed by Tim.
  32413. * page/inspector/inspector.css:
  32414. 2008-03-12 Adam Roben <aroben@apple.com>
  32415. Part of Bug 17224: DOM nodes/attributes should be editable
  32416. <http://bugs.webkit.org/show_bug.cgi?id=17224>
  32417. <rdar://problem/5732825>
  32418. We now start editing if the user single-clicks on an attribute,
  32419. attribute value, or text node while the parent element is selected.
  32420. Previously, we started editing on double-click regardless of the
  32421. selection state of the element.
  32422. URLs in the DOM tree are now followed on Alt/Option-click, rather than
  32423. on just click.
  32424. Reviewed by Tim.
  32425. * English.lproj/InspectorLocalizedStrings.js: Added four new localized
  32426. strings.
  32427. * page/inspector/DocumentPanel.js:
  32428. (WebInspector.DOMNodeTreeElement.onattach): Call new
  32429. _makeURLSActivateOnModifiedClick.
  32430. (WebInspector.DOMNodeTreeElement._makeURLsActivateOnModifiedClick):
  32431. Added. Changes the tooltip of each link in this element to indicate
  32432. that Alt/Option-click will follow the URL, and sets the
  32433. followOnAltClick property on each link.
  32434. (WebInspector.DOMNodeTreeElement.onselect): Mark that we're being
  32435. selected.
  32436. (WebInspector.DOMNodeTreeElement.onmousedown): If we're not currently
  32437. being selected, start editing.
  32438. (WebInspector.DOMNodeTreeElement.ondblclick): We no longer start
  32439. editing here. We block re-rooting of the tree if we're currently
  32440. editing.
  32441. (WebInspector.DOMNodeTreeElement._startEditing):
  32442. - Don't do anything if we're not focused
  32443. - Pass the event down to _startEditingAttribute.
  32444. (WebInspector.DOMNodeTreeElement._startEditingAttribute): Don't do
  32445. anything if the event target is a URL and the Alt/Option key is
  32446. pressed -- in this case we want to follow the link.
  32447. (WebInspector.DOMNodeTreeElement._updateTitle): Call
  32448. _makeURLsActivateOnClick again since the anchor elements have all been
  32449. recreated.
  32450. * page/inspector/inspector.js:
  32451. (WebInspector.documentClick): If the anchor as a followOnAltClick
  32452. property and the Alt/Option key is not pressed, do nothing.
  32453. 2008-03-12 Ada Chan <adachan@apple.com>
  32454. Fixed the initial value of zoom factor.
  32455. Reviewed by Adam.
  32456. * page/Frame.cpp:
  32457. (WebCore::FramePrivate::FramePrivate):
  32458. 2008-03-12 David Hyatt <hyatt@apple.com>
  32459. Make full page zoom vaguely work. This patch uses the CSS transform system to turn on full page zoom at the
  32460. document level. There are many many bugs that I'm going to file to track all the issues (most of the issues
  32461. are just bugs with transforms themselves).
  32462. Reviewed by Adam Roben
  32463. * css/CSSStyleSelector.cpp:
  32464. (WebCore::CSSStyleSelector::applyProperty):
  32465. (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
  32466. * dom/Document.cpp:
  32467. (WebCore::Document::recalcStyle):
  32468. * page/Frame.cpp:
  32469. (WebCore::Frame::shouldApplyTextZoom):
  32470. (WebCore::Frame::shouldApplyPageZoom):
  32471. * page/Frame.h:
  32472. * rendering/RenderLayer.cpp:
  32473. (WebCore::RenderLayer::updateLayerPositions):
  32474. (WebCore::RenderLayer::setHasVisibleContent):
  32475. (WebCore::RenderLayer::paintLayer):
  32476. (WebCore::RenderLayer::hitTestLayer):
  32477. * rendering/RenderLayer.h:
  32478. 2008-03-12 David Hyatt <hyatt@apple.com>
  32479. Make the zoom factor a float and not a percent.
  32480. Reviewed by antti
  32481. * WebCore.base.exp:
  32482. * css/CSSStyleSelector.cpp:
  32483. (WebCore::CSSStyleSelector::applyProperty):
  32484. (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
  32485. * page/Frame.cpp:
  32486. (WebCore::Frame::zoomFactor):
  32487. (WebCore::Frame::setZoomFactor):
  32488. * page/Frame.h:
  32489. * page/FramePrivate.h:
  32490. * svg/SVGSVGElement.cpp:
  32491. (WebCore::SVGSVGElement::currentScale):
  32492. (WebCore::SVGSVGElement::setCurrentScale):
  32493. 2008-03-12 David Hyatt <hyatt@apple.com>
  32494. Eliminate setTextMultiplier from the bridge. Make Webkit just call setZoomFactor on the frame directly.
  32495. Reviewed by Tim H.
  32496. * WebCore.base.exp:
  32497. * page/mac/WebCoreFrameBridge.h:
  32498. * page/mac/WebCoreFrameBridge.mm:
  32499. 2008-03-12 Dan Bernstein <mitz@apple.com>
  32500. Reviewed by Darin Adler and Sam Weinig.
  32501. - <rdar://problem/4433248> use CoreText API instead of SPI on Leopard
  32502. Use CTFontCopyGraphicsFont and CTFontGetPlatformFont on Leopard instead
  32503. of wkGetCGFontFromNSFont and wkGetNSFontATSUFontId, relying on NSFont
  32504. and CTFontRef being toll-free bridged.
  32505. * WebCore.Tiger.exp:
  32506. * WebCore.base.exp:
  32507. * platform/graphics/mac/FontMac.mm:
  32508. (WebCore::Font::drawGlyphs): Changed to use the cgFont() accessor.
  32509. * platform/graphics/mac/FontPlatformData.h:
  32510. Made m_cgFont a RetainPtr on Leopard.
  32511. (WebCore::toCTFontRef): Added a function that encapsulates the
  32512. toll-free bridging.
  32513. (WebCore::FontPlatformData::FontPlatformData):
  32514. (WebCore::FontPlatformData::cgFont): Added this accessor method.
  32515. * platform/graphics/mac/FontPlatformDataMac.mm:
  32516. (WebCore::FontPlatformData::FontPlatformData): Changed to use
  32517. CoreText API on Leopard.
  32518. (WebCore::FontPlatformData::setFont): Ditto.
  32519. * platform/graphics/mac/SimpleFontDataMac.mm:
  32520. (WebCore::initFontData):
  32521. (WebCore::pathFromFont):
  32522. (WebCore::SimpleFontData::platformInit):
  32523. (WebCore::SimpleFontData::platformWidthForGlyph):
  32524. * platform/mac/WebCoreSystemInterface.mm:
  32525. 2008-03-12 David Harrison <harrison@apple.com>
  32526. Reviewed by Darin.
  32527. <rdar://problem/5607382> CrashTracer: [REGRESSION] 2290 crashes in Safari at com.apple.WebCore: -[WebCoreAXObject isWebArea] + 8
  32528. The problem was that we lost track of the AX cache for a subframe when Frame::disconnectOwnerElement() was
  32529. called, so we were unable to locate the AXObjects to de-register from AppKit's accessibility registry.
  32530. Also saw that cache clearing was missing from Document::detach(), and fixed that.
  32531. Also added a debug-only check that AXObjectCache::remove() not finding the AXObject is expected.
  32532. Lastly, RenderWidget::destroy() now skips trying to remove the AXObject if accessibility has never been enabled.
  32533. * dom/Document.cpp:
  32534. (WebCore::Document::attach):
  32535. Assert that there is no AX cache (since there is no renderer).
  32536. (WebCore::Document::detach):
  32537. Destroy the AX cache installed on this document.
  32538. (WebCore::Document::clearAXObjectCache):
  32539. New. Destroy the AX cache associated with this document.
  32540. (WebCore::Document::axObjectCache):
  32541. Added some comments.
  32542. * dom/Document.h:
  32543. Declare clearAXObjectCache().
  32544. * page/Frame.cpp:
  32545. (WebCore::Frame::disconnectOwnerElement):
  32546. Destroy the AX cache associated with this frame's document.
  32547. * page/mac/AXObjectCacheMac.mm:
  32548. (WebCore::AXObjectCache::remove):
  32549. * page/mac/WebCoreAXObject.mm:
  32550. (-[WebCoreAXObject initWithRenderer:]):
  32551. (-[WebCoreAXObject detach]):
  32552. * rendering/RenderObject.cpp:
  32553. (WebCore::RenderObject::RenderObject):
  32554. (WebCore::RenderObject::~RenderObject):
  32555. * rendering/RenderObject.h:
  32556. (WebCore::RenderObject::setHasAXObject):
  32557. (WebCore::RenderObject::hasAXObject):
  32558. Add debug-only check that AXObjectCache::remove() not finding the AXObject is expected.
  32559. * rendering/RenderWidget.cpp:
  32560. (WebCore::RenderWidget::destroy):
  32561. Skip call to remove the AXObject if accessibility has never been enabled. A simple speed optimization in the
  32562. very common case that the accessibility APIs are not being used. Same as in RenderObject::destroy().
  32563. 2008-03-12 Xan Lopez <xan@gnome.org>
  32564. Reviewed by Alp Toker.
  32565. http://bugs.webkit.org/show_bug.cgi?id=15229
  32566. Add Pango font backend.
  32567. Original patch by Sven Herzberg <sven@imendio.com>
  32568. * GNUmakefile.am:
  32569. * platform/graphics/gtk/FontCacheGtk.cpp:
  32570. (WebCore::FontCache::fontExists):
  32571. * platform/graphics/gtk/FontCustomPlatformDataPango.cpp: Added.
  32572. (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
  32573. (WebCore::FontCustomPlatformData::fontPlatformData):
  32574. (WebCore::releaseData):
  32575. (WebCore::createFontCustomPlatformData):
  32576. * platform/graphics/gtk/FontPlatformData.h:
  32577. (WebCore::FontPlatformData::FontPlatformData):
  32578. (WebCore::FontPlatformData::hash):
  32579. * platform/graphics/gtk/FontPlatformDataPango.cpp: Added.
  32580. (WebCore::FontPlatformData::FontPlatformData):
  32581. (WebCore::FontPlatformData::init):
  32582. (WebCore::FontPlatformData::~FontPlatformData):
  32583. (WebCore::FontPlatformData::isFixedPitch):
  32584. (WebCore::FontPlatformData::setFont):
  32585. (WebCore::FontPlatformData::operator==):
  32586. * platform/graphics/gtk/GlyphPageTreeNodePango.cpp: Added.
  32587. (WebCore::pango_font_get_glyph):
  32588. (WebCore::GlyphPage::fill):
  32589. * platform/graphics/gtk/SimpleFontDataPango.cpp: Added.
  32590. (WebCore::SimpleFontData::platformInit):
  32591. (WebCore::SimpleFontData::platformDestroy):
  32592. (WebCore::SimpleFontData::smallCapsFontData):
  32593. (WebCore::SimpleFontData::containsCharacters):
  32594. (WebCore::SimpleFontData::determinePitch):
  32595. (WebCore::SimpleFontData::platformWidthForGlyph):
  32596. (WebCore::SimpleFontData::setFont):
  32597. 2008-03-12 Justin Garcia <justin.garcia@apple.com>
  32598. Reviewed by Oliver.
  32599. <rdar://problem/5770834> Crash at InsertTextCommand::prepareForTextInsertion() doing RemoveFormat in a certain list
  32600. Fixes some (but not all) of the instances of:
  32601. <rdar://problem/5659795> CrashTracer: [REGRESSION] 187 crashes in Safari at com.apple.WebCore: WebCore::InsertTextCommand::prepareForTextInsertion + 241
  32602. <rdar://problem/5779631> CrashTracer: [USER] 25 crashes in Mail at WebCore::InsertTextCommand::prepareForTextInsertion
  32603. * editing/InsertLineBreakCommand.cpp:
  32604. (WebCore::InsertLineBreakCommand::doApply): applyStyle may have destroyed content that held
  32605. the old endingSelection(), so we must recompute it. Added a FIXME. Added a few comments.
  32606. * editing/RemoveFormatCommand.cpp:
  32607. (WebCore::RemoveFormatCommand::doApply): Added a FIXME.
  32608. 2008-03-11 Alexey Proskuryakov <ap@webkit.org>
  32609. Reviewed by Darin.
  32610. <rdar://problem/5640615> REGRESSION (Safari 2-3): Changing subframe encoding rules broke
  32611. some sites.
  32612. Other browsers' behavior keeps changing; let's implement what Firefox and Opera do now:
  32613. if the frame and subframe belong to the same site, then the encoding is inherited from parent
  32614. frame to subframe. Otherwise, it is not.
  32615. Always inheriting the encoding would cause a security problem.
  32616. Tests: http/tests/misc/frame-default-enc-different-domain.html
  32617. http/tests/misc/frame-default-enc-same-domain.html
  32618. fast/encoding/frame-default-enc.html
  32619. * loader/FrameLoader.cpp:
  32620. (WebCore::FrameLoader::write): Also removed a check for m_frame->document() being non-null -
  32621. this function also has code that uses it without checking, so it must be safe.
  32622. 2008-03-12 Mark Rowe <mrowe@apple.com>
  32623. Gtk build fix.
  32624. * page/Frame.h: Forward-declare FramePrivate.
  32625. 2008-03-11 Steve Falkenburg <sfalken@apple.com>
  32626. Disable LTCG/PGO for all of WebCore for now.
  32627. We'll re-enable this as part of follow-on PGO work.
  32628. Reviewed by Oliver.
  32629. * WebCore.vcproj/WebCore.vcproj:
  32630. 2008-03-11 Darin Adler <darin@apple.com>
  32631. Reviewed by Sam.
  32632. - remove all bridge-related things from WebCore except the bridge itself
  32633. * WebCore.base.exp: Removed the bridge and setBridge functions.
  32634. * loader/FrameLoader.cpp:
  32635. (WebCore::FrameLoader::detachFromParent): Removed call to the bridge's
  32636. close method.
  32637. * page/Frame.cpp:
  32638. (WebCore::Frame::~Frame): Removed call to setBridge(0).
  32639. (WebCore::FramePrivate::FramePrivate): Removed initialization of m_bridge.
  32640. * page/Frame.h: Removed setBridge and bridge functions.
  32641. * page/FramePrivate.h: Removed m_bridge pointer.
  32642. * page/mac/FrameMac.mm: Removed setBridge and bridge functions.
  32643. * page/mac/WebCoreFrameBridge.h: Added setWebCoreFrame: method.
  32644. Removed bridgeForDOMDocument: and clearFrame methods.
  32645. * page/mac/WebCoreFrameBridge.mm: Ditto.
  32646. (-[WebCoreFrameBridge close]): Changed to set m_frame to 0 directly.
  32647. (-[WebCoreFrameBridge setWebCoreFrame:]): Added.
  32648. 2008-03-11 Darin Adler <darin@apple.com>
  32649. - restored some code I removed in the Range change; this code can't go
  32650. until the rest of the Range fix is in
  32651. * dom/Range.cpp:
  32652. (WebCore::Range::commonAncestorContainer): Added back the check for 0
  32653. that I removed erroneously in the Range patch.
  32654. (WebCore::Range::processContents): Left in assertions I used to debug
  32655. this.
  32656. 2008-03-11 Darin Adler <darin@apple.com>
  32657. - fix Release build
  32658. * platform/mac/ScrollViewMac.mm:
  32659. (WebCore::ScrollView::setContentsPos): Don't use NSMakePoint.
  32660. 2008-03-11 Darin Adler <darin@apple.com>
  32661. Reviewed by Anders.
  32662. - simplify Mac code for ScrollView, since it's used only for FrameView
  32663. and not in two different modes like it was historically
  32664. - remove code depending on the bridge to get from an NSView to a WebCore::Frame
  32665. * bindings/objc/DOMHTML.mm:
  32666. (-[DOMHTMLInputElement _rectOnScreen]): getDocumentView -> documentView.
  32667. * bridge/jni/jni_jsobject.cpp:
  32668. (createRootObject): Instead of using WebCoreViewFactory to find the frame given
  32669. and NSView, use the WebCoreFrameView interface to do it.
  32670. * editing/mac/EditorMac.mm:
  32671. (WebCore::Editor::paste): getDocumentView -> documentView.
  32672. * editing/mac/SelectionControllerMac.mm:
  32673. (WebCore::SelectionController::notifyAccessibilityForSelectionChange): Ditto.
  32674. * page/FrameView.h: Fixed comment.
  32675. * page/InspectorController.cpp:
  32676. (WebCore::InspectorController::drawNodeHighlight): Removed uneeded typecasts
  32677. to ScrollView* since FrameView is derived from ScrollView.
  32678. * page/mac/EventHandlerMac.mm:
  32679. (WebCore::EventHandler::focusDocumentView): getDocumentView -> documentView.
  32680. * page/mac/FrameMac.mm:
  32681. (WebCore::Frame::imageFromRect): Ditto.
  32682. * page/mac/WebCoreAXObject.mm:
  32683. (-[WebCoreAXObject position]): Ditto.
  32684. (-[WebCoreAXObject doAXTextMarkerForPosition:]): Ditto.
  32685. (-[WebCoreAXObject rendererForView:]): Updated code that used to use
  32686. WebCoreBridgeHolder to use WebCoreFrameView instead.
  32687. * page/mac/WebCoreFrameBridge.mm:
  32688. (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
  32689. getDocumentView -> documentView.
  32690. * page/mac/WebCoreFrameView.h: Removed the WebCoreScrollbarMode type; we just
  32691. use WebCore::ScrollbarMode directly. Renamed the WebCoreFrameView protocol to
  32692. WebCoreFrameScrollView, since it's a protocol for the scroll view, not the
  32693. frame view itself. Replaced WebCoreBridgeHolder protocol with WebCoreFrameView
  32694. protocol, which returns a WebCore::Frame directly rather than a bridge.
  32695. * page/mac/WebCoreViewFactory.h: Eliminated the bridgeForView method.
  32696. * platform/ScrollView.h: Moved the constructor and destructor out of the
  32697. class-specific #if blocks. Renamed Mac-specific function that gets the
  32698. NSView for from getDocumentView to documentView and a scrollView function
  32699. that returns an appropriately classed NSScrollView.
  32700. * platform/graphics/MediaPlayer.h: Changed type of parentWidget to FrameView
  32701. instead of Widget.
  32702. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  32703. (WebCore::MediaPlayerPrivate::createQTMovieView): Removed unnecessary cast.
  32704. * platform/mac/PopupMenuMac.mm:
  32705. (WebCore::PopupMenu::show): getDocumentView -> documentView.
  32706. * platform/mac/ScrollViewMac.mm:
  32707. (WebCore::ScrollView::ScrollView): Added.
  32708. (WebCore::ScrollView::~ScrollView): Added.
  32709. (WebCore::ScrollView::scrollView): Added.
  32710. (WebCore::ScrollView::visibleWidth): Removed unused non-NSScrollView case.
  32711. (WebCore::ScrollView::visibleHeight): Ditto.
  32712. (WebCore::ScrollView::visibleContentRect): Ditto.
  32713. (WebCore::ScrollView::visibleContentRectConsideringExternalScrollers): Ditto.
  32714. (WebCore::ScrollView::contentsWidth): Ditto.
  32715. (WebCore::ScrollView::contentsHeight): Ditto.
  32716. (WebCore::ScrollView::contentsX): Ditto.
  32717. (WebCore::ScrollView::contentsY): Ditto.
  32718. (WebCore::ScrollView::scrollOffset): Ditto.
  32719. (WebCore::ScrollView::scrollRectIntoViewRecursively): Ditto.
  32720. (WebCore::ScrollView::setContentsPos): Ditto.
  32721. (WebCore::ScrollView::setVScrollbarMode): Ditto.
  32722. (WebCore::ScrollView::setHScrollbarMode): Ditto.
  32723. (WebCore::ScrollView::setScrollbarsMode): Ditto.
  32724. (WebCore::ScrollView::vScrollbarMode): Ditto.
  32725. (WebCore::ScrollView::hScrollbarMode): Ditto.
  32726. (WebCore::ScrollView::suppressScrollbars): Ditto.
  32727. (WebCore::ScrollView::addChild): Ditto.
  32728. (WebCore::ScrollView::resizeContents): Ditto.
  32729. (WebCore::ScrollView::updateContents): Ditto.
  32730. (WebCore::ScrollView::contentsToWindow): Ditto.
  32731. (WebCore::ScrollView::windowToContents): Ditto.
  32732. (WebCore::ScrollView::setStaticBackground): Ditto.
  32733. (WebCore::ScrollView::documentView): Renamed and removed unused case.
  32734. (WebCore::ScrollView::scrollbarUnderMouse): Removed incorrect comment.
  32735. * platform/mac/WidgetMac.mm:
  32736. (WebCore::Widget::getOuterView): Update for protocol name change.
  32737. * rendering/RenderThemeMac.mm:
  32738. (WebCore::RenderThemeMac::paintCheckbox): getDocumentView -> documentView.
  32739. (WebCore::RenderThemeMac::paintRadio): Ditto.
  32740. (WebCore::RenderThemeMac::paintButton): Ditto.
  32741. (WebCore::RenderThemeMac::paintMenuList): Ditto.
  32742. (WebCore::RenderThemeMac::paintSliderThumb): Ditto.
  32743. (WebCore::RenderThemeMac::paintSearchField): Ditto.
  32744. (WebCore::RenderThemeMac::paintSearchFieldCancelButton): Ditto.
  32745. (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration): Ditto.
  32746. (WebCore::RenderThemeMac::paintSearchFieldResultsButton): Ditto.
  32747. 2008-03-11 Brent Fulgham <bfulgham@gmail.com>
  32748. Reviewed by Adam Roben.
  32749. Split CookieJarWin.cpp into CFNet and non-CFNet versions to
  32750. reduce the massive amount of conditionalization in the file.
  32751. (see http://bugs.webkit.org/show_bug.cgi?id=17788)
  32752. * WebCore.vcproj/WebCore.vcproj:
  32753. * platform/network/win/CookieJarCFNetWin.cpp: Copied from WebCore/platform/network/win/CookieJarWin.cpp.
  32754. (WebCore::setCookies):
  32755. (WebCore::cookies):
  32756. (WebCore::cookiesEnabled):
  32757. * platform/network/win/CookieJarWin.cpp:
  32758. (WebCore::setCookies):
  32759. (WebCore::cookies):
  32760. (WebCore::cookiesEnabled):
  32761. 2008-03-11 Darin Adler <darin@apple.com>
  32762. Reviewed by Sam.
  32763. - eliminate the remaining parts of WebCoreBridge used for calls to WebKit from WebCore
  32764. * page/ChromeClient.h: Added new client functions to replace calls up to WebKit
  32765. that were formerly handled by the bridge.
  32766. * page/Frame.h: Removed unneeded declarations. Moved declarations of script-specific
  32767. functions to a ScriptController section. Removed willPopupMenu.
  32768. * page/mac/ChromeMac.mm:
  32769. (WebCore::Chrome::focusNSView): Changed to call firstResponder and makeFirstResponder
  32770. via the client instead of the bridge.
  32771. * page/mac/EventHandlerMac.mm:
  32772. (WebCore::EventHandler::passMouseDownEventToWidget): Changed to call firstResponder
  32773. and makeFirstResponder via the chrome client instead of the bridge.
  32774. * page/mac/FrameMac.mm: Removed willPopupMenu.
  32775. * page/mac/WebCoreFrameBridge.h: Removed WebCoreFrameBridge protocol and
  32776. SubclassResponsibility category. Also removed some unneeded imports.
  32777. * platform/mac/PopupMenuMac.mm:
  32778. (WebCore::PopupMenu::show): Call willPopUpMenu on chrome client instead of frame.
  32779. * platform/mac/WidgetMac.mm:
  32780. (WebCore::Widget::setIsSelected): Call functions directly on the view rather than
  32781. calling via the bridge.
  32782. 2008-03-11 Darin Adler <darin@apple.com>
  32783. Reviewed by Mitz.
  32784. - make some Range improvements (preparation for Range support for DOM mutation)
  32785. Made constructors private, added create functions.
  32786. Made refcount start at 1 rather than starting at 0 and being incremented.
  32787. Made Range use two Position objects for the start/end container/offset pairs.
  32788. * WebCore.base.exp: Updated.
  32789. * dom/Document.cpp:
  32790. (WebCore::Document::createRange): Changed to use Range::create.
  32791. (WebCore::Document::removeMarkers): Updated for Range::first/pastLastNode name change.
  32792. * dom/Position.cpp:
  32793. (WebCore::Position::formatForDebugger): Updated for member variable name change.
  32794. (WebCore::Position::showTreeForThis): Ditto.
  32795. (WebCore::startPosition): Changed to use Range::startPosition.
  32796. (WebCore::endPosition): Changed to use Range::endPosition.
  32797. * dom/Position.h: Made the data members public and renamed them to container
  32798. and offset. But since offset() is already a function, temporarily used posOffset
  32799. for the data member. Later we'll get rid of offset(). Made more functions inline.
  32800. Removed the constructor that takes a PositionIterator.
  32801. * dom/PositionIterator.cpp:
  32802. (WebCore::PositionIterator::operator Position): Added. Replaces the constructor
  32803. that used to be in Position.
  32804. * dom/PositionIterator.h: Added conversion operator to produce a Position.
  32805. Removed friend declaration for Position.
  32806. * dom/Range.cpp:
  32807. (WebCore::Range::Range): Updated constructors for data member changes and made
  32808. them use a refcount of 1.
  32809. (WebCore::Range::create): Added.
  32810. (WebCore::Range::startContainer): Updated to eliminate use of m_detached; detached
  32811. is now indicated by m_start.container of 0. Also updated to use m_start instead
  32812. of the old m_startContainer.
  32813. (WebCore::Range::startOffset): Ditto.
  32814. (WebCore::Range::endContainer): Ditto.
  32815. (WebCore::Range::endOffset): Ditto.
  32816. (WebCore::Range::commonAncestorContainer): Ditto.
  32817. (WebCore::Range::collapsed): Ditto.
  32818. (WebCore::Range::setStart): Ditto.
  32819. (WebCore::Range::setEnd): Ditto.
  32820. (WebCore::Range::collapse): Ditto.
  32821. (WebCore::Range::isPointInRange): Ditto.
  32822. (WebCore::Range::comparePoint): Ditto.
  32823. (WebCore::Range::compareNode): Ditto.
  32824. (WebCore::Range::compareBoundaryPoints): Ditto.
  32825. (WebCore::Range::boundaryPointsValid): Ditto.
  32826. (WebCore::Range::deleteContents): Ditto.
  32827. (WebCore::Range::intersectsNode): Ditto.
  32828. (WebCore::Range::processContents): Ditto.
  32829. (WebCore::Range::extractContents): Ditto.
  32830. (WebCore::Range::cloneContents): Ditto.
  32831. (WebCore::Range::insertNode): Ditto.
  32832. (WebCore::Range::toString): Ditto.
  32833. (WebCore::Range::text): Ditto.
  32834. (WebCore::Range::createContextualFragment): Ditto.
  32835. (WebCore::Range::detach): Ditto.
  32836. (WebCore::Range::checkNodeBA): Changed to use switch statements instead of
  32837. multiple calls to the virtual nodeType() function.
  32838. (WebCore::Range::cloneRange): Ditto.
  32839. (WebCore::Range::setStartAfter): Ditto.
  32840. (WebCore::Range::setEndBefore): Ditto.
  32841. (WebCore::Range::setEndAfter): Ditto.
  32842. (WebCore::Range::selectNode): Ditto.
  32843. (WebCore::Range::selectNodeContents): Ditto.
  32844. (WebCore::Range::surroundContents): Ditto.
  32845. (WebCore::Range::setStartBefore): Ditto.
  32846. (WebCore::Range::checkDeleteExtract): Ditto.
  32847. (WebCore::Range::containedByReadOnly): Ditto.
  32848. (WebCore::Range::firstNode): Ditto.
  32849. (WebCore::Range::editingStartPosition): Ditto.
  32850. (WebCore::Range::pastLastNode): Ditto.
  32851. (WebCore::Range::addLineBoxRects): Ditto.
  32852. (WebCore::Range::formatForDebugger): Ditto.
  32853. (WebCore::operator==): Ditto.
  32854. (WebCore::rangeOfContents): Ditto.
  32855. (WebCore::Range::maxStartOffset): Ditto.
  32856. (WebCore::Range::maxEndOffset): Ditto.
  32857. * dom/Range.h: Made constructors private. Added create functions.
  32858. Added getters for startContainer/Offset and endContainer/Offset that
  32859. return 0 instead of an exception for detached ranges that are inline
  32860. and don't require an ExceptionCode out parameter. Changed the parameters
  32861. to setStart and setEnd to PassRefPtr. Removed isDetached function.
  32862. Made ActionType and processContents private. Made startPosition and
  32863. endPosition inlines and have then return const&. Renamed startNode and
  32864. pastEndNode to firstNode and pastLastNode to reduce the chance of
  32865. confusion with startContainer/endContainer. Used Position for m_start
  32866. and m_end instead of separate container and offset members. Changed
  32867. maxStartOffset and maxEndOffset into int to match other offsets.
  32868. * editing/ApplyStyleCommand.cpp:
  32869. (WebCore::ApplyStyleCommand::applyBlockStyle): Changed to use Range::create.
  32870. (WebCore::ApplyStyleCommand::applyInlineStyle): Ditto.
  32871. * editing/CompositeEditCommand.cpp:
  32872. (WebCore::CompositeEditCommand::inputText): Ditto.
  32873. (WebCore::CompositeEditCommand::moveParagraphs): Ditto.
  32874. * editing/DeleteSelectionCommand.cpp:
  32875. (WebCore::DeleteSelectionCommand::mergeParagraphs): Ditto.
  32876. * editing/Editor.cpp:
  32877. (WebCore::Editor::fontForSelection): Changed for pastLastNode name change.
  32878. (WebCore::Editor::setComposition): Changed to use Range::create.
  32879. (WebCore::paragraphAlignedRangeForRange): Ditto.
  32880. (WebCore::markMisspellingsOrBadGrammar): Changed to get rid of check for
  32881. isDetached and check for 0 from startContainer instead.
  32882. (WebCore::Editor::compositionRange): Changed to use Range::create.
  32883. * editing/EditorCommand.cpp:
  32884. (WebCore::unionDOMRanges): Ditto.
  32885. * editing/Selection.cpp:
  32886. (WebCore::Selection::toRange): Ditto.
  32887. * editing/TextIterator.cpp:
  32888. (WebCore::TextIterator::TextIterator): Changed for firstNode and pastLastNode
  32889. name change.
  32890. (WebCore::TextIterator::range): Changed to use Range::create.
  32891. (WebCore::SimplifiedBackwardsTextIterator::range): Ditto.
  32892. (WebCore::TextIterator::subrange): Ditto.
  32893. * editing/VisiblePosition.cpp:
  32894. (WebCore::makeRange): Ditto.
  32895. * editing/VisiblePosition.h: Added now-needed include.
  32896. * editing/htmlediting.cpp:
  32897. (WebCore::indexForVisiblePosition): Changed to use Range::create.
  32898. (WebCore::avoidIntersectionWithNode): Changed to get rid of check for
  32899. isDetached and check for 0 instead and to use Range::create.
  32900. * editing/markup.cpp:
  32901. (WebCore::renderedText): Changed to use Range::create.
  32902. (WebCore::createMarkup): Changed to no longer use isDetached and also
  32903. for new firstNode/pastEndNode names.
  32904. (WebCore::createFragmentFromText): Ditto.
  32905. * editing/visible_units.cpp:
  32906. (WebCore::previousBoundary): Changed to use Range::create.
  32907. * page/mac/WebCoreFrameBridge.mm:
  32908. (-[WebCoreFrameBridge convertToNSRange:]): Changed to no longer use
  32909. isDetached().
  32910. * rendering/RenderTextControl.cpp:
  32911. (WebCore::RenderTextControl::visiblePositionForIndex): Changed to use Range::create.
  32912. (WebCore::RenderTextControl::indexForVisiblePosition): Ditto.
  32913. 2008-03-11 Daniel Zucker <zucker@wake3.com>
  32914. Reviewed by Adam Roben.
  32915. There are a handful of placed where the use of CFNetwork-specific
  32916. calls are protected by PLATFORM(CF). Revise to use the more specific
  32917. USE(CFNETWORK) macro. (See http://bugs.webkit.org/show_bug.cgi?id=17783)
  32918. * platform/network/ProtectionSpace.cpp: Change PLATFORM(CF) to USE(CFNETWORK)
  32919. * platform/network/ResourceHandle.cpp: Change PLATFORM(CF) to USE(CFNETWORK)
  32920. * platform/network/win/CookieJarWin.cpp: Correct error in
  32921. InternetGetCookie call. Conditionalize 'cookiesEnabled' the same
  32922. as all other implementations in this file.
  32923. 2008-03-11 Xan Lopez <xan@gnome.org>
  32924. Reviewed by Alp Toker.
  32925. http://bugs.webkit.org/show_bug.cgi?id=16476
  32926. Add libsoup HTTP backend.
  32927. * GNUmakefile.am:
  32928. * platform/network/ResourceHandleInternal.h:
  32929. (WebCore::ResourceHandleInternal::ResourceHandleInternal):
  32930. * platform/network/soup/AuthenticationChallenge.h: Added.
  32931. (WebCore::AuthenticationChallenge::AuthenticationChallenge):
  32932. * platform/network/soup/ResourceError.h: Added.
  32933. (WebCore::ResourceError::ResourceError):
  32934. * platform/network/soup/ResourceHandleSoup.cpp: Added.
  32935. (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
  32936. (WebCore::ResourceHandle::~ResourceHandle):
  32937. (WebCore::dataCallback):
  32938. (WebCore::parseDataUrl):
  32939. (WebCore::ResourceHandle::start):
  32940. (WebCore::ResourceHandle::cancel):
  32941. (WebCore::ResourceHandle::bufferedData):
  32942. (WebCore::ResourceHandle::supportsBufferedData):
  32943. (WebCore::ResourceHandle::setDefersLoading):
  32944. (WebCore::ResourceHandle::loadsBlocked):
  32945. (WebCore::ResourceHandle::willLoadFromCache):
  32946. * platform/network/soup/ResourceRequest.h: Copied from WebCore/platform/network/curl/ResourceRequest.h.
  32947. (WebCore::ResourceRequest::ResourceRequest):
  32948. (WebCore::ResourceRequest::doUpdatePlatformRequest):
  32949. * platform/network/soup/ResourceResponse.h: Added.
  32950. (WebCore::ResourceResponse::ResourceResponse):
  32951. (WebCore::ResourceResponse::setResponseFired):
  32952. (WebCore::ResourceResponse::responseFired):
  32953. (WebCore::ResourceResponse::doUpdateResourceResponse):
  32954. 2008-03-11 Rodney Dawes <dobey@wayofthemonkey.com>
  32955. Fix Qt build.
  32956. * plugins/qt/PluginDataQt.cpp:
  32957. (PluginData::initPlugins)
  32958. 2008-03-11 Adam Roben <aroben@apple.com>
  32959. Make attribute quoting in DOM view more consistent with source view
  32960. Two changes which make the DOM view more consistent with source view:
  32961. 1) We now quote all attribute values, including URLs
  32962. 2) The quotes around the values are now purple, matching the left and
  32963. right angle brackets that surround the tag
  32964. One bug fixed by these changes:
  32965. 1) The entire URL is selected for editing when you double-click a URL
  32966. that is an attribute value. Previously, the first and last
  32967. characters were not included in the selection.
  32968. Reviewed by Darin.
  32969. * page/inspector/DocumentPanel.js:
  32970. (WebInspector.DOMNodeTreeElement._startEditingAttribute): Don't need
  32971. to account for the quotes around attribute values anymore because the
  32972. quotes are now outside the webkit-html-attribute-value span.
  32973. * page/inspector/utilities.js:
  32974. (nodeTitleInfo): Quote all attribute values, including URLs, and place
  32975. the quotes outside the webkit-html-attribute-value span.
  32976. 2008-03-11 Adam Roben <aroben@apple.com>
  32977. Stop including pthread.h in WebCore on Windows
  32978. Reviewed by Darin.
  32979. * WebCore.vcproj/WebCore.vcproj:
  32980. - Changed the include path to not contain pthreads/
  32981. - Let VS remove a duplicate FileConfiguration element
  32982. - Let VS have its way with the file ordering
  32983. * WebCorePrefix.h: Made the #include of pthread.h be compiled out on
  32984. Windows.
  32985. * loader/FTPDirectoryDocument.cpp: Added a Windows-specific #define of
  32986. localtime_r (pthread.h was providing a macro that substituted plain
  32987. old localtime before, but localtime_s is "more secure", so I went with
  32988. that).
  32989. * loader/FTPDirectoryParser.cpp: Ditto for gmtime_r.
  32990. 2008-03-11 Adam Roben <aroben@apple.com>
  32991. Roll out r30961 since it broke the default site icon on Windows
  32992. * loader/icon/IconDatabase.cpp:
  32993. (WebCore::IconDatabase::defaultIcon):
  32994. 2008-03-11 Dan Bernstein <mitz@apple.com>
  32995. Reviewed by Darin Adler.
  32996. - clean up line layout code
  32997. * platform/graphics/GraphicsContext.cpp:
  32998. (WebCore::TextRunIterator::increment): Removed the resolver parameter.
  32999. (WebCore::GraphicsContext::drawBidiText): Adjusted for changes to
  33000. createBidiRunsForLine(), which no longer takes a start parameter.
  33001. * platform/text/BidiResolver.h:
  33002. (WebCore::BidiResolver::): Made Noncopyable and removed the
  33003. m_adjustEmbedding member variable.
  33004. (WebCore::BidiResolver::position): Added. Returns the resolver's current
  33005. position.
  33006. (WebCore::BidiResolver::setPosition): Added. Sets the resolver's current
  33007. position without changing any other state.
  33008. (WebCore::BidiResolver::increment): Added. Advances the resolver to the
  33009. next position, allowing the iterator to push and pop embedding.
  33010. (WebCore::BidiResolver::appendRun): Removed the resolver parameter in
  33011. the call to increment().
  33012. (WebCore::BidiResolver::embed): Removed code to save, set and restore
  33013. m_adjustEmbedding.
  33014. (WebCore::BidiResolver::createBidiRunsForLine): Changed to not take a
  33015. 'start' iterator. Instead, start at the current position. Removed code
  33016. to set m_adjustEmbedding. Changed for noncopyability.
  33017. * rendering/RenderBlock.h:
  33018. * rendering/bidi.cpp:
  33019. (WebCore::bidiNext): Made the resolver parameter optional. Changed to
  33020. null-check the 'end of inline' pointer only twice.
  33021. (WebCore::bidiFirst): Made the resolver parameter optional.
  33022. (WebCore::BidiIterator::increment): Ditto.
  33023. (WebCore::BidiState::increment): Added. Overrides the default
  33024. BidiResolver::increment() method by passing the resolver to
  33025. BidiIterator::increment().
  33026. (WebCore::checkMidpoints): Removed the resolver parameter.
  33027. (WebCore::BidiState::appendRun): Removed code to save, set and restore
  33028. m_adjustEmbedding. Adjusted for change to increment().
  33029. (WebCore::RenderBlock::bidiReorderLine): Removed the 'start' parameter
  33030. and unreachable code.
  33031. (WebCore::buildCompactRuns): Adjusted for changes to BidiResolver/
  33032. (WebCore::RenderBlock::layoutInlineChildren): Moved code to initialize
  33033. the resolver from this method to determineStartPosition(). Unified the
  33034. resolver with the 'start' iterator. Removed unreachable code. Moved one
  33035. statement from the beginning of the while loop to the end.
  33036. (WebCore::RenderBlock::determineStartPosition): Moved code to initialize
  33037. the resolver from layoutInlineChildren() into this method.
  33038. (WebCore::RenderBlock::matchedEndLine): Adjusted for the resolver and
  33039. the 'start' iterator being one object.
  33040. (WebCore::skipNonBreakingSpace): Made the parameter const.
  33041. (WebCore::requiresLineBox): Ditto.
  33042. (WebCore::RenderBlock::generatesLineBoxesForInlineChild): Adjusted for
  33043. the change to BidiIterator::increment().
  33044. (WebCore::RenderBlock::skipWhitespace): Made two versions of this
  33045. method, one for BidiIterator and one for BidiState.
  33046. (WebCore::shouldSkipWhitespaceAfterStartObject): Removed the resolver
  33047. parameter.
  33048. (WebCore::RenderBlock::findNextLineBreak): Removed the resolver
  33049. parameter. Removed calls to setAdjustEmbedding(). Removed the 'previous'
  33050. variable and changed the 'last' variable to do its job.
  33051. * rendering/bidi.h:
  33052. 2008-03-10 Adam Roben <aroben@apple.com>
  33053. Part of Bug 17224: DOM nodes/attributes should be editable
  33054. <http://bugs.webkit.org/show_bug.cgi?id=17224>
  33055. <rdar://problem/5732825>
  33056. This patch makes text nodes editable via double-click.
  33057. Reviewed by Tim.
  33058. * page/inspector/DocumentPanel.js:
  33059. (WebInspector.DOMNodeTreeElement._startEditing):
  33060. - Moved most of this code to _startEditingAttribute
  33061. - Calls _startEditingTextNode or _startEditingAttribute as
  33062. appropriate
  33063. (WebInspector.DOMNodeTreeElement._startEditingAttribute): Added. Code
  33064. came from _startEditing.
  33065. (WebInspector.DOMNodeTreeElement._startEditingTextNode): Added.
  33066. (WebInspector.DOMNodeTreeElement._textNodeEditingCommitted): Added.
  33067. (WebInspector.DOMNodeTreeElement._editingCancelled): Renamed from
  33068. _attributeEditingCancelled.
  33069. * page/inspector/utilities.js:
  33070. (nodeTitleInfo): Wrap text nodes in a webkit-html-text-node span so
  33071. that we can easily recognize/edit them.
  33072. 2008-03-11 Holger Hans Peter Freyther <zecke@selfish.org>
  33073. Reviewed by Darin.
  33074. r25512 inlined the urlIcon to improve the startup time of Safari on Mac. Inlining is
  33075. not suitable for platforms where this icon is themable. E.g. the Qt platform is allowing
  33076. to theme this icon and the Gtk+ platform will probably end up with themable icons
  33077. as well.
  33078. Remove dead code from the windows port and move the urlIcon from the windows
  33079. directory to the Resource directory to be used by Qt and other ports.
  33080. Ifdef the usage of the built-in icon in IconDatabase.cpp and for Qt do not use
  33081. it. Gtk+ currently has no proper implementation of Image::loadPlatformResource but
  33082. once it does it wants to use this for getting the urlIcon as well.
  33083. * Resources/urlIcon.png: Renamed from WebKit/win/WebKit.vcproj/urlIcon.png.
  33084. * loader/icon/IconDatabase.cpp:
  33085. (WebCore::IconDatabase::defaultIcon):
  33086. 2008-03-11 Tor Arne Vestbø <tavestbo@trolltech.com>
  33087. Reviewed by Darin.
  33088. Implemented HTML media element support for QtWebKit, using Phonon.
  33089. http://bugs.webkit.org/show_bug.cgi?id=17766
  33090. * WebCore.pro:
  33091. * platform/graphics/MediaPlayer.cpp:
  33092. * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Added.
  33093. (debugMediaObject):
  33094. (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
  33095. (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
  33096. (WebCore::MediaPlayerPrivate::getSupportedTypes):
  33097. (WebCore::MediaPlayerPrivate::hasVideo):
  33098. (WebCore::MediaPlayerPrivate::load):
  33099. (WebCore::MediaPlayerPrivate::cancelLoad):
  33100. (WebCore::MediaPlayerPrivate::play):
  33101. (WebCore::MediaPlayerPrivate::pause):
  33102. (WebCore::MediaPlayerPrivate::paused):
  33103. (WebCore::MediaPlayerPrivate::seek):
  33104. (WebCore::MediaPlayerPrivate::seeking):
  33105. (WebCore::MediaPlayerPrivate::duration):
  33106. (WebCore::MediaPlayerPrivate::currentTime):
  33107. (WebCore::MediaPlayerPrivate::setEndTime):
  33108. (WebCore::MediaPlayerPrivate::maxTimeBuffered):
  33109. (WebCore::MediaPlayerPrivate::maxTimeSeekable):
  33110. (WebCore::MediaPlayerPrivate::bytesLoaded):
  33111. (WebCore::MediaPlayerPrivate::totalBytesKnown):
  33112. (WebCore::MediaPlayerPrivate::totalBytes):
  33113. (WebCore::MediaPlayerPrivate::setRate):
  33114. (WebCore::MediaPlayerPrivate::setVolume):
  33115. (WebCore::MediaPlayerPrivate::setMuted):
  33116. (WebCore::MediaPlayerPrivate::dataRate):
  33117. (WebCore::MediaPlayerPrivate::networkState):
  33118. (WebCore::MediaPlayerPrivate::readyState):
  33119. (WebCore::MediaPlayerPrivate::updateStates):
  33120. (WebCore::MediaPlayerPrivate::setVisible):
  33121. (WebCore::MediaPlayerPrivate::setRect):
  33122. (WebCore::MediaPlayerPrivate::loadStateChanged):
  33123. (WebCore::MediaPlayerPrivate::rateChanged):
  33124. (WebCore::MediaPlayerPrivate::sizeChanged):
  33125. (WebCore::MediaPlayerPrivate::timeChanged):
  33126. (WebCore::MediaPlayerPrivate::volumeChanged):
  33127. (WebCore::MediaPlayerPrivate::didEnd):
  33128. (WebCore::MediaPlayerPrivate::loadingFailed):
  33129. (WebCore::MediaPlayerPrivate::naturalSize):
  33130. (WebCore::MediaPlayerPrivate::eventFilter):
  33131. (WebCore::MediaPlayerPrivate::repaint):
  33132. (WebCore::MediaPlayerPrivate::paint):
  33133. (WebCore::MediaPlayerPrivate::stateChanged):
  33134. (WebCore::MediaPlayerPrivate::tick):
  33135. (WebCore::MediaPlayerPrivate::metaDataChanged):
  33136. (WebCore::MediaPlayerPrivate::seekableChanged):
  33137. (WebCore::MediaPlayerPrivate::hasVideoChanged):
  33138. (WebCore::MediaPlayerPrivate::bufferStatus):
  33139. (WebCore::MediaPlayerPrivate::finished):
  33140. (WebCore::MediaPlayerPrivate::currentSourceChanged):
  33141. (WebCore::MediaPlayerPrivate::aboutToFinish):
  33142. (WebCore::MediaPlayerPrivate::prefinishMarkReached):
  33143. (WebCore::MediaPlayerPrivate::totalTimeChanged):
  33144. * platform/graphics/qt/MediaPlayerPrivatePhonon.h: Added.
  33145. (WebCore::MediaPlayerPrivate::):
  33146. (WebCore::MediaPlayerPrivate::isAvailable):
  33147. 2008-03-10 Sam Weinig <sam@webkit.org>
  33148. Reviewed by Beth Dakin.
  33149. Throw a SECURITY_ERR when accessing a tainted canvas
  33150. by CanvasRenderingContext2D::getImageData() and
  33151. HTMLCanvasElement::toDataURL().
  33152. * html/CanvasRenderingContext2D.cpp:
  33153. (WebCore::CanvasRenderingContext2D::getImageData):
  33154. * html/CanvasRenderingContext2D.h:
  33155. * html/CanvasRenderingContext2D.idl:
  33156. * html/HTMLCanvasElement.cpp:
  33157. (WebCore::HTMLCanvasElement::toDataURL):
  33158. * html/HTMLCanvasElement.h:
  33159. * html/HTMLCanvasElement.idl:
  33160. 2008-03-10 Justin Garcia <justin.garcia@apple.com>
  33161. Reviewed by Sam.
  33162. <rdar://problem/5779984> REGRESSION (r30391): GMail: Safari won't display the Edit Link dialog
  33163. * bindings/js/JSCSSStyleDeclarationCustom.cpp:
  33164. (WebCore::hasCSSPropertyNamePrefix): Fixed a typo. The code was only
  33165. comparing the first character of the prefix to the first character
  33166. of the property name.
  33167. 2008-03-10 Andre Boule <aboule@apple.com>
  33168. Reviewed by Beth.
  33169. Hold off on initializing the frame to avoid the RenderView getting
  33170. a null FrameView. This could potentially cause problems.
  33171. * svg/graphics/SVGImage.cpp:
  33172. (WebCore::SVGImage::dataChanged):
  33173. 2008-03-10 Darin Adler <darin@apple.com>
  33174. - try to fix Qt build
  33175. * bridge/qt/qt_runtime.cpp:
  33176. (KJS::Bindings::convertQVariantToValue): Change KJS::UChar to UChar.
  33177. 2008-03-10 Darin Adler <darin@apple.com>
  33178. Reviewed by Antti.
  33179. - fix <rdar://problem/3059610> VIP: links opened in new frame, window, or tab
  33180. should be redrawn as visited immediately
  33181. - fix <rdar://problem/4382809> Going "back" a page doesn't change the color of
  33182. the visited URL at directory.umi
  33183. - fix http://bugs.webkit.org/show_bug.cgi?id=4941
  33184. Visited links should be marked as visited
  33185. - fix http://bugs.webkit.org/show_bug.cgi?id=7960
  33186. REGRESSION: Visited link color doesn't displayed after loading page from cache
  33187. We now mark all links on a page as "changed" at the appropriate times.
  33188. * WebCore.base.exp: Update since I made completeURL be a const member function.
  33189. * css/CSSStyleSelector.cpp: Got rid of some unneeded globals that could be turned
  33190. into locals. Also changed some static data members to file-scoped globals with
  33191. internal linkage. Renamed the globals to get rid of the m_ prefix. Changed the
  33192. prefix on m_styleNotYetAvailable to s_styleNotYetAvailable.
  33193. (WebCore::CSSStyleSelector::CSSStyleSelector): Updated for name changes.
  33194. (WebCore::parseUASheet): Tweak the comment.
  33195. (WebCore::CSSStyleSelector::loadDefaultStyle): Updated for name changes and to
  33196. use local variables instead of globals where possible.
  33197. (WebCore::CSSStyleSelector::checkPseudoState): Made this a member function so
  33198. it can store the link in a hash. Also changed it to have a return value instead
  33199. of having it modify a global variable. Added code to put the hash into a set so
  33200. we can tell later if this is one of the links that affects this page.
  33201. (WebCore::CSSStyleSelector::canShareStyleWithElement): Updated for the change to
  33202. checkPseudoState.
  33203. (WebCore::CSSStyleSelector::matchUARules): Updated for name changes.
  33204. (WebCore::CSSStyleSelector::styleForElement): Ditto.
  33205. (WebCore::CSSStyleSelector::adjustRenderStyle): Ditto.
  33206. (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): Changed code to read
  33207. the SVG style sheet to use a boolean global and put it right here in the function
  33208. since this is the only code that needs to know about it.
  33209. (WebCore::CSSStyleSelector::checkOneSelector): Updated for name changes.
  33210. (WebCore::colorForCSSValue): Moved code inside the function that is not needed
  33211. anywhere else.
  33212. (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Updaed for the change
  33213. to checkPseudoState.
  33214. (WebCore::CSSStyleSelector::allVisitedStateChanged): Added. Calls setChanged on
  33215. all links if there were any in the set.
  33216. (WebCore::CSSStyleSelector::visitedStateChanged): Added. Calls setChanged on all
  33217. links if the one that changed is in the set.
  33218. * css/CSSStyleSelector.h: Removed unused StyleSelector class and State enum. Made
  33219. CSSStyleSelector derive from Noncopyable. Made lots of member functions private that
  33220. didn't need to be public, and removed others that could be made into non-member
  33221. functions. Changed pseudoStyleRulesForElement to take a const String& instead of
  33222. a StringImpl*. Added new allVisitedStateChanged and visitedStateChanged functions.
  33223. Got rid of unneeded friend declarations.
  33224. * dom/Document.cpp:
  33225. (WebCore::Document::completeURL): Made const.
  33226. (WebCore::findSlashDotDotSlash): Moved here from PageGroup.
  33227. (WebCore::findSlashSlash): Ditto.
  33228. (WebCore::findSlashDotSlash): Ditto.
  33229. (WebCore::containsColonSlashSlash):
  33230. (WebCore::cleanPath): Ditto.
  33231. (WebCore::matchLetter): Ditto.
  33232. (WebCore::needsTrailingSlash): Ditto.
  33233. (WebCore::Document::visitedLinkHash): Moved this here from PageGroup. This is
  33234. the poor-man's completeURL function. The idea of putting it here is that this
  33235. way it can be alongside the real completeURL function. Later we should figure out
  33236. a way to make this function share more code with the real thing and match behavior.
  33237. * dom/Document.h: Marked completeURL function const. Added visitedLinkHash function.
  33238. * page/DOMWindow.cpp:
  33239. (WebCore::DOMWindow::getMatchedCSSRules): Updated for change to CSSStyleSelector.
  33240. * page/Page.cpp:
  33241. (WebCore::Page::allVisitedStateChanged): Added. Calls allVisitedStateChanged on all
  33242. style selectors.
  33243. (WebCore::Page::visitedStateChanged): Ditto.
  33244. * page/Page.h: Added the above functions.
  33245. * page/PageGroup.cpp:
  33246. (WebCore::PageGroup::isLinkVisited): Changed to take a visitedLinkHash parameter.
  33247. The CSSStyleSelector now handles actually computing the hash, and it does so by
  33248. calling code in Document.
  33249. (WebCore::PageGroup::addVisitedLink): Refactored so the two overloaded copies share
  33250. a bit more code. Added code that calls visitedStateChanged if a new link was added.
  33251. (WebCore::PageGroup::removeVisitedLinks): Added code to call allVisitedStateChanged
  33252. if any visited links are removed.
  33253. * page/PageGroup.h: Include StringHash.h instead of having the AlreadyHashed struct
  33254. definition here.
  33255. * platform/text/StringHash.h:
  33256. (WebCore::CaseFoldingHash::hash): Tweaked to make this a bit more consistent with
  33257. the StringImpl::computeHash function, using the same technique for avoiding 0.
  33258. (WebCore::AlreadyHashed::hash): Added. Was formerly in PageGroup.h.
  33259. (WebCore::AlreadyHashed::avoidDeletedValue): Added. Was formerly in PageGroup.cpp.
  33260. * rendering/RenderStyle.cpp:
  33261. (WebCore::RenderStyle::isStyleAvailable): Changed to use an inline function instead
  33262. of getting directly at a data member so the data member could be made private.
  33263. * loader/FrameLoader.cpp:
  33264. (WebCore::FrameLoader::scrollToAnchor): Added call to updateHistoryForAnchorScroll.
  33265. (WebCore::FrameLoader::updateHistoryForAnchorScroll): Added.
  33266. * loader/FrameLoader.h: Added updateHistoryForAnchorScroll.
  33267. 2008-03-10 Adam Roben <aroben@apple.com>
  33268. Part of Bug 17224: DOM nodes/attributes should be editable
  33269. <http://bugs.webkit.org/show_bug.cgi?id=17224>
  33270. <rdar://problem/5732825>
  33271. This patch makes DOM attributes editable via double-click.
  33272. Reviewed by Tim.
  33273. * page/inspector/DocumentPanel.js:
  33274. (WebInspector.DOMNodeTreeElement.onmousedown): Don't do anything if
  33275. we're being edited, since we want default editing behaviors to work.
  33276. (WebInspector.DOMNodeTreeElement.ondblclick): Try to start editing
  33277. before doing anything else.
  33278. (WebInspector.DOMNodeTreeElement._startEditing): Added. Currently only
  33279. lets you edit attributes.
  33280. (WebInspector.DOMNodeTreeElement._attributeEditingCommitted): Added.
  33281. Uses a scratch element to get the new attribute(s) parsed, then sets
  33282. the attribute(s) on the node in the inspected document.
  33283. (WebInspector.DOMNodeTreeElement._attributeEditingCancelled): Added.
  33284. (WebInspector.DOMNodeTreeElement._updateTitle): Added. Refreshes the
  33285. representation of the node in the Inspector's DOM tree to reflect
  33286. the node's current state.
  33287. * page/inspector/inspector.css: Made the .editing class apply
  33288. everywhere.
  33289. * page/inspector/utilities.js:
  33290. (nodeTitleInfo): Changed to surround attribute name/value pairs in a
  33291. webkit-html-attribute span so that we can easily edit the pair as a
  33292. whole.
  33293. 2008-03-10 David Kilzer <ddkilzer@apple.com>
  33294. Fix 64-bit builds.
  33295. Reviewed by Stephanie.
  33296. WebCore.exp only gets generated once for both 32-bit and 64-bit builds,
  33297. so we must exclude the _NPN symbols when creating WebCore.LP64.exp.
  33298. * WebCore.xcodeproj/project.pbxproj: Reverted build phase shell code to
  33299. r30826 to remove _NPN symbols from 64-bit builds in WebCore.LP64.exp.
  33300. 2008-03-10 Eric Seidel <eric@webkit.org>
  33301. Reviewed by Darin.
  33302. Remove KJS::UChar, use ::UChar instead
  33303. http://bugs.webkit.org/show_bug.cgi?id=17017
  33304. To functional changes, thus no tests.
  33305. * bindings/js/JSCSSStyleDeclarationCustom.cpp:
  33306. (WebCore::hasCSSPropertyNamePrefix):
  33307. (WebCore::cssPropertyName):
  33308. * bindings/js/JSDOMWindowBase.cpp:
  33309. (WebCore::windowProtoFuncAToB):
  33310. (WebCore::windowProtoFuncBToA):
  33311. * bindings/js/JSSVGPODTypeWrapper.h:
  33312. * bindings/js/kjs_proxy.cpp:
  33313. (WebCore::KJSProxy::evaluate):
  33314. * bridge/objc/objc_utility.mm:
  33315. (KJS::Bindings::throwError):
  33316. * dom/Document.cpp:
  33317. (WebCore::Document::parseQualifiedName):
  33318. * platform/text/AtomicString.cpp:
  33319. (WebCore::AtomicString::add):
  33320. * platform/text/String.cpp:
  33321. (WebCore::String::String):
  33322. (WebCore::String::operator Identifier):
  33323. (WebCore::String::operator UString):
  33324. * platform/text/TextCodecICU.cpp:
  33325. (WebCore::TextCodecICU::decode):
  33326. * svg/SVGAnimatedTemplate.h:
  33327. 2008-03-10 Darin Adler <darin@apple.com>
  33328. Reviewed by Sam.
  33329. - eliminate keyboard UI mode method from WebCoreFrameBridge
  33330. * page/ChromeClient.h: Added keyboardUIMode function.
  33331. (WebCore::ChromeClient::keyboardUIMode): Ditto.
  33332. * page/mac/EventHandlerMac.mm:
  33333. (WebCore::EventHandler::tabsToAllControls): Call chrome client function instead
  33334. of bridge function.
  33335. * page/mac/WebCoreFrameBridge.h: Removed keyboardUIMode method, and other unused
  33336. ones.
  33337. * WebCore.xcodeproj/project.pbxproj: Allowed Xcode to change the project.
  33338. Do not try to fight the Xcode.
  33339. 2008-03-10 Darin Adler <darin@apple.com>
  33340. - oops, forgot to save last couple changes from the editor
  33341. * bindings/js/JSDOMWindowCustom.cpp:
  33342. (WebCore::markDOMObjectWrapper): Tweaked a tiny bit.
  33343. (WebCore::JSDOMWindow::mark): Sorted alphabetically.
  33344. 2008-03-10 Darin Adler <darin@apple.com>
  33345. Reviewed by Geoff.
  33346. - fix failing regression test (window.navigator is getting garbage
  33347. collected and thus losing its custom properties)
  33348. * bindings/js/JSDOMWindowCustom.cpp:
  33349. (WebCore::markDOMObject): Added helper function.
  33350. (WebCore::JSDOMWindow::mark): Added. Marks the wrappers for all the objects that hang
  33351. off the window object.
  33352. * page/DOMWindow.h:
  33353. (WebCore::DOMWindow::optionalScreen): Added so we can get the Screen object without
  33354. creating it if it's already there.
  33355. (WebCore::DOMWindow::optionalSelection): Ditto.
  33356. (WebCore::DOMWindow::optionalHistory): Ditto.
  33357. (WebCore::DOMWindow::optionalLocationbar): Ditto.
  33358. (WebCore::DOMWindow::optionalMenubar): Ditto.
  33359. (WebCore::DOMWindow::optionalPersonalbar): Ditto.
  33360. (WebCore::DOMWindow::optionalScrollbars): Ditto.
  33361. (WebCore::DOMWindow::optionalStatusbar): Ditto.
  33362. (WebCore::DOMWindow::optionalToolbar): Ditto.
  33363. (WebCore::DOMWindow::optionalConsole): Ditto.
  33364. (WebCore::DOMWindow::optionalNavigator): Ditto.
  33365. * page/DOMWindow.idl: Added the CustomMarkFunction flag. Sorted the flags in
  33366. alphabetical order since there are a lot of them.
  33367. 2008-03-10 Darin Adler <darin@apple.com>
  33368. Reviewed by Sam.
  33369. - eliminate Java applet methods from WebCoreFrameBridge
  33370. * loader/FrameLoaderClient.h: Added a javaApplet function.
  33371. * page/mac/FrameMac.mm:
  33372. (WebCore::Frame::createScriptInstanceForWidget): Streamlined the code.
  33373. Use the loader client instead of the bridge to get the applet.
  33374. * page/mac/WebCoreFrameBridge.h: Removed the getAppletInView and
  33375. pollForAppletInView methods. Also removed other unused things.
  33376. 2008-03-10 Marc-Antoine Ruel <maruel@gmail.com>
  33377. Reviewed by Eric, landed by Darin.
  33378. http://bugs.webkit.org/show_bug.cgi?id=16095
  33379. Move GraphicsContextPrivate to its own header file.
  33380. Moves GraphicsContextState and GraphicsContextPrivate to its
  33381. own header
  33382. * WebCore.vcproj/WebCore.vcproj:
  33383. * platform/graphics/GraphicsContext.cpp:
  33384. * platform/graphics/GraphicsContextPrivate.h: Added.
  33385. (WebCore::GraphicsContextState::GraphicsContextState):
  33386. (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
  33387. 2008-03-10 Julien Chaffraix <julien.chaffraix@gmail.com>
  33388. Reviewed and landed by Darin.
  33389. bug 12182 : XMLHttpRequest should raise SECURITY_ERR for same-origin policy violations
  33390. Removed reference to PERMISSION_DENIED (previous non standard exception) and replaced it
  33391. by DOM exception SECURITY_ERR. Updated XMLHttpRequest::open to raise SECURITY_ERR.
  33392. * bindings/js/kjs_binding.cpp:
  33393. (WebCore::setDOMException): Removed PERMISSION_DENIED code.
  33394. * dom/ExceptionCode.cpp: Added SECURITY_ERR exception.
  33395. * dom/ExceptionCode.h: Ditto.
  33396. * xml/XMLHttpRequest.cpp:
  33397. (WebCore::XMLHttpRequest::open): Returns SECURITY_ERR now.
  33398. * xml/XMLHttpRequestException.h: Removed PERMISSION_DENIED.
  33399. 2008-03-09 Adam Roben <aroben@apple.com>
  33400. Refactor CSS editing code so we can share it with DOM editing
  33401. Add WebInspector.startEditing, which takes the element to be edited, a
  33402. committedCallback, a cancelledCallback, and a context parameter. This
  33403. function takes care of setting up the element for editing, and calls
  33404. either the cancelledCallback or committedCallback when editing ends.
  33405. Reviewed by Tim.
  33406. * page/inspector/StylesSidebarPane.js:
  33407. (WebInspector.StylePropertyTreeElement.startEditing):
  33408. - Call WebInspector.isBeingEdited and WebInspector.startEditing
  33409. - Removed code now handled by WebInspector.startEditing
  33410. (WebInspector.StylePropertyTreeElement.editingEnded):
  33411. - Renamed from endEditing
  33412. - Removed code now handled by WebInspector.startEditing
  33413. (WebInspector.StylePropertyTreeElement.editingCancelled):
  33414. - Renamed from cancelEditing
  33415. - Changed parameters to match WebInspector.startEditing's
  33416. cancelledCallback
  33417. (WebInspector.StylePropertyTreeElement.editingCommitted):
  33418. - Renamed from commitEditing
  33419. - Changed parameters to match WebInspector.startEditing's
  33420. committedCallback
  33421. * page/inspector/inspector.js:
  33422. (WebInspector.changeFocus): Changed a call to firstParentWithClassName
  33423. to firstParentOrSelfWithClassName so that if the focusable element
  33424. itself is the target it will be recognized. I don't know why this
  33425. change wasn't needed before this.
  33426. (WebInspector.isBeingEdited): Added.
  33427. (WebInspector.startEditing): Added.
  33428. 2008-03-10 Adam Roben <aroben@apple.com>
  33429. Windows build fix
  33430. * WebCore.vcproj/WebCore.vcproj: Pick up generated source files out of
  33431. $(WebKitOutputDir) instead of hard-coding WebKitBuild.
  33432. 2008-03-10 Darin Adler <darin@apple.com>
  33433. * DerivedSources.make: Merge plug-in-related changes with the new way of handling
  33434. autogenerated DOM classes.
  33435. 2008-03-10 Johnny Ding <johnnyding.webkit@gmail.com>
  33436. Reviewed, tweaked and landed by Alexey.
  33437. - fix http://bugs.webkit.org/show_bug.cgi?id=17732
  33438. We didn't have a fallback to frame encoding in the case of loading a script via
  33439. changing its src attribute.
  33440. Test: fast/dom/HTMLScriptElement/script-decoding-error-after-setting-src.html
  33441. * html/HTMLScriptElement.cpp:
  33442. (WebCore::HTMLScriptElement::parseMappedAttribute): Use a helper function to get proper
  33443. charset for correct decoding of script content.
  33444. (WebCore::HTMLScriptElement::insertedIntoDocument):
  33445. (WebCore::HTMLScriptElement::scriptCharset): A helper function for getting proper charset
  33446. for the script (as much as can be determined prior to loading it).
  33447. * html/HTMLScriptElement.h:
  33448. * html/HTMLTokenizer.cpp:
  33449. (WebCore::HTMLTokenizer::parseTag): Use a helper function to get proper charset for correct
  33450. decoding of script content.
  33451. 2008-03-10 Simon Hausmann <hausmann@webkit.org>
  33452. Reviewed by Lars.
  33453. Fix reference counting of returned MimeType and Plugin objects
  33454. created in the array wrappers.
  33455. * plugins/MimeTypeArray.cpp:
  33456. * plugins/MimeTypeArray.h:
  33457. * plugins/Plugin.cpp:
  33458. * plugins/Plugin.h:
  33459. * plugins/PluginArray.cpp:
  33460. * plugins/PluginArray.h:
  33461. 2008-03-10 Simon Hausmann <hausmann@webkit.org>
  33462. Wx linking fix.
  33463. Added missing stubs for PluginData.
  33464. * platform/wx/TemporaryLinkStubs.cpp:
  33465. 2008-03-10 Simon Hausmann <hausmann@webkit.org>
  33466. Windows build fix that I forgot to merge earlier ;(
  33467. Forward declare Page as class, not struct.
  33468. * plugins/PluginData.h:
  33469. 2008-03-10 Simon Hausmann <hausmann@webkit.org>
  33470. Attempt to fix the Wx build.
  33471. * WebCoreSources.bkl:
  33472. 2008-03-07 Simon Hausmann <hausmann@webkit.org>
  33473. Reviewed by Darin.
  33474. Done with Lars.
  33475. http://bugs.webkit.org/show_bug.cgi?id=16815
  33476. Ported the manually written JS bindings of window.navigator,
  33477. window.navigator.plugins and window.navigator.mimeTypes to
  33478. auto-generated bindings.
  33479. Moved the globally cached plugin and mimetype information to a
  33480. per WebCore::Page shared PluginData structure.
  33481. Implemented window.navigator.plugins.refresh() in a
  33482. platform-independent way.
  33483. * DerivedSources.make:
  33484. * GNUmakefile.am:
  33485. * WebCore.pro:
  33486. * WebCore.vcproj/WebCore.vcproj:
  33487. * WebCore.xcodeproj/project.pbxproj:
  33488. * bindings/js/JSDOMWindowBase.cpp:
  33489. (WebCore::JSDOMWindowBase::getValueProperty):
  33490. * bindings/js/JSMimeTypeArrayCustom.cpp: Added.
  33491. (WebCore::JSMimeTypeArray::canGetItemsForName):
  33492. (WebCore::JSMimeTypeArray::nameGetter):
  33493. * bindings/js/JSNavigatorCustom.cpp: Added.
  33494. (WebCore::needsYouTubeQuirk):
  33495. (WebCore::JSNavigator::appVersion):
  33496. * bindings/js/JSPluginArrayCustom.cpp: Added.
  33497. (WebCore::JSPluginArray::canGetItemsForName):
  33498. (WebCore::JSPluginArray::nameGetter):
  33499. * bindings/js/JSPluginCustom.cpp: Added.
  33500. (WebCore::JSPlugin::canGetItemsForName):
  33501. (WebCore::JSPlugin::nameGetter):
  33502. * bindings/js/kjs_navigator.cpp: Removed.
  33503. * bindings/js/kjs_navigator.h: Removed.
  33504. * dom/Clipboard.cpp:
  33505. * dom/DOMImplementation.cpp:
  33506. (WebCore::DOMImplementation::createDocument):
  33507. * loader/FrameLoader.cpp:
  33508. (WebCore::FrameLoader::shouldUsePlugin):
  33509. * page/DOMWindow.cpp:
  33510. (WebCore::DOMWindow::clear):
  33511. (WebCore::DOMWindow::navigator):
  33512. * page/DOMWindow.h:
  33513. * page/DOMWindow.idl:
  33514. * page/DragController.cpp:
  33515. * page/Frame.cpp:
  33516. * page/Frame.h:
  33517. * page/Navigator.cpp: Added.
  33518. (WebCore::Navigator::Navigator):
  33519. (WebCore::Navigator::~Navigator):
  33520. (WebCore::Navigator::disconnectFrame):
  33521. (WebCore::Navigator::appCodeName):
  33522. (WebCore::Navigator::appName):
  33523. (WebCore::Navigator::appVersion):
  33524. (WebCore::Navigator::language):
  33525. (WebCore::Navigator::userAgent):
  33526. (WebCore::Navigator::platform):
  33527. (WebCore::Navigator::plugins):
  33528. (WebCore::Navigator::mimeTypes):
  33529. (WebCore::Navigator::product):
  33530. (WebCore::Navigator::productSub):
  33531. (WebCore::Navigator::vendor):
  33532. (WebCore::Navigator::vendorSub):
  33533. (WebCore::Navigator::cookieEnabled):
  33534. (WebCore::Navigator::javaEnabled):
  33535. * page/Navigator.h: Added.
  33536. (WebCore::Navigator::create):
  33537. (WebCore::Navigator::frame):
  33538. * page/Navigator.idl: Added.
  33539. * page/Page.cpp:
  33540. (WebCore::Page::refreshPlugins):
  33541. (WebCore::Page::pluginData):
  33542. * page/Page.h:
  33543. * page/Plugin.h: Removed.
  33544. * page/mac/FrameMac.mm:
  33545. * page/mac/WebCoreFrameBridge.mm:
  33546. (-[WebCoreFrameBridge canProvideDocumentSource]):
  33547. * page/mac/WebCoreViewFactory.h:
  33548. * page/qt/FrameQt.cpp:
  33549. * page/win/FrameWin.cpp:
  33550. * platform/gtk/TemporaryLinkStubs.cpp:
  33551. * platform/mac/PlugInInfoStoreMac.mm: Removed.
  33552. * platform/qt/MIMETypeRegistryQt.cpp:
  33553. (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
  33554. * plugins/MimeType.cpp: Added.
  33555. (WebCore::MimeType::MimeType):
  33556. (WebCore::MimeType::~MimeType):
  33557. (WebCore::MimeType::type):
  33558. (WebCore::MimeType::suffixes):
  33559. (WebCore::MimeType::description):
  33560. (WebCore::MimeType::enabledPlugin):
  33561. * plugins/MimeType.h: Added.
  33562. (WebCore::MimeType::create):
  33563. * plugins/MimeType.idl: Added.
  33564. * plugins/MimeTypeArray.cpp: Added.
  33565. (WebCore::MimeTypeArray::MimeTypeArray):
  33566. (WebCore::MimeTypeArray::~MimeTypeArray):
  33567. (WebCore::MimeTypeArray::length):
  33568. (WebCore::MimeTypeArray::item):
  33569. (WebCore::MimeTypeArray::canGetItemsForName):
  33570. (WebCore::MimeTypeArray::nameGetter):
  33571. (WebCore::MimeTypeArray::getPluginData):
  33572. * plugins/MimeTypeArray.h: Added.
  33573. (WebCore::MimeTypeArray::create):
  33574. (WebCore::MimeTypeArray::disconnectFrame):
  33575. * plugins/MimeTypeArray.idl: Added.
  33576. * plugins/Plugin.cpp: Added.
  33577. (WebCore::Plugin::Plugin):
  33578. (WebCore::Plugin::~Plugin):
  33579. (WebCore::Plugin::name):
  33580. (WebCore::Plugin::filename):
  33581. (WebCore::Plugin::description):
  33582. (WebCore::Plugin::length):
  33583. (WebCore::Plugin::item):
  33584. (WebCore::Plugin::canGetItemsForName):
  33585. (WebCore::Plugin::nameGetter):
  33586. * plugins/Plugin.h: Added.
  33587. (WebCore::Plugin::create):
  33588. * plugins/Plugin.idl: Added.
  33589. * plugins/PluginArray.cpp: Added.
  33590. (WebCore::PluginArray::PluginArray):
  33591. (WebCore::PluginArray::~PluginArray):
  33592. (WebCore::PluginArray::length):
  33593. (WebCore::PluginArray::item):
  33594. (WebCore::PluginArray::canGetItemsForName):
  33595. (WebCore::PluginArray::nameGetter):
  33596. (WebCore::PluginArray::refresh):
  33597. (WebCore::PluginArray::getPluginData):
  33598. * plugins/PluginArray.h: Added.
  33599. (WebCore::PluginArray::create):
  33600. (WebCore::PluginArray::disconnectFrame):
  33601. * plugins/PluginArray.idl: Added.
  33602. * plugins/PluginData.cpp: Added.
  33603. (WebCore::PluginData::PluginData):
  33604. (WebCore::PluginData::~PluginData):
  33605. (WebCore::PluginData::supportsMimeType):
  33606. (WebCore::PluginData::pluginNameForMimeType):
  33607. * plugins/PluginData.h: Added.
  33608. (WebCore::PluginData::create):
  33609. (WebCore::PluginData::disconnectPage):
  33610. (WebCore::PluginData::page):
  33611. (WebCore::PluginData::plugins):
  33612. (WebCore::PluginData::mimes):
  33613. * plugins/mac/PluginDataMac.mm: Added.
  33614. (WebCore::PluginData::initPlugins):
  33615. (WebCore::PluginData::refresh):
  33616. * plugins/qt/PluginDataQt.cpp: Added.
  33617. (WebCore::PluginData::initPlugins):
  33618. * plugins/win/PluginDataWin.cpp: Added.
  33619. (WebCore::PluginData::initPlugins):
  33620. (WebCore::PluginData::refresh):
  33621. 2008-03-10 Simon Hausmann <hausmann@webkit.org>
  33622. Reviewed by Holger.
  33623. Replace two printfs() in the Qt port with notImplemented().
  33624. * html/CanvasRenderingContext2D.cpp:
  33625. (WebCore::CanvasRenderingContext2D::applyStrokePattern):
  33626. (WebCore::CanvasRenderingContext2D::applyFillPattern):
  33627. 2008-03-10 Simon Hausmann <hausmann@webkit.org>
  33628. Reviewed by Alp.
  33629. Compilation fix with gcc 4.3: Include stdio.h for printf.
  33630. * html/CanvasRenderingContext2D.cpp:
  33631. * html/HTMLCanvasElement.cpp:
  33632. 2008-03-09 Steve Falkenburg <sfalken@apple.com>
  33633. Stop Windows build if an error occurs in a prior project.
  33634. Rubber stamped by Darin.
  33635. * WebCore.vcproj/WebCore.vcproj:
  33636. * WebCore.vcproj/WebCoreGenerated.vcproj:
  33637. 2008-03-09 Darin Adler <darin@apple.com>
  33638. * DerivedSources.make: Third try at fixing the build.
  33639. * bindings/js/JSRGBColor.cpp: And touching this file.
  33640. 2008-03-09 Darin Adler <darin@apple.com>
  33641. * DerivedSources.make: One *more* try at fixing the build.
  33642. 2008-03-09 Darin Adler <darin@apple.com>
  33643. * DerivedSources.make: One more try at fixing the build.
  33644. 2008-03-09 Darin Adler <darin@apple.com>
  33645. * DerivedSources.make: Re-land the change, fixed, and with an attempt to fix the
  33646. bots by removing the incorrect file.
  33647. 2008-03-09 Oliver Hunt <oliver@apple.com>
  33648. RS=Mark Rowe
  33649. Roll out r30909 -- it breaks the build and is a non-trivial fix (according to weinig)
  33650. * DerivedSources.make:
  33651. 2008-03-09 Darin Adler <darin@apple.com>
  33652. Reviewed by Adam.
  33653. * DerivedSources.make: Put the list of DOM classes into its own
  33654. variable, and generate the JavaScript bindings and Objective-C
  33655. bindings dependencies from that. Added some separators to make it
  33656. a little easier to see the sections of the file. Moved all the
  33657. Mac-specific rules (except for the SVG conditional part) down
  33658. to the bottom of the file in a separate section.
  33659. 2008-03-09 Adam Roben <aroben@apple.com>
  33660. Windows build fix
  33661. * WebCore.vcproj/WebCore.vcproj: Make sure all Cairo files are
  33662. excluded from all three CG-based configurations: Debug, Release, and
  33663. Debug_Internal.
  33664. 2008-03-08 Mark Rowe <mrowe@apple.com>
  33665. Attempt to fix the Qt build.
  33666. * platform/MIMETypeRegistry.cpp: Add missing include.
  33667. 2008-03-08 Oliver Hunt <oliver@apple.com>
  33668. Reviewed by Sam W.
  33669. Bug 16516: canvas image patterns stop working with some transformations
  33670. Simple fix. We used x/yStep of FLT_MAX to fake a no-repeat-x/y pattern
  33671. with CG. However any transforms involving FLT_MAX immediately get
  33672. consumed by the introduced floating point error. yStep had already been
  33673. clamped to a much smaller arbitrary value, and this patch makes us use
  33674. that clamp value for xStep as well.
  33675. * html/CanvasPattern.cpp:
  33676. (WebCore::CanvasPattern::createPattern):
  33677. 2008-03-08 Oliver Hunt <oliver@apple.com>
  33678. Reviewed by Mitz.
  33679. Bug 17728: Canvas.createPattern with null repeat argument throws an exception
  33680. Trivial fix, we were calling toString on null which produces the string "null",
  33681. we just needed to switch to using valueToStringWithNullCheck rather than
  33682. JSValue::toString directly
  33683. Test: fast/canvas/canvas-pattern-behaviour.html
  33684. * WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp:
  33685. (WebCore::JSCanvasRenderingContext2D::createPattern):
  33686. 2008-03-08 Mark Rowe <mrowe@apple.com>
  33687. Reviewed by Darin Adler.
  33688. Fix 64-bit build with GCC 4.2.
  33689. * bindings/objc/WebScriptObject.mm: Use NSUInteger in place of unsigned where required.
  33690. * platform/mac/SharedBufferMac.mm: Ditto.
  33691. 2008-03-08 Dan Bernstein <mitz@apple.com>
  33692. Reviewed by Oliver Hunt.
  33693. - fix garbage in transparent areas in canvas.toDataURL results
  33694. * platform/graphics/cg/ImageBufferCG.cpp:
  33695. (WebCore::ImageBuffer::toDataURL): Clear the bitmap context before
  33696. painting the canvas image onto it.
  33697. 2008-03-08 Darin Adler <darin@apple.com>
  33698. Reviewed by Adele.
  33699. - eliminate custom highlight methods from WebCoreFrameBridge
  33700. * page/Chrome.cpp:
  33701. (WebCore::ChromeClient::customHighlightRect): Added.
  33702. (WebCore::ChromeClient::paintCustomHighlight): Added.
  33703. * page/ChromeClient.h: Added custom highlight functions.
  33704. * page/Frame.h: Removed custom highlight functions.
  33705. * page/mac/FrameMac.mm: Ditto.
  33706. * page/mac/WebCoreFrameBridge.h: Removed custom highlight methods.
  33707. * rendering/InlineTextBox.cpp:
  33708. (WebCore::InlineTextBox::paintCustomHighlight): Changed code to use
  33709. the ChromeClient instead of WebCoreFrameBridge to do the custom highlight.
  33710. * rendering/RenderBox.cpp:
  33711. (WebCore::RenderBox::paintCustomHighlight): Ditto.
  33712. * rendering/RootInlineBox.cpp:
  33713. (WebCore::RootInlineBox::addHighlightOverflow): Ditto.
  33714. (WebCore::RootInlineBox::paintCustomHighlight): Ditto.
  33715. 2008-03-07 Stephanie Lewis <slewis@apple.com>
  33716. Reviewed by Oliver.
  33717. Fix Windows build.
  33718. * platform/graphics/cg/ImageBufferCG.cpp:
  33719. (WebCore::ImageBuffer::toDataURL):
  33720. 2008-03-07 David D. Kilzer <ddkilzer@apple.com>
  33721. Unify concept of enabling Netscape Plug-in API (NPAPI).
  33722. Reviewed by Darin.
  33723. No test cases since there is no change in functionality.
  33724. * DerivedSources.make: Added check for ENABLE_NETSCAPE_PLUGIN_API macro.
  33725. If defined as "1", add WebCore.NPAPI.exp to WEBCORE_EXPORT_DEPENDENCIES.
  33726. * WebCore.NPAPI.exp: Added.
  33727. * WebCore.base.exp: Moved exported NPAPI methods to WebCore.NPAPI.exp.
  33728. * WebCore.xcodeproj/project.pbxproj: Removed changes in r30826 (except
  33729. comments) since we now handle exported NPAPI methods via DerivedSources.make.
  33730. * config.h: Removed USE(NPOBJECT) since we now use ENABLE(NETSCAPE_PLUGIN_API) as
  33731. defined in Platform.h.
  33732. * bindings/objc/DOM.mm: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
  33733. (-[DOMElement _NPObject]):
  33734. * bridge/NP_jsobject.cpp: Replaced !PLATFORM(DARWIN) || !defined(__LP64__) with
  33735. ENABLE(NETSCAPE_PLUGIN_API).
  33736. * bridge/NP_jsobject.h: Ditto.
  33737. * bridge/c/c_class.cpp: Ditto.
  33738. * bridge/c/c_class.h: Ditto.
  33739. * bridge/c/c_instance.cpp: Ditto.
  33740. * bridge/c/c_instance.h: Ditto.
  33741. * bridge/c/c_runtime.cpp: Ditto.
  33742. * bridge/c/c_runtime.h: Ditto.
  33743. * bridge/c/c_utility.cpp: Ditto.
  33744. * bridge/c/c_utility.h: Ditto.
  33745. * bridge/npruntime.cpp: Ditto.
  33746. * bridge/npruntime_impl.h: Ditto.
  33747. * bridge/npruntime_priv.h: Ditto.
  33748. * bridge/runtime.cpp: Ditto.
  33749. (KJS::Bindings::Instance::createBindingForLanguageInstance):
  33750. * html/HTMLPlugInElement.cpp: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
  33751. (WebCore::HTMLPlugInElement::HTMLPlugInElement):
  33752. (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
  33753. * html/HTMLPlugInElement.h: Ditto.
  33754. * page/Frame.cpp: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
  33755. (WebCore::Frame::clearScriptObjects):
  33756. (WebCore::FramePrivate::FramePrivate): Also added #if ENABLE(NETSCAPE_PLUGIN_API)
  33757. guard around m_windowScriptNPObject.
  33758. * page/Frame.h: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
  33759. * page/FramePrivate.h: Added #if ENABLE(NETSCAPE_PLUGIN_API) guard around
  33760. m_windowScriptNPObject.
  33761. * page/mac/FrameMac.mm: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
  33762. (WebCore::Frame::createScriptInstanceForWidget):
  33763. 2008-03-07 Alexey Proskuryakov <ap@webkit.org>
  33764. Reviewed by Darin.
  33765. REGRESSION: Korean decoding doesn't support extended EUC-KR.
  33766. Test: fast/encoding/char-decoding.html
  33767. * platform/text/TextCodecICU.cpp:
  33768. (WebCore::TextCodecICU::registerExtendedEncodingNames): Untangle the system of duplicate ICU
  33769. encoding names by manually registering windows-939-2000, and mapping all other related
  33770. encodings to it.
  33771. 2008-03-07 Dan Bernstein <mitz@apple.com>
  33772. Reviewed by Stephanie.
  33773. - try to fix leaks seen on Tiger after r30840
  33774. * css/CSSStyleSelector.cpp:
  33775. (WebCore::CSSStyleSelector::~CSSStyleSelector): Use the default operator
  33776. delete, rather than arena delete, to deallocate the root default style.
  33777. 2008-03-07 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>
  33778. Reviewed by Alp Toker.
  33779. http://bugs.webkit.org/show_bug.cgi?id=17681
  33780. GtkLauncher fails to render an element with position: fixed
  33781. Implement the required parts of PlatformScreenGtk.
  33782. * ChangeLog:
  33783. * platform/gtk/PlatformScreenGtk.cpp:
  33784. (WebCore::screenDepth):
  33785. (WebCore::screenIsMonochrome):
  33786. (WebCore::screenRect):
  33787. 2008-03-07 Oliver Hunt <oliver@apple.com>
  33788. Reviewed by Darin Adler.
  33789. Bug 16610: <canvas> restore() removes path segments created before it
  33790. The problem here is that WebKit stored the Path as part of the state, so
  33791. restore would incorrectly lose changes made to the canvas path. To match
  33792. Firefox and HTML5 we make two real changes:
  33793. * Move the context path from the state object directly onto the context.
  33794. This is responsible for all the changes to the path manipulation functions
  33795. * Add transform tracking to each state -- this is needed to correctly transform
  33796. the current path when restore()-ing to a prior state.
  33797. Test: fast/canvas/canvas-save-restore-with-path.html
  33798. * html/CanvasRenderingContext2D.cpp:
  33799. (WebCore::CanvasRenderingContext2D::restore):
  33800. (WebCore::CanvasRenderingContext2D::scale):
  33801. (WebCore::CanvasRenderingContext2D::rotate):
  33802. (WebCore::CanvasRenderingContext2D::translate):
  33803. (WebCore::CanvasRenderingContext2D::transform):
  33804. (WebCore::CanvasRenderingContext2D::beginPath):
  33805. (WebCore::CanvasRenderingContext2D::closePath):
  33806. (WebCore::CanvasRenderingContext2D::moveTo):
  33807. (WebCore::CanvasRenderingContext2D::lineTo):
  33808. (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
  33809. (WebCore::CanvasRenderingContext2D::arcTo):
  33810. (WebCore::CanvasRenderingContext2D::arc):
  33811. (WebCore::CanvasRenderingContext2D::rect):
  33812. (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode):
  33813. (WebCore::CanvasRenderingContext2D::fill):
  33814. (WebCore::CanvasRenderingContext2D::stroke):
  33815. (WebCore::CanvasRenderingContext2D::clip):
  33816. (WebCore::CanvasRenderingContext2D::isPointInPath):
  33817. * html/CanvasRenderingContext2D.h:
  33818. 2008-03-07 Oliver Hunt <oliver@apple.com>
  33819. Reviewed by Ada.
  33820. Fix for crash caused by FrameLoader incorrectly assuming it has
  33821. a RenderWidget
  33822. In some circumstances an application embedding a WebView may
  33823. choose to prevent a webview from loading a resource. If that
  33824. resource was requested by an <object> element then we may
  33825. fallback to different content which may not produce a RenderWidget.
  33826. Unfortunately FrameLoader::loadSubframe was assuming that if a
  33827. renderer was produced it would always be a RenderWidget, and arbitrarily
  33828. performed what could be an incorrect cast. This could then lead to
  33829. a crash.
  33830. We currently don't have anyway of making a test for this.
  33831. * loader/FrameLoader.cpp:
  33832. (WebCore::FrameLoader::loadSubframe):
  33833. 2008-03-07 Samuel Weinig <sam@webkit.org>
  33834. Reviewed by Oliver Hunt.
  33835. Fix for http://bugs.webkit.org/show_bug.cgi?id=16673
  33836. <canvas> lacks toDataURL()
  33837. Tests: fast/canvas/toDataURL-noData.html
  33838. fast/canvas/toDataURL-supportedTypes.html
  33839. * html/CanvasRenderingContext2D.cpp:
  33840. (WebCore::CanvasRenderingContext2D::printSecurityExceptionMessage): Make message non-global.
  33841. * html/HTMLCanvasElement.cpp:
  33842. (WebCore::HTMLCanvasElement::printSecurityExceptionMessage): Log error message indicating that toDataURL has
  33843. been called on a tainted canvas.
  33844. (WebCore::HTMLCanvasElement::toDataURL): This does the tainted canvas check, ensures that the canvas has pixel
  33845. data, checks to see if the MIME type is supported. Unsupported MIME types and the null string (which is made
  33846. by passing no argument/null/undefined in JavaScript) are treated as being PNG, as per the spec. The actual
  33847. toDataURL logic is actually done in the ImageBuffer class.
  33848. * html/HTMLCanvasElement.h: Add function declarations.
  33849. * html/HTMLCanvasElement.idl: Add function declaration.
  33850. * platform/MIMETypeRegistry.cpp:
  33851. (WebCore::initializeSupportedImageMIMETypes):
  33852. (WebCore::initializeSupportedImageMIMETypesForEncoding):
  33853. (WebCore::initializeSupportedJavaScriptMIMETypes):
  33854. (WebCore::initializeSupportedNonImageMimeTypes):
  33855. (WebCore::initializeSupportedMediaMIMETypes):
  33856. (WebCore::initializeMIMETypeRegistry):
  33857. (WebCore::MIMETypeRegistry::getMIMETypeForPath):
  33858. (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
  33859. (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType):
  33860. (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
  33861. (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
  33862. (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
  33863. (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
  33864. (WebCore::MIMETypeRegistry::isJavaAppletMIMEType):
  33865. (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes):
  33866. (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes):
  33867. (WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding):
  33868. (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes):
  33869. (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
  33870. * platform/MIMETypeRegistry.h:
  33871. Clean up and add new supportedImageMIMETypesForEncoding set which contains the set of
  33872. MIME types the platform knows how to encode. Currently only implemented for CG and Qt.
  33873. * platform/graphics/ImageBuffer.h: Add toDataURL method.
  33874. * platform/graphics/cairo/ImageBufferCairo.cpp:
  33875. (WebCore::ImageBuffer::toDataURL): Add stub.
  33876. * platform/graphics/cg/ImageBufferCG.cpp:
  33877. (WebCore::ImageBuffer::create):
  33878. (WebCore::ImageBuffer::getImageData):
  33879. (WebCore::ImageBuffer::putImageData):
  33880. (WebCore::ImageBuffer::toDataURL):
  33881. Converts the current context to a data: url of the specified MIME type. This method
  33882. unfortunately has to flip the context, resulting in less than optimal code.
  33883. * platform/graphics/qt/ImageBufferQt.cpp:
  33884. (WebCore::ImageBuffer::toDataURL): Add stub.
  33885. * platform/graphics/wx/ImageBufferWx.cpp:
  33886. (WebCore::ImageBuffer::toDataURL): Add stub.
  33887. 2008-03-07 Steve Falkenburg <sfalken@apple.com>
  33888. Build fix.
  33889. * WebCore.vcproj/WebCore.vcproj:
  33890. 2008-03-07 Brent Fulgham <bfulgham@gmail.com>
  33891. Reviewed by Mark Rowe.
  33892. Correct build intermediary output
  33893. (http://bugs.webkit.org/show_bug.cgi?id=17713)
  33894. * WebCore/WebCore.vcproj: Correct intermediary paths
  33895. 2008-03-07 Brent Fulgham <bfulgham@gmail.com>
  33896. Reviewed by Steve Falkenburg.
  33897. Add Cairo build requirements to WebCore.vcproj under a new
  33898. set of targets. Exclude Cairo elements from normal CG build.
  33899. Exclude CG elements from Cairo builds.
  33900. (http://bugs.webkit.org/show_bug.cgi?id=17300)
  33901. * WebCore.vcproj/WebCore.vcproj:
  33902. * WebCore.vcproj/webcore.vsprops: Added.
  33903. 2008-03-07 Darin Adler <darin@apple.com>
  33904. Reviewed by Adam.
  33905. - eliminated WebCoreFrameBridge runOpenPanel
  33906. * page/ChromeClient.h: Added runOpenPanel function.
  33907. * page/mac/ChromeMac.mm:
  33908. (WebCore::ChromeClient::runOpenPanel): Added.
  33909. * platform/FileChooser.cpp:
  33910. (WebCore::FileChooser::FileChooser): Moved this here. It's no longer platform-specific.
  33911. Also start the refcount at 1.
  33912. (WebCore::FileChooser::create): Added adoptRef since the refcount no starts at one.
  33913. (WebCore::FileChooser::~FileChooser): Moved here. No longer platform-specific.
  33914. * platform/FileChooser.h: Removed m_controller, which was Macintosh-specific.
  33915. * platform/gtk/FileChooserGtk.cpp: Removed FileChooser constructor and destructor,
  33916. since they are no longer platform-specific.
  33917. * platform/qt/FileChooserQt.cpp: Ditto.
  33918. * platform/win/FileChooserWin.cpp: Ditto.
  33919. * platform/wx/TemporaryLinkStubs.cpp: Ditto.
  33920. * platform/mac/FileChooserMac.mm:
  33921. (WebCore::FileChooser::openFileChooser): Call the chrome client instead of the
  33922. bridge to run the open panel. Allows us to get rid of the WebCoreOpenPanelController
  33923. class and m_controller data member and move the cosntrutor/destructor to platform-
  33924. independent code.
  33925. 2008-03-07 Adam Roben <aroben@apple.com>
  33926. Add JavaScriptDebugServer
  33927. This class is a singleton which allows one or more
  33928. JavaScriptDebugListeners to receive callbacks during JavaScript
  33929. execution.
  33930. Right now all listeners receive callbacks for all Pages in the
  33931. process. Eventually we will want to support listeners registering for
  33932. callbacks for specific Pages (e.g., the Inspector will want to listen
  33933. for execution in just the Page it's inspecting).
  33934. Pages notify the JavaScriptDebugServer when they are created so that
  33935. it can install itself as the Page's debugger.
  33936. Reviewed by Darin.
  33937. * GNUMakefile.am: Added new files to project.
  33938. * WebCore.pro: Ditto.
  33939. * WebCore.vcproj/WebCore.vcproj: Ditto.
  33940. * WebCore.xcodeproj/project.pbxproj: Ditto.
  33941. * WebCoreSources.bkl: Ditto.
  33942. * page/JavaScriptDebugListener.h: Added.
  33943. * page/JavaScriptDebugServer.cpp: Added.
  33944. (WebCore::toFrame):
  33945. (WebCore::JavaScriptDebugServer::shared):
  33946. (WebCore::JavaScriptDebugServer::JavaScriptDebugServer):
  33947. (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
  33948. (WebCore::JavaScriptDebugServer::addListener): Registers as the
  33949. debugger for all Pages if we're adding our first listener.
  33950. (WebCore::JavaScriptDebugServer::removeListener): Deregisters as the
  33951. debugger for all Pages if we're removing our last listner.
  33952. (WebCore::JavaScriptDebugServer::pageCreated): Registers as the
  33953. debugger for the newly created Page if we have any listeners.
  33954. (WebCore::dispatchDidParseSource): Helper function.
  33955. (WebCore::dispatchFailedToParseSource): Ditto.
  33956. (WebCore::JavaScriptDebugServer::sourceParsed): Call
  33957. dispatchDidParseSource or dispatchFailedToParseSource depending on
  33958. whether there was an error or not.
  33959. (WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Calls
  33960. the passed-in JavaScriptExecutionCallback on each listener, guarding
  33961. against re-entry.
  33962. (WebCore::JavaScriptDebugServer::callEvent): Dispatch didEnterCallFrame.
  33963. (WebCore::JavaScriptDebugServer::atStatement): Dispatch willExecuteStatement.
  33964. (WebCore::JavaScriptDebugServer::returnEvent): Dispatch willLeaveCallFrame.
  33965. (WebCore::JavaScriptDebugServer::exception): Dispatch exceptionWasRaised.
  33966. * page/JavaScriptDebugServer.h: Added.
  33967. * page/Page.cpp:
  33968. (WebCore::Page::Page): Tell the shared JavaScriptDebugServer we were
  33969. created so it can register as our debugger if needed.
  33970. 2008-03-07 Darin Adler <darin@apple.com>
  33971. Reviewed by Brady.
  33972. - fix a theoretical problem with the visited-link hash table by avoiding collision
  33973. with the special "deleted" value
  33974. - improve efficiency of with the visited-link hash table by not hashing twice
  33975. * page/PageGroup.cpp:
  33976. (WebCore::avoidDeletedValue): Added. Makes sure we never try to use the "all ones"
  33977. value, since the hash table uses that for deleted hash table entries.
  33978. (WebCore::PageGroup::isLinkVisited): Call avoidDeletedValue before using the hash
  33979. value with the HashSet.
  33980. (WebCore::PageGroup::addVisitedLink): Ditto.
  33981. * page/PageGroup.h: Added a new hash function, AlreadyHashed, for unsigned integer
  33982. values. This assumes that the value is already a hash value, and doesn't try to
  33983. hash it again. Used this for m_visitedLinkHashes.
  33984. 2008-03-07 Simon Hausmann <hausmann@webkit.org>
  33985. Fix the Qt build.
  33986. * WebCore.pro:
  33987. 2008-03-06 Sam Weinig <sam@webkit.org> with a little help from Oliver Hunt <oliver@apple.com>
  33988. Reviewed by Mitz.
  33989. Implement the HTML5 canvas tainting rules to prevent potential data leakage
  33990. Added originClean to HTMLCanvasElement and CanvasPattern
  33991. to track whether a canvas (or pattern) is tainted by remote
  33992. data.
  33993. Use originClean flag to determine whether getImageData should
  33994. return, well, image data.
  33995. Test: http/tests/security/canvas-remote-read-remote-image.html
  33996. * html/CanvasPattern.cpp:
  33997. (WebCore::CanvasPattern::CanvasPattern):
  33998. * html/CanvasPattern.h:
  33999. * html/CanvasRenderingContext2D.cpp:
  34000. (WebCore::CanvasRenderingContext2D::setStrokeStyle):
  34001. (WebCore::CanvasRenderingContext2D::setFillStyle):
  34002. (WebCore::CanvasRenderingContext2D::checkOrigin):
  34003. (WebCore::CanvasRenderingContext2D::drawImage):
  34004. (WebCore::CanvasRenderingContext2D::drawImageFromRect):
  34005. (WebCore::CanvasRenderingContext2D::createPattern):
  34006. (WebCore::CanvasRenderingContext2D::printSecurityExceptionMessage):
  34007. (WebCore::CanvasRenderingContext2D::getImageData):
  34008. * html/CanvasRenderingContext2D.h:
  34009. * html/HTMLCanvasElement.cpp:
  34010. (WebCore::HTMLCanvasElement::HTMLCanvasElement):
  34011. * html/HTMLCanvasElement.h:
  34012. (WebCore::HTMLCanvasElement::setOriginTainted):
  34013. (WebCore::HTMLCanvasElement::originClean):
  34014. 2008-03-06 Anders Carlsson <andersca@apple.com>
  34015. Reviewed by Jon.
  34016. Templatize the JNI call code to reduce the amount of code that has
  34017. to be duplicated.
  34018. * bridge/jni/jni_class.cpp:
  34019. (JavaClass::JavaClass):
  34020. * bridge/jni/jni_instance.cpp:
  34021. (JavaInstance::stringValue):
  34022. (JavaInstance::numberValue):
  34023. (JavaInstance::booleanValue):
  34024. (JavaInstance::invokeMethod):
  34025. * bridge/jni/jni_jsobject.cpp:
  34026. (JavaJSObject::convertJObjectToValue):
  34027. * bridge/jni/jni_runtime.cpp:
  34028. (JavaField::JavaField):
  34029. (JavaMethod::JavaMethod):
  34030. * bridge/jni/jni_utility.cpp:
  34031. * bridge/jni/jni_utility.h:
  34032. (KJS::Bindings::):
  34033. (KJS::Bindings::callJNIMethodIDA):
  34034. (KJS::Bindings::callJNIMethodV):
  34035. (KJS::Bindings::callJNIMethod):
  34036. (KJS::Bindings::callJNIStaticMethod):
  34037. 2008-03-06 Darin Adler <darin@apple.com>
  34038. Reviewed by Mitz.
  34039. - fix regression test failures from the visited-link change
  34040. * WebCore.base.exp: Export PageGroup::setShouldTrackVisitedLinks.
  34041. * page/PageGroup.cpp:
  34042. (WebCore::PageGroup::addVisitedLink): Do nothing and return early
  34043. if shouldTrackVisitedLinks is false.
  34044. (WebCore::PageGroup::removeVisitedLinks): Reset m_visitedLinksPopulated
  34045. so the next time a link is queried this will be populated from history.
  34046. (WebCore::PageGroup::setShouldTrackVisitedLinks): Added.
  34047. * page/PageGroup.h: Added setShouldTrackVisitedLinks. This is global
  34048. for now, but it would be better if it was per-page-group instead.
  34049. 2008-03-06 Adele Peterson <adele@apple.com>
  34050. Reviewed by Darin.
  34051. Fixes for for <rdar://problem/5785892> Implement activeElement attribute for HTMLDocument (HTML5)
  34052. and <rdar://problem/5785895> Implement hasFocus() for HTMLDocument (HTML5)
  34053. Tests: fast/dom/HTMLDocument/activeElement.html
  34054. fast/dom/HTMLDocument/hasFocus.html
  34055. * html/HTMLDocument.cpp:
  34056. (WebCore::HTMLDocument::activeElement): Added. Returns the focused element, or the body element if nothing's focused.
  34057. (WebCore::HTMLDocument::hasFocus): Added. Returns whether or not the document has focus (inclusive of sub-frames).
  34058. * html/HTMLDocument.h: Added methods for activeElement and hasFocus.
  34059. * html/HTMLDocument.idl: Added definitions for activeElement and hasFocus.
  34060. 2008-03-06 Dan Bernstein <mitz@apple.com>
  34061. Reviewed by Darin Adler.
  34062. - fix <rdar://problem/5741981> 154008 WebKit: Some asian language font glyphs are not shown (in Mail and Entourage)
  34063. Test: fast/text/soft-hyphen-3.html
  34064. * rendering/bidi.cpp:
  34065. (WebCore::checkMidpoints):
  34066. (WebCore::RenderBlock::findNextLineBreak): Made 'pos' unsigned. Made the
  34067. midpoint after a hyphen always be a valid iterator, not allowing an
  34068. offset past the end of a text node. Changed the check for consecutive
  34069. soft hyphens to account for that.
  34070. 2008-03-06 Darin Adler <darin@apple.com>
  34071. - try to fix Wx build
  34072. * WebCoreSources.bkl: Added PageGroup.cpp.
  34073. 2008-03-06 Darin Adler <darin@apple.com>
  34074. - fix some builds
  34075. * GNUmakefile.am: Added PageGroup.cpp.
  34076. * WebCore.base.exp: Removed WebCoreHistory.
  34077. * WebCore.pro: Added PageGroup.cpp.
  34078. 2008-03-06 Alexey Proskuryakov <ap@webkit.org>
  34079. Reviewed by Darin.
  34080. <rdar://problem/5687269> Need to create a Collator abstraction for WebCore and JavaScriptCore
  34081. * ForwardingHeaders/wtf/unicode/Collator.h: Added.
  34082. * xml/XSLTUnicodeSort.cpp:
  34083. (WebCore::xsltUnicodeSortFunction):
  34084. * xml/XSLTUnicodeSort.h:
  34085. 2008-03-06 Darin Adler <darin@apple.com>
  34086. Reviewed by Mitz.
  34087. - fix http://bugs.webkit.org/show_bug.cgi?id=17526
  34088. REGRESSION: iframes are added to Safari's History menu
  34089. by separating the visited link machinery from global history
  34090. This should also make page loading faster due to more efficient visited link coloring.
  34091. * WebCore.base.exp: Updated.
  34092. * WebCore.vcproj/WebCore.vcproj: Added PageGroup.h/cpp, removed GlobalHistory.h/cpp.
  34093. * WebCore.xcodeproj/project.pbxproj: Ditto. Also removed WebCoreHistory.h/m.
  34094. * css/CSSStyleSelector.cpp: Updated includes.
  34095. (WebCore::CSSStyleSelector::initElementAndPseudoState): Eliminated code to set
  34096. currentEncodedURL.
  34097. (WebCore::checkPseudoState): Moved most of the code inside a new
  34098. PageGroup::isLinkVisited function.
  34099. (WebCore::CSSStyleSelector::canShareStyleWithElement): Tightened code a bit by using
  34100. references and only getting colors when needed.
  34101. (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Ditto.
  34102. * css/CSSStyleSelector.h: Removed EncodedURL, m_encodedURL, and setEncodedURL.
  34103. * dom/Document.cpp:
  34104. (WebCore::Document::attach): Removed call to setEncodedURL.
  34105. (WebCore::Document::setURL): Ditto.
  34106. (WebCore::Document::recalcStyleSelector): Ditto.
  34107. * loader/FrameLoader.cpp:
  34108. (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): Changed code to use
  34109. early exit idiom to be a little more readable.
  34110. (WebCore::FrameLoader::urlsMatchItem): Change to use a reference for slightly
  34111. better efficiency.
  34112. (WebCore::FrameLoader::goToItem): Use early exit idiom to be a little more
  34113. readable.
  34114. (WebCore::FrameLoader::updateHistoryForStandardLoad): Moved history code back
  34115. in here and got rid of the helper function updateGlobalHistory, restoring the
  34116. logic before r30549. Also added a call to the new addVisitedLink function.
  34117. (WebCore::FrameLoader::updateHistoryForClientRedirect): Added code to call
  34118. addVisitedLink here.
  34119. (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): Removed comment.
  34120. (WebCore::FrameLoader::updateHistoryForReload): Removed call to
  34121. updateGlobalHistory; we can just go without updating global history or
  34122. visited links here, at least for now, since it's not clear that a reload
  34123. is a "history event".
  34124. (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Moved
  34125. history code back where it was, and added the call to addVisitedLink, just
  34126. as in updateHistoryForStandardLoad above.
  34127. * loader/FrameLoader.h: Removed updateGlobalHistory function.
  34128. * page/Chrome.cpp:
  34129. (WebCore::ChromeClient::populateVisitedLinks): Added. Empty placeholder so we
  34130. don't have to implement this for every port all at once.
  34131. (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Changed to use the
  34132. new PageGroup class.
  34133. * page/ChromeClient.h: Added populateVisitedLinks function, used to fill the
  34134. visited links set from the global history at application startup time.
  34135. * page/FrameTree.cpp:
  34136. (WebCore::FrameTree::find): Updated to use the new PageGroup class.
  34137. * page/GlobalHistory.h: Removed.
  34138. * page/win/GlobalHistoryWin.cpp: Removed.
  34139. * page/mac/GlobalHistoryMac.mm: Removed.
  34140. * platform/mac/WebCoreHistory.h: Removed.
  34141. * platform/mac/WebCoreHistory.m: Removed.
  34142. * platform/win/WebCoreHistory.cpp: Removed.
  34143. * platform/win/WebCoreHistory.h: Removed.
  34144. * page/Page.cpp:
  34145. (WebCore::Page::Page): Set m_group to 0.
  34146. (WebCore::Page::setGroupName): Set up m_group. If the page is not in any
  34147. group, set it to 0 for now to postpone the cost of creating a group.
  34148. (WebCore::Page::initGroup): Added. Sets m_group to point to a single-page
  34149. group; used when getting a group.
  34150. (WebCore::Page::removeAllVisitedLinks): Added. Calls removeVisitedLinks
  34151. on all page groups.
  34152. * page/Page.h: Moved enums inside the WebCore namespace. Removed the
  34153. frameNamespace function and instead added the group and groupPtr functions.
  34154. * page/PageGroup.cpp: Added. Contains all the visited code from the
  34155. CSSStyleSelector in the isVisitedLink function, but more efficient because
  34156. we don't allocate memory for the buffer.
  34157. * page/PageGroup.h: Added.
  34158. * platform/gtk/TemporaryLinkStubs.cpp: Removed historyContains.
  34159. * platform/qt/TemporaryLinkStubs.cpp: Removed unneeded include.
  34160. * platform/wx/TemporaryLinkStubs.cpp: Removed historyContains.
  34161. 2008-03-06 Mark Rowe <mrowe@apple.com>
  34162. Fix 64-bit Mac build.
  34163. * WebCore.xcodeproj/project.pbxproj: Exclude _NPN symbols from the exports list as they
  34164. are compiled out of 64-bit builds.
  34165. 2008-03-06 Mark Rowe <mrowe@apple.com>
  34166. Leopard build fix.
  34167. * WebCore.base.exp:
  34168. 2008-03-05 Kevin Ollivier <kevino@theolliviers.com>
  34169. Fix the wx build after the bindings move.
  34170. * WebCoreSources.bkl:
  34171. * webcore-base.bkl:
  34172. * webcore-wx.bkl:
  34173. 2008-03-05 Dan Bernstein <mitz@apple.com>
  34174. Reviewed by Adele Peterson.
  34175. - fix "background-position: inherit"
  34176. * css/CSSStyleSelector.cpp:
  34177. Made HANDLE_MULTILAYER_INHERIT_AND_INITIAL fall through and added
  34178. a return statement in HANDLE_MULTILAYER_VALUE. Also removed an unused
  34179. macro.
  34180. 2008-03-05 Alp Toker <alp@atoker.com>
  34181. Add a missing make dependency for derived sources to improve
  34182. autotools build dependency tracking.
  34183. Issue spotted by Ori Bernstein.
  34184. * GNUmakefile.am:
  34185. 2008-03-05 Alp Toker <alp@atoker.com>
  34186. GTK+ build fix for breakage introduced in r30800.
  34187. Track moved bridge sources from JavaScriptCore to WebCore.
  34188. * GNUmakefile.am:
  34189. 2008-03-05 Justin Garcia <justin.garcia@apple.com>
  34190. Reviewed by Darin.
  34191. One part of fix for:
  34192. <rdar://problem/5780697> Copying content with percentage based rules in a style sheet will cause fidelity issues
  34193. * editing/markup.cpp:
  34194. (WebCore::appendStartMarkup): Styles from matched rules should take precedence over those in
  34195. inline style declarations, not the other way around.
  34196. 2008-03-05 Anders Carlsson <andersca@apple.com>
  34197. Reviewed by Darin.
  34198. Move JNI specific code from runtime_root over to jni_jsobject, where it is used.
  34199. * bridge/jni/jni_jsobject.cpp:
  34200. (completedJavaScriptAccess):
  34201. (initializeJavaScriptAccessLock):
  34202. (lockJavaScriptAccess):
  34203. (unlockJavaScriptAccess):
  34204. (dispatchToJavaScriptThread):
  34205. (performJavaScriptAccess):
  34206. (JavaJSObject::initializeJNIThreading):
  34207. (isJavaScriptThread):
  34208. (JavaJSObject::invoke):
  34209. * bridge/jni/jni_jsobject.h:
  34210. * bridge/runtime_root.cpp:
  34211. * bridge/runtime_root.h:
  34212. * page/mac/WebCoreFrameBridge.mm:
  34213. (-[WebCoreFrameBridge init]):
  34214. 2008-03-05 Darin Adler <darin@apple.com>
  34215. Reviewed by Sam.
  34216. - add functions giving offsets within a KURL, slated to replace the
  34217. EncodedURL object in CSSStyleSelector (in a future "visited link" change)
  34218. - changed all KURL data members names to use the traditional m_ prefix
  34219. - initialize all members to 0 in invalid KURLs rather than having all
  34220. functions check m_isValid
  34221. * platform/KURL.cpp:
  34222. (WebCore::KURL::invalidate): Added. Initializes all the fields except for
  34223. m_string to the "invalid" values. For use in the empty constructor and
  34224. in the init and parse functions.
  34225. (WebCore::KURL::init): Tweaked comments. Changed all code paths that return
  34226. early to use the invalidate() function. Updated for member variable name
  34227. changes.
  34228. (WebCore::KURL::hasPath): Updated for member variable name changes.
  34229. Remove now-unneeded check of m_isValid.
  34230. (WebCore::KURL::lastPathComponent): Ditto.
  34231. (WebCore::KURL::protocol): Ditto.
  34232. (WebCore::KURL::host): Ditto.
  34233. (WebCore::KURL::port): Ditto.
  34234. (WebCore::KURL::pass): Ditto.
  34235. (WebCore::KURL::user): Ditto.
  34236. (WebCore::KURL::ref): Ditto.
  34237. (WebCore::KURL::hasRef): Ditto.
  34238. (WebCore::KURL::protocolIs): Ditto.
  34239. (WebCore::KURL::query): Ditto.
  34240. (WebCore::KURL::path): Ditto.
  34241. (WebCore::KURL::setProtocol): Ditto.
  34242. (WebCore::KURL::setHost): Ditto.
  34243. (WebCore::KURL::setPort): Ditto.
  34244. (WebCore::KURL::setHostAndPort): Ditto.
  34245. (WebCore::KURL::setUser): Ditto.
  34246. (WebCore::KURL::setPass): Ditto.
  34247. (WebCore::KURL::setRef): Ditto.
  34248. (WebCore::KURL::setQuery): Ditto.
  34249. (WebCore::KURL::setPath): Ditto.
  34250. (WebCore::KURL::prettyURL): Ditto.
  34251. (WebCore::copyPathRemovingDots): Removed braces to match our code style.
  34252. (WebCore::KURL::parse): Changed all code paths that return early to use
  34253. the invalidate function. Moved code to set m_isValid to true to the very
  34254. end of the function. Removed braces to match our code style. Removed an
  34255. extra copy of the path/query/fragment code (there were two identical copies
  34256. in the two sides of an if statement). Removed some commented-out code.
  34257. Reversed an if statment. Added code to set the new m_pathAfterLastSlash
  34258. field. Updated for member variable name changes.
  34259. (WebCore::equalIgnoringRef): Updated for member variable name changes.
  34260. (WebCore::KURL::isHierarchical): Ditto.
  34261. * platform/KURL.h: Added a FIXME about ref vs. fragment. Made the empty
  34262. constructor inline and called the new invalidate function. Added new
  34263. pathStart, pathEnd, and pathAfterLastSlash functions, for use in the
  34264. new visited link code. Added an invalidate function. Renamed all the
  34265. data members to use the m_ prefix.
  34266. * WebCore.base.exp: Updated.
  34267. 2008-03-05 Anders Carlsson <andersca@apple.com>
  34268. Reviewed by Sam.
  34269. * WebCore.xcodeproj/project.pbxproj:
  34270. Change jni_jsobject.cpp to be Obj-C++ for now. The plan is to merge
  34271. this with jni_objc.mm and create jni_jsobject.mm.
  34272. * bridge/jni/jni_jsobject.cpp:
  34273. (createRootObject):
  34274. Move createRootObject here from WebCoreFrameBridge.
  34275. (JavaJSObject::createNative):
  34276. Call the newly added createRootObject function.
  34277. * bridge/runtime_root.cpp:
  34278. (KJS::Bindings::RootObject::initializeJNIThreading):
  34279. * bridge/runtime_root.h:
  34280. setCreateRootObject no longer takes a root object, rename it to initializeJNIThreading.
  34281. * page/mac/FrameMac.mm:
  34282. (WebCore::Frame::createScriptInstanceForWidget):
  34283. Just call Frame::createRootObject here.
  34284. * page/mac/WebCoreFrameBridge.mm:
  34285. (-[WebCoreFrameBridge init]):
  34286. Call initializeJNIThreading.
  34287. 2008-03-05 Anders Carlsson <andersca@apple.com>
  34288. Reviewed by Sam.
  34289. Change some static class variables to be regular static variables,
  34290. making it easier to move the chunk of mac-specific code out of runtime_root.[cpp|h]
  34291. * bridge/runtime_root.cpp:
  34292. (KJS::Bindings::completedJavaScriptAccess):
  34293. (KJS::Bindings::RootObject::dispatchToJavaScriptThread):
  34294. (KJS::Bindings::performJavaScriptAccess):
  34295. (KJS::Bindings::RootObject::createRootObject):
  34296. (KJS::Bindings::RootObject::runLoop):
  34297. (KJS::Bindings::RootObject::setCreateRootObject):
  34298. * bridge/runtime_root.h:
  34299. 2008-03-05 Brent Fulgham <bfulgham@gmail.com>
  34300. Reviewed by Adam Roben.
  34301. Modify source files to use the USE(SAFARI_THEME) macro, rather than
  34302. USE_SAFARI_THEME. (http://bugs.webkit.org/show_bug.cgi?id=17683)
  34303. * WebCore/platform/win/PlatformScrollBarSafari.cpp
  34304. * WebCore/rendering/RenderThemeSafari.cpp
  34305. * WebCore/rendering/RenderThemeSafari.h
  34306. * config.h: Move definition of WTF_USE_SAFARI_THEME here
  34307. 2008-03-05 Brady Eidson <beidson@apple.com>
  34308. Reviewed by Alexey and Mark Rowe
  34309. Fix for <rdar://problem/5778247> - Reproducible crash on storage/execute-sql-args.html
  34310. DatabaseThread::unscheduleDatabaseTasks() manually filters through a MessageQueue,
  34311. removing particular items for Databases that were shutting down.
  34312. This filtering operation is not atomic, and therefore causes a race condition with the
  34313. database thread waking up and reading from the message queue.
  34314. The end result was an attempt to dereference a null DatabaseTask. Timing-wise, this never
  34315. seemed to happen in a debug build, otherwise an assertion would've caught it. Replacing that
  34316. assertion with a crash in a release build is what revealed this bug.
  34317. The fix for the above symptom was entirely in WTF::MessageQueue in JSCore. With this fix in
  34318. place, another crash popped up in the layout tests that was related to dereferencing a
  34319. deallocated object - simply because SQLTransaction had a raw pointer to it's Database object
  34320. when it needed to be a ref pointer.
  34321. * storage/SQLTransaction.cpp:
  34322. (WebCore::SQLTransaction::runCurrentStatement):
  34323. * storage/SQLTransaction.h: Change m_database to be a RefPtr
  34324. (WebCore::SQLTransaction::database):
  34325. 2008-03-05 Mark Rowe <mrowe@apple.com>
  34326. Build fix.
  34327. * WebCore.base.exp: Remove symbol that no longer exists from the exports file.
  34328. 2008-03-05 Adam Roben <aroben@apple.com>
  34329. Export a header/symbol for WebKit
  34330. Reviewed by Kevin M.
  34331. * WebCore.base.exp:
  34332. * WebCore.xcodeproj/project.pbxproj:
  34333. 2008-03-05 Adam Roben <aroben@apple.com>
  34334. Move WebCoreScriptDebugger up to WebKit
  34335. Reviewed by Darin.
  34336. * WebCore.base.exp: Exported some functions used by
  34337. WebCoreScriptDebugger, and sorted the list.
  34338. * WebCore.xcodeproj/project.pbxproj: Removed
  34339. WebCoreScriptDebugger.{h,mm} from the project and marked
  34340. a few headers private so that WebKit can use them.
  34341. * page/mac/WebCoreScriptDebugger.h: Removed.
  34342. * page/mac/WebCoreScriptDebugger.mm: Removed.
  34343. 2008-03-05 Anders Carlsson <andersca@apple.com>
  34344. Build bridge/. Copy some headers over to WebKit as part of the post-build step.
  34345. * WebCore.vcproj/WebCore.vcproj:
  34346. 2008-03-05 Anders Carlsson <andersca@apple.com>
  34347. Reviewed by Geoff.
  34348. * WebCore.base.exp:
  34349. Add the NPN and KJS methods.
  34350. * WebCore.xcodeproj/project.pbxproj:
  34351. Bring in bridge/
  34352. * config.h:
  34353. Add HAVE_JNI define.
  34354. * bindings/js/kjs_html.cpp:
  34355. * bindings/objc/DOMInternal.mm:
  34356. * bindings/objc/DOMUtility.mm:
  34357. * bindings/objc/WebScriptObject.mm:
  34358. * html/HTMLAppletElement.cpp:
  34359. * html/HTMLEmbedElement.cpp:
  34360. * html/HTMLObjectElement.cpp:
  34361. * html/HTMLPlugInElement.cpp:
  34362. * page/Frame.cpp:
  34363. * page/mac/FrameMac.mm:
  34364. * page/mac/WebCoreFrameBridge.mm:
  34365. * page/mac/WebCoreScriptDebugger.mm:
  34366. * plugins/win/PluginViewWin.cpp:
  34367. Include file changes.
  34368. 2008-03-04 Anders Carlsson <andersca@apple.com>
  34369. Reviewed by Sam.
  34370. Rewrite NPRuntime string conversion routines to use WebCore::String
  34371. * bridge/NP_jsobject.cpp:
  34372. (_NPN_Evaluate):
  34373. * bridge/c/c_utility.cpp:
  34374. (KJS::Bindings::convertUTF8ToUTF16WithLatin1Fallback):
  34375. (KJS::Bindings::convertNPVariantToValue):
  34376. (KJS::Bindings::convertNPStringToUTF16):
  34377. (KJS::Bindings::identifierFromNPIdentifier):
  34378. * bridge/c/c_utility.h:
  34379. 2008-03-05 Oliver Hunt <oliver@apple.com>
  34380. Reviewed by Alexey P.
  34381. Small performance improvement to putImageData (3-5% on assignment in my tests)
  34382. * html/CanvasPixelArray.h:
  34383. (WebCore::CanvasPixelArray::set):
  34384. 2008-03-04 Sam Weinig <sam@webkit.org>
  34385. Reviewed by Adele.
  34386. * bindings/js/JSXMLHttpRequest.h: Remove unnecessary override of toBoolean.
  34387. 2008-03-04 Maciej Stachowiak <mjs@apple.com>
  34388. Reviewed by Sam and Oliver.
  34389. - fixed http://bugs.webkit.org/show_bug.cgi?id=16289
  34390. - fixed Acid3 tests 26 and 27 (not exactly the same issue but related)
  34391. * bindings/js/JSNodeCustom.cpp:
  34392. (WebCore::JSNode::mark): When marking a node that's in-document,
  34393. mark the owner document if it hasn't been already. This means holding on
  34394. to a single node from an unreferenced document now keeps the whole document alive.
  34395. We are now at 90/100 on Acid3.
  34396. 2008-03-04 Sam Weinig <sam@webkit.org>
  34397. Qt build fix.
  34398. * page/qt/FrameQt.cpp:
  34399. 2008-03-04 Sam Weinig <sam@webkit.org>
  34400. Reviewed by Mark Rowe.
  34401. Rename kjs_window to JSDOMWindowBase.
  34402. - Remove all unnecessary includes of JSDOMWindowBase.h, we prefer including
  34403. JSDOMWindow.h
  34404. * ChangeLog:
  34405. * DerivedSources.make:
  34406. * GNUmakefile.am:
  34407. * WebCore.pro:
  34408. * WebCore.vcproj/WebCore.vcproj:
  34409. * WebCore.xcodeproj/project.pbxproj:
  34410. * WebCoreSources.bkl:
  34411. * bindings/js/JSCustomVoidCallback.cpp:
  34412. * bindings/js/JSCustomXPathNSResolver.cpp:
  34413. * bindings/js/JSDOMWindowBase.cpp: Copied from bindings/js/kjs_window.cpp.
  34414. * bindings/js/JSDOMWindowBase.h: Copied from bindings/js/kjs_window.h.
  34415. * bindings/js/JSDOMWindowCustom.cpp:
  34416. * bindings/js/JSDatabaseCustom.cpp:
  34417. * bindings/js/JSEventTargetBase.cpp:
  34418. * bindings/js/JSEventTargetBase.h:
  34419. * bindings/js/JSEventTargetNode.cpp:
  34420. * bindings/js/JSHTMLDocumentCustom.cpp:
  34421. * bindings/js/JSHTMLFrameSetElementCustom.cpp:
  34422. * bindings/js/JSHistoryCustom.cpp:
  34423. * bindings/js/JSLocation.cpp:
  34424. * bindings/js/JSSQLTransactionCustom.cpp:
  34425. * bindings/js/JSXMLHttpRequest.cpp:
  34426. * bindings/js/ScheduledAction.cpp:
  34427. * bindings/js/kjs_binding.cpp:
  34428. * bindings/js/kjs_events.cpp:
  34429. * bindings/js/kjs_navigator.cpp:
  34430. * bindings/js/kjs_proxy.cpp:
  34431. * bindings/js/kjs_window.cpp: Removed.
  34432. * bindings/js/kjs_window.h: Removed.
  34433. * bindings/scripts/CodeGeneratorJS.pm:
  34434. * history/CachedPage.cpp:
  34435. * loader/FrameLoader.cpp:
  34436. * page/Chrome.cpp:
  34437. * page/InspectorController.cpp:
  34438. * page/mac/FrameMac.mm:
  34439. * page/mac/WebCoreFrameBridge.mm:
  34440. * page/qt/FrameQt.cpp:
  34441. * page/win/FrameWin.cpp:
  34442. * plugins/win/PluginViewWin.cpp:
  34443. 2008-03-04 Mark Rowe <mrowe@apple.com>
  34444. Speculative Qt build fix.
  34445. * platform/qt/PasteboardQt.cpp:
  34446. 2008-03-04 Anders Carlsson <andersca@apple.com>
  34447. Reviewed by Sam.
  34448. Update include paths. This code is not used yet.
  34449. * bridge/NP_jsobject.cpp:
  34450. * bridge/c/c_class.cpp:
  34451. * bridge/c/c_instance.cpp:
  34452. * bridge/c/c_utility.cpp:
  34453. (KJS::Bindings::convertUTF8ToUTF16WithLatin1Fallback):
  34454. #if 0 this out for now.
  34455. * bridge/jni/jni_class.cpp:
  34456. * bridge/jni/jni_jsobject.cpp:
  34457. * bridge/jni/jni_objc.mm:
  34458. * bridge/jni/jni_runtime.cpp:
  34459. * bridge/jni/jni_utility.cpp:
  34460. * bridge/jni/jni_utility.h:
  34461. * bridge/npruntime.cpp:
  34462. * bridge/objc/WebScriptObject.h:
  34463. * bridge/objc/objc_class.h:
  34464. * bridge/objc/objc_instance.h:
  34465. * bridge/objc/objc_runtime.h:
  34466. * bridge/objc/objc_utility.h:
  34467. * bridge/objc/objc_utility.mm:
  34468. * bridge/runtime.cpp:
  34469. * bridge/runtime.h:
  34470. * bridge/runtime_array.cpp:
  34471. * bridge/runtime_array.h:
  34472. * bridge/runtime_method.cpp:
  34473. * bridge/runtime_method.h:
  34474. * bridge/runtime_object.cpp:
  34475. * bridge/runtime_object.h:
  34476. * bridge/runtime_root.cpp:
  34477. * bridge/runtime_root.h:
  34478. 2008-03-04 Dan Bernstein <mitz@apple.com>
  34479. Reviewed by Darin Adler.
  34480. - fix http://bugs.webkit.org/show_bug.cgi?id=17676
  34481. <rdar://problem/5781091> REGRESSION (r30240-r30267): href attribute values with non-ASCII characters in the host part do not work
  34482. Test: fast/encoding/url-host-name-non-ascii.html
  34483. * platform/KURL.cpp:
  34484. (WebCore::appendEncodedHostname): Added an early return in the all-ASCII
  34485. case to avoid copying the host name twice and corrected the error
  34486. checking after calling uidna_IDNToASCII().
  34487. 2008-03-04 Sam Weinig <sam@webkit.org>
  34488. Reviewed by Dan Bernstein.
  34489. Use JSDOMWindow exclusively instead of JSDOMWindowBase.
  34490. * bindings/js/ScheduledAction.cpp:
  34491. (WebCore::ScheduledAction::execute):
  34492. * bindings/js/ScheduledAction.h:
  34493. * bindings/js/kjs_window.cpp:
  34494. (WebCore::JSDOMWindowBase::timerFired):
  34495. 2008-03-04 Timothy Hatcher <timothy@apple.com>
  34496. Reviewed by Darin Adler.
  34497. <rdar://problem/5720160> Browser windows "do nothing" while modal
  34498. dialog or menu is up due to run loop modes (or while scrolling)
  34499. Adds a new SchedulePair object that holds a runloop and the mode to use.
  34500. A HashSet of SchedulePairs is tracked by Page so it can be used for resource
  34501. loading and, in the future, maybe SharedTimerMac.
  34502. * WebCore.base.exp: Add new exports for WebKit.
  34503. * WebCore.xcodeproj/project.pbxproj: Add new files.
  34504. * loader/mac/DocumentLoaderMac.cpp: Added.
  34505. (WebCore::scheduleAll): Call schedule all the ResourceLoader handles.
  34506. (WebCore::unscheduleAll): Call unschedule all the ResourceLoader handles.
  34507. (WebCore::DocumentLoader::schedule): Schedule all the ResourceLoaders owned by the DocumentLoader.
  34508. (WebCore::DocumentLoader::unschedule): Unschedule all the ResourceLoaders owned by the DocumentLoader.
  34509. * loader/DocumentLoader.h:
  34510. * page/Page.h:
  34511. (WebCore::Page::scheduledRunLoopPairs): Return m_scheduledRunLoopPairs.
  34512. * page/mac/PageMac.cpp:
  34513. (WebCore::Page::addSchedulePair): Add a SchedulePair to m_scheduledRunLoopPairs.
  34514. (WebCore::Page::removeSchedulePair): Removes a SchedulePair from m_scheduledRunLoopPairs.
  34515. * platform/cf/SchedulePair.cpp: Added.
  34516. * platform/cf/SchedulePair.h: Added.
  34517. * platform/mac/SchedulePairMac.mm: Added.
  34518. * platform/network/ResourceHandle.h:
  34519. * platform/network/mac/FormDataStreamMac.mm:
  34520. (WebCore::advanceCurrentStream): Use the new SchedulePair.
  34521. (WebCore::formCreate): Ditto.
  34522. (WebCore::formFinalize): Ditto.
  34523. (WebCore::formSchedule): Ditto.
  34524. (WebCore::formUnschedule): Ditto.
  34525. * platform/network/mac/ResourceHandleMac.mm:
  34526. (WebCore::ResourceHandle::start): Schedule the connection with all the SchedulePairs
  34527. that Page holds. If Page has no SchedulePairs, schedule with the current runloop, and
  34528. pick the mode based on ResourceHandle::loadsDuringCommonRunLoopModes.
  34529. (WebCore::ResourceHandle::schedule):
  34530. (WebCore::ResourceHandle::unschedule):
  34531. 2008-03-04 Sam Weinig <sam@webkit.org>
  34532. Reviewed by Darin Adler.
  34533. Rename kjs_css to JSRGBColor.
  34534. * DerivedSources.make:
  34535. * GNUmakefile.am:
  34536. * WebCore.pro:
  34537. * WebCore.vcproj/WebCore.vcproj:
  34538. * WebCore.xcodeproj/project.pbxproj:
  34539. * WebCoreSources.bkl:
  34540. * bindings/js/JSRGBColor.cpp: Copied from bindings/js/kjs_css.cpp.
  34541. * bindings/js/JSRGBColor.h: Copied from bindings/js/kjs_css.h.
  34542. * bindings/js/kjs_css.cpp: Removed.
  34543. * bindings/js/kjs_css.h: Removed.
  34544. * bindings/js/kjs_window.cpp:
  34545. * bindings/objc/DOMUtility.mm:
  34546. * bindings/scripts/CodeGeneratorJS.pm:
  34547. 2008-03-04 Anders Carlsson <andersca@apple.com>
  34548. Fix 64-bit build.
  34549. * html/HTMLPlugInElement.cpp:
  34550. 2008-03-04 Nikolas Zimmermann <zimmermann@kde.org>
  34551. Reviewed by Eric & David.
  34552. Fixes: http://bugs.webkit.org/show_bug.cgi?id=17078
  34553. Fix getSubStringLength() handling, verified by Acid3 test 77.
  34554. Brings up Acid3 score to 88/100.
  34555. Added test: svg/custom/acid3-test-77.html
  34556. svg/custom/getSubStringLength.html
  34557. * svg/SVGTextContentElement.cpp:
  34558. (WebCore::cummulatedCharacterRangeLength): Simplify some code.
  34559. (WebCore::SVGTextContentElement::getSubStringLength):
  34560. 2008-03-04 Anders Carlsson <andersca@apple.com>
  34561. Mac build fix. Neither me, Sam nor Adam know why we need to do this though :(
  34562. * bindings/js/kjs_proxy.cpp:
  34563. (WebCore::KJSProxy::attachDebugger):
  34564. * page/Page.cpp:
  34565. (WebCore::Page::setDebuggerForAllPages):
  34566. (WebCore::Page::setDebugger):
  34567. 2008-03-04 Adam Roben <aroben@apple.com>
  34568. Add ExecState.h to ForwardingHeaders
  34569. Reviewed by Anders.
  34570. * ForwardingHeaders/kjs/ExecState.h: Added.
  34571. * page/Page.cpp: Touch this to force WebCore to build and the headers
  34572. to be copied.
  34573. 2008-03-04 Adam Roben <aroben@apple.com>
  34574. Make it possible to set a KJS::Debugger on all Frames in a Page and
  34575. all Pages in the process
  34576. Reviewed by Kevin M.
  34577. * ForwardingHeaders/kjs/debugger.h: Added.
  34578. * bindings/js/kjs_proxy.cpp:
  34579. (WebCore::KJSProxy::initScript): Attach the Page's debugger if there
  34580. is one.
  34581. (WebCore::KJSProxy::attachDebugger): Attach the passed-in debugger, or
  34582. detach any existing debugger if none was passed in.
  34583. * bindings/js/kjs_proxy.h:
  34584. * page/Page.cpp:
  34585. (WebCore::Page::Page): Initialize new member.
  34586. (WebCore::Page::setDebuggerForAllPages): Call setDebugger on each Page
  34587. in the process.
  34588. (WebCore::Page::setDebugger): Store the debugger and pass it off to
  34589. all our Frames.
  34590. * page/Page.h:
  34591. 2008-03-04 Sam Weinig <sam@webkit.org>
  34592. Reviewed by Darin Adler.
  34593. Add ClassInfo to custom constructors so that they toString properly
  34594. - Take this chance to remove the "Imp" from the end of JSXMLHttpRequestConstructorImp,
  34595. and XSLTProcessorConstructorImp and prefix all the classes with JS.
  34596. * bindings/js/JSAudioConstructor.cpp:
  34597. (WebCore::): Added ClassInfo definition.
  34598. (WebCore::JSAudioConstructor::JSAudioConstructor):
  34599. (WebCore::JSAudioConstructor::construct): Cleanup.
  34600. * bindings/js/JSAudioConstructor.h: Rename m_doc to m_document.
  34601. (WebCore::JSAudioConstructor::classInfo): Added.
  34602. * bindings/js/JSHTMLInputElementBase.cpp: Rename HTMLInputElementBasePrototype
  34603. to JSHTMLInputElementBasePrototype as seen if toString'ed.
  34604. * bindings/js/JSHTMLOptionElementConstructor.cpp:
  34605. (WebCore::): Added ClassInfo definition.
  34606. * bindings/js/JSHTMLOptionElementConstructor.h:
  34607. (WebCore::JSHTMLOptionElementConstructor::classInfo): Added.
  34608. * bindings/js/JSImageConstructor.cpp:
  34609. (WebCore::): Added ClassInfo definition.
  34610. (WebCore::JSImageConstructor::implementsConstruct): Moved here from header.
  34611. * bindings/js/JSImageConstructor.h:
  34612. (WebCore::JSImageConstructor::classInfo): Added.
  34613. * bindings/js/JSXMLHttpRequest.cpp:
  34614. (WebCore::): Rename XMLHttpRequestPrototype to JSXMLHttpRequestPrototype
  34615. as seen if toString'ed.
  34616. (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
  34617. (WebCore::JSXMLHttpRequestConstructor::implementsConstruct):
  34618. (WebCore::JSXMLHttpRequestConstructor::construct):
  34619. * bindings/js/JSXMLHttpRequest.h: Renamed JSXMLHttpRequestConstructorImp to
  34620. JSXMLHttpRequestConstructor and doc to m_document and
  34621. (WebCore::JSXMLHttpRequestConstructor::classInfo): Added.
  34622. * bindings/js/JSXSLTProcessor.cpp:
  34623. (WebCore::): Renamed XSLTProcessorPrototype to JSXSLTProcessorPrototype and
  34624. XSLTProcessorConstructorImp to JSXSLTProcessorConstructor.
  34625. (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
  34626. (WebCore::JSXSLTProcessorConstructor::implementsConstruct):
  34627. (WebCore::JSXSLTProcessorConstructor::construct):
  34628. * bindings/js/JSXSLTProcessor.h:
  34629. (WebCore::JSXSLTProcessorConstructor::classInfo): Added.
  34630. * bindings/js/kjs_window.cpp:
  34631. (WebCore::JSDOMWindowBase::getValueProperty): Fixed to work with the new class names.
  34632. 2008-03-04 Dan Bernstein <mitz@apple.com>
  34633. Reviewed by Oliver Hunt and Geoffrey Garen.
  34634. - fix http://bugs.webkit.org/show_bug.cgi?id=17667
  34635. <rdar://problem/5779658> REGRESSION (r30587): Document::implicitClose() not called when done loading page (Image does not get scaled to fit)
  34636. * loader/loader.cpp:
  34637. (WebCore::Loader::didFinishLoading): Changed to call
  34638. setLoadInProgress(false) even for 4xx errors, because that triggers
  34639. load completion check.
  34640. 2008-03-04 Adele Peterson <adele@apple.com>
  34641. Reviewed by Beth.
  34642. Fix for <rdar://problem/5779718> focus() does not work for anchor elements with no content
  34643. If an anchor has zero size, don't exclude it from being focusable from JS, just exclude it
  34644. from being keyboard focusable (using the tab key).
  34645. * html/HTMLAnchorElement.cpp:
  34646. (WebCore::HTMLAnchorElement::isFocusable):
  34647. (WebCore::HTMLAnchorElement::isKeyboardFocusable):
  34648. 2008-03-04 Chris Fleizach <cfleizach@apple.com>
  34649. Reviewed by Darin Adler.
  34650. - fix <rdar://problem/5119360> ER - Seed: Google results do not have AXHeading information
  34651. * page/mac/WebCoreAXObject.mm:
  34652. (headingLevel):
  34653. (-[WebCoreAXObject accessibilityIsIgnored]):
  34654. 2008-03-04 Sam Weinig <sam@webkit.org>
  34655. GTK+ build fix.
  34656. * GNUmakefile.am:
  34657. 2008-03-04 Sam Weinig <sam@webkit.org>
  34658. Reviewed by Darin Adler.
  34659. Remame ImageConstructorImp to JSImageConstructor and move it into its
  34660. own file.
  34661. * GNUmakefile.am:
  34662. * WebCore.pro:
  34663. * WebCore.vcproj/WebCore.vcproj:
  34664. * WebCore.xcodeproj/project.pbxproj:
  34665. * WebCoreSources.bkl:
  34666. * bindings/js/JSImageConstructor.cpp: Copied from bindings/js/kjs_html.cpp.
  34667. (WebCore::JSImageConstructor::JSImageConstructor):
  34668. (WebCore::JSImageConstructor::construct):
  34669. * bindings/js/JSImageConstructor.h: Copied from bindings/js/kjs_html.h.
  34670. * bindings/js/kjs_html.cpp:
  34671. (WebCore::getRuntimeObject): Make this function static since it is only used
  34672. in this file.
  34673. * bindings/js/kjs_html.h:
  34674. * bindings/js/kjs_window.cpp:
  34675. (WebCore::JSDOMWindowBase::getValueProperty):
  34676. 2008-03-04 Adam Roben <aroben@apple.com>
  34677. Fix an uninitialized value warning in CodeGeneratorJS.pm
  34678. * bindings/scripts/CodeGeneratorJS.pm: Remove reference to
  34679. non-existent $maybeOkParam (this was removed in r30753).
  34680. 2008-03-04 Sam Weinig <sam@webkit.org>
  34681. Reviewed by Darin Adler.
  34682. Remove kjs_dom.{h,cpp}.
  34683. - Removed custom toAttr, which took a boolean ok, and teach CodeGeneratorJS.pm
  34684. to us a null return value as an indication of failure. (This new logic is used
  34685. for toVoidCallback as well.)
  34686. - Move getRuntimeObject to kjs_html where a bunch of other runtime object related
  34687. functions currently live.
  34688. - Move checkNodeSecurity to kjs_binding, where other frame security functions
  34689. currently live.
  34690. - Remove getNodeConstructor. It had no implementation.
  34691. * GNUmakefile.am:
  34692. * WebCore.pro:
  34693. * WebCore.vcproj/WebCore.vcproj:
  34694. * WebCore.xcodeproj/project.pbxproj:
  34695. * WebCoreSources.bkl:
  34696. * bindings/js/JSAttrCustom.cpp:
  34697. * bindings/js/JSCustomVoidCallback.cpp:
  34698. (WebCore::toVoidCallback):
  34699. * bindings/js/JSCustomVoidCallback.h:
  34700. * bindings/js/JSDatabaseCustom.cpp:
  34701. (WebCore::JSDatabase::changeVersion):
  34702. (WebCore::JSDatabase::transaction):
  34703. * bindings/js/JSElementCustom.cpp:
  34704. (WebCore::JSElement::setAttributeNode):
  34705. (WebCore::JSElement::setAttributeNodeNS):
  34706. * bindings/js/JSEventTargetBase.cpp:
  34707. (WebCore::toJS):
  34708. * bindings/js/JSEventTargetBase.h:
  34709. * bindings/js/JSHTMLAppletElementCustom.cpp:
  34710. * bindings/js/JSHTMLElementCustom.cpp:
  34711. * bindings/js/JSHTMLEmbedElementCustom.cpp:
  34712. * bindings/js/JSHTMLFormElementCustom.cpp:
  34713. * bindings/js/JSHTMLFrameElementCustom.cpp:
  34714. * bindings/js/JSHTMLIFrameElementCustom.cpp:
  34715. * bindings/js/JSHTMLObjectElementCustom.cpp:
  34716. * bindings/js/JSNamedNodeMapCustom.cpp:
  34717. * bindings/js/JSNamedNodesCollection.cpp:
  34718. * bindings/js/JSNodeFilterCustom.cpp:
  34719. * bindings/js/JSXSLTProcessor.cpp:
  34720. * bindings/js/kjs_binding.cpp:
  34721. (WebCore::checkNodeSecurity):
  34722. * bindings/js/kjs_binding.h:
  34723. * bindings/js/kjs_css.cpp:
  34724. * bindings/js/kjs_dom.cpp: Removed.
  34725. * bindings/js/kjs_dom.h: Removed.
  34726. * bindings/js/kjs_events.cpp:
  34727. * bindings/js/kjs_html.cpp:
  34728. (WebCore::getRuntimeObject):
  34729. * bindings/js/kjs_html.h:
  34730. * bindings/js/kjs_window.cpp:
  34731. * bindings/scripts/CodeGeneratorJS.pm:
  34732. * dom/Attr.idl:
  34733. * html/HTMLPlugInElement.cpp:
  34734. * page/InspectorController.cpp:
  34735. 2008-03-04 Adam Roben <aroben@apple.com>
  34736. Win/Qt/GTK+/wx build fix after r30740
  34737. * editing/Editor.cpp: Added missing #include.
  34738. * page/qt/FrameQt.cpp: Removed Frame::dashboardRegionsChanged.
  34739. * page/win/FrameWin.cpp: Ditto.
  34740. * platform/wx/TemporaryLinkStubs.cpp: Ditto.
  34741. 2008-03-04 Alp Toker <alp@atoker.com>
  34742. GTK+ build fix for breakage introduced in r30740.
  34743. Remove Frame::dashboardRegionsChanged(). There's now a default
  34744. implementation at ChromeClient::dashboardRegionsChanged().
  34745. * page/gtk/FrameGtk.cpp:
  34746. 2008-03-04 Alp Toker <alp@atoker.com>
  34747. GTK+ build fix suggested by aroben. Remove an unused Mac-specific
  34748. included introduced in r30740.
  34749. * page/ChromeClient.h:
  34750. 2008-03-04 Dan Bernstein <mitz@apple.com>
  34751. Reviewed by Sam Weinig.
  34752. - fix <rdar://problem/5622336> Burmese text does not render on http://www.myanmarbible.com/bible/Judson/html/index.html
  34753. Test: platform/win/fast/text/uniscribe-missing-glyph.html
  34754. Note that default installations of Windows do not have Myanmar fonts.
  34755. What this patch does is ensure that the Myanmar and other complex
  34756. scripts are rendered as missing glyphs rather than not rendered at all.
  34757. The particular page in the bug measures the relative widths of two
  34758. rendered strings and, if they are rendered as missing glyphs, detects
  34759. that a Myanmar fonts is not available and substitutes the text with
  34760. images. By not rendering (and measuring) missing glyphs, WebKit was
  34761. throwing the page's detection code off.
  34762. * platform/graphics/win/UniscribeController.cpp:
  34763. (WebCore::UniscribeController::shape): Removed an early return in case
  34764. shaping resulted in missing glyphs. This is now expected if font
  34765. fallback failed to produce a font containing glyphs for the character.
  34766. Also changed two resize()s to shrink()s.
  34767. 2008-03-04 Darin Adler <darin@apple.com>
  34768. Reviewed by Adam.
  34769. - remove WebCoreFrameBridge reapplyStyles method
  34770. * WebCore.base.exp: Added exports.
  34771. * page/mac/WebCoreFrameBridge.h: Removed WebCoreDeviceType and
  34772. reapplyStylesForDeviceType: method.
  34773. * page/mac/WebCoreFrameBridge.mm: Ditto.
  34774. 2008-03-04 Darin Adler <darin@apple.com>
  34775. Reviewed by Adam.
  34776. - eliminate WebCoreFrameBridge createFrameViewWithNSView
  34777. * WebCore.base.exp: Added some more exports.
  34778. * page/mac/WebCoreFrameBridge.h: Deleted createFrameViewWithNSView.
  34779. * page/mac/WebCoreFrameBridge.mm: Ditto.
  34780. 2008-03-04 Darin Adler <darin@apple.com>
  34781. Reviewed by Adam.
  34782. - removed WebCoreFrameBridge scrollOverflowInDirection
  34783. * WebCore.base.exp: Export function needed by WebKit.
  34784. * page/mac/WebCoreFrameBridge.h: Removed WebScrollDirection, WebScrollGranularity,
  34785. and scrollOverflowInDirection.
  34786. * page/mac/WebCoreFrameBridge.mm: Removed method.
  34787. 2008-03-04 Darin Adler <darin@apple.com>
  34788. Reviewed by Adam.
  34789. - remove WebCoreFrameBridge installInFrame: method
  34790. * WebCore.base.exp: Export a few symbols.
  34791. * WebCore.xcodeproj/project.pbxproj: Export a few files.
  34792. * page/mac/WebCoreFrameBridge.h: Remove installInFrame:.
  34793. * page/mac/WebCoreFrameBridge.mm: Ditto.
  34794. 2008-03-04 Darin Adler <darin@apple.com>
  34795. Reviewed by Adam.
  34796. - remove WebCoreFrameBridge window method
  34797. * page/mac/EventHandlerMac.mm:
  34798. (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking): Get the window by calling
  34799. window on the NSView instead of using the bridge. The WebKit side wasn't doing anything
  34800. special, so a call to -[NSView window] is fine.
  34801. * page/mac/WebCoreFrameBridge.h: Removed the window method.
  34802. 2008-03-04 Darin Adler <darin@apple.com>
  34803. Reviewed by Adam.
  34804. - remove -[WebCoreFrameBridge dashboardRegionsChanged:]
  34805. * WebCore.base.exp: Updated.
  34806. * page/Chrome.cpp:
  34807. (WebCore::ChromeClient::dashboardRegionsChanged): Added.
  34808. * page/ChromeClient.h: Added virtual function for dashboardRegionsChanged.
  34809. * page/Frame.h: Removed dashboardRegionsChanged function.
  34810. * page/FrameView.cpp:
  34811. (WebCore::FrameView::updateDashboardRegions): Changed to call dashboardRegionsChanged
  34812. on ChromeClient and to only call it when the regions actually changed.
  34813. * page/mac/FrameMac.mm: Removed dashboardRegionsChanged function.
  34814. * page/mac/WebCoreFrameBridge.h: Removed dashboardRegionsChanged: method.
  34815. 2008-03-04 Darin Adler <darin@apple.com>
  34816. Reviewed by Adam.
  34817. - remove WebCoreFrameBridge issuePasteComand method
  34818. * editing/Editor.cpp:
  34819. (WebCore::Editor::paste): Moved the Mac-specific part of this to EditorMac.
  34820. * editing/mac/EditorMac.mm:
  34821. (WebCore::Editor::paste): Added. Calls paste: on the document view (normally a
  34822. WebHTMLView). We should get rid of this eventually.
  34823. * page/Frame.h: Removed issuePasteCommand.
  34824. * page/mac/FrameMac.mm: Ditto.
  34825. * page/mac/WebCoreFrameBridge.h: Ditto.
  34826. 2008-03-04 Alexey Proskuryakov <ap@webkit.org>
  34827. Suggested by Darin, rubber-stamped by Mark.
  34828. http://bugs.webkit.org/show_bug.cgi?id=17569
  34829. REGRESSION (r30571): Buzzword.com doesn't load
  34830. Rolling out r30571, as determining what is wrong with it proved tricky.
  34831. * loader/FrameLoader.cpp:
  34832. (WebCore::FrameLoader::load):
  34833. (WebCore::FrameLoader::tokenizerProcessedData):
  34834. (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
  34835. 2008-03-04 Sam Weinig <sam@webkit.org>
  34836. Build fix.
  34837. * bindings/js/kjs_events.cpp:
  34838. 2008-03-03 Sam Weinig <sam@webkit.org>
  34839. Reviewed by Mark Rowe.
  34840. Move JSClipboard into its own file.
  34841. * DerivedSources.make:
  34842. * GNUmakefile.am:
  34843. * WebCore.pro:
  34844. * WebCore.vcproj/WebCore.vcproj:
  34845. * WebCore.xcodeproj/project.pbxproj:
  34846. * WebCoreSources.bkl:
  34847. * bindings/js/JSAttrCustom.cpp:
  34848. * bindings/js/JSClipboardCustom.cpp: Added.
  34849. (WebCore::JSClipboard::types):
  34850. (WebCore::JSClipboard::clearData):
  34851. (WebCore::JSClipboard::getData):
  34852. (WebCore::JSClipboard::setData):
  34853. (WebCore::JSClipboard::setDragImage):
  34854. * bindings/js/JSElementCustom.cpp:
  34855. * bindings/js/JSEventCustom.cpp:
  34856. * bindings/js/JSHTMLFrameElementCustom.cpp:
  34857. * bindings/js/JSHTMLIFrameElementCustom.cpp:
  34858. * bindings/js/kjs_events.cpp:
  34859. * bindings/js/kjs_events.h:
  34860. * bindings/js/kjs_window.cpp:
  34861. * bindings/scripts/CodeGeneratorJS.pm:
  34862. * dom/Clipboard.cpp:
  34863. (WebCore::Clipboard::setDropEffect):
  34864. (WebCore::Clipboard::setEffectAllowed):
  34865. * dom/Clipboard.idl: Added.
  34866. 2008-03-03 Sam Weinig <sam@webkit.org>
  34867. Windows build-fix.
  34868. * page/Chrome.cpp:
  34869. * plugins/win/PluginViewWin.cpp:
  34870. 2008-03-03 Sam Weinig <sam@webkit.org>
  34871. Reviewed by Darin Adler.
  34872. Cleanup and plumbing in preparation for the great Window split.
  34873. - Rename KJS::Window to WebCore::JSDOMWindowBase.
  34874. - Remove KJS::Window::retrieve() and KJS::Window::retrieveWindow() and replace
  34875. with the new toJSDOMWindow().
  34876. - Remove KJS::Window::retrieveActive() and replace with explicit call to
  34877. exec->dynamicGlobalObject() and toJSDOMWindow().
  34878. * bindings/js/JSCustomVoidCallback.cpp:
  34879. (WebCore::toVoidCallback):.
  34880. * bindings/js/JSCustomXPathNSResolver.cpp:
  34881. (WebCore::JSCustomXPathNSResolver::create):
  34882. * bindings/js/JSDatabaseCustom.cpp:
  34883. (WebCore::JSDatabase::changeVersion):
  34884. (WebCore::JSDatabase::transaction):
  34885. * bindings/js/JSDocumentCustom.cpp:
  34886. (WebCore::JSDocument::location):
  34887. (WebCore::toJS):
  34888. * bindings/js/JSEventTargetBase.cpp:
  34889. (WebCore::jsEventTargetAddEventListener):
  34890. (WebCore::jsEventTargetRemoveEventListener):
  34891. * bindings/js/JSEventTargetNode.cpp:
  34892. (WebCore::JSEventTargetNode::setListener):
  34893. * bindings/js/JSHTMLDocumentCustom.cpp:
  34894. (WebCore::JSHTMLDocument::nameGetter):
  34895. (WebCore::JSHTMLDocument::open):
  34896. * bindings/js/JSHTMLFrameSetElementCustom.cpp:
  34897. (WebCore::JSHTMLFrameSetElement::nameGetter):
  34898. * bindings/js/JSLocation.cpp:
  34899. (WebCore::JSLocation::put):
  34900. (WebCore::jsLocationProtoFuncReplace):
  34901. (WebCore::jsLocationProtoFuncReload):
  34902. (WebCore::jsLocationProtoFuncAssign):
  34903. * bindings/js/JSLocation.h:
  34904. * bindings/js/JSSQLTransactionCustom.cpp:
  34905. (WebCore::JSSQLTransaction::executeSql):
  34906. * bindings/js/JSSVGLazyEventListener.cpp:
  34907. (WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener):
  34908. (WebCore::JSSVGLazyEventListener::eventParameterName):
  34909. * bindings/js/JSSVGLazyEventListener.h:
  34910. * bindings/js/JSXMLHttpRequest.cpp:
  34911. (WebCore::JSXMLHttpRequest::putValueProperty):
  34912. (WebCore::jsXMLHttpRequestPrototypeFunctionOpen):
  34913. (WebCore::jsXMLHttpRequestPrototypeFunctionAddEventListener):
  34914. (WebCore::jsXMLHttpRequestPrototypeFunctionRemoveEventListener):
  34915. * bindings/js/ScheduledAction.cpp:
  34916. (WebCore::ScheduledAction::execute):
  34917. * bindings/js/ScheduledAction.h:
  34918. * bindings/js/kjs_binding.cpp:
  34919. (WebCore::allowsAccessFromFrame):
  34920. (WebCore::printErrorMessageForFrame):
  34921. * bindings/js/kjs_events.cpp:
  34922. (WebCore::JSAbstractEventListener::handleEvent):
  34923. (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
  34924. (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
  34925. (WebCore::JSUnprotectedEventListener::windowObj):
  34926. (WebCore::JSEventListener::JSEventListener):
  34927. (WebCore::JSEventListener::~JSEventListener):
  34928. (WebCore::JSEventListener::windowObj):
  34929. (WebCore::JSLazyEventListener::JSLazyEventListener):
  34930. (WebCore::JSLazyEventListener::parseCode):
  34931. * bindings/js/kjs_events.h:
  34932. * bindings/js/kjs_navigator.cpp:
  34933. (WebCore::MimeType::getValueProperty):
  34934. * bindings/js/kjs_proxy.cpp:
  34935. (WebCore::KJSProxy::evaluate):
  34936. (WebCore::KJSProxy::createHTMLEventHandler):
  34937. (WebCore::KJSProxy::createSVGEventHandler):
  34938. * bindings/js/kjs_window.cpp:
  34939. (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate):
  34940. (WebCore::DOMWindowTimer::DOMWindowTimer):
  34941. (WebCore::DOMWindowTimer::action):
  34942. (WebCore::DOMWindowTimer::takeAction):
  34943. (WebCore::JSDOMWindowBase::JSDOMWindowBase):
  34944. (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
  34945. (WebCore::JSDOMWindowBase::location):
  34946. (WebCore::JSDOMWindowBase::mark):
  34947. (WebCore::allowPopUp):
  34948. (WebCore::createWindow):
  34949. (WebCore::showModalDialog):
  34950. (WebCore::JSDOMWindowBase::getValueProperty):
  34951. (WebCore::JSDOMWindowBase::childFrameGetter):
  34952. (WebCore::JSDOMWindowBase::indexGetter):
  34953. (WebCore::JSDOMWindowBase::namedItemGetter):
  34954. (WebCore::JSDOMWindowBase::getOwnPropertySlot):
  34955. (WebCore::JSDOMWindowBase::put):
  34956. (WebCore::JSDOMWindowBase::allowsAccessFrom):
  34957. (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
  34958. (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
  34959. (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
  34960. (WebCore::JSDOMWindowBase::printErrorMessage):
  34961. (WebCore::JSDOMWindowBase::globalExec):
  34962. (WebCore::JSDOMWindowBase::shouldInterruptScript):
  34963. (WebCore::JSDOMWindowBase::setListener):
  34964. (WebCore::JSDOMWindowBase::getListener):
  34965. (WebCore::JSDOMWindowBase::findJSEventListener):
  34966. (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
  34967. (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
  34968. (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
  34969. (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
  34970. (WebCore::JSDOMWindowBase::clear):
  34971. (WebCore::JSDOMWindowBase::setCurrentEvent):
  34972. (WebCore::JSDOMWindowBase::currentEvent):
  34973. (WebCore::windowProtoFuncAToB):
  34974. (WebCore::windowProtoFuncBToA):
  34975. (WebCore::windowProtoFuncOpen):
  34976. (WebCore::windowProtoFuncSetTimeout):
  34977. (WebCore::windowProtoFuncClearTimeout):
  34978. (WebCore::windowProtoFuncSetInterval):
  34979. (WebCore::windowProtoFuncAddEventListener):
  34980. (WebCore::windowProtoFuncRemoveEventListener):
  34981. (WebCore::windowProtoFuncShowModalDialog):
  34982. (WebCore::windowProtoFuncNotImplemented):
  34983. (WebCore::JSDOMWindowBase::setReturnValueSlot):
  34984. (WebCore::JSDOMWindowBase::clearAllTimeouts):
  34985. (WebCore::JSDOMWindowBase::installTimeout):
  34986. (WebCore::JSDOMWindowBase::pauseTimeouts):
  34987. (WebCore::JSDOMWindowBase::resumeTimeouts):
  34988. (WebCore::JSDOMWindowBase::clearTimeout):
  34989. (WebCore::JSDOMWindowBase::timerFired):
  34990. (WebCore::JSDOMWindowBase::disconnectFrame):
  34991. (WebCore::JSDOMWindowBase::jsEventListeners):
  34992. (WebCore::JSDOMWindowBase::jsHTMLEventListeners):
  34993. (WebCore::JSDOMWindowBase::jsUnprotectedEventListeners):
  34994. (WebCore::JSDOMWindowBase::jsUnprotectedHTMLEventListeners):
  34995. (WebCore::toJS):
  34996. (WebCore::toJSDOMWindow):
  34997. (WebCore::toJSDOMWindow):
  34998. * bindings/js/kjs_window.h:
  34999. (WebCore::JSDOMWindowBase::impl):
  35000. (WebCore::JSDOMWindowBase::classInfo):
  35001. (WebCore::JSDOMWindowBase::):
  35002. * bindings/objc/DOMUtility.mm:
  35003. (KJS::createDOMWrapper):
  35004. * bindings/scripts/CodeGeneratorJS.pm:
  35005. * history/CachedPage.cpp:
  35006. (WebCore::CachedPage::CachedPage):
  35007. (WebCore::CachedPage::restore):
  35008. * page/Chrome.cpp:
  35009. (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
  35010. (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
  35011. * page/DOMWindow.idl:
  35012. * page/Frame.cpp:
  35013. (WebCore::Frame::~Frame):
  35014. (WebCore::Frame::windowScriptNPObject):
  35015. (WebCore::Frame::pageDestroyed):
  35016. * page/InspectorController.cpp:
  35017. (WebCore::inspectedWindow):
  35018. * page/mac/FrameMac.mm:
  35019. (WebCore::Frame::windowScriptObject):
  35020. * page/mac/WebCoreFrameBridge.mm:
  35021. (updateRenderingForBindings):
  35022. * platform/SecurityOrigin.cpp:
  35023. (WebCore::SecurityOrigin::canAccess):
  35024. 2008-03-03 Kevin Ollivier <kevino@theolliviers.com>
  35025. wx build fixes after recent Frame-related changes.
  35026. * platform/wx/PasteboardWx.cpp:
  35027. * platform/wx/TemporaryLinkStubs.cpp:
  35028. 2008-03-03 Dan Bernstein <mitz@apple.com>
  35029. Reviewed by Darin Adler.
  35030. - make :first-letter apply to the first letter in normal flow, skipping
  35031. floats and positioned objects
  35032. Test: fast/css/first-letter-skip-out-of-flow.html
  35033. * rendering/RenderBlock.cpp:
  35034. (WebCore::RenderBlock::updateFirstLetter):
  35035. 2008-03-03 Ada Chan <adachan@apple.com>
  35036. Fix build.
  35037. * plugins/win/PluginViewWin.cpp:
  35038. 2008-03-03 Mark Rowe <mrowe@apple.com>
  35039. Reviewed by Dan Bernstein.
  35040. Fix http://bugs.webkit.org/show_bug.cgi?id=17313
  35041. Bug 17313: querySelectorAll() causing crashes when called via dojo.query() wrapper
  35042. Node::querySelector and SelectorNodeList were not sufficiently initializing the CSSStyleSelector
  35043. before using it to resolve styles, which lead to it having a stale m_style member in some situations.
  35044. This stale m_style member resulted in a wild store that would write over whatever object now resided
  35045. at the location m_style pointed to.
  35046. Test: fast/dom/SelectorAPI/bug-17313.html
  35047. * dom/Node.cpp:
  35048. (WebCore::Node::querySelector): Call initForStyleResolve to further initialize the CSSStyleSelector.
  35049. * dom/SelectorNodeList.cpp:
  35050. (WebCore::SelectorNodeList::SelectorNodeList): Ditto.
  35051. 2008-03-03 Anders Carlsson <andersca@apple.com>
  35052. Reviewed by Darin and Sam.
  35053. Include fixes, in preparation of using the headers in WebCore/bridge.
  35054. * bindings/js/kjs_binding.h:
  35055. * bindings/js/kjs_dom.cpp:
  35056. * bindings/objc/DOMInternal.mm:
  35057. * bindings/objc/DOMUtility.mm:
  35058. * bindings/objc/WebScriptObject.mm:
  35059. * bindings/objc/WebScriptObjectPrivate.h:
  35060. * bridge/objc/objc_class.h:
  35061. * bridge/objc/objc_instance.h:
  35062. * bridge/objc/objc_runtime.h:
  35063. * bridge/objc/objc_utility.h:
  35064. * bridge/runtime.h:
  35065. * bridge/runtime_object.h:
  35066. * bridge/runtime_root.h:
  35067. * html/HTMLAppletElement.cpp:
  35068. * html/HTMLAppletElement.h:
  35069. * html/HTMLEmbedElement.cpp:
  35070. * html/HTMLEmbedElement.h:
  35071. * html/HTMLObjectElement.cpp:
  35072. * html/HTMLPlugInElement.cpp:
  35073. * html/HTMLPlugInElement.h:
  35074. * page/mac/FrameMac.mm:
  35075. * page/mac/WebCoreFrameBridge.h:
  35076. * page/mac/WebCoreFrameBridge.mm:
  35077. * page/mac/WebCoreScriptDebugger.mm:
  35078. 2008-03-03 David Hyatt <hyatt@apple.com>
  35079. Full page zoom plumbing. Add a notion of whether or not a zoom is text only or a full zoom to the
  35080. Frame. setTextSizeMultiplier does a text only zoom.
  35081. Reviewed by Tim H.
  35082. * page/Frame.cpp:
  35083. (WebCore::Frame::zoomFactor):
  35084. (WebCore::Frame::isZoomFactorTextOnly):
  35085. (WebCore::Frame::setZoomFactor):
  35086. (WebCore::FramePrivate::FramePrivate):
  35087. * page/Frame.h:
  35088. * page/FramePrivate.h:
  35089. * page/mac/WebCoreFrameBridge.mm:
  35090. (-[WebCoreFrameBridge setTextSizeMultiplier:]):
  35091. * svg/SVGSVGElement.cpp:
  35092. (WebCore::SVGSVGElement::setCurrentScale):
  35093. 2008-03-03 David Hyatt <hyatt@apple.com>
  35094. Fix for <rdar://problem/5776161> REGRESSION: Google Docs Spreadsheet crash
  35095. This is also http://bugs.webkit.org/show_bug.cgi?id=17543, fixed table layout corrupts heap.
  35096. Make sure not to access position -1 of the size 0 vectors.
  35097. Reviewed by ggaren
  35098. * rendering/FixedTableLayout.cpp:
  35099. (WebCore::FixedTableLayout::layout):
  35100. 2008-03-03 David D. Kilzer <ddkilzer@webkit.org>
  35101. Dynamically inserting CSS rule with @media query fails with DOM Exception 12
  35102. <http://bugs.webkit.org/show_bug.cgi?id=15986>
  35103. Reviewed by Darin.
  35104. Allow any valid rule (@font-face, @import, @media, @page or style) to be
  35105. parsed when using CSSStyleSheet.insertRule(). Previously only import and
  35106. style rules were allowed. Note that @page rules always throw an exception
  35107. because they're not implemented yet, so no test case was added for them.
  35108. Tests: fast/css/insertRule-font-face.html
  35109. fast/css/insertRule-media.html
  35110. * css/CSSGrammar.y: Extracted 'valid_rule' out of 'rule'. Renamed
  35111. 'ruleset_or_import' to 'valid_rule_or_import' and changed its definition.
  35112. 2008-03-03 Anders Carlsson <andersca@apple.com>
  35113. Reviewed by Sam.
  35114. Copy JSC bindings directory over to WebCore/bridge.
  35115. * bridge: Copied from ../JavaScriptCore/bindings.
  35116. 2008-03-03 Dan Bernstein <mitz@apple.com>
  35117. Reviewed by Darin Adler.
  35118. - remove CSSMutableStyleDeclaration::setChanged()'s change type
  35119. parameter
  35120. * css/CSSMutableStyleDeclaration.cpp:
  35121. (WebCore::CSSMutableStyleDeclaration::setChanged): Removed the change
  35122. type parameter and made this function determine the correct change type
  35123. based on whether this is an inline style declaration.
  35124. (WebCore::CSSMutableStyleDeclaration::setProperty):
  35125. * css/CSSMutableStyleDeclaration.h:
  35126. (WebCore::CSSMutableStyleDeclaration::clear): Removed this unused
  35127. method.
  35128. (WebCore::CSSMutableStyleDeclaration::setChanged): Made private.
  35129. 2008-03-03 Darin Adler <darin@apple.com>
  35130. Reviewed by Adam.
  35131. - some "cleanup" on the path to removing WebCoreFrameBridge
  35132. * WebCore.base.exp: Exported some stuff we either already use or
  35133. I am about to use in an upcoming patch.
  35134. * WebCore.xcodeproj/project.pbxproj: Made FileChooser.h private rather
  35135. than project, for future use in WebKit.
  35136. * bindings/objc/WebScriptObject.mm: Removed some dead code.
  35137. * dom/ContainerNode.cpp: Added a now-needed or soon-to-be-needed include.
  35138. * editing/Editor.cpp: Ditto.
  35139. * editing/Editor.h: Removed many unneeded declarations and includes.
  35140. Removed the unused userVisibleString function.
  35141. * editing/EditorCommand.cpp:
  35142. (WebCore::executeYank): Added parameter for triggeringEvent, which no
  35143. longer has a default value.
  35144. (WebCore::executeYankAndSelect): Ditto.
  35145. * editing/mac/EditorMac.mm: Removed userVisibleString.
  35146. * page/mac/EventHandlerMac.mm:
  35147. (WebCore::isKeyboardOptionTab): Tweaked formattin.
  35148. * page/mac/WebCoreFrameBridge.mm:
  35149. (-[WebCoreFrameBridge dragSourceMovedTo:]): Get window from -[NSView window]
  35150. rather than from the bridge. There's no special value in the bridge's window
  35151. method and we can use NSView directly.
  35152. (-[WebCoreFrameBridge dragSourceEndedAt:operation:]): Ditto.
  35153. * platform/graphics/mac/ImageMac.mm:
  35154. (WebCore::Image::loadPlatformResource): Use a new WebCoreBundleFinder class to
  35155. find the bundle rather than using WebCoreFrameBridge.
  35156. * platform/mac/ClipboardMac.mm: Added a now-needed or soon-to-be-needed include.
  35157. * platform/mac/PasteboardMac.mm: Ditto.
  35158. * rendering/RenderObject.h:
  35159. (WebCore::DashboardRegionValue::operator==): Fixed mistake where this wasn't
  35160. comparing the clip rectangle.
  35161. (WebCore::DashboardRegionValue::operator!=): Added. Needed by my future work.
  35162. 2008-03-03 Oliver Hunt <oliver@apple.com>
  35163. Reviewed by Mark Rowe.
  35164. Bug 17620: getImageData lies
  35165. http://bugs.webkit.org/show_bug.cgi?id=17620
  35166. Correct logic to actually iterate over the source row
  35167. * platform/graphics/cg/ImageBufferCG.cpp:
  35168. (WebCore::ImageBuffer::getImageData):
  35169. 2008-03-03 Oliver Hunt <oliver@apple.com>
  35170. Reviewed by Mark Rowe.
  35171. Correct incorrect assertion
  35172. * platform/graphics/cg/ImageBufferCG.cpp:
  35173. (WebCore::ImageBuffer::putImageData):
  35174. 2008-03-02 Alp Toker <alp@atoker.com>
  35175. Another fix for non-database builds after changes in r30331.
  35176. Conditionalize a stopDatabases() call.
  35177. * loader/FrameLoader.cpp:
  35178. (WebCore::FrameLoader::stopLoading):
  35179. 2008-03-02 Kevin Ollivier <kevino@theolliviers.com>
  35180. Reviewed by Alp Toker.
  35181. Scrolling fixes. Implement page scrolling, initialize mouse wheel
  35182. event variables, and remove duplicate event binding for TOP
  35183. scrolling event.
  35184. http://bugs.webkit.org/show_bug.cgi?id=17643
  35185. * platform/wx/MouseWheelEventWx.cpp:
  35186. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  35187. * platform/wx/ScrollViewWx.cpp:
  35188. (WebCore::ScrollView::ScrollViewPrivate::bindEvents):
  35189. (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
  35190. 2008-03-02 Alp Toker <alp@atoker.com>
  35191. Fix building without database support after changes in r30331.
  35192. * dom/Document.cpp:
  35193. 2008-03-02 Kevin Ollivier <kevino@theolliviers.com>
  35194. wx build fix for Windows after PageWin.cpp move.
  35195. * webcore-wx.bkl:
  35196. 2008-03-02 Kevin Ollivier <kevino@theolliviers.com>
  35197. Reviewed by Dave Hyatt.
  35198. Gracefully handle a CSS rule containing an invalid value.
  35199. (Fixes http://bugs.webkit.org/show_bug.cgi?id=16898)
  35200. * css/CSSGrammar.y:
  35201. 2008-03-02 Alp Toker <alp@atoker.com>
  35202. Reviewed by Mark Rowe.
  35203. Improve the Cairo Path::isEmpty() function
  35204. Use cairo_has_current_point() where available.
  35205. * platform/graphics/cairo/PathCairo.cpp:
  35206. (WebCore::Path::isEmpty):
  35207. 2008-03-01 Mark Rowe <mrowe@apple.com>
  35208. Reviewed by Tim Hatcher.
  35209. Update Xcode configuration to support building debug and release from the mysterious future.
  35210. * Configurations/DebugRelease.xcconfig:
  35211. 2008-03-01 Oliver Hunt <oliver@apple.com>
  35212. Reviewed by Sam Weinig.
  35213. Bug 16954: Support putImageData
  35214. Implement support for HTML5's putImageData for the CG port. All other ports
  35215. are currently just using stubs for the final blit.
  35216. Test: fast/canvas/canvas-putImageData.html
  35217. * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
  35218. (WebCore::JSCanvasRenderingContext2D::putImageData):
  35219. * html/CanvasRenderingContext2D.cpp:
  35220. (WebCore::CanvasRenderingContext2D::putImageData):
  35221. * html/CanvasRenderingContext2D.h:
  35222. * platform/graphics/ImageBuffer.h:
  35223. * platform/graphics/cairo/ImageBufferCairo.cpp:
  35224. * platform/graphics/cg/ImageBufferCG.cpp:
  35225. (WebCore::ImageBuffer::putImageData):
  35226. * platform/graphics/qt/ImageBufferQt.cpp:
  35227. * platform/graphics/wx/ImageBufferWx.cpp:
  35228. 2008-03-01 Jon Honeycutt <jhoneycutt@apple.com>
  35229. Reviewed by Darin.
  35230. <rdar://problem/5772987> Crashing viewing page with two VLC plug-in
  35231. instances
  35232. The VLC Netscape plug-in crashes if more than one instance is created.
  35233. Added a quirk that disallows a plug-in from having more than one
  35234. instance and set this for the VLC plug-in.
  35235. In addition, we now sort plug-ins that handle the same MIME
  35236. type to choose the most appropriate one. This sorting first sorts by
  35237. whether a plug-in has an issue that should put it at the end of the
  35238. list, then whether it appears in a "preferred" plug-in directory.
  35239. * plugins/PluginQuirkSet.h: Added PluginQuirkDontAllowMultipleInstances.
  35240. * plugins/PluginDatabase.cpp:
  35241. (WebCore::PluginDatabase::preferredPluginCompare): Comparator for
  35242. sorting plug-ins; calls PluginPackage::compare().
  35243. (WebCore::PluginDatabase::pluginForMIMEType): Add all of the plug-ins
  35244. that handle this MIME type to a list, sort the list, and return the
  35245. first item.
  35246. (WebCore::PluginDatabase::MIMETypeForExtension): Add all of the plug-ins
  35247. that handle this extension to a list, sort the list, and return the MIME
  35248. type used by the plug-in at the beginning of the list.
  35249. * plugins/PluginDatabase.h:
  35250. * plugins/PluginPackage.h:
  35251. (WebCore::PluginPackage::version): Added; returns the module version.
  35252. * plugins/win/PluginDatabaseWin.cpp:
  35253. (WebCore::PluginDatabase::isPreferredPluginPath): Made static; removed
  35254. const.
  35255. * plugins/win/PluginPackageWin.cpp:
  35256. (WebCore::PluginPackage::compare): Sorts plug-ins with known issues to
  35257. the end, then plug-ins in preferred directories to the beginning, then
  35258. alphabetically by file name, numerically by version, and alphabetically
  35259. by parent directory.
  35260. (WebCore::PluginPackage::determineQuirks): Set the "don't allow multiple
  35261. instances" quirk for VLC.
  35262. (WebCore::PluginPackage::load): Return false if the plug-in library has
  35263. already been loaded and the "don't allow multiple instances" quirk is
  35264. set.
  35265. * platform/gtk/TemporaryLinkStubs.cpp:
  35266. (PluginPackage::compare): Added stub.
  35267. (PluginDatabase::IsPreferredPluginPath): Update the GTK stub.
  35268. * platform/qt/TemporaryLinkStubs.cpp:
  35269. (PluginPackage::compare): Added stub.
  35270. (PluginDatabase::IsPreferredPluginPath): Update the Qt stub.
  35271. * platform/wx/TemporaryLinkStubs.cpp:
  35272. (PluginPackage::compare): Added stub.
  35273. (PluginDatabase::IsPreferredPluginPath): Update the wx stub.
  35274. 2008-03-01 Sam Weinig <sam@webkit.org>
  35275. Rubber-stamped by Mark Rowe.
  35276. Remove reference to the now non-existent bridge directory.
  35277. * WebCore.xcodeproj/project.pbxproj:
  35278. 2008-03-01 Sam Weinig <sam@webkit.org>
  35279. Reviewed by Darin Adler.
  35280. Search the entire prototype chain when doing early prototype lookup in
  35281. the Window's getOwnPropertySlot method.
  35282. Makes fast/dom/Window/window-function-name-getter-precedence.html pass all tests.
  35283. * bindings/js/kjs_window.cpp:
  35284. (KJS::Window::getOwnPropertySlot):
  35285. 2008-03-01 Nikolas Zimmermann <zimmermann@kde.org>
  35286. Reviewed by Oliver.
  35287. Fixes: http://bugs.webkit.org/show_bug.cgi?id=17568 (SVGForeignObjectElement can't react to width/height SVG DOM changes)
  35288. As the bug title says, fix all dynamic update problems that occour with SVGForeignObjectElement.
  35289. Tests: svg/dynamic-updates/SVGForeignObjectElement-dom-height-attr.html
  35290. svg/dynamic-updates/SVGForeignObjectElement-dom-width-attr.html
  35291. svg/dynamic-updates/SVGForeignObjectElement-dom-x-attr.html
  35292. svg/dynamic-updates/SVGForeignObjectElement-dom-y-attr.html
  35293. svg/dynamic-updates/SVGForeignObjectElement-svgdom-height-prop.html
  35294. svg/dynamic-updates/SVGForeignObjectElement-svgdom-width-prop.html
  35295. svg/dynamic-updates/SVGForeignObjectElement-svgdom-x-prop.html
  35296. svg/dynamic-updates/SVGForeignObjectElement-svgdom-y-prop.html
  35297. * svg/SVGForeignObjectElement.cpp:
  35298. (WebCore::SVGForeignObjectElement::parseMappedAttribute):
  35299. (WebCore::addCSSPropertyAndNotifyAttributeMap):
  35300. (WebCore::SVGForeignObjectElement::svgAttributeChanged):
  35301. * svg/SVGForeignObjectElement.h:
  35302. 2008-02-29 Brady Eidson <beidson@apple.com>
  35303. Reviewed by build-fix karma
  35304. Bonehead mistake. Revert function to previous version for all non-Windows+CFNetwork platforms
  35305. * platform/network/ProtectionSpace.cpp:
  35306. (WebCore::ProtectionSpace::receivesCredentialSecurely): Make my previous change conditionally
  35307. 2008-02-29 Brady Eidson <beidson@apple.com>
  35308. Reviewed by Darin
  35309. <rdar://problem/5771227> - Incorrect password handling text in credential sheet
  35310. * platform/network/ProtectionSpace.cpp:
  35311. (WebCore::ProtectionSpace::receivesCredentialSecurely): Call functional CFNetwork method to
  35312. get "secureness" of the auth challenge instead of figuring it out ourselves
  35313. 2008-02-29 Brent Fulgham <bfulgham@gmail.com>
  35314. http://bugs.webkit.org/show_bug.cgi?id=17483
  35315. Implement scrollbars on Windows (Cairo)
  35316. Reviewed by Adam Roben.
  35317. * platform/win/PlatfromScrollBarWin.cpp: Duplicate implementation
  35318. from PlatformScrollBarWinSafari.cpp, then modify to use the
  35319. native Windows theme engine. Use SOFT_LINK. Use platform
  35320. 'GetSystemMetrics' call to decide size of scrollbars and buttons.
  35321. 2008-02-29 Adam Roben <aroben@apple.com>
  35322. Windows build fix
  35323. * WebCore.vcproj/WebCore.vcproj: Remove bridge/* from the include path
  35324. and the post-build event, and add page/win to each. Also let VS have
  35325. its way with the order of the files.
  35326. * page/win/PageWin.cpp: Copied from bridge/win/PageWin.cpp in r30673
  35327. * page/win/GlobalHistoryWin.cpp: Copied from
  35328. bridge/win/GlobalHistoryWin.cpp in r30673
  35329. 2008-02-29 Anders Carlsson <andersca@apple.com>
  35330. Build fix.
  35331. * WebCore.xcodeproj/project.pbxproj:
  35332. 2008-02-29 Mark Rowe <mrowe@apple.com>
  35333. Reviewed by Tim Hatcher.
  35334. 64-bit build fix.
  35335. * platform/graphics/mac/SimpleFontDataMac.mm:
  35336. (WebCore::pathFromFont): Provide stub implementation of pathFromFont for 64-bit as
  35337. FMGetATSFontRefFromFont is not available.
  35338. 2008-02-29 Mark Rowe <mrowe@apple.com>
  35339. Build fix. Only declare pathFromFont in debug builds as it is unused in release builds.
  35340. * platform/graphics/mac/SimpleFontDataMac.mm:
  35341. 2008-02-29 Anders Carlsson <andersca@apple.com>
  35342. Reviewed by Adam.
  35343. Copy the remaining files in bridge/ over to page/
  35344. * WebCore.vcproj/WebCore.vcproj:
  35345. * WebCore.xcodeproj/project.pbxproj:
  35346. * bridge: Removed.
  35347. * bridge/AXObjectCache.h: Removed.
  35348. * bridge/EditorClient.h: Removed.
  35349. * bridge/GlobalHistory.h: Removed.
  35350. * bridge/win: Removed.
  35351. * bridge/win/FrameCGWin.cpp: Removed.
  35352. * bridge/win/FrameCairoWin.cpp: Removed.
  35353. * bridge/win/FrameWin.cpp: Removed.
  35354. * bridge/win/FrameWin.h: Removed.
  35355. * bridge/win/GlobalHistoryWin.cpp: Removed.
  35356. * bridge/win/PageWin.cpp: Removed.
  35357. * page/AXObjectCache.h: Copied from bridge/AXObjectCache.h.
  35358. * page/EditorClient.h: Copied from bridge/EditorClient.h.
  35359. * page/GlobalHistory.h: Copied from bridge/GlobalHistory.h.
  35360. * page/win/FrameCGWin.cpp: Copied from bridge/win/FrameCGWin.cpp.
  35361. * page/win/FrameCairoWin.cpp: Copied from bridge/win/FrameCairoWin.cpp.
  35362. * page/win/FrameWin.cpp: Copied from bridge/win/FrameWin.cpp.
  35363. * page/win/FrameWin.h: Copied from bridge/win/FrameWin.h.
  35364. 2008-02-29 Robert Blaut <webkit@blaut.biz>
  35365. Reviewed by Darin Adler.
  35366. - fix http://bugs.webkit.org/show_bug.cgi?id=17532
  35367. Webkit imports styles from <link> element which doesn't have rel=stylesheet defined
  35368. Test: fast/html/link-rel-stylesheet.html
  35369. * html/HTMLLinkElement.cpp:
  35370. (WebCore::HTMLLinkElement::process):
  35371. 2008-02-29 Mark Rowe <mrowe@apple.com>
  35372. Reviewed by Anders Carlsson.
  35373. Replace use of WKPathFromFont with implementation in terms of public API.
  35374. * WebCore.base.exp: Remove unused symbol.
  35375. * platform/graphics/mac/SimpleFontDataMac.mm:
  35376. (WebCore::initFontData):
  35377. (WebCore::pathFromFont): Implement pathFromFont in terms of public API.
  35378. (WebCore::SimpleFontData::platformInit):
  35379. * platform/mac/WebCoreSystemInterface.h: Remove unused symbol.
  35380. * platform/mac/WebCoreSystemInterface.mm: Ditto.
  35381. 2008-02-29 Anders Carlsson <andersca@apple.com>
  35382. Reviewed by Adam.
  35383. Move a bunch of files from bridge/mac to page/mac.
  35384. * WebCore.xcodeproj/project.pbxproj:
  35385. * bridge/mac: Removed.
  35386. * bridge/mac/AXObjectCacheMac.mm: Removed.
  35387. * bridge/mac/GlobalHistoryMac.mm: Removed.
  35388. * bridge/mac/WebCoreAXObject.h: Removed.
  35389. * bridge/mac/WebCoreAXObject.mm: Removed.
  35390. * bridge/mac/WebCoreScriptDebugger.h: Removed.
  35391. * bridge/mac/WebCoreScriptDebugger.mm: Removed.
  35392. * page/mac/AXObjectCacheMac.mm: Copied from bridge/mac/AXObjectCacheMac.mm.
  35393. * page/mac/GlobalHistoryMac.mm: Copied from bridge/mac/GlobalHistoryMac.mm.
  35394. * page/mac/WebCoreAXObject.h: Copied from bridge/mac/WebCoreAXObject.h.
  35395. * page/mac/WebCoreAXObject.mm: Copied from bridge/mac/WebCoreAXObject.mm.
  35396. * page/mac/WebCoreScriptDebugger.h: Copied from bridge/mac/WebCoreScriptDebugger.h.
  35397. * page/mac/WebCoreScriptDebugger.mm: Copied from bridge/mac/WebCoreScriptDebugger.mm.
  35398. 2008-02-29 David Hyatt <hyatt@apple.com>
  35399. Fix for http://bugs.webkit.org/show_bug.cgi?id=17559, media query tests crashing under
  35400. guard malloc. Pass along the style selector so it can be accessed, since it has not yet
  35401. been assigned into the document's member variable.
  35402. Reviewed by aroben
  35403. * css/CSSStyleSelector.cpp:
  35404. (WebCore::CSSRuleSet::addRulesFromSheet):
  35405. * css/MediaQueryEvaluator.cpp:
  35406. (WebCore::MediaQueryEvaluator::eval):
  35407. * css/MediaQueryEvaluator.h:
  35408. 2008-02-29 David Hyatt <hyatt@apple.com>
  35409. <rdar://problem/5755916> REGRESSION: Loading HTML5 spec is 5x slower on TOT than in 3.0.4
  35410. Improve the performance of dynamic sibling and CSS3 selectors so that there is no slowdown any more.
  35411. Be more precise in terms of what nodes we mark dirty.
  35412. Reviewed by Beth
  35413. * css/CSSStyleSelector.cpp:
  35414. (WebCore::CSSStyleSelector::checkSelector):
  35415. * dom/Element.cpp:
  35416. (WebCore::Element::recalcStyle):
  35417. (WebCore::checkForSiblingStyleChanges):
  35418. (WebCore::Element::childrenChanged):
  35419. (WebCore::Element::finishParsingChildren):
  35420. * rendering/RenderStyle.cpp:
  35421. (WebCore::RenderStyle::RenderStyle):
  35422. * rendering/RenderStyle.h:
  35423. (WebCore::RenderStyle::childrenAffectedByPositionalRules):
  35424. (WebCore::RenderStyle::childrenAffectedByDirectAdjacentRules):
  35425. (WebCore::RenderStyle::setChildrenAffectedByDirectAdjacentRules):
  35426. 2008-02-29 Alexey Proskuryakov <ap@webkit.org>
  35427. Reviewed by Darin.
  35428. <rdar://problem/5766352> REGRESSION (r27151): XMLHttpRequest.abort() resets response status
  35429. Test: http/tests/xmlhttprequest/status-after-abort.html
  35430. * xml/XMLHttpRequest.cpp:
  35431. (WebCore::XMLHttpRequest::getStatus):
  35432. (WebCore::XMLHttpRequest::getStatusText):
  35433. Changed to match Firefox more closely (IE just raises an exception in most of those cases).
  35434. 2008-02-29 Dan Bernstein <mitz@apple.com>
  35435. Reviewed by Darin Adler.
  35436. - fix a bug where explicit embedding past the end of a line could
  35437. affect text that line
  35438. Test: fast/text/embed-at-end-of-pre-wrap-line.html
  35439. * rendering/bidi.cpp:
  35440. (WebCore::RenderBlock::skipWhitespace): Removed calls to
  35441. setAdjustEmbedding().
  35442. (WebCore::RenderBlock::findNextLineBreak): Added calls to
  35443. setAdjustEmbedding() around skipWhitespace() only where needed.
  35444. 2008-02-29 Mark Rowe <mrowe@apple.com>
  35445. Reviewed by Oliver Hunt.
  35446. Don't use WKSupportsMultipartXMixedReplace on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest.
  35447. * platform/mac/WebCoreSystemInterface.h: Don't declare WKSupportsMultipartXMixedReplace on Leopard.
  35448. * platform/mac/WebCoreSystemInterface.mm: Ditto.
  35449. * platform/network/mac/ResourceRequestMac.mm:
  35450. (WebCore::ResourceRequest::doUpdatePlatformRequest): Don't call WKSupportsMultipartXMixedReplace on Leopard.
  35451. * WebCore.Tiger.exp: Move Tiger-only symbol here.
  35452. * WebCore.base.exp:
  35453. 2008-02-29 Mark Rowe <mrowe@apple.com>
  35454. Rubber-stamped by Eric Seidel.
  35455. Remove unneeded includes of WebCoreSystemInterface.h.
  35456. * loader/mac/LoaderNSURLExtras.m:
  35457. * page/mac/FrameMac.mm:
  35458. * page/mac/WebCoreFrameBridge.mm:
  35459. * platform/MIMETypeRegistry.cpp:
  35460. * platform/graphics/mac/ImageMac.mm:
  35461. * platform/mac/PasteboardMac.mm:
  35462. 2008-02-29 Mark Rowe <mrowe@apple.com>
  35463. Reviewed by Oliver Hunt and Oliver Hunt.
  35464. <rdar://problem/4753845> WebKit should use CGEventSourceSecondsSinceLastEventType in place of WKSecondsSinceLastInputEvent SPI.
  35465. * platform/mac/SystemTimeMac.cpp: Replace use of WKSecondsSinceLastInputEvent with CGEventSourceSecondsSinceLastEventType.
  35466. * platform/mac/WebCoreSystemInterface.h: Remove unused symbol.
  35467. * platform/mac/WebCoreSystemInterface.mm: Ditto.
  35468. * WebCore.base.exp: Ditto.
  35469. 2008-02-28 Mark Rowe <mrowe@apple.com>
  35470. Reviewed by Dave Hyatt.
  35471. Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.
  35472. * DerivedSources.make: Add Tiger-only symbols to the export file when running on Tiger.
  35473. * WebCore.Tiger.exp: Added. Move Tiger-only symbol here from WebCore.base.exp.
  35474. * WebCore.base.exp:
  35475. * platform/graphics/mac/SimpleFontDataMac.mm:
  35476. (WebCore::SimpleFontData::platformInit): Use Leopard APIs when building on Leopard.
  35477. * platform/mac/WebCoreSystemInterface.h: Don't declare wkGetFontMetrics on Leopard as it is unused.
  35478. * platform/mac/WebCoreSystemInterface.mm: Ditto.
  35479. 2008-02-28 Matt Lilek <webkit@mattlilek.com>
  35480. Reviewed by Tim Hatcher.
  35481. Bug 16535: Stylesheets loaded with @import are not editable
  35482. http://bugs.webkit.org/show_bug.cgi?id=16535
  35483. <rdar://problem/5712899>
  35484. Sheets loaded using @import were incorrectly being flagged as non-editable
  35485. user agent sheets because their parent sheet doesn't have an ownerNode. We now
  35486. check to make sure sheets also don't have a href before restricting their editability.
  35487. * page/inspector/StylesSidebarPane.js:
  35488. 2008-02-28 Rodney Dawes <dobey@wayofthemonkey.com>
  35489. Reviewed by Adam Roben.
  35490. Copy PluginPackageWin.cpp to shared PluginPackage.cpp.
  35491. Add PluginPackage.cpp to build configurations.
  35492. Remove PluginPackage destructor from TemporaryLinkStubs.cpp.
  35493. Use cross-platform pathGetFilename method.
  35494. Remove platform-specific code from shared PluginPackage implementation.
  35495. Remove shared code from PluginPackageWin.cpp.
  35496. * GNUmakefile.am:
  35497. * WebCore.pro:
  35498. * WebCoreSources.bkl:
  35499. * WebCore.vcproj/WebCore.vcproj:
  35500. * platform/gtk/TemporaryLinkStubs.cpp:
  35501. * platform/qt/TemporaryLinkStubs.cpp:
  35502. * platform/wx/TemporaryLinkStubs.cpp:
  35503. * plugins/PluginPackage.cpp:
  35504. * plugins/win/PluginPackageWin.cpp:
  35505. 2008-02-28 Justin Garcia <justin.garcia@apple.com>
  35506. Reviewed by Darin Adler.
  35507. <rdar://problem/4930986> REGRESSION: Paste As Quotation pastes black text instead of blue
  35508. Add a second style span at copy time to hold document default styles. This helps us
  35509. differentiate between those and user applied styles at paste time, where we'll want
  35510. to let Mail's Paste As Quotation blockquote override document default styles, but
  35511. not others.
  35512. * css/CSSComputedStyleDeclaration.cpp:
  35513. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Changed the unit type used
  35514. for -webkit-text-stroke-width from CSS_NUMBER to CSS_PX, to match other properties that
  35515. are thick | medium | thin | <length>. Before, there was a mismatch between the unit
  35516. type of -webkit-text-stroke-width property values in a CSSComputedStyleDeclaration for
  35517. an element and that element's inlineStyleDecl(), causing identical values to always appear
  35518. different to diff().
  35519. * editing/ReplaceSelectionCommand.cpp:
  35520. (WebCore::ReplaceSelectionCommand::handlePasteAsQuotationNode): Fixed. Don't just change
  35521. the class to an empty string, completely remove it, it's no longer needed.
  35522. (WebCore::handleStyleSpansBeforeInsertion): Moved the optimization from doApply here.
  35523. (WebCore::ReplaceSelectionCommand::handleStyleSpans):
  35524. Added, replaces removeRedundantStyles.
  35525. We aren't (yet) removing all redundant styles, just those on style spans, so I removed the
  35526. unused code and renamed the function.
  35527. There won't be more than two style spans that we need to consider, the one with the
  35528. source document's default styles and styles on the commonAncestor of the copied Range,
  35529. so don't look for more than two.
  35530. Let elements that wrap the incoming fragment override the source document's styles.
  35531. (WebCore::ReplaceSelectionCommand::doApply): Moved code to handleStyleSpansBeforeInsertion
  35532. and call the renamed handleStyleSpans.
  35533. * editing/ReplaceSelectionCommand.h:
  35534. * editing/markup.cpp:
  35535. (WebCore::removeDefaultStyles): Added. Don't add document defaults to the style span
  35536. that holds user applied styles, since they'll be added to their own style span.
  35537. (WebCore::createMarkup):
  35538. Add a second style span that holds just the document defaults. This lets us differentiate
  35539. between those and user applied styles at paste time.
  35540. Mail blockquotes are just another type of special element, moved their handling there. This
  35541. also lets paste code make assumptions about the position of the two style spans (they are
  35542. *always* parent-child).
  35543. 2008-02-28 Brent Fulgham <bfulgham@gmail.com>
  35544. http://bugs.webkit.org/show_bug.cgi?id=17576
  35545. Modify RenderThemeWin to use SOFT_LINK
  35546. Reviewed by Adam Roben.
  35547. * rendering/RenderThemeWin.h: Remove unneeded library handle
  35548. * rendering/RenderThemeWin.cpp: Change to use SOFT_LINK
  35549. rather than hand-coded load library calls.
  35550. 2008-02-28 Dan Bernstein <mitz@apple.com>
  35551. Reviewed by Darin Adler.
  35552. - fix http://bugs.webkit.org/show_bug.cgi?id=17590
  35553. ASSERTION FAILED: subject in jsRegExpExecute()
  35554. * page/mac/FrameMac.mm:
  35555. (WebCore::Frame::matchLabelsAgainstElement): Added an early return in
  35556. case the element name is empty.
  35557. 2008-02-28 Justin Garcia <justin.garcia@apple.com>
  35558. Reviewed by Dan Bernstein
  35559. Small editing speed up.
  35560. * dom/Position.cpp:
  35561. (WebCore::Position::upstream): Don't check for a change in editability
  35562. if the current node hasn't changed.
  35563. (WebCore::Position::downstream): Ditto.
  35564. 2008-02-27 Dan Bernstein <mitz@apple.com>
  35565. Reviewed by John Sullivan.
  35566. - fix <rdar://problem/5607547> Single letter surrounded by soft hyphens can disappear
  35567. Test: fast/text/soft-hyphen-2.html
  35568. * rendering/bidi.cpp:
  35569. (WebCore::chopMidpointsAt): Changed to iterate midpoints backwards, so
  35570. that if there are two midpoints at the given position, only the last one
  35571. will be chopped off.
  35572. 2008-02-27 Dan Bernstein <mitz@apple.com>
  35573. Reviewed by Darin Adler.
  35574. - make centered text in right-to-left blocks spill over to the left
  35575. Test: fast/text/align-center-rtl-spill.html
  35576. * rendering/bidi.cpp:
  35577. (WebCore::RenderBlock::computeHorizontalPositionsForLine):
  35578. 2008-02-27 Dan Bernstein <mitz@apple.com>
  35579. Reviewed by Darin Adler.
  35580. - more bidi.cpp cleanup
  35581. * platform/text/BidiResolver.h:
  35582. (WebCore::BidiCharacterRun::destroy): Added. Overridden by BidiRun .
  35583. (WebCore::BidiResolver<Iterator, Run>::addRun): Moved BidiState::addRun()
  35584. here.
  35585. (WebCore::BidiResolver<Iterator, Run>::appendRun): Changed to use
  35586. addRun().
  35587. (WebCore::BidiResolver<Iterator, Run>::deleteRuns): Changed to use
  35588. destroy(), avoiding the need to specialize this method in BidiState.
  35589. * rendering/bidi.cpp:
  35590. (WebCore::BidiRun::destroy): Removed the RenderArena parameter.
  35591. (WebCore::BidiState::deleteRuns): Removed now-unnecessary specialization.
  35592. (WebCore::BidiState::addRun): Removed now-unnecessary specialization.
  35593. (WebCore::RenderBlock::createLineBoxes):
  35594. (WebCore::RenderBlock::constructLine):
  35595. (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added a FIXME.
  35596. (WebCore::RenderBlock::computeVerticalPositionsForLine):
  35597. (WebCore::buildCompactRuns):
  35598. (WebCore::RenderBlock::layoutInlineChildren):
  35599. (WebCore::RenderBlock::determineStartPosition):
  35600. (WebCore::RenderBlock::determineEndPosition):
  35601. (WebCore::RenderBlock::matchedEndLine):
  35602. (WebCore::skipNonBreakingSpace):
  35603. (WebCore::RenderBlock::skipWhitespace):
  35604. (WebCore::shouldSkipWhitespaceAfterStartObject):
  35605. * rendering/bidi.h:
  35606. (WebCore::BidiRun): Added m_ prefixes to several member variables.
  35607. 2008-02-27 Sam Weinig <sam@webkit.org>
  35608. Reviewed by Darin.
  35609. Fix for <rdar://problem/5768769>
  35610. - Don't allow cross-origin calls using window.functionName.call(otherFrame)
  35611. syntax.
  35612. * bindings/js/JSLocation.cpp:
  35613. (WebCore::jsLocationProtoFuncToString): Do same-origin check.
  35614. * bindings/js/kjs_window.cpp:
  35615. (KJS::windowProtoFuncAToB): Ditto.
  35616. (KJS::windowProtoFuncBToA): Ditto.
  35617. (KJS::windowProtoFuncOpen): Ditto.
  35618. (KJS::windowProtoFuncClearTimeout): Ditto.
  35619. * bindings/scripts/CodeGeneratorJS.pm: Ditto.
  35620. 2008-02-27 David Hyatt <hyatt@apple.com>
  35621. More cleanup in preparation for fixing the HTML5 spec performance regression.
  35622. Reviewed by Sam Weinig
  35623. * dom/Attr.cpp:
  35624. (WebCore::Attr::childrenChanged):
  35625. * dom/Attr.h:
  35626. * dom/ContainerNode.cpp:
  35627. (WebCore::ContainerNode::insertBefore):
  35628. (WebCore::ContainerNode::replaceChild):
  35629. (WebCore::ContainerNode::removeChild):
  35630. (WebCore::ContainerNode::removeChildren):
  35631. (WebCore::ContainerNode::appendChild):
  35632. (WebCore::ContainerNode::addChild):
  35633. (WebCore::ContainerNode::childrenChanged):
  35634. * dom/ContainerNode.h:
  35635. * dom/Document.cpp:
  35636. (WebCore::Document::childrenChanged):
  35637. * dom/Document.h:
  35638. * dom/Element.cpp:
  35639. (WebCore::Element::childrenChanged):
  35640. * dom/Element.h:
  35641. * dom/Node.h:
  35642. (WebCore::Node::childrenChanged):
  35643. * html/HTMLObjectElement.cpp:
  35644. (WebCore::HTMLObjectElement::childrenChanged):
  35645. * html/HTMLObjectElement.h:
  35646. * html/HTMLOptGroupElement.cpp:
  35647. (WebCore::HTMLOptGroupElement::childrenChanged):
  35648. * html/HTMLOptGroupElement.h:
  35649. * html/HTMLOptionElement.cpp:
  35650. (WebCore::HTMLOptionElement::childrenChanged):
  35651. * html/HTMLOptionElement.h:
  35652. * html/HTMLScriptElement.cpp:
  35653. (WebCore::HTMLScriptElement::childrenChanged):
  35654. * html/HTMLScriptElement.h:
  35655. * html/HTMLSelectElement.cpp:
  35656. (WebCore::HTMLSelectElement::childrenChanged):
  35657. * html/HTMLSelectElement.h:
  35658. * html/HTMLStyleElement.cpp:
  35659. (WebCore::HTMLStyleElement::childrenChanged):
  35660. * html/HTMLStyleElement.h:
  35661. * html/HTMLTextAreaElement.cpp:
  35662. (WebCore::HTMLTextAreaElement::childrenChanged):
  35663. * html/HTMLTextAreaElement.h:
  35664. * html/HTMLTitleElement.cpp:
  35665. (WebCore::HTMLTitleElement::childrenChanged):
  35666. * html/HTMLTitleElement.h:
  35667. * svg/SVGClipPathElement.cpp:
  35668. (WebCore::SVGClipPathElement::childrenChanged):
  35669. * svg/SVGClipPathElement.h:
  35670. * svg/SVGDefinitionSrcElement.cpp:
  35671. (WebCore::SVGDefinitionSrcElement::childrenChanged):
  35672. * svg/SVGDefinitionSrcElement.h:
  35673. * svg/SVGFontFaceElement.cpp:
  35674. (WebCore::SVGFontFaceElement::childrenChanged):
  35675. * svg/SVGFontFaceElement.h:
  35676. * svg/SVGFontFaceFormatElement.cpp:
  35677. (WebCore::SVGFontFaceFormatElement::childrenChanged):
  35678. * svg/SVGFontFaceFormatElement.h:
  35679. * svg/SVGFontFaceSrcElement.cpp:
  35680. (WebCore::SVGFontFaceSrcElement::childrenChanged):
  35681. * svg/SVGFontFaceSrcElement.h:
  35682. * svg/SVGFontFaceUriElement.cpp:
  35683. (WebCore::SVGFontFaceUriElement::childrenChanged):
  35684. * svg/SVGFontFaceUriElement.h:
  35685. * svg/SVGGElement.cpp:
  35686. (WebCore::SVGGElement::childrenChanged):
  35687. * svg/SVGGElement.h:
  35688. * svg/SVGGradientElement.cpp:
  35689. (WebCore::SVGGradientElement::childrenChanged):
  35690. * svg/SVGGradientElement.h:
  35691. * svg/SVGMarkerElement.cpp:
  35692. (WebCore::SVGMarkerElement::childrenChanged):
  35693. * svg/SVGMarkerElement.h:
  35694. * svg/SVGMaskElement.cpp:
  35695. (WebCore::SVGMaskElement::childrenChanged):
  35696. * svg/SVGMaskElement.h:
  35697. * svg/SVGPatternElement.cpp:
  35698. (WebCore::SVGPatternElement::childrenChanged):
  35699. * svg/SVGPatternElement.h:
  35700. * svg/SVGStyleElement.cpp:
  35701. (WebCore::SVGStyleElement::childrenChanged):
  35702. * svg/SVGStyleElement.h:
  35703. * svg/SVGStyledElement.cpp:
  35704. (WebCore::SVGStyledElement::childrenChanged):
  35705. * svg/SVGStyledElement.h:
  35706. * svg/SVGTitleElement.cpp:
  35707. (WebCore::SVGTitleElement::childrenChanged):
  35708. * svg/SVGTitleElement.h:
  35709. * svg/SVGUseElement.cpp:
  35710. (WebCore::SVGUseElement::childrenChanged):
  35711. * svg/SVGUseElement.h:
  35712. 2008-02-27 Julien Chaffraix <julien.chaffraix@gmail.com>
  35713. Reviewed by Alexey.
  35714. http://bugs.webkit.org/show_bug.cgi?id=17481
  35715. Several consecutive calls to XMLHttpRequest::open should dispatch only one readyState event
  35716. Test: http/tests/xmlhttprequest/xmlhttprequest-multiple-open.html
  35717. * xml/XMLHttpRequest.cpp:
  35718. (WebCore::XMLHttpRequest::open):
  35719. 2008-02-27 Sriram Neelakandan <sriram.neelakandan@gmail.com>
  35720. Reviewed, tweaked and landed by ap.
  35721. http://bugs.webkit.org/show_bug.cgi?id=17487
  35722. HTMLInput mysteriously fails to work if ICU dat file is missing
  35723. * platform/text/TextBreakIteratorICU.cpp: (WebCore::setUpIterator): Assert that the iterator
  35724. has been opened.
  35725. 2008-02-27 Adam Roben <aroben@apple.com>
  35726. Windows build fix after r30616
  35727. * platform/win/ClipboardWin.cpp:
  35728. 2008-02-27 Nikolas Zimmermann <zimmermann@kde.org>
  35729. Reviewed by Simon.
  35730. Small style cleanup, and obvious fix: SVGGElement reacted on
  35731. 'clipPathUnits' changes, which is a funny copy&paste error.
  35732. * svg/SVGGElement.cpp:
  35733. (WebCore::SVGGElement::parseMappedAttribute):
  35734. (WebCore::SVGGElement::svgAttributeChanged):
  35735. (WebCore::SVGGElement::createRenderer):
  35736. 2008-02-27 Nikolas Zimmermann <zimmermann@kde.org>
  35737. Reviewed by Simon.
  35738. Cleanup coding style. Still on my way to fix dynamic updates of all SVG elements.
  35739. Currently at SVGF*. SVGDefs/DescElement don't need any dyn update fixes but cleanups.
  35740. * svg/SVGDefsElement.cpp:
  35741. (WebCore::SVGDefsElement::createRenderer):
  35742. * svg/SVGDefsElement.h:
  35743. * svg/SVGDescElement.h:
  35744. 2008-02-26 Antti Koivisto <antti@apple.com>
  35745. Reviewed by Darin.
  35746. Fix <rdar://problem/5761326>
  35747. REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang)
  35748. Generate better code with VS:
  35749. - Use ALWAYS_INLINE macro to guarantee versions of allowsAccessFrom() are reduced to single functions
  35750. - Refactor error reporting so that there is no need to construct/destruct Strings in common cases
  35751. - Add a separate version of the function for cases where error messages are not wanted
  35752. * bindings/js/JSDOMWindowCustom.cpp:
  35753. (WebCore::JSDOMWindow::customGetOwnPropertySlot):
  35754. * bindings/js/kjs_window.cpp:
  35755. (KJS::Window::allowsAccessFrom):
  35756. (KJS::Window::allowsAccessFromNoErrorMessage):
  35757. (KJS::Window::allowsAccessFromPrivate):
  35758. (KJS::Window::crossDomainAccessErrorMessage):
  35759. * bindings/js/kjs_window.h:
  35760. 2008-02-26 Sam Weinig <sam@webkit.org>
  35761. Reviewed by Dave Hyatt.
  35762. - remove DeprecatedCString, DeprecatedArray, and ArrayImpl.
  35763. * GNUmakefile.am:
  35764. * WebCore.pro:
  35765. * WebCore.vcproj/WebCore.vcproj:
  35766. * WebCore.xcodeproj/project.pbxproj:
  35767. * WebCoreSources.bkl:
  35768. * platform/ArrayImpl.cpp: Removed.
  35769. * platform/ArrayImpl.h: Removed.
  35770. * platform/DeprecatedArray.h: Removed.
  35771. * platform/DeprecatedCString.cpp: Removed.
  35772. * platform/DeprecatedCString.h: Removed.
  35773. * platform/text/CString.cpp:
  35774. (WebCore::CString::length):
  35775. * platform/text/CString.h:
  35776. 2008-02-26 David Hyatt <hyatt@apple.com>
  35777. Cleanup of childrenChanged in preparation for fixing the HTML5 spec slowdown.
  35778. Reviewed by Sam Weinig
  35779. * dom/Attr.cpp:
  35780. (WebCore::Attr::childrenChanged):
  35781. * dom/ContainerNode.cpp:
  35782. (WebCore::ContainerNode::insertBefore):
  35783. (WebCore::ContainerNode::replaceChild):
  35784. (WebCore::ContainerNode::removeChild):
  35785. (WebCore::ContainerNode::removeChildren):
  35786. (WebCore::ContainerNode::appendChild):
  35787. (WebCore::ContainerNode::addChild):
  35788. (WebCore::ContainerNode::childrenChanged):
  35789. * dom/ContainerNode.h:
  35790. * dom/EventTargetNode.cpp:
  35791. (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
  35792. * dom/EventTargetNode.h:
  35793. * dom/NamedAttrMap.cpp:
  35794. (WebCore::NamedAttrMap::addAttribute):
  35795. (WebCore::NamedAttrMap::removeAttribute):
  35796. 2008-02-26 Darin Adler <darin@apple.com>
  35797. Reviewed by Sam.
  35798. - remove use of DeprecatedCString from Windows pasteboard code
  35799. * platform/win/ClipboardUtilitiesWin.cpp:
  35800. (WebCore::createGlobalData): Added an overload for Vector<char>.
  35801. Streamlined the logic a bit.
  35802. (WebCore::append): Added. Helper functions for appending to a
  35803. Vector<char>.
  35804. (WebCore::markupToCF_HTML): Rewrote to use Vector<char> instead
  35805. of DeprecatedCString. Also simplified the logic a bit and used
  35806. macros to handle the integer width.
  35807. (WebCore::urlToMarkup): Use Vector<UChar> instead of String.
  35808. (WebCore::replaceNewlinesWithWindowsStyleNewlines): Tweaked.
  35809. * platform/win/ClipboardUtilitiesWin.h: Update type of return
  35810. value from markupToCF_HTML. Did a bit of streamlining too.
  35811. * platform/win/ClipboardWin.cpp:
  35812. (WebCore::writeURL): Update for above changes.
  35813. (WebCore::ClipboardWin::declareAndWriteDragImage): Ditto.
  35814. (WebCore::ClipboardWin::writeRange): Ditto.
  35815. * platform/win/PasteboardWin.cpp:
  35816. (WebCore::Pasteboard::writeSelection): Ditto.
  35817. (WebCore::Pasteboard::writeURL): Ditto.
  35818. 2008-02-26 Timothy Hatcher <timothy@apple.com>
  35819. Reviewed by Adam Roben.
  35820. <rdar://problem/5712777> REGRESSION: Arrow up/down in inspector
  35821. source list does not scroll when item at edge is reached (16572)
  35822. Use scrollIntoViewIfNeeded() instead of the hand-rolled scrollToElement
  35823. we were using in utilities.js.
  35824. * page/inspector/DocumentPanel.js: Use scrollIntoViewIfNeeded instead of scrollToElement.
  35825. * page/inspector/Resource.js: Ditto.
  35826. * page/inspector/inspector.js: Ditto.
  35827. * page/inspector/SourcePanel.js: Use scrollIntoViewIfNeeded instead
  35828. of scrollIntoView, so the source line is centered in the view if needed.
  35829. * page/inspector/utilities.js: Removed scrollToElement().
  35830. 2008-02-26 David Hyatt <hyatt@apple.com>
  35831. Reviewed by Dan
  35832. http://bugs.webkit.org/show_bug.cgi?id=17485
  35833. Refine our behavior for empty inlines so that they work more correctly with margins/borders/padding.
  35834. Fixes a regression on huffingtonpost.com.
  35835. New tests added to fast/inline
  35836. * rendering/InlineFlowBox.cpp:
  35837. (WebCore::InlineFlowBox::computeLogicalBoxHeights):
  35838. (WebCore::InlineFlowBox::placeBoxesVertically):
  35839. (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
  35840. * rendering/RenderFlow.cpp:
  35841. (WebCore::RenderFlow::calcMargins):
  35842. * rendering/RenderFlow.h:
  35843. * rendering/RenderObject.h:
  35844. (WebCore::RenderObject::hasHorizontalBordersPaddingOrMargin):
  35845. (WebCore::RenderObject::hasHorizontalBordersOrPadding):
  35846. * rendering/bidi.cpp:
  35847. (WebCore::getBorderPaddingMargin):
  35848. (WebCore::RenderBlock::layoutInlineChildren):
  35849. (WebCore::inlineFlowRequiresLineBox):
  35850. 2008-02-26 Sam Weinig <sam@webkit.org>
  35851. Fix Windows build.
  35852. * platform/text/PlatformString.h:
  35853. (WebCore::reverseFind):
  35854. 2008-02-26 Dan Bernstein <mitz@apple.com>
  35855. Reviewed by Darin Adler.
  35856. - fix http://bugs.webkit.org/show_bug.cgi?id=17555
  35857. <rdar://problem/5766016> REGRESSION (r27351): Thumbnails positioned wrong on Getty Images results page
  35858. Test: fast/dynamic/subtree-table-cell-height.html
  35859. * rendering/RenderObject.cpp:
  35860. (WebCore::objectIsRelayoutBoundary): Exclude table cells, since their
  35861. height depends on their contents even if the CSS height property is
  35862. fixed.
  35863. 2008-02-25 Sam Weinig <sam@webkit.org>
  35864. Reviewed by Dan Bernstein.
  35865. Make the cleanPath function in CSSStyleSelector more efficient by using
  35866. a Vector<UChar>.
  35867. * css/CSSStyleSelector.cpp:
  35868. (WebCore::cleanPath): Make this function work on a Vector<UChar> instead
  35869. of a String. Also remove unnecessary reverseFind call that could be acomplished
  35870. with two compares.
  35871. (WebCore::checkPseudoState): Remove reserveCapacity calls now that we are using
  35872. a stack buffer.
  35873. * platform/text/PlatformString.h:
  35874. (WebCore::find): Make this find generic enough that it can be used for
  35875. String::find.
  35876. (WebCore::reverseFind): Implement reverseFind so that it can be used
  35877. for with a UChar* and length.
  35878. * platform/text/StringImpl.cpp:
  35879. (WebCore::StringImpl::find): Use implementation in PlatformString.cpp
  35880. (WebCore::StringImpl::reverseFind): Ditto,
  35881. 2008-02-26 Satoshi Nakagawa <artension@gmail.com>
  35882. Reviewed by Darin. Tweaked and landed by Alexey.
  35883. http://bugs.webkit.org/show_bug.cgi?id=17411
  35884. Ideographic comma and full stop should be treated as line-breakable characters
  35885. Test: fast/text/line-breaks-after-ideographic-comma-or-full-stop.html
  35886. * platform/text/CharacterNames.h: Added ideographicComma and ideographicFullStop.
  35887. * rendering/break_lines.cpp: (WebCore::shouldBreakAfter): Added a workaround for an issue in
  35888. Unicode 5.0 that is causing this.
  35889. 2008-02-26 Darin Fisher <darin@chromium.org>
  35890. Reviewed by eseidel. Landed by eseidel
  35891. Fix improperly initialized m_isUpToDate member variable.
  35892. Fixs 50+ layout tests when run on Tiger.
  35893. http://bugs.webkit.org/show_bug.cgi?id=17549
  35894. * platform/network/cf/ResourceResponse.h:
  35895. (WebCore::ResourceResponse::ResourceResponse):
  35896. * platform/network/mac/ResourceResponse.h:
  35897. (WebCore::ResourceResponse::ResourceResponse):
  35898. 2008-02-25 Dan Bernstein <mitz@apple.com>
  35899. Reviewed by Sam Weinig.
  35900. - fix http://bugs.webkit.org/show_bug.cgi?id=17152
  35901. Paragraphs indented with :first-letter and text-align CSS render incorrectly
  35902. Test: fast/text/apply-start-width-after-skipped-text.html
  35903. * rendering/bidi.cpp:
  35904. (WebCore::RenderBlock::findNextLineBreak): Improved the logic for when
  35905. to figure in the padding, border and margin before a text node when the
  35906. line begins inside a text node.
  35907. 2008-02-25 Kevin Ollivier <kevino@theolliviers.com>
  35908. Windows build fix for wx port.
  35909. * loader/FTPDirectoryDocument.cpp:
  35910. 2008-02-25 Mark Rowe <mrowe@apple.com>
  35911. Windows build fix.
  35912. * platform/network/cf/ResourceResponseCFNet.cpp:
  35913. (WebCore::ResourceResponse::platformCompare): Implement platformCompare for ResourceResponseCFNet.cpp.
  35914. 2008-02-25 Beth Dakin <bdakin@apple.com>
  35915. Reviewed by Geoff.
  35916. Fixed for <rdar://problem/5760530> REGRESSION: Assertion failure in
  35917. Document::removePendingSheet() from r30438
  35918. r30438 added a call to CachedResource::error() from inside
  35919. Loader::didReceiveData() if a CSS file 4xxs. There was an
  35920. assumption in the loader, though, that either error() would be
  35921. called, or didFinishLoading() would be called, so some work is
  35922. duplicated in each. Now that we are calling an error() on files
  35923. that will also make it to didFinishLoading() (since they succeeded
  35924. in the network layer), we need to make sure we do not duplicate the
  35925. work. CachedCSSStyleSheet::error() calls checkNotify, which ends up
  35926. decrementing the document's pending style sheet counter.
  35927. checkNotify() was still getting called, though, through the normal
  35928. didFinishLoading code path, and the counter was being decremented
  35929. twice. Bad!
  35930. * loader/loader.cpp:
  35931. (WebCore::Loader::didFinishLoading):
  35932. (WebCore::Loader::didReceiveData):
  35933. 2008-02-25 Mark Rowe <mrowe@apple.com>
  35934. Fix the Gtk, wx and Qt builds.
  35935. * GNUmakefile.am: Add new files.
  35936. * WebCore.pro: Ditto.
  35937. * WebCoreSources.bkl: Ditto.
  35938. * platform/network/AuthenticationChallengeBase.h: Fix up argument types.
  35939. 2008-02-25 Darin Fisher <darin@chromium.org>
  35940. Reviewed by Darin Adler.
  35941. Eliminate some #ifdefs from headers in platform/network.
  35942. http://bugs.webkit.org/show_bug.cgi?id=17210
  35943. * WebCore.base.exp:
  35944. * WebCore.order:
  35945. * WebCore.vcproj/WebCore.vcproj:
  35946. * WebCore.xcodeproj/project.pbxproj:
  35947. * dom/XMLTokenizer.cpp:
  35948. * loader/ResourceLoader.h:
  35949. * platform/network/AuthenticationChallenge.cpp: Removed.
  35950. * platform/network/AuthenticationChallenge.h: Removed.
  35951. * platform/network/AuthenticationChallengeBase.cpp: Copied from platform/network/AuthenticationChallenge.cpp.
  35952. (WebCore::AuthenticationChallengeBase::AuthenticationChallengeBase):
  35953. (WebCore::AuthenticationChallengeBase::previousFailureCount):
  35954. (WebCore::AuthenticationChallengeBase::proposedCredential):
  35955. (WebCore::AuthenticationChallengeBase::protectionSpace):
  35956. (WebCore::AuthenticationChallengeBase::failureResponse):
  35957. (WebCore::AuthenticationChallengeBase::error):
  35958. (WebCore::AuthenticationChallengeBase::isNull):
  35959. (WebCore::AuthenticationChallengeBase::nullify):
  35960. (WebCore::AuthenticationChallengeBase::compare):
  35961. * platform/network/AuthenticationChallengeBase.h: Copied from platform/network/AuthenticationChallenge.h.
  35962. (WebCore::AuthenticationChallengeBase::platformCompare):
  35963. (WebCore::operator==):
  35964. (WebCore::operator!=):
  35965. * platform/network/ResourceError.cpp: Removed.
  35966. * platform/network/ResourceError.h: Removed.
  35967. * platform/network/ResourceErrorBase.cpp: Copied from platform/network/ResourceError.cpp.
  35968. (WebCore::ResourceErrorBase::lazyInit):
  35969. (WebCore::ResourceErrorBase::compare):
  35970. * platform/network/ResourceErrorBase.h: Copied from platform/network/ResourceError.h.
  35971. (WebCore::ResourceErrorBase::isNull):
  35972. (WebCore::ResourceErrorBase::domain):
  35973. (WebCore::ResourceErrorBase::errorCode):
  35974. (WebCore::ResourceErrorBase::failingURL):
  35975. (WebCore::ResourceErrorBase::localizedDescription):
  35976. (WebCore::ResourceErrorBase::ResourceErrorBase):
  35977. (WebCore::ResourceErrorBase::platformLazyInit):
  35978. (WebCore::ResourceErrorBase::platformCompare):
  35979. (WebCore::operator==):
  35980. * platform/network/ResourceResponseBase.cpp:
  35981. (WebCore::ResourceResponseBase::isHTTP):
  35982. (WebCore::ResourceResponseBase::url):
  35983. (WebCore::ResourceResponseBase::setUrl):
  35984. (WebCore::ResourceResponseBase::mimeType):
  35985. (WebCore::ResourceResponseBase::setMimeType):
  35986. (WebCore::ResourceResponseBase::expectedContentLength):
  35987. (WebCore::ResourceResponseBase::setExpectedContentLength):
  35988. (WebCore::ResourceResponseBase::textEncodingName):
  35989. (WebCore::ResourceResponseBase::setTextEncodingName):
  35990. (WebCore::ResourceResponseBase::suggestedFilename):
  35991. (WebCore::ResourceResponseBase::setSuggestedFilename):
  35992. (WebCore::ResourceResponseBase::httpStatusCode):
  35993. (WebCore::ResourceResponseBase::setHTTPStatusCode):
  35994. (WebCore::ResourceResponseBase::httpStatusText):
  35995. (WebCore::ResourceResponseBase::setHTTPStatusText):
  35996. (WebCore::ResourceResponseBase::httpHeaderField):
  35997. (WebCore::ResourceResponseBase::setHTTPHeaderField):
  35998. (WebCore::ResourceResponseBase::httpHeaderFields):
  35999. (WebCore::ResourceResponseBase::isAttachment):
  36000. (WebCore::ResourceResponseBase::setExpirationDate):
  36001. (WebCore::ResourceResponseBase::expirationDate):
  36002. (WebCore::ResourceResponseBase::setLastModifiedDate):
  36003. (WebCore::ResourceResponseBase::lastModifiedDate):
  36004. (WebCore::ResourceResponseBase::lazyInit):
  36005. (WebCore::ResourceResponseBase::compare):
  36006. * platform/network/ResourceResponseBase.h:
  36007. (WebCore::ResourceResponseBase::ResourceResponseBase):
  36008. (WebCore::ResourceResponseBase::platformLazyInit):
  36009. (WebCore::ResourceResponseBase::platformCompare):
  36010. (WebCore::operator==):
  36011. * platform/network/cf/AuthenticationCF.cpp:
  36012. (WebCore::AuthenticationChallenge::AuthenticationChallenge):
  36013. (WebCore::AuthenticationChallenge::platformCompare):
  36014. * platform/network/cf/AuthenticationChallenge.h: Added.
  36015. (WebCore::AuthenticationChallenge::AuthenticationChallenge):
  36016. (WebCore::AuthenticationChallenge::sourceHandle):
  36017. (WebCore::AuthenticationChallenge::cfURLAuthChallengeRef):
  36018. * platform/network/cf/ResourceError.h: Added.
  36019. (WebCore::ResourceError::ResourceError):
  36020. * platform/network/cf/ResourceErrorCF.cpp:
  36021. (WebCore::ResourceError::ResourceError):
  36022. (WebCore::ResourceError::platformLazyInit):
  36023. (WebCore::ResourceError::platformCompare):
  36024. (WebCore::ResourceError::operator CFStreamError):
  36025. * platform/network/cf/ResourceResponse.h:
  36026. (WebCore::ResourceResponse::ResourceResponse):
  36027. * platform/network/cf/ResourceResponseCFNet.cpp:
  36028. (WebCore::ResourceResponse::platformLazyInit):
  36029. * platform/network/curl/AuthenticationChallenge.h: Added.
  36030. (WebCore::AuthenticationChallenge::AuthenticationChallenge):
  36031. * platform/network/curl/ResourceError.h: Added.
  36032. (WebCore::ResourceError::ResourceError):
  36033. * platform/network/curl/ResourceResponse.h:
  36034. (WebCore::ResourceResponse::ResourceResponse):
  36035. * platform/network/mac/AuthenticationChallenge.h: Added.
  36036. (WebCore::AuthenticationChallenge::AuthenticationChallenge):
  36037. (WebCore::AuthenticationChallenge::sender):
  36038. (WebCore::AuthenticationChallenge::nsURLAuthenticationChallenge):
  36039. * platform/network/mac/AuthenticationMac.mm:
  36040. (WebCore::AuthenticationChallenge::AuthenticationChallenge):
  36041. (WebCore::AuthenticationChallenge::platformCompare):
  36042. * platform/network/mac/ResourceError.h: Added.
  36043. (WebCore::ResourceError::ResourceError):
  36044. * platform/network/mac/ResourceErrorMac.mm:
  36045. (WebCore::ResourceError::platformLazyInit):
  36046. (WebCore::ResourceError::platformCompare):
  36047. * platform/network/mac/ResourceResponse.h:
  36048. (WebCore::ResourceResponse::ResourceResponse):
  36049. * platform/network/mac/ResourceResponseMac.mm:
  36050. (WebCore::ResourceResponse::platformLazyInit):
  36051. (WebCore::ResourceResponse::platformCompare):
  36052. * platform/network/qt/AuthenticationChallenge.h: Added.
  36053. (WebCore::AuthenticationChallenge::AuthenticationChallenge):
  36054. * platform/network/qt/ResourceError.h: Added.
  36055. (WebCore::ResourceError::ResourceError):
  36056. * platform/network/qt/ResourceResponse.h:
  36057. (WebCore::ResourceResponse::ResourceResponse):
  36058. * xml/XSLTProcessor.cpp:
  36059. 2008-02-25 Anders Carlsson <andersca@apple.com>
  36060. Reviewed by Darin.
  36061. Move remaining render style objects over to start with a refcount of 1 and get
  36062. rid of DeprecatedDataRef.
  36063. * rendering/DataRef.h:
  36064. (WebCore::DataRef::operator*):
  36065. (WebCore::DataRef::operator->):
  36066. * rendering/RenderStyle.h:
  36067. * rendering/SVGRenderStyle.cpp:
  36068. (WebCore::SVGRenderStyle::SVGRenderStyle):
  36069. * rendering/SVGRenderStyle.h:
  36070. (WebCore::SVGRenderStyle::create):
  36071. (WebCore::SVGRenderStyle::copy):
  36072. * rendering/SVGRenderStyleDefs.cpp:
  36073. (StyleFillData::StyleFillData):
  36074. (StyleStrokeData::StyleStrokeData):
  36075. (StyleStopData::StyleStopData):
  36076. (StyleTextData::StyleTextData):
  36077. (StyleClipData::StyleClipData):
  36078. (StyleMaskData::StyleMaskData):
  36079. (StyleMarkerData::StyleMarkerData):
  36080. (StyleMiscData::StyleMiscData):
  36081. * rendering/SVGRenderStyleDefs.h:
  36082. (WebCore::StyleFillData::create):
  36083. (WebCore::StyleFillData::copy):
  36084. (WebCore::StyleStrokeData::create):
  36085. (WebCore::StyleStrokeData::copy):
  36086. (WebCore::StyleStopData::create):
  36087. (WebCore::StyleStopData::copy):
  36088. (WebCore::StyleTextData::create):
  36089. (WebCore::StyleTextData::copy):
  36090. (WebCore::StyleClipData::create):
  36091. (WebCore::StyleClipData::copy):
  36092. (WebCore::StyleMaskData::create):
  36093. (WebCore::StyleMaskData::copy):
  36094. (WebCore::StyleMarkerData::create):
  36095. (WebCore::StyleMarkerData::copy):
  36096. (WebCore::StyleMiscData::create):
  36097. (WebCore::StyleMiscData::copy):
  36098. 2008-02-25 Dan Bernstein <mitz@apple.com>
  36099. Reviewed by Dave Hyatt.
  36100. - remove file-static BidiRun variables from bidi.cpp
  36101. * platform/text/BidiResolver.h:
  36102. (WebCore::BidiResolver::): Initialize m_logicallyLastRun.
  36103. (WebCore::BidiResolver::logicallyLastRun): Added.
  36104. (WebCore::BidiResolver::runCount): Made unsigned.
  36105. (WebCore::::reverseRuns): Changed ints to unsigned.
  36106. (WebCore::::createBidiRunsForLine): Made this function set
  36107. m_logicallyLastRun.
  36108. * rendering/RenderBlock.h:
  36109. * rendering/bidi.cpp:
  36110. (WebCore::BidiState::addRun): Removed setting of sLogicallyLastBidiRun.
  36111. (WebCore::RenderBlock::constructLine): Removed unused start parameter
  36112. and added run count and first and last run parameters. Replaced end
  36113. parameter with lastLine boolean and endObject pointer.
  36114. (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added first
  36115. and logically last run parameters.
  36116. (WebCore::RenderBlock::computeVerticalPositionsForLine): Added firstRun
  36117. parameter.
  36118. (WebCore::RenderBlock::bidiReorderLine): Removed setting of static
  36119. variables.
  36120. (WebCore::RenderBlock::layoutInlineChildren): Changed to use BidiState
  36121. accessors instead of file statics.
  36122. 2008-02-25 Rodney Dawes <dobey@wayofthemonkey.com>
  36123. Reviewed by Jon Honeycutt.
  36124. http://bugs.webkit.org/show_bug.cgi?id=16924
  36125. Bug 16924: Shared PluginDatabase, PluginPackage, and PlugInInfoStore implementations
  36126. Add PluginInfoStore.cpp and new PluginDatabase.cpp to GTK+ and Qt ports.
  36127. Remove old PlugInInfoStoreQt.cpp as it is obsoleted by shared code.
  36128. Add PluginInfoStore, PluginDatabase, and PluginStream files to Wx build.
  36129. Add new PluginDatabase.cpp to Windows build.
  36130. Add temporary stubs for new PluginDatabase and PluginPackage.
  36131. shared classes to GTK+, Qt, and Wx ports.
  36132. Copy PluginDatabaseWin.cpp to PluginDatabase.cpp to preserve history.
  36133. Remove shared code from PluginDatabaseWin.cpp.
  36134. Remove Windows-specific code from PluginDatabase.cpp.
  36135. Use PlatformModule and PlatformFileTime instead of HMODULE and FILETIME.
  36136. Remove extraneous PluginPackage:: from hash() class method prototype.
  36137. Subsume storeFileVersion into PluginPackage::fetchInfo.
  36138. Add cross-platform PlatformModuleVersion type definition.
  36139. Use PlatformModuleVersion to store the module version.
  36140. Rename m_fileVersion[ML]S to m_moduleVersion.
  36141. Change compareFileVersion to use PlatformModuleVersion as the argument.
  36142. Move PluginView::determineQuirks and m_quirks to PluginPackage.
  36143. Updated determineQuirks for the PlatformModuleVersion.
  36144. * GNUmakefile.am:
  36145. * WebCore.pro:
  36146. * WebCoreSources.bkl:
  36147. * webcore-base.bkl:
  36148. * WebCore.vcproj/WebCore.vcproj:
  36149. * Platform/FileSystem.h:
  36150. * platform/qt/PlugInInfoStoreQt.cpp:
  36151. * platform/gtk/TemporaryLinkStubs.cpp:
  36152. * platform/qt/TemporaryLinkStubs.cpp:
  36153. * platform/wx/TemporaryLinkStubs.cpp:
  36154. * plugins/PluginDatabase.cpp:
  36155. * plugins/PluginDatabase.h:
  36156. * plugins/win/PluginDatabaseWin.cpp:
  36157. * plugins/PluginPackage.h:
  36158. * plugins/win/PluginPackageWin.cpp:
  36159. * plugins/PluginView.h:
  36160. * plugins/win/PluginViewWin.cpp:
  36161. 2008-02-25 Anders Carlsson <andersca@apple.com>
  36162. Reviewed by Darin.
  36163. Make more style objects start out with a refcount of 1.
  36164. * rendering/RenderStyle.cpp:
  36165. (WebCore::StyleSurroundData::StyleSurroundData):
  36166. (WebCore::StyleBoxData::StyleBoxData):
  36167. (WebCore::StyleVisualData::StyleVisualData):
  36168. (WebCore::StyleBackgroundData::StyleBackgroundData):
  36169. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  36170. (WebCore::StyleRareInheritedData::StyleRareInheritedData):
  36171. (WebCore::StyleInheritedData::StyleInheritedData):
  36172. * rendering/RenderStyle.h:
  36173. (WebCore::StyleSurroundData::create):
  36174. (WebCore::StyleSurroundData::copy):
  36175. (WebCore::StyleBoxData::create):
  36176. (WebCore::StyleBoxData::copy):
  36177. (WebCore::StyleVisualData::create):
  36178. (WebCore::StyleVisualData::copy):
  36179. (WebCore::StyleBackgroundData::create):
  36180. (WebCore::StyleBackgroundData::copy):
  36181. (WebCore::StyleBackgroundData::~StyleBackgroundData):
  36182. (WebCore::StyleRareNonInheritedData::create):
  36183. (WebCore::StyleRareNonInheritedData::copy):
  36184. (WebCore::StyleRareInheritedData::create):
  36185. (WebCore::StyleRareInheritedData::copy):
  36186. (WebCore::StyleInheritedData::create):
  36187. (WebCore::StyleInheritedData::copy):
  36188. 2008-02-25 Anders Carlsson <andersca@apple.com>
  36189. Reviewed by Darin.
  36190. Make some of the refcounted style objects start out with a refcount of 1.
  36191. * rendering/DataRef.h:
  36192. Make a DeprecatedDataRef class which is just a copy of the old DataRef class.
  36193. Change DataRef to use ::create() and ::copy() instead of the constructors.
  36194. Change DataRef's pointer to be a RefPtr instead.
  36195. * rendering/RenderStyle.cpp:
  36196. (WebCore::StyleMarqueeData::StyleMarqueeData):
  36197. (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
  36198. (WebCore::StyleMultiColData::StyleMultiColData):
  36199. (WebCore::StyleTransformData::StyleTransformData):
  36200. Start with a RefCount of 1.
  36201. * rendering/RenderStyle.h:
  36202. * rendering/SVGRenderStyle.h:
  36203. Add ::create() and ::copy() methods. Make not yet converted classes use DeprecatedDataRef.
  36204. 2008-02-25 Darin Adler <darin@apple.com>
  36205. Reviewed by Anders.
  36206. Based on a patch by Tim Steele <timsteele41@gmail.com>.
  36207. - fix http://bugs.webkit.org/show_bug.cgi?id=17186
  36208. Fragment navigation within a page permanently cancels meta refresh
  36209. Test: fast/loader/meta-refresh-anchor-click.html
  36210. * loader/FrameLoader.cpp:
  36211. (WebCore::FrameLoader::load): When load type is FrameLoadTypeRedirectWithLockedHistory,
  36212. always do a real load. This makes sure that meta refresh loads are treated as real loads
  36213. rather than anchor scrolls. Also tweaked formatting a bit.
  36214. (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): This function is
  36215. an alternate way to complete a load, so it needs to start the redirection timer if
  36216. redirection has already been scheduled.
  36217. 2008-02-25 Dan Bernstein <mitz@apple.com>
  36218. Reviewed by Darin Adler.
  36219. - avoid counting spaces in non-justified text
  36220. * rendering/bidi.cpp:
  36221. Removed file-static numSpaces.
  36222. (WebCore::BidiState::addRun): Removed space counting.
  36223. (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added space
  36224. counting, conditional on the block having the text-align: justify
  36225. property value.
  36226. (WebCore::RenderBlock::bidiReorderLine): Removed initialization of
  36227. numSpaces.
  36228. 2008-02-25 Darin Adler <darin@apple.com>
  36229. Requested by Steve.
  36230. * platform/graphics/cg/ImageSourceCG.cpp:
  36231. (WebCore::ImageSource::createFrameAtIndex): Put the string into a global
  36232. variable (because CFSTR is inefficient on Windows).
  36233. 2008-02-25 Darin Adler <darin@apple.com>
  36234. Reviewed by Adam.
  36235. * WebCore.base.exp: Export blankURL, and sort the file.
  36236. 2008-02-25 Simon Hausmann <hausmann@webkit.org>
  36237. Reviewed by Mark Rowe.
  36238. Fix compilation with gcc 4.3, added stdio.h and unistd.h inclusions.
  36239. * dom/Position.cpp:
  36240. * dom/Range.cpp:
  36241. * editing/Selection.cpp:
  36242. * editing/SelectionController.cpp:
  36243. * editing/VisiblePosition.cpp:
  36244. * history/HistoryItem.cpp:
  36245. * loader/Cache.cpp:
  36246. * loader/FTPDirectoryParser.cpp:
  36247. * platform/KURL.cpp:
  36248. * platform/gtk/FileSystemGtk.cpp:
  36249. * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
  36250. * platform/text/TextCodecLatin1.cpp:
  36251. * platform/text/TextCodecUserDefined.cpp:
  36252. * rendering/CounterNode.cpp:
  36253. * rendering/RenderObject.cpp:
  36254. 2008-02-25 Johnny Ding <johnnyding.webkit@gmail.com>
  36255. Reviewed by Darin Adler.
  36256. - fix http://bugs.webkit.org/show_bug.cgi?id=17444
  36257. In HTMLTokenizer::write, the code checks 'pendingScripts.isEmpty()' to decide
  36258. whether to save prependingSrc or not. However, in HTMLTokenizer::scriptHandler
  36259. and HTMLTokenizer::scriptExecution, the code checks testBit:LoadingExtScript
  36260. to decide whether to save prependingSrc or not. The later behavior is not right
  36261. because, in scriptHandler and scriptExecution, even the pendingScripts queue is
  36262. empty, the testBit:LoadingExtScript might be TRUE.
  36263. Test: fast/tokenizer/nested-multiple-scripts.html
  36264. * html/HTMLTokenizer.cpp:
  36265. (WebCore::HTMLTokenizer::scriptHandler): check pendingScripts.isEmpty() instead of
  36266. checking state.loadingExtScript().
  36267. (WebCore::HTMLTokenizer::scriptExecution): check pendingScripts.isEmpty() instead of
  36268. checking state.loadingExtScript().
  36269. 2008-02-24 Darin Adler <darin@apple.com>
  36270. * dom/Document.h: Removed stray duplicate declaration of
  36271. RegisteredEventListenerList.
  36272. 2008-02-24 Darin Adler <darin@apple.com>
  36273. * dom/Range.cpp:
  36274. (WebCore::Range::surroundContents): Removed incorrect comment.
  36275. I added it a while ago, and I was just mixed up.
  36276. 2008-02-24 Darin Adler <darin@apple.com>
  36277. - quick follow-up to that last check-in
  36278. * platform/graphics/cg/ImageSourceCG.cpp:
  36279. (WebCore::ImageSource::createFrameAtIndex): Use CFEqual instead of
  36280. WebCore::String's == for speed.
  36281. 2008-02-24 Michael Knaup <michael.knaup@mac.com>
  36282. Reviewed by Darin.
  36283. Bug 8749: XBM rendered incorrectly as black on white
  36284. xbm images are now created and rendered using black on a
  36285. transparent background (same behavior as in Firefox)
  36286. Test: platform/mac/fast/canvas/canvas-draw-xbm-image.html
  36287. * platform/graphics/cg/ImageSourceCG.cpp:
  36288. (WebCore::ImageSource::createFrameAtIndex):
  36289. 2008-02-24 Dan Bernstein <mitz@apple.com>
  36290. Reviewed by Darin Adler.
  36291. - fix http://bugs.webkit.org/show_bug.cgi?id=17471
  36292. REGRESSION (r30438): Crash in deleteLineBoxes in cursor-adjusting code browsing Acid3
  36293. Test: http/tests/misc/object-image-error.html
  36294. * html/HTMLObjectElement.cpp:
  36295. (WebCore::HTMLObjectElement::attach): Added an early return in case
  36296. updateFromElement() has changed the object to use fallback content.
  36297. 2008-02-24 Dan Bernstein <mitz@apple.com>
  36298. Reviewed by Darin Adler.
  36299. - fix float positioning when a float that does not fit on the line is
  36300. followed by a float that does
  36301. Test: fast/block/float/narrow-after-wide.html
  36302. * rendering/bidi.cpp:
  36303. (WebCore::RenderBlock::findNextLineBreak): Changed to not position any
  36304. more floats on the line once a float that does not fit is encountered.
  36305. That float should be pushed to the next line, and so should all floats
  36306. that follow, regardless of whether they can fit on the current line.
  36307. 2008-02-24 Darin Adler <darin@apple.com>
  36308. Reviewed by Sam.
  36309. - fix http://bugs.webkit.org/show_bug.cgi?id=16770
  36310. Acid3 expects :visited styled links to restyle on iframe load
  36311. Disentangle global history updating from the back/forward history.
  36312. There are many cases where we don't want to create a new back/forward
  36313. item, but we do still want to add to the global history (used for visited
  36314. link coloring) in those cases.
  36315. Test: fast/history/subframe-is-visited.html
  36316. * loader/FrameLoader.cpp:
  36317. (WebCore::FrameLoader::updateGlobalHistory): Renamed from
  36318. addHistoryForCurrentLocation and removed the back/forward handling.
  36319. (WebCore::FrameLoader::updateHistoryForStandardLoad): Streamlined logic a
  36320. bit. Replaced call to addHistoryForCurrentLocation with a call to
  36321. addBackForwardItemClippedAtTarget. Added an unconditional call to
  36322. updateGlobalHistory.
  36323. (WebCore::FrameLoader::updateHistoryForClientRedirect): Added a FIXME;
  36324. why doesn't this function update global history?
  36325. (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): Ditto.
  36326. (WebCore::FrameLoader::updateHistoryForReload): Replaced the direct call
  36327. the client with a call to the new updateGlobalHistory function.
  36328. (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Did
  36329. the same changes as for updateHistoryForStandardLoad.
  36330. * loader/FrameLoader.h: More of the same.
  36331. * loader/FrameLoaderClient.h: Removed updateGlobalHistoryForReload and
  36332. renamed updateGlobalHistoryForStandardLoad to updateGlobalHistory.
  36333. * svg/graphics/SVGImageEmptyClients.h:
  36334. (WebCore::SVGEmptyFrameLoaderClient::updateGlobalHistory): Updated to
  36335. match the above.
  36336. 2008-02-23 Darin Adler <darin@apple.com>
  36337. Reviewed by Sam.
  36338. - fix http://bugs.webkit.org/show_bug.cgi?id=17508
  36339. REGRESSION (r30535): mailto regression tests failing
  36340. * html/HTMLFormElement.cpp:
  36341. (WebCore::HTMLFormElement::submit): Restore the old logic, with its unpleasant
  36342. trip through String do to the replace operation. It's inefficient, but there's
  36343. no real reason to worry about the efficiency of mailto forms, since that feature
  36344. is nearly obsolete.
  36345. 2008-02-23 Darin Adler <darin@apple.com>
  36346. Reviewed by Sam.
  36347. - replace SegmentedString's use of DeprecatedValueList with Deque
  36348. Testing indicates this is a slight speed-up for page loading.
  36349. * platform/text/SegmentedString.cpp:
  36350. (WebCore::SegmentedString::length): Update to use Deque.
  36351. (WebCore::SegmentedString::setExcludeLineNumbers): Ditto.
  36352. (WebCore::SegmentedString::append): Ditto.
  36353. (WebCore::SegmentedString::prepend): Ditto.
  36354. (WebCore::SegmentedString::advanceSubstring): Ditto.
  36355. (WebCore::SegmentedString::toString): Ditto.
  36356. * platform/text/SegmentedString.h: Tweak formatting. Don't bother making an entire
  36357. class private with a single friend. Change m_sbstrings from a DeprecatedValueList
  36358. to a Deque.
  36359. 2008-02-23 Darin Adler <darin@apple.com>
  36360. Reviewed by Anders.
  36361. - fix http://bugs.webkit.org/show_bug.cgi?id=17506
  36362. REGRESSION (r30535): ASSERTION FAILED: i < size()
  36363. * loader/TextResourceDecoder.cpp:
  36364. (WebCore::findTextEncoding): Fix off-by-one in code that null-terminates
  36365. the C string here.
  36366. 2008-02-23 Matt Lilek <webkit@mattlilek.com>
  36367. Not reviewed, build fix.
  36368. * platform/network/cf/FormDataStreamCFNet.cpp:
  36369. (WebCore::httpBodyFromRequest):
  36370. * plugins/win/PluginViewWin.cpp:
  36371. (WebCore::PluginView::handlePost):
  36372. 2008-02-23 Dan Bernstein <mitz@apple.com>
  36373. - fix a typo
  36374. * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
  36375. (WebCore::GlyphPage::fill):
  36376. * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
  36377. (WebCore::GlyphPage::fill):
  36378. 2008-02-23 Dan Bernstein <mitz@apple.com>
  36379. Reviewed by Anders Carlsson.
  36380. - fix GlyphPage::fill() logic for partial page fills
  36381. * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
  36382. (WebCore::GlyphPage::fill): Changed the test for non-BMP characters to
  36383. work correctly when the length parameter is less than a full page size.
  36384. Also updated the comment.
  36385. * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
  36386. (WebCore::GlyphPage::fill): Ditto.
  36387. 2008-02-23 Kevin Ollivier <kevino@theolliviers.com>
  36388. Reviewed by Darin Adler.
  36389. Move text drawing into wxcode, as we need platform-dependent
  36390. APIs for drawing non-kerned text, which wx doesn't yet have.
  36391. (But hopefully will, once these APIs are fleshed out on all
  36392. platforms!)
  36393. http://bugs.webkit.org/show_bug.cgi?id=17396
  36394. * platform/graphics/wx/FontWx.cpp:
  36395. (WebCore::Font::drawGlyphs):
  36396. * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: Added.
  36397. * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp: Added.
  36398. * platform/wx/wxcode/non-kerned-drawing.h: Added.
  36399. * platform/wx/wxcode/win/non-kerned-drawing.cpp: Added.
  36400. * webcore-wx.bkl:
  36401. 2008-02-23 Darin Adler <darin@apple.com>
  36402. Pointed out by Mitz.
  36403. * loader/TextResourceDecoder.cpp:
  36404. (WebCore::find): Fix a "==" that was supposed to be ">".
  36405. (WebCore::findIgnoringCase): Ditto.
  36406. 2008-02-23 Darin Adler <darin@apple.com>
  36407. Reviewed by Sam.
  36408. * html/HTMLFormElement.cpp:
  36409. (WebCore::appendEncodedString): Fix buffer overrun in the code I just landed.
  36410. 2008-02-23 Darin Adler <darin@apple.com>
  36411. Reviewed by Sam.
  36412. - remove all but 1 remaining use of DeprecatedCString
  36413. - change FormData to start refcount at 1
  36414. * html/HTMLFormElement.cpp:
  36415. (WebCore::appendString): Added. Helpers for Vector<char>.
  36416. (WebCore::appendEncodedString): Renamed from encodeCString and changed to
  36417. append to an existing Vector<char> to cut down a bit on memory allocation.
  36418. (WebCore::HTMLFormElement::formData): Replace the DeprecatedCString called
  36419. enc_string with a Vector<char> called encodedData. Change to use the new
  36420. FormData::create function.
  36421. (WebCore::HTMLFormElement::submit): Same thing, for the mailto form code.
  36422. * loader/TextResourceDecoder.cpp:
  36423. (WebCore::find): Added. Helper for searching in char* with length.
  36424. (WebCore::findIgnoringCase): Ditto.
  36425. (WebCore::findTextEncoding): Added. Helper for looking up a text encoding
  36426. when we have a char* with length rather than a null-terminated char*.
  36427. (WebCore::findXMLEncoding): Changed to use char* and length rather than
  36428. DeprecatedCString. Also fixed some things that would be one-character
  36429. buffer overruns in a string that's not null-terminated.
  36430. (WebCore::TextResourceDecoder::checkForCSSCharset): Change to use
  36431. findTextEncoding rather than constructing a CString to pass to the
  36432. TextEncodingconstructor.
  36433. (WebCore::TextResourceDecoder::checkForHeadCharset): Ditto.
  36434. * platform/network/FormData.cpp:
  36435. (WebCore::FormData::FormData): Changed to start refcount at 1.
  36436. (WebCore::FormData::create): Added.
  36437. (WebCore::FormData::copy): Call adoptRef since refcount starts at 1.
  36438. * platform/network/FormData.h: Made constructor private. Added create functions.
  36439. * platform/network/mac/ResourceRequestMac.mm:
  36440. (WebCore::ResourceRequest::doUpdateResourceRequest): Call FormData::create.
  36441. * xml/XMLHttpRequest.cpp:
  36442. (WebCore::XMLHttpRequest::send): Ditto.
  36443. 2008-02-23 Darin Adler <darin@apple.com>
  36444. Reviewed by Anders.
  36445. - http://bugs.webkit.org/show_bug.cgi?id=17067
  36446. eliminate attributes parameter from JSObject::put for speed/clarity
  36447. * bindings/js/JSCSSStyleDeclarationCustom.cpp:
  36448. (WebCore::JSCSSStyleDeclaration::customPut): Remove attributes argument.
  36449. * bindings/js/JSCanvasPixelArrayCustom.cpp:
  36450. (WebCore::JSCanvasPixelArray::indexGetter): Use early exit idiom.
  36451. (WebCore::JSCanvasPixelArray::indexSetter): Moved length check into the
  36452. CanvasPixelArray object, for consistency with the getter. Removed attributes
  36453. argument.
  36454. * bindings/js/JSDOMWindowCustom.cpp:
  36455. (WebCore::JSDOMWindow::customPut): Removed special case for variable
  36456. initialization, which is not needed since that does use put any more.
  36457. Removed attributes argument.
  36458. * bindings/js/JSEventTargetBase.h:
  36459. (WebCore::JSEventTargetBase::putValueProperty): Removed attributes argument.
  36460. (WebCore::JSEventTargetBase::put): Ditto.
  36461. (WebCore::JSEventTargetPrototype::self): Removed Internal flag.
  36462. * bindings/js/JSEventTargetNode.cpp:
  36463. (WebCore::JSEventTargetNode::put): Removed attributes argument.
  36464. (WebCore::JSEventTargetNode::putValueProperty): Ditto.
  36465. * bindings/js/JSEventTargetNode.h: Ditto.
  36466. * bindings/js/JSHTMLAppletElementCustom.cpp:
  36467. (WebCore::JSHTMLAppletElement::customPut): Ditto.
  36468. * bindings/js/JSHTMLEmbedElementCustom.cpp:
  36469. (WebCore::JSHTMLEmbedElement::customPut): Ditto.
  36470. * bindings/js/JSHTMLInputElementBase.cpp:
  36471. (WebCore::JSHTMLInputElementBase::put): Ditto.
  36472. (WebCore::JSHTMLInputElementBase::putValueProperty): Ditto.
  36473. * bindings/js/JSHTMLInputElementBase.h: Ditto.
  36474. * bindings/js/JSHTMLObjectElementCustom.cpp:
  36475. (WebCore::JSHTMLObjectElement::customPut): Ditto.
  36476. * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
  36477. (WebCore::JSHTMLOptionsCollection::indexSetter): Ditto.
  36478. * bindings/js/JSHTMLSelectElementCustom.cpp:
  36479. (WebCore::JSHTMLSelectElement::indexSetter): Ditto.
  36480. * bindings/js/JSHistoryCustom.cpp:
  36481. (WebCore::JSHistory::customPut): Ditto.
  36482. * bindings/js/JSLocation.cpp:
  36483. (WebCore::JSLocation::put): Ditto.
  36484. * bindings/js/JSLocation.h: Ditto.
  36485. * bindings/js/JSXMLHttpRequest.cpp:
  36486. (WebCore::JSXMLHttpRequest::put): Ditto.
  36487. (WebCore::JSXMLHttpRequest::putValueProperty): Ditto.
  36488. * bindings/js/JSXMLHttpRequest.h: Ditto.
  36489. * bindings/js/kjs_dom.cpp:
  36490. (WebCore::getRuntimeObject): Changed return type to JSObject*.
  36491. * bindings/js/kjs_dom.h: Ditto.
  36492. * bindings/js/kjs_events.cpp:
  36493. (WebCore::JSClipboard::put): Removed attributes argument.
  36494. (WebCore::JSClipboard::putValueProperty): Ditto.
  36495. * bindings/js/kjs_events.h: Ditto.
  36496. * bindings/js/kjs_html.cpp:
  36497. (WebCore::runtimeObjectGetter): Updated for change to getRuntimeObject to
  36498. return a JSObject. Used early exit idiom.
  36499. (WebCore::runtimeObjectPropertyGetter): Ditto.
  36500. (WebCore::runtimeObjectCustomGetOwnPropertySlot): Ditto.
  36501. (WebCore::runtimeObjectCustomPut): Use hasProperty to check for properties
  36502. that we should put with the property syntax instead of canPut.
  36503. (WebCore::runtimeObjectImplementsCall): Ditto.
  36504. (WebCore::runtimeObjectCallAsFunction): Ditto.
  36505. * bindings/js/kjs_html.h: Removed attributes argument to runtimeObjectCustomPut.
  36506. * bindings/js/kjs_window.cpp:
  36507. (KJS::Window::put): Removed attributes argument.
  36508. * bindings/js/kjs_window.h: Ditto.
  36509. * bindings/scripts/CodeGeneratorJS.pm: Removed attributes argument from put,
  36510. putValueProperty, customPut, and indexSetter.
  36511. * html/CanvasPixelArray.h:
  36512. (WebCore::CanvasPixelArray::set): Added index checking here, as in the get
  36513. function. Before, the checking was done in the JavaScript bindings for set.
  36514. 2008-02-23 Brent Fulgham <bfulgham@gmail.com>
  36515. Reviewed by Adam and Darin.
  36516. http://bugs.webkit.org/show_bug.cgi?id=17442
  36517. Correct the Windows Cairo implementation of GraphicsContext so
  36518. that Windows 'WorldTransform' is kept in sync with the Cairo
  36519. transormations.
  36520. Also corrects an uninitialized variable in the Cairo Windows
  36521. image drag handler.
  36522. WARNING: NO TEST CASES ADDED OR CHANGED
  36523. * platform/graphics/cairo/GraphicsContextCairo.cpp: Modify
  36524. methods to call GraphicsContextPlatformPrivate calls, just
  36525. as is done for the CoreGraphics version. These calls are
  36526. nop's for everything but Windows.
  36527. (WebCore::GraphicsContext::savePlatformState):
  36528. (WebCore::GraphicsContext::restorePlatformState):
  36529. (WebCore::GraphicsContext::clip):
  36530. (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
  36531. (WebCore::GraphicsContext::translate):
  36532. (WebCore::GraphicsContext::concatCTM): Re-enable for Windows
  36533. (WebCore::GraphicsContext::beginTransparencyLayer):
  36534. (WebCore::GraphicsContext::endTransparencyLayer):
  36535. (WebCore::GraphicsContext::rotate):
  36536. (WebCore::GraphicsContext::scale):
  36537. * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
  36538. * platform/graphics/win/GraphicsContextCGWin.cpp: Move common
  36539. code for handling WorldTransform calls to parent class.
  36540. * platform/graphics/win/GraphicsContextCairoWin.cpp: Add common
  36541. code for handling WorldTransform calls.
  36542. (WebCore::GraphicsContextPlatformPrivate::concatCTM): Change
  36543. implementation so that it only handles WorldTransform. The
  36544. Cairo update is done in GraphicsContextCairo.cpp
  36545. * platform/graphics/win/GraphicsContextWin.cpp: Call platform-private
  36546. methods to keep WorldTransform in sync.
  36547. (WebCore::GraphicsContextPlatformPrivate::save):
  36548. (WebCore::GraphicsContextPlatformPrivate::restore):
  36549. (WebCore::GraphicsContextPlatformPrivate::clip):
  36550. (WebCore::GraphicsContextPlatformPrivate::scale):
  36551. (WebCore::GraphicsContextPlatformPrivate::rotate):
  36552. (WebCore::GraphicsContextPlatformPrivate::translate):
  36553. * platform/win/DragImageCairoWin.cpp:
  36554. (WebCore::createDragImageFromImage): Correct uninitialized value
  36555. 2008-02-23 Dan Bernstein <mitz@apple.com>
  36556. Reviewed by Dave Hyatt.
  36557. - make non-autowrapping text clear floats
  36558. Test: fast/text/whitespace/nowrap-clear-float.html
  36559. * rendering/RenderBlock.cpp:
  36560. (WebCore::RenderBlock::nextFloatBottomBelow): Renamed nearestFloat() to
  36561. this and changed to avoid comparing bottom to 0 in each iteration.
  36562. (WebCore::RenderBlock::getClearDelta): Updated comment for the rename.
  36563. * rendering/RenderBlock.h:
  36564. * rendering/bidi.cpp:
  36565. (WebCore::RenderBlock::fitBelowFloats): Added. Factored out of
  36566. findNextLineBreak() and simplified.
  36567. (WebCore::RenderBlock::findNextLineBreak): Changed to call
  36568. fitBelowFloats(). Fixed the bug by trying to fit below floats in the
  36569. case of non-wrapping text. Removed some redundancy.
  36570. 2008-02-23 Sam Weinig <sam@webkit.org>
  36571. Reviewed by Oliver Hunt.
  36572. Fix for http://bugs.webkit.org/show_bug.cgi?id=17504
  36573. Speed up DOM lists array subscription syntax by using the fast
  36574. getOwnPropertySlot and set paths
  36575. - 6x speed improvement on Oliver's ImageData put test.
  36576. * bindings/scripts/CodeGeneratorJS.pm: Add fast path for getOwnPropertySlot
  36577. and put when an indexGetter or indexSetter is used. We can not use the fast
  36578. path if an overridingNameGetter is used as there would be no way to override.
  36579. 2008-02-23 Kevin Ollivier <kevino@theolliviers.com>
  36580. wx build fix after JSImageData.cpp was added.
  36581. * WebCoreSources.bkl:
  36582. 2008-02-23 Alexey Proskuryakov <ap@webkit.org>
  36583. Windows build fix - move ThreadCondition implementation from WebCore to WTF.
  36584. * WebCore.vcproj/WebCore.vcproj:
  36585. * platform/win/ThreadConditionWin.cpp: Removed.
  36586. 2008-02-23 Alexey Proskuryakov <ap@webkit.org>
  36587. Reviewed by Darin.
  36588. Move basic threading support from WebCore to WTF.
  36589. One call that remains in WebCore is callOnMainThread(), and it has its own header now.
  36590. * ForwardingHeaders/wtf/Locker.h: Added.
  36591. * ForwardingHeaders/wtf/MessageQueue.h: Added.
  36592. * ForwardingHeaders/wtf/Threading.h: Added.
  36593. * GNUmakefile.am:
  36594. * WebCore.pro:
  36595. * WebCore.vcproj/WebCore.vcproj:
  36596. * WebCore.xcodeproj/project.pbxproj:
  36597. * WebCoreSources.bkl:
  36598. * bindings/js/JSCustomSQLTransactionCallback.cpp:
  36599. * dom/XMLTokenizer.cpp:
  36600. * loader/icon/IconDatabase.cpp:
  36601. (WebCore::iconDatabase):
  36602. * loader/icon/IconDatabase.h:
  36603. * platform/Locker.h: Removed.
  36604. * platform/MainThread.h: Copied from WebCore/platform/Threading.h.
  36605. (WebCore::initializeThreadingAndMainThread):
  36606. * platform/MessageQueue.h: Removed.
  36607. * platform/SecurityOrigin.h:
  36608. * platform/Threading.h: Removed.
  36609. * platform/ThreadingNone.cpp: Removed.
  36610. * platform/gtk/MainThreadGtk.cpp: Copied from WebCore/platform/gtk/ThreadingGtk.cpp.
  36611. * platform/gtk/ThreadingGtk.cpp: Removed.
  36612. * platform/mac/MainThreadMac.mm: Copied from WebCore/platform/mac/Threading.mm.
  36613. * platform/mac/Threading.mm: Removed.
  36614. * platform/pthreads: Removed.
  36615. * platform/pthreads/ThreadingPthreads.cpp: Removed.
  36616. * platform/qt/MainThreadQt.cpp: Copied from WebCore/platform/qt/ThreadingQt.cpp.
  36617. * platform/qt/ThreadingQt.cpp: Removed.
  36618. * platform/sql/SQLValue.h:
  36619. * platform/sql/SQLiteAuthorizer.h:
  36620. * platform/sql/SQLiteDatabase.h:
  36621. * platform/win/MainThreadWin.cpp: Copied from WebCore/platform/win/ThreadingWin.cpp.
  36622. (WebCore::initializeThreadingAndMainThread):
  36623. * platform/win/MutexWin.cpp: Removed.
  36624. * platform/win/ThreadingWin.cpp: Removed.
  36625. * platform/wx/MainThreadWx.cpp: Copied from WebCore/platform/wx/ThreadingWx.cpp.
  36626. * platform/wx/ThreadingWx.cpp: Removed.
  36627. * storage/Database.cpp:
  36628. (WebCore::Database::Database):
  36629. * storage/Database.h:
  36630. * storage/DatabaseTask.h:
  36631. * storage/DatabaseThread.h:
  36632. * storage/DatabaseTracker.cpp:
  36633. * storage/OriginQuotaManager.h:
  36634. * storage/SQLError.h:
  36635. * storage/SQLResultSet.h:
  36636. * storage/SQLStatement.h:
  36637. * storage/SQLStatementCallback.h:
  36638. * storage/SQLStatementErrorCallback.h:
  36639. * storage/SQLTransaction.h:
  36640. * storage/SQLTransactionCallback.h:
  36641. * storage/SQLTransactionErrorCallback.h:
  36642. * webcore-wx.bkl:
  36643. 2008-02-23 David Kilzer <ddkilzer@apple.com>
  36644. Please clarify licensing for some files
  36645. <http://bugs.webkit.org/show_bug.cgi?id=14970>
  36646. Reviewed by Darin.
  36647. * bindings/objc/WebScriptObject.h: Added Apple BSD-style license.
  36648. * bindings/objc/WebScriptObjectPrivate.h: Ditto.
  36649. * platform/text/mac/ShapeArabic.c: Added ICU license from WebCore/icu/LICENSE.
  36650. 2008-02-22 Justin Garcia <justin.garcia@apple.com>
  36651. Reviewed by Anders Carlsson.
  36652. <rdar://problem/5714333> Add document.getSelection()
  36653. Add a synonym for window.getSelection() that FF supports. There were requests in
  36654. this bugs dupes to also support the IE only document.selection, but IE's Selection
  36655. object is too different than ours currently for that to be safe (specifically, we
  36656. don't support enough of IE's TextRange methods on our DOM Range object yet). I
  36657. filed <rdar://problem/5761233> to cover that.
  36658. * dom/Document.cpp:
  36659. (WebCore::Document::getSelection): Added.
  36660. * dom/Document.h:
  36661. * dom/Document.idl: Ditto. JS only since this is about web compatibility.
  36662. 2008-02-22 Oliver Hunt <oliver@apple.com>
  36663. WX build fixes
  36664. * WebCoreSources.bkl:
  36665. 2008-02-22 Oliver Hunt <oliver@apple.com>
  36666. Once more with the cairo/qt/wx build fixing
  36667. * platform/graphics/cairo/ImageBufferCairo.cpp:
  36668. * platform/graphics/qt/ImageBufferQt.cpp:
  36669. * platform/graphics/wx/ImageBufferWx.cpp:
  36670. 2008-02-22 Mark Rowe <mrowe@apple.com>
  36671. Windows build fix. Add missing include of DeprecatedCString.h and sort existing includes.
  36672. * platform/win/PasteboardWin.cpp:
  36673. 2008-02-22 Mark Rowe <mrowe@apple.com>
  36674. Speculative Windows build fix.
  36675. * platform/win/ClipboardUtilitiesWin.cpp: Add missing include of DeprecatedCString.h and sort existing includes.
  36676. * platform/win/ClipboardWin.cpp: Ditto.
  36677. 2008-02-22 Oliver Hunt <oliver@apple.com>
  36678. Build fix for windows, wx and qt
  36679. * html/CanvasPixelArray.h:
  36680. (WebCore::CanvasPixelArray::set):
  36681. 2008-02-22 Oliver Hunt <oliver@apple.com>
  36682. Unbreak windows vcproj
  36683. * WebCore.vcproj/WebCore.vcproj:
  36684. 2008-02-22 Oliver Hunt <oliver@apple.com>
  36685. Reviewed by Sam W.
  36686. Support Canvas.getImageData and Canvas.createImageData
  36687. This patch adds support for all the pixel reading portions
  36688. of the HTML5 Canvas spec. There are two new types ImageData
  36689. and CanvasPixelArray which are used to provide the HTML5
  36690. ImageData object, and the required semantics for assignment
  36691. to the ImageData data array.
  36692. We only implement the CG version of ImageBuffer::getImageData,
  36693. but the logic is null safe, so this will not introduce any
  36694. crashes into other platforms, unfortunately it will result in
  36695. JS Object detection "lying" on non-CG platforms.
  36696. Tests: fast/canvas/canvas-ImageData-behaviour.html
  36697. fast/canvas/canvas-getImageData.html
  36698. * DerivedSources.make:
  36699. * GNUmakefile.am:
  36700. * WebCore.pro:
  36701. * WebCore.vcproj/WebCore.vcproj:
  36702. * WebCore.xcodeproj/project.pbxproj:
  36703. * bindings/js/JSCanvasPixelArrayCustom.cpp: Added.
  36704. (WebCore::JSCanvasPixelArray::indexGetter):
  36705. (WebCore::JSCanvasPixelArray::indexSetter):
  36706. (WebCore::toJS):
  36707. * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
  36708. * bindings/scripts/CodeGeneratorJS.pm:
  36709. * html/CanvasPixelArray.cpp: Added.
  36710. (WebCore::CanvasPixelArray::create):
  36711. * html/CanvasPixelArray.h: Added.
  36712. (WebCore::CanvasPixelArray::data):
  36713. (WebCore::CanvasPixelArray::length):
  36714. (WebCore::CanvasPixelArray::set):
  36715. (WebCore::CanvasPixelArray::get):
  36716. * html/CanvasPixelArray.idl: Added.
  36717. * html/CanvasRenderingContext2D.cpp:
  36718. (WebCore::createEmptyImageData):
  36719. (WebCore::CanvasRenderingContext2D::createImageData):
  36720. (WebCore::CanvasRenderingContext2D::getImageData):
  36721. * html/CanvasRenderingContext2D.h:
  36722. * html/CanvasRenderingContext2D.idl:
  36723. * html/HTMLCanvasElement.cpp:
  36724. (WebCore::HTMLCanvasElement::convertLogicalToDevice):
  36725. (WebCore::HTMLCanvasElement::createImageBuffer):
  36726. * html/HTMLCanvasElement.h:
  36727. * html/ImageData.cpp: Added.
  36728. (WebCore::ImageData::create):
  36729. (WebCore::ImageData::ImageData):
  36730. * html/ImageData.h: Added.
  36731. (WebCore::ImageData::width):
  36732. (WebCore::ImageData::height):
  36733. (WebCore::ImageData::data):
  36734. * html/ImageData.idl: Added.
  36735. * platform/graphics/ImageBuffer.h:
  36736. * platform/graphics/cairo/ImageBufferCairo.cpp:
  36737. (WebCore::ImageBuffer::getImageData):
  36738. * platform/graphics/cg/ImageBufferCG.cpp:
  36739. (WebCore::ImageBuffer::getImageData):
  36740. * platform/graphics/qt/ImageBufferQt.cpp:
  36741. (WebCore::ImageBuffer::getImageData):
  36742. * platform/graphics/wx/ImageBufferWx.cpp:
  36743. (WebCore::ImageBuffer::getImageData):
  36744. 2008-02-22 Sam Weinig <sam@webkit.org>
  36745. Rubber-stamped by Adam Roben.
  36746. Rid the project of the Devil known as DeprecatedString!
  36747. * GNUmakefile.am:
  36748. * WebCore.base.exp:
  36749. * WebCore.pro:
  36750. * WebCore.vcproj/WebCore.vcproj:
  36751. * WebCore.xcodeproj/project.pbxproj:
  36752. * WebCoreSources.bkl:
  36753. * dom/Node.h:
  36754. * html/HTMLFormElement.cpp:
  36755. * platform/DeprecatedString.cpp: Removed.
  36756. * platform/DeprecatedString.h: Removed.
  36757. * platform/graphics/qt/IconQt.cpp:
  36758. * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
  36759. * platform/gtk/CookieJarGtk.cpp:
  36760. * platform/gtk/CursorGtk.cpp:
  36761. * platform/gtk/KeyEventGtk.cpp:
  36762. * platform/mac/DeprecatedStringMac.mm: Removed.
  36763. * platform/network/qt/ResourceHandleQt.cpp:
  36764. * platform/network/win/CookieJarWin.cpp:
  36765. (WebCore::cookies):
  36766. * platform/qt/ClipboardQt.cpp:
  36767. * platform/qt/CookieJarQt.cpp:
  36768. * platform/qt/CursorQt.cpp:
  36769. * platform/symbian/DeprecatedStringSymbian.cpp: Removed.
  36770. * platform/text/AtomicString.cpp:
  36771. * platform/text/AtomicString.h:
  36772. * platform/text/PlatformString.h:
  36773. * platform/text/String.cpp:
  36774. * platform/text/StringImpl.cpp:
  36775. * platform/text/qt/StringQt.cpp:
  36776. (WebCore::String::String):
  36777. * platform/text/wx/StringWx.cpp:
  36778. * platform/win/BString.cpp:
  36779. * platform/win/BString.h:
  36780. * platform/win/PasteboardWin.cpp:
  36781. 2008-02-22 Sam Weinig <sam@webkit.org>
  36782. Reviewed by Geoff Garen.
  36783. - Remove use of DeprecatedString in CSSStyleSelector.
  36784. * css/CSSStyleSelector.cpp:
  36785. (WebCore::findHash): Removed. Use find instead.
  36786. (WebCore::findSlashDotDotSlash): Changed to take a UChar* and a length.
  36787. (WebCore::findSlashSlash): Ditto.
  36788. (WebCore::findSlashDotSlash): Ditto.
  36789. (WebCore::containsColonSlashSlash): Ditto.
  36790. (WebCore::cleanPath): Change to operate on a String.
  36791. (WebCore::checkPseudoState): Changed to use a Vector as a buffer.
  36792. 2008-02-22 Geoffrey Garen <ggaren@apple.com>
  36793. Reviewed by Sam Weinig.
  36794. Fixed <rdar://problem/5057509> Repro leak of JSXMLHttpRequest and
  36795. associated objects @ www.viamichelin.it, which was probably an underlying
  36796. cause of <rdar://problem/5744037> Gmail out of memory (17455)
  36797. If SubresourceLoader::create returned NULL, we would ref() / gcProtect()
  36798. the XMLHttpRequest but think we hadn't, therefore never
  36799. calling deref() / gcUnprotect().
  36800. This could happen at gmail.com, since gmail.com attempts to send
  36801. XMLHttpRequests from unload handlers in order to gather usage statistics.
  36802. (According to comments in the code, SubresourceLoader::create returns
  36803. NULL when called from an unload handler.)
  36804. The solution is to ref() / gcProtect() only if SubresourceLoader::create
  36805. doesn't return NULL. This make sense, since we only need to protect the
  36806. request as long as it has an outstanding network transaction.
  36807. * xml/XMLHttpRequest.cpp:
  36808. (WebCore::XMLHttpRequest::XMLHttpRequest):
  36809. (WebCore::XMLHttpRequest::send):
  36810. 2008-02-22 Darin Adler <darin@apple.com>
  36811. Reviewed, tweaked and landed by Sam.
  36812. - Make RegularExpression operate on Strings instead of DeprecatedStrings.
  36813. * dom/DOMImplementation.cpp:
  36814. (WebCore::DOMImplementation::isXMLMIMEType): Use string instead of DeprecatedString
  36815. to build up the RegularExpression.
  36816. * page/Frame.cpp:
  36817. (WebCore::createRegExpForLabels): Use String instead of DeprecatedString.
  36818. (WebCore::Frame::searchForLabelsAboveCell): Ditto.
  36819. (WebCore::Frame::searchForLabelsBeforeElement): Ditto.
  36820. (WebCore::Frame::matchLabelsAgainstElement): Ditto.
  36821. * page/Frame.h:
  36822. * page/mac/FrameMac.mm:
  36823. (WebCore::regExpForLabels): Ditto.
  36824. (WebCore::Frame::searchForNSLabelsAboveCell): Ditto.
  36825. (WebCore::Frame::searchForLabelsBeforeElement): Ditto.
  36826. (WebCore::Frame::matchLabelsAgainstElement): Ditto.
  36827. * platform/text/RegularExpression.cpp:
  36828. (WebCore::RegularExpression::Private::Private):
  36829. (WebCore::RegularExpression::Private::compile):
  36830. (WebCore::RegularExpression::RegularExpression):
  36831. (WebCore::RegularExpression::operator=):
  36832. (WebCore::RegularExpression::pattern):
  36833. (WebCore::RegularExpression::match):
  36834. (WebCore::RegularExpression::search):
  36835. (WebCore::RegularExpression::searchRev):
  36836. (WebCore::replace): Added.
  36837. * platform/text/RegularExpression.h:
  36838. Change functions to take Strings as input instead of DeprecatedStrings and
  36839. reduce the complexity of the class by removing unneeded globbing support.
  36840. 2008-02-22 Jon Honeycutt <jhoneycutt@apple.com>
  36841. Reviewed by Anders.
  36842. <rdar://problem/5760360> REGRESSION(r30376): Crash loading plugin page
  36843. during stress test (after only 5 min) - null dereference
  36844. Full-frame plug-ins create PluginStream objects without loaders, as the
  36845. PluginView receives the loading callbacks. We were trying to call
  36846. setDefersLoading on these null pointers.
  36847. * plugins/PluginStream.cpp:
  36848. (WebCore::PluginStream::startStream): Add null check.
  36849. (WebCore::PluginStream::destroyStream): Same.
  36850. (WebCore::PluginStream::deliverData): Same.
  36851. 2008-02-22 Darin Adler <darin@apple.com>
  36852. Reviewed and tweaked by Jon Honeycutt. Reviewed and landed by Sam.
  36853. - Remove uses of DeprecatedString in Windows plugin code.
  36854. * plugins/win/PluginPackageWin.cpp:
  36855. (WebCore::getVersionInfo): Cleanup formatting.
  36856. (WebCore::PluginPackage::freeLibraryTimerFired): Remove un-needed variable name.
  36857. (WebCore::PluginPackage::storeFileVersion): Move casts.
  36858. (WebCore::PluginPackage::fetchInfo): Use OwnArrayPtr and switch to more efficient
  36859. use of Vectors.
  36860. (WebCore::PluginPackage::load): Fix whitespace.
  36861. (WebCore::PluginPackage::hash): Make the hashCodes const
  36862. * plugins/win/PluginViewWin.cpp:
  36863. (WebCore::makeURL): Use String instead of DeprecatedString.
  36864. (WebCore::parseRFC822HeaderFields): Ditto.
  36865. (WebCore::PluginView::handlePost): Ditto.
  36866. (WebCore::PluginView::status): Ditto.
  36867. 2008-02-22 Darin Adler <darin@apple.com>
  36868. Reviewed, tweaked and landed by Sam.
  36869. - Don't use DeprecatedString in HTMLTokenizer.
  36870. * html/HTMLTokenizer.cpp:
  36871. (WebCore::HTMLTokenizer::finish):
  36872. * platform/text/PlatformString.h:
  36873. (WebCore::find):
  36874. 2008-02-21 Sam Weinig <sam@webkit.org>
  36875. Reviewed by Anders Carlsson.
  36876. Fix for <rdar://problem/5757946>
  36877. - Parse URLs before checking whether they are javascript: urls
  36878. (which require security checks).
  36879. * bindings/js/JSAttrCustom.cpp:
  36880. (WebCore::JSAttr::setValue):
  36881. * bindings/js/JSElementCustom.cpp:
  36882. (WebCore::allowSettingSrcToJavascriptURL):
  36883. * bindings/js/JSHTMLFrameElementCustom.cpp:
  36884. (WebCore::allowSettingJavascriptURL):
  36885. * bindings/js/JSHTMLIFrameElementCustom.cpp:
  36886. (WebCore::JSHTMLIFrameElement::setSrc):
  36887. 2008-02-21 Ada Chan <adachan@apple.com>
  36888. <rdar://problem/5757873> Buffer overrun in DeprecatedCString::find() in WebCore
  36889. We could get a buffer overrun in DeprecatedCString::find() if the end of the
  36890. string matches a beginning portion of the substring, for example, if string is
  36891. "a" but the substring is "ab".
  36892. The code as is also will not match things correctly under certain situations
  36893. since the inner while loop increments the index. For example, we wouldn't find
  36894. a match if the string is "aab..." and the substring is "ab". Changed the
  36895. inner while loop to increment a temporary index into str.
  36896. Test: fast/loader/charset-parse.html
  36897. Reviewed by Dan Berstein.
  36898. * platform/DeprecatedCString.cpp:
  36899. (WebCore::DeprecatedCString::find):
  36900. 2008-02-21 David Hyatt <hyatt@apple.com>
  36901. Fix for bug 17301. CSS media queries need to use the correct viewport
  36902. when contained in documents inside iframes (rather than always using the
  36903. top-level document's viewport). CSS media queries based on the viewport
  36904. also needed to be dynamic and update as you resize the window (this is
  36905. a HOT feature). :)
  36906. This patch gets Acid3 up to 86/100 with 3 colored boxes filled in.
  36907. Reviewed by olliej
  36908. Added fast/media/viewport-media-query.html
  36909. * css/CSSStyleSelector.cpp:
  36910. (WebCore::CSSStyleSelector::CSSStyleSelector):
  36911. (WebCore::CSSStyleSelector::addViewportDependentMediaQueryResult):
  36912. (WebCore::CSSStyleSelector::affectedByViewportChange):
  36913. * css/CSSStyleSelector.h:
  36914. (WebCore::MediaQueryResult::MediaQueryResult):
  36915. * css/MediaQueryEvaluator.cpp:
  36916. (WebCore::MediaQueryEvaluator::MediaQueryEvaluator):
  36917. (WebCore::MediaQueryEvaluator):
  36918. (WebCore::MediaQueryEvaluator::eval):
  36919. (WebCore::colorMediaFeatureEval):
  36920. (WebCore::monochromeMediaFeatureEval):
  36921. (WebCore::device_aspect_ratioMediaFeatureEval):
  36922. (WebCore::device_pixel_ratioMediaFeatureEval):
  36923. (WebCore::gridMediaFeatureEval):
  36924. (WebCore::device_heightMediaFeatureEval):
  36925. (WebCore::device_widthMediaFeatureEval):
  36926. (WebCore::heightMediaFeatureEval):
  36927. (WebCore::widthMediaFeatureEval):
  36928. (WebCore::min_colorMediaFeatureEval):
  36929. (WebCore::max_colorMediaFeatureEval):
  36930. (WebCore::min_monochromeMediaFeatureEval):
  36931. (WebCore::max_monochromeMediaFeatureEval):
  36932. (WebCore::min_device_aspect_ratioMediaFeatureEval):
  36933. (WebCore::max_device_aspect_ratioMediaFeatureEval):
  36934. (WebCore::min_device_pixel_ratioMediaFeatureEval):
  36935. (WebCore::max_device_pixel_ratioMediaFeatureEval):
  36936. (WebCore::min_heightMediaFeatureEval):
  36937. (WebCore::max_heightMediaFeatureEval):
  36938. (WebCore::min_widthMediaFeatureEval):
  36939. (WebCore::max_widthMediaFeatureEval):
  36940. (WebCore::min_device_heightMediaFeatureEval):
  36941. (WebCore::max_device_heightMediaFeatureEval):
  36942. (WebCore::min_device_widthMediaFeatureEval):
  36943. (WebCore::max_device_widthMediaFeatureEval):
  36944. * css/MediaQueryEvaluator.h:
  36945. * css/MediaQueryExp.cpp:
  36946. (WebCore::MediaQueryExp::~MediaQueryExp):
  36947. * css/MediaQueryExp.h:
  36948. (WebCore::MediaQueryExp::value):
  36949. (WebCore::MediaQueryExp::isViewportDependent):
  36950. * html/HTMLMediaElement.cpp:
  36951. (WebCore::HTMLMediaElement::pickMedia):
  36952. * page/FrameView.cpp:
  36953. (WebCore::FrameView::layout):
  36954. 2008-02-21 Anders Carlsson <andersca@apple.com>
  36955. Reviewed by Sam.
  36956. Make more classes start out with a refcount of 1.
  36957. * dom/QualifiedName.cpp:
  36958. (WebCore::QNameComponentsTranslator::translate):
  36959. (WebCore::QualifiedName::QualifiedName):
  36960. * dom/QualifiedName.h:
  36961. (WebCore::QualifiedName::QualifiedNameImpl::create):
  36962. (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl):
  36963. * history/BackForwardList.cpp:
  36964. (WebCore::BackForwardList::BackForwardList):
  36965. * history/BackForwardList.h:
  36966. (WebCore::BackForwardList::create):
  36967. * page/Page.cpp:
  36968. (WebCore::Page::Page):
  36969. * platform/text/CString.cpp:
  36970. (WebCore::CString::init):
  36971. (WebCore::CString::newUninitialized):
  36972. (WebCore::CString::copyBufferIfNeeded):
  36973. * platform/text/CString.h:
  36974. (WebCore::CStringBuffer::create):
  36975. (WebCore::CStringBuffer::CStringBuffer):
  36976. 2008-02-21 Kevin Ollivier <kevino@theolliviers.com>
  36977. wx build fix for the domString() -> string() rename in r30443.
  36978. * platform/graphics/wx/FontPlatformDataWx.cpp:
  36979. (WebCore::FontPlatformData::FontPlatformData):
  36980. 2008-02-21 Antti Koivisto <antti@apple.com>
  36981. Reviewed by Sam Weinig.
  36982. <rdar://problem/5753789>
  36983. REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang)
  36984. Ensure all versions of allowsAccessFrom are inlined to single functions.
  36985. This is a 2% win in browser hosted Sunspider.
  36986. * bindings/js/kjs_window.cpp:
  36987. (KJS::Window::allowsAccessFrom):
  36988. (KJS::Window::allowsAccessFromPrivate):
  36989. * bindings/js/kjs_window.h:
  36990. 2008-02-21 Dan Bernstein <mitz@apple.com>
  36991. Reviewed by Sam Weinig.
  36992. - minor cleanup
  36993. * rendering/bidi.cpp:
  36994. (WebCore::bidiNext): Removed redundant isBR() check -- isText() returns
  36995. true for RenderLineBreak.
  36996. (WebCore::bidiFirst): Ditto.
  36997. (WebCore::shouldSkipWhitespaceAfterStartObject):
  36998. (WebCore::RenderBlock::findNextLineBreak):
  36999. 2008-02-21 Geoffrey Garen <ggaren@apple.com>
  37000. Reviewed by David Harrison.
  37001. Fixed <rdar://problem/5756125> REGRESSION: A crash occurs at
  37002. WebCore::Frame::scriptProxy() when completing a search with Package Tracker widget
  37003. Test: fast/dom/script-element-without-frame-crash.html
  37004. * html/HTMLTokenizer.cpp:
  37005. (WebCore::HTMLTokenizer::parseTag): Added back a NULL check that was
  37006. accidentally removed in r30325.
  37007. 2008-02-21 Rodney Dawes <dobey@wayofthemonkey.com>
  37008. GTK+ build fix. s/domString()/string()/
  37009. * platform/graphics/gtk/FontPlatformDataGtk.cpp:
  37010. (FontPlatformData::FontPlatformData):
  37011. 2008-02-20 Dan Bernstein <mitz@apple.com>
  37012. Reviewed by Dave Hyatt.
  37013. - fix http://bugs.webkit.org/show_bug.cgi?id=17465
  37014. REGRESSION: <DIV> tokenized into Div if still searching for DOCTYPE
  37015. Test: fast/tokenizer/doctype-search-reset.html
  37016. * html/HTMLTokenizer.cpp:
  37017. (WebCore::HTMLTokenizer::parseTag):
  37018. 2008-02-20 Dan Bernstein <mitz@apple.com>
  37019. Reviewed by Dave Hyatt.
  37020. - fix http://bugs.webkit.org/show_bug.cgi?id=17464
  37021. REGRESSION: Crash in RenderBlock::findNextLineBreak reading r30444 commit email in GMail
  37022. Test: fast/text/wbr-in-pre-crash.html
  37023. * rendering/bidi.cpp:
  37024. (WebCore::RenderBlock::findNextLineBreak):
  37025. 2008-02-20 Oliver Hunt <oliver@apple.com>
  37026. Reviewed by Hyatt.
  37027. Bug 17303: Canvas crash in ImageBuffer
  37028. We handle a null GraphicsContext everywhere, but we weren't checking for
  37029. a null ImageBuffer, which is what will result in a null GraphicsContext in
  37030. the first place.
  37031. Test: fast/canvas/access-zero-sized-canvas.html
  37032. * html/HTMLCanvasElement.cpp:
  37033. 2008-02-20 David Hyatt <hyatt@apple.com>
  37034. Fix the layout test failure that never should have passed in the first
  37035. place by making changes to media lists actually result in the recomputation
  37036. of the style selector. Now it passes for the right reasons and not because
  37037. of dumb luck.
  37038. Reviewed by Sam Weinig
  37039. * css/MediaList.cpp:
  37040. (WebCore::MediaList::deleteMedium):
  37041. (WebCore::MediaList::setMediaText):
  37042. (WebCore::MediaList::appendMedium):
  37043. (WebCore::MediaList::notifyChanged):
  37044. * css/MediaList.h:
  37045. * dom/Document.cpp:
  37046. (WebCore::Document::attach):
  37047. 2008-02-20 Darin Adler <darin@apple.com>
  37048. Reviewed, tweaked and landed by Sam.
  37049. - make markup functions not use DeprecatedString.
  37050. * editing/markup.cpp:
  37051. (WebCore::append): Added.
  37052. (WebCore::escapeContentText): Build up string using a Vector.
  37053. (WebCore::appendStartMarkup): Use String instead of DeprecatedString.
  37054. 2008-02-20 Darin Adler <darin@apple.com>
  37055. Reviewed, tweaked and landed by Sam.
  37056. - make TextIterator use a Vector instead of a DeprecatedString.
  37057. * editing/TextIterator.cpp:
  37058. (WebCore::CharacterIterator::string): Build up the String using a
  37059. Vector.
  37060. (WebCore::WordAwareIterator::advance): Switch to using Vector functions.
  37061. (WebCore::WordAwareIterator::length): Ditto.
  37062. (WebCore::WordAwareIterator::characters): Ditto.
  37063. * editing/TextIterator.h: Use a Vector<UChar> for the buffer instead
  37064. of DeprecatedString.
  37065. 2008-02-20 Darin Adler <darin@apple.com>
  37066. Reviewed, tweaked and landed by Sam.
  37067. - make HTMLInterchange return a String instead of a DeprecatedString
  37068. * editing/HTMLInterchange.cpp:
  37069. (WebCore::): Return a String from convertedSpaceString.
  37070. (WebCore::convertHTMLTextToInterchangeFormat): Use a Vector instead of
  37071. a DeprecatedString to build up the return String.
  37072. * editing/HTMLInterchange.h:
  37073. 2008-02-20 Eric Seidel <eric@webkit.org>
  37074. Reviewed by Oliver.
  37075. Remove m_drawingContext and change m_data to m_imageBuffer
  37076. * html/HTMLCanvasElement.cpp:
  37077. (WebCore::HTMLCanvasElement::HTMLCanvasElement):
  37078. (WebCore::HTMLCanvasElement::reset):
  37079. (WebCore::HTMLCanvasElement::paint):
  37080. (WebCore::HTMLCanvasElement::createImageBuffer):
  37081. (WebCore::HTMLCanvasElement::buffer):
  37082. (WebCore::HTMLCanvasElement::createPlatformImage):
  37083. * html/HTMLCanvasElement.h:
  37084. 2008-02-20 Anders Carlsson <andersca@apple.com>
  37085. Reviewed by Sam.
  37086. Rename AtomicString::domString() to AtomicString::string().
  37087. * css/CSSComputedStyleDeclaration.cpp:
  37088. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  37089. * css/CSSFontSelector.cpp:
  37090. (WebCore::CSSFontSelector::getFontData):
  37091. * dom/Attr.cpp:
  37092. (WebCore::Attr::createTextChild):
  37093. * dom/Comment.cpp:
  37094. (WebCore::Comment::nodeName):
  37095. * dom/Document.cpp:
  37096. (WebCore::Document::recalcStyleSelector):
  37097. (WebCore::Document::setHTMLWindowEventListener):
  37098. (WebCore::Document::formElementsState):
  37099. * dom/StyledElement.cpp:
  37100. (WebCore::StyledElement::parseMappedAttribute):
  37101. * dom/Text.cpp:
  37102. (WebCore::Text::nodeName):
  37103. * editing/SelectionController.cpp:
  37104. (WebCore::SelectionController::debugRenderer):
  37105. * html/HTMLCollection.cpp:
  37106. (WebCore::HTMLCollection::checkForNameMatch):
  37107. * html/HTMLElement.cpp:
  37108. (WebCore::HTMLElement::nodeName):
  37109. (WebCore::HTMLElement::setHTMLEventListener):
  37110. * html/HTMLFormCollection.cpp:
  37111. (WebCore::HTMLFormCollection::getNamedFormItem):
  37112. * html/HTMLImageElement.cpp:
  37113. (WebCore::HTMLImageElement::parseMappedAttribute):
  37114. (WebCore::HTMLImageElement::isURLAttribute):
  37115. * html/HTMLLinkElement.cpp:
  37116. (WebCore::HTMLLinkElement::parseMappedAttribute):
  37117. (WebCore::HTMLLinkElement::tokenizeRelAttribute):
  37118. * html/HTMLObjectElement.cpp:
  37119. (WebCore::HTMLObjectElement::isURLAttribute):
  37120. (WebCore::HTMLObjectElement::containsJavaApplet):
  37121. * html/HTMLParamElement.cpp:
  37122. (WebCore::HTMLParamElement::isURLAttribute):
  37123. * html/HTMLParser.cpp:
  37124. (WebCore::HTMLParser::handleIsindex):
  37125. * html/HTMLScriptElement.cpp:
  37126. (WebCore::HTMLScriptElement::insertedIntoDocument):
  37127. (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
  37128. * html/HTMLStyleElement.cpp:
  37129. (WebCore::HTMLStyleElement::parseMappedAttribute):
  37130. * html/HTMLTokenizer.cpp:
  37131. (WebCore::HTMLTokenizer::parseTag):
  37132. * html/HTMLViewSourceDocument.cpp:
  37133. (WebCore::HTMLViewSourceDocument::addViewSourceToken):
  37134. * loader/FrameLoader.cpp:
  37135. (WebCore::FrameLoader::saveDocumentState):
  37136. * page/FrameTree.cpp:
  37137. (WebCore::FrameTree::uniqueChildName):
  37138. * platform/text/AtomicString.h:
  37139. (WebCore::AtomicString::string):
  37140. (WebCore::AtomicString::contains):
  37141. (WebCore::AtomicString::find):
  37142. (WebCore::AtomicString::startsWith):
  37143. (WebCore::AtomicString::endsWith):
  37144. * rendering/RenderPartObject.cpp:
  37145. (WebCore::RenderPartObject::updateWidget):
  37146. * svg/SVGElement.cpp:
  37147. (WebCore::SVGElement::addSVGEventListener):
  37148. * svg/SVGSVGElement.cpp:
  37149. (WebCore::SVGSVGElement::addSVGWindowEventListener):
  37150. * xml/XPathFunctions.cpp:
  37151. (WebCore::XPath::FunLocalName::evaluate):
  37152. (WebCore::XPath::FunNamespaceURI::evaluate):
  37153. (WebCore::XPath::FunName::evaluate):
  37154. 2008-02-20 Brent Fulgham <bfulgham@gmail.com>
  37155. Reviewed by Dan.
  37156. http://bugs.webkit.org/show_bug.cgi?id=17336
  37157. Provide implementations for Windows (Cairo) build of WebKit that
  37158. handles font formatting.
  37159. - Split font implementation files to allow maximal code sharing
  37160. between CG and Cairo back-ends.
  37161. * WebCore.vcproj/WebCore.vcproj:
  37162. * platform/graphics/SimpleFontData.h: Add signatures for private win
  37163. initialization functions.
  37164. * platform/graphics/win/FontCacheWin.cpp:
  37165. (WebCore::FontCache::platformInit):
  37166. (WebCore::FontCache::createFontPlatformData):
  37167. * platform/graphics/win/FontCairoWin.cpp: Removed. Universal version
  37168. is now part of platform/graphics/cairo.
  37169. * platform/graphics/win/FontCustomPlatformDataCairo.cpp: Added.
  37170. (WebCore::FontCustomPlatformDataCairo::~FontCustomPlatformDataCairo):
  37171. (WebCore::FontCustomPlatformDataCairo::fontPlatformData):
  37172. (WebCore::releaseData):
  37173. (WebCore::createFontCustomPlatformData):
  37174. * platform/graphics/win/FontCustomPlatformDataCairo.h: Added.
  37175. (WebCore::FontCustomPlatformDataCairo::FontCustomPlatformDataCairo):
  37176. * platform/graphics/win/FontPlatformData.h:
  37177. (WebCore::FontPlatformData::FontPlatformData):
  37178. (WebCore::FontPlatformData::fontFace):
  37179. (WebCore::FontPlatformData::scaledFont):
  37180. (WebCore::FontPlatformData::operator==):
  37181. * platform/graphics/win/FontPlatformDataCGWin.cpp: Copied from WebCore/platform/graphics/win/FontPlatformDataWin.cpp.
  37182. (WebCore::FontPlatformData::platformDataInit):
  37183. * platform/graphics/win/FontPlatformDataCairoWin.cpp: Added.
  37184. (WebCore::FontPlatformData::platformDataInit):
  37185. (WebCore::FontPlatformData::FontPlatformData):
  37186. (WebCore::FontPlatformData::setFont):
  37187. * platform/graphics/win/FontPlatformDataWin.cpp: Moved CG-specific
  37188. code to FontPlatformDataCG.cpp.
  37189. (WebCore::FontPlatformData::FontPlatformData):
  37190. * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: Copied from WebCore/platform/graphics/win/GlyphPageTreeNodeWin.cpp.
  37191. * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: Copied from WebCore/platform/graphics/win/GlyphPageTreeNodeWin.cpp.
  37192. (WebCore::GlyphPage::fill):
  37193. * platform/graphics/win/GlyphPageTreeNodeWin.cpp: Removed. Replaced
  37194. with CG- and Cairo-specific versions.
  37195. * platform/graphics/win/SimpleFontDataCGWin.cpp:
  37196. (WebCore::SimpleFontData::platformInit):
  37197. (WebCore::SimpleFontData::platformDestroy):
  37198. (WebCore::SimpleFontData::platformWidthForGlyph):
  37199. * platform/graphics/win/SimpleFontDataCairoWin.cpp:
  37200. (WebCore::SimpleFontData::platformInit):
  37201. (WebCore::SimpleFontData::platformDestroy):
  37202. (WebCore::SimpleFontData::platformWidthForGlyph):
  37203. (WebCore::SimpleFontData::setFont):
  37204. * platform/graphics/win/SimpleFontDataWin.cpp:
  37205. (WebCore::SimpleFontData::initGDIFont):
  37206. (WebCore::SimpleFontData::platformCommonDestroy):
  37207. (WebCore::SimpleFontData::widthForGDIGlyph):
  37208. 2008-02-20 Darin Adler <darin@apple.com>
  37209. Reviewed by Sam.
  37210. * dom/Node.h: Took out unneeded forward declaration of TextStream.
  37211. 2008-02-20 Darin Adler <darin@apple.com>
  37212. Reviewed by Sam.
  37213. * rendering/RenderObject.h: Took out unneeded forward declaration of TextStream.
  37214. 2008-02-20 David Hyatt <hyatt@apple.com>
  37215. Fix for bug 16760, incorrect <object> MIME type handling and fallback
  37216. handling.
  37217. Reviewed by darin
  37218. * html/HTMLImageLoader.cpp:
  37219. (WebCore::HTMLImageLoader::notifyFinished):
  37220. If the image had an error, make sure to do <object> fallback.
  37221. * html/HTMLObjectElement.cpp:
  37222. (WebCore::HTMLObjectElement::renderFallbackContent):
  37223. Before doing fallback check if there is a MIME type mismatch between
  37224. an image type and a non-image type. If so, detach and re-attach after
  37225. storing the correct MIME type.
  37226. * loader/loader.cpp:
  37227. (WebCore::Loader::didReceiveData):
  37228. Consider it an error when a 404 is encountered on a CachedResource load.
  37229. 2008-02-20 Anders Carlsson <andersca@apple.com>
  37230. Reviewed by Sam.
  37231. StringImpl constructors used by AtomicString should start with a refcount of 1.
  37232. * platform/text/AtomicString.cpp:
  37233. (WebCore::AtomicString::add):
  37234. * platform/text/AtomicString.h:
  37235. * platform/text/StringImpl.cpp:
  37236. (WebCore::StringImpl::StringImpl):
  37237. 2008-02-20 Darin Adler <darin@apple.com>
  37238. * bindings/js/kjs_navigator.cpp:
  37239. (WebCore::needsYouTubeQuirk): Tweak comments.
  37240. 2008-02-20 Anders Carlsson <andersca@apple.com>
  37241. Reviewed by Darin.
  37242. Change all refcounted classes in page/ to start with a refcount of 1.
  37243. * page/BarInfo.cpp:
  37244. (WebCore::BarInfo::BarInfo):
  37245. * page/BarInfo.h:
  37246. (WebCore::BarInfo::create):
  37247. * page/Console.cpp:
  37248. (WebCore::Console::Console):
  37249. * page/Console.h:
  37250. (WebCore::Console::create):
  37251. * page/DOMSelection.cpp:
  37252. (WebCore::DOMSelection::DOMSelection):
  37253. * page/DOMSelection.h:
  37254. (WebCore::DOMSelection::create):
  37255. * page/DOMWindow.cpp:
  37256. (WebCore::DOMWindow::DOMWindow):
  37257. (WebCore::DOMWindow::screen):
  37258. (WebCore::DOMWindow::history):
  37259. (WebCore::DOMWindow::locationbar):
  37260. (WebCore::DOMWindow::menubar):
  37261. (WebCore::DOMWindow::personalbar):
  37262. (WebCore::DOMWindow::scrollbars):
  37263. (WebCore::DOMWindow::statusbar):
  37264. (WebCore::DOMWindow::toolbar):
  37265. (WebCore::DOMWindow::console):
  37266. (WebCore::DOMWindow::getSelection):
  37267. * page/DOMWindow.h:
  37268. (WebCore::DOMWindow::create):
  37269. * page/Frame.cpp:
  37270. (WebCore::Frame::domWindow):
  37271. * page/History.cpp:
  37272. (WebCore::History::History):
  37273. * page/History.h:
  37274. (WebCore::History::create):
  37275. * page/InspectorController.cpp:
  37276. (WebCore::InspectorResource::create):
  37277. (WebCore::InspectorResource::InspectorResource):
  37278. (WebCore::InspectorDatabaseResource::create):
  37279. (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
  37280. (WebCore::InspectorController::didLoadResourceFromMemoryCache):
  37281. (WebCore::InspectorController::identifierForInitialRequest):
  37282. (WebCore::InspectorController::didOpenDatabase):
  37283. * page/Plugin.h:
  37284. (WebCore::Plugin::create):
  37285. (WebCore::Plugin::Plugin):
  37286. * page/Screen.cpp:
  37287. (WebCore::Screen::Screen):
  37288. * page/Screen.h:
  37289. (WebCore::Screen::create):
  37290. 2008-02-20 Sam Weinig <sam@webkit.org>
  37291. Reviewed by Darin and Geoff.
  37292. - <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack
  37293. * WebCore.base.exp: Updated.
  37294. * bindings/js/kjs_navigator.cpp:
  37295. (WebCore::needsYouTubeQuirk): Added. Return true on Windows only when the quirk is needed.
  37296. (WebCore::Navigator::getValueProperty): For the appVersion property, if needsYouTubeQuirk
  37297. return true, then return the empty string.
  37298. * page/Settings.cpp:
  37299. (WebCore::Settings::Settings): Set m_needsSiteSpecificQuirks to false.
  37300. (WebCore::Settings::setNeedsSiteSpecificQuirks): Added.
  37301. * page/Settings.h: Added m_needsSiteSpecificQuirks.
  37302. (WebCore::Settings::needsSiteSpecificQuirks): Added.
  37303. 2008-02-20 David Hyatt <hyatt@apple.com>
  37304. Fix for bug 12751, doctype nodes aren't part of the Document (Acid3).
  37305. Reviewed by Sam Weinig
  37306. Many tests added in fast/doctypes.
  37307. * dom/DOMImplementation.cpp:
  37308. (WebCore::DOMImplementation::createDocument):
  37309. (WebCore::DOMImplementation::createHTMLDocument):
  37310. * dom/Document.cpp:
  37311. (WebCore::Document::Document):
  37312. (WebCore::Document::setDocType):
  37313. (WebCore::Document::attach):
  37314. (WebCore::Document::getImageMap):
  37315. * dom/Document.h:
  37316. (WebCore::Document::doctype):
  37317. (WebCore::Document::):
  37318. (WebCore::Document::determineParseMode):
  37319. (WebCore::Document::setParseMode):
  37320. (WebCore::Document::parseMode):
  37321. (WebCore::Document::inCompatMode):
  37322. (WebCore::Document::inAlmostStrictMode):
  37323. (WebCore::Document::inStrictMode):
  37324. * dom/DocumentType.cpp:
  37325. (WebCore::DocumentType::cloneNode):
  37326. (WebCore::DocumentType::insertedIntoDocument):
  37327. (WebCore::DocumentType::removedFromDocument):
  37328. * dom/DocumentType.h:
  37329. * dom/Node.cpp:
  37330. (WebCore::Node::childAllowed):
  37331. * dom/StyledElement.cpp:
  37332. (WebCore::StyledElement::attributeChanged):
  37333. * dom/XMLTokenizer.cpp:
  37334. (WebCore::XMLTokenizer::internalSubset):
  37335. * editing/markup.cpp:
  37336. (WebCore::appendStartMarkup):
  37337. * html/HTMLAppletElement.cpp:
  37338. (WebCore::HTMLAppletElement::createRenderer):
  37339. * html/HTMLDocument.cpp:
  37340. (WebCore::HTMLDocument::HTMLDocument):
  37341. (WebCore::HTMLDocument::childAllowed):
  37342. (WebCore::HTMLDocument::determineParseMode):
  37343. * html/HTMLDocument.h:
  37344. * html/HTMLMapElement.cpp:
  37345. (WebCore::HTMLMapElement::parseMappedAttribute):
  37346. * html/HTMLParamElement.cpp:
  37347. (WebCore::HTMLParamElement::parseMappedAttribute):
  37348. * html/HTMLParser.cpp:
  37349. (WebCore::HTMLParser::parseDoctypeToken):
  37350. * html/HTMLParser.h:
  37351. * html/HTMLTokenizer.cpp:
  37352. (WebCore::HTMLTokenizer::reset):
  37353. (WebCore::HTMLTokenizer::parseDoctype):
  37354. (WebCore::HTMLTokenizer::parseTag):
  37355. (WebCore::HTMLTokenizer::write):
  37356. (WebCore::HTMLTokenizer::finish):
  37357. (WebCore::HTMLTokenizer::processDoctypeToken):
  37358. * html/HTMLTokenizer.h:
  37359. (WebCore::DoctypeToken::DoctypeToken):
  37360. (WebCore::DoctypeToken::reset):
  37361. (WebCore::DoctypeToken::state):
  37362. (WebCore::DoctypeToken::setState):
  37363. (WebCore::HTMLTokenizer::State::inDoctype):
  37364. (WebCore::HTMLTokenizer::State::setInDoctype):
  37365. (WebCore::HTMLTokenizer::State::needsSpecialWriteHandling):
  37366. (WebCore::HTMLTokenizer::State::):
  37367. * html/HTMLViewSourceDocument.cpp:
  37368. (WebCore::HTMLViewSourceDocument::addViewSourceToken):
  37369. (WebCore::HTMLViewSourceDocument::addViewSourceDoctypeToken):
  37370. * html/HTMLViewSourceDocument.h:
  37371. * loader/FrameLoader.cpp:
  37372. (WebCore::FrameLoader::write):
  37373. (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
  37374. * page/Frame.cpp:
  37375. (WebCore::Frame::documentTypeString):
  37376. * page/inspector/utilities.js:
  37377. * xml/XSLTProcessor.cpp:
  37378. (WebCore::XSLTProcessor::createDocumentFromSource):
  37379. 2008-02-20 Anders Carlsson <andersca@apple.com>
  37380. Reviewed by Darin.
  37381. Change most SVG related classes to start out with a ref count of 1.
  37382. * bindings/js/JSSVGPointListCustom.cpp:
  37383. (WebCore::JSSVGPointList::initialize):
  37384. (WebCore::JSSVGPointList::insertItemBefore):
  37385. (WebCore::JSSVGPointList::replaceItem):
  37386. (WebCore::JSSVGPointList::appendItem):
  37387. * bindings/js/JSSVGTransformListCustom.cpp:
  37388. (WebCore::JSSVGTransformList::initialize):
  37389. (WebCore::JSSVGTransformList::insertItemBefore):
  37390. (WebCore::JSSVGTransformList::replaceItem):
  37391. (WebCore::JSSVGTransformList::appendItem):
  37392. * rendering/SVGCharacterLayoutInfo.h:
  37393. (WebCore::SVGCharOnPath::create):
  37394. (WebCore::SVGCharOnPath::SVGCharOnPath):
  37395. * rendering/SVGRootInlineBox.cpp:
  37396. (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
  37397. * svg/SVGAnimationElement.cpp:
  37398. (WebCore::SVGAnimationElement::parseBeginOrEndValue):
  37399. * svg/SVGClipPathElement.cpp:
  37400. (WebCore::SVGClipPathElement::canvasResource):
  37401. * svg/SVGElementInstance.cpp:
  37402. (WebCore::SVGElementInstance::childNodes):
  37403. * svg/SVGElementInstanceList.cpp:
  37404. (WebCore::SVGElementInstanceList::SVGElementInstanceList):
  37405. * svg/SVGElementInstanceList.h:
  37406. (WebCore::SVGElementInstanceList::create):
  37407. * svg/SVGFitToViewBox.cpp:
  37408. (WebCore::SVGFitToViewBox::SVGFitToViewBox):
  37409. * svg/SVGGradientElement.cpp:
  37410. (WebCore::SVGGradientElement::SVGGradientElement):
  37411. (WebCore::SVGGradientElement::canvasResource):
  37412. * svg/SVGImageElement.cpp:
  37413. (WebCore::SVGImageElement::SVGImageElement):
  37414. * svg/SVGLengthList.h:
  37415. (WebCore::SVGLengthList::create):
  37416. * svg/SVGList.h:
  37417. (WebCore::SVGList::SVGList):
  37418. (WebCore::SVGPODListItem::create):
  37419. (WebCore::SVGPODListItem::copy):
  37420. (WebCore::SVGPODListItem::SVGPODListItem):
  37421. (WebCore::SVGPODList::initialize):
  37422. (WebCore::SVGPODList::insertItemBefore):
  37423. (WebCore::SVGPODList::replaceItem):
  37424. (WebCore::SVGPODList::appendItem):
  37425. (WebCore::SVGPODList::SVGPODList):
  37426. * svg/SVGMarkerElement.cpp:
  37427. (WebCore::SVGMarkerElement::canvasResource):
  37428. * svg/SVGMaskElement.cpp:
  37429. (WebCore::SVGMaskElement::canvasResource):
  37430. * svg/SVGNumberList.h:
  37431. (WebCore::SVGNumberList::create):
  37432. * svg/SVGPathElement.cpp:
  37433. (WebCore::SVGPathElement::createSVGPathSegClosePath):
  37434. (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
  37435. (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
  37436. (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
  37437. (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
  37438. (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
  37439. (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
  37440. (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
  37441. (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
  37442. (WebCore::SVGPathElement::createSVGPathSegArcAbs):
  37443. (WebCore::SVGPathElement::createSVGPathSegArcRel):
  37444. (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
  37445. (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
  37446. (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
  37447. (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
  37448. (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
  37449. (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
  37450. (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
  37451. (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
  37452. (WebCore::SVGPathElement::pathSegList):
  37453. * svg/SVGPathElement.h:
  37454. * svg/SVGPathSeg.h:
  37455. (WebCore::SVGPathSeg::SVGPathSeg):
  37456. * svg/SVGPathSegArc.h:
  37457. (WebCore::SVGPathSegArcAbs::create):
  37458. (WebCore::SVGPathSegArcRel::create):
  37459. * svg/SVGPathSegClosePath.h:
  37460. (WebCore::SVGPathSegClosePath::create):
  37461. * svg/SVGPathSegCurvetoCubic.h:
  37462. (WebCore::SVGPathSegCurvetoCubicAbs::create):
  37463. (WebCore::SVGPathSegCurvetoCubicRel::create):
  37464. * svg/SVGPathSegCurvetoCubicSmooth.h:
  37465. (WebCore::SVGPathSegCurvetoCubicSmoothAbs::create):
  37466. (WebCore::SVGPathSegCurvetoCubicSmoothRel::create):
  37467. * svg/SVGPathSegCurvetoQuadratic.h:
  37468. (WebCore::SVGPathSegCurvetoQuadraticAbs::create):
  37469. (WebCore::SVGPathSegCurvetoQuadraticRel::create):
  37470. * svg/SVGPathSegCurvetoQuadraticSmooth.h:
  37471. (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::create):
  37472. (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::create):
  37473. * svg/SVGPathSegLineto.h:
  37474. (WebCore::SVGPathSegLinetoAbs::create):
  37475. (WebCore::SVGPathSegLinetoRel::create):
  37476. * svg/SVGPathSegLinetoHorizontal.h:
  37477. (WebCore::SVGPathSegLinetoHorizontalAbs::create):
  37478. (WebCore::SVGPathSegLinetoHorizontalRel::create):
  37479. * svg/SVGPathSegLinetoVertical.h:
  37480. (WebCore::SVGPathSegLinetoVerticalAbs::create):
  37481. (WebCore::SVGPathSegLinetoVerticalRel::create):
  37482. * svg/SVGPathSegList.h:
  37483. (WebCore::SVGPathSegList::create):
  37484. * svg/SVGPathSegMoveto.h:
  37485. (WebCore::SVGPathSegMovetoAbs::create):
  37486. (WebCore::SVGPathSegMovetoRel::create):
  37487. * svg/SVGPatternElement.cpp:
  37488. (WebCore::SVGPatternElement::SVGPatternElement):
  37489. (WebCore::SVGPatternElement::canvasResource):
  37490. * svg/SVGPointList.h:
  37491. (WebCore::SVGPointList::create):
  37492. * svg/SVGPolyElement.cpp:
  37493. (WebCore::SVGPolyElement::points):
  37494. * svg/SVGPreserveAspectRatio.cpp:
  37495. (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
  37496. * svg/SVGPreserveAspectRatio.h:
  37497. (WebCore::SVGPreserveAspectRatio::create):
  37498. * svg/SVGRenderingIntent.h:
  37499. (WebCore::SVGRenderingIntent::SVGRenderingIntent):
  37500. * svg/SVGStringList.h:
  37501. (WebCore::SVGStringList::create):
  37502. * svg/SVGStyledTransformableElement.cpp:
  37503. (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
  37504. * svg/SVGTests.cpp:
  37505. (WebCore::SVGTests::requiredFeatures):
  37506. (WebCore::SVGTests::requiredExtensions):
  37507. (WebCore::SVGTests::systemLanguage):
  37508. * svg/SVGTextElement.cpp:
  37509. (WebCore::SVGTextElement::SVGTextElement):
  37510. * svg/SVGTextPositioningElement.cpp:
  37511. (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
  37512. * svg/SVGTransformList.h:
  37513. (WebCore::SVGTransformList::create):
  37514. * svg/SVGUnitTypes.h:
  37515. (WebCore::SVGUnitTypes::SVGUnitTypes):
  37516. * svg/SVGViewElement.cpp:
  37517. (WebCore::SVGViewElement::viewTarget):
  37518. * svg/SVGViewSpec.cpp:
  37519. (WebCore::SVGViewSpec::SVGViewSpec):
  37520. * svg/graphics/SVGPaintServer.cpp:
  37521. (WebCore::SVGPaintServer::sharedSolidPaintServer):
  37522. * svg/graphics/SVGPaintServer.h:
  37523. * svg/graphics/SVGPaintServerGradient.h:
  37524. (WebCore::SVGPaintServerGradient::SharedStopCache::create):
  37525. (WebCore::SVGPaintServerGradient::SharedStopCache::SharedStopCache):
  37526. * svg/graphics/SVGPaintServerLinearGradient.h:
  37527. (WebCore::SVGPaintServerLinearGradient::create):
  37528. * svg/graphics/SVGPaintServerPattern.h:
  37529. (WebCore::SVGPaintServerPattern::create):
  37530. * svg/graphics/SVGPaintServerRadialGradient.h:
  37531. (WebCore::SVGPaintServerRadialGradient::create):
  37532. * svg/graphics/SVGPaintServerSolid.h:
  37533. (WebCore::SVGPaintServerSolid::create):
  37534. * svg/graphics/SVGResource.cpp:
  37535. (WebCore::SVGResource::SVGResource):
  37536. * svg/graphics/SVGResource.h:
  37537. * svg/graphics/SVGResourceClipper.h:
  37538. (WebCore::SVGResourceClipper::create):
  37539. * svg/graphics/SVGResourceMarker.h:
  37540. (WebCore::SVGResourceMarker::create):
  37541. * svg/graphics/SVGResourceMasker.h:
  37542. (WebCore::SVGResourceMasker::create):
  37543. * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
  37544. (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
  37545. 2008-02-20 Darin Adler <darin@apple.com>
  37546. Reviewed by Sam.
  37547. - make conversion from CSS ParseString to String and AtomicString
  37548. automatic and remove all the explicit calls to do the conversion
  37549. - fix CSS parsing to do fewer allocations, mostly by using the
  37550. equalIgnoringCase function in CSSParser
  37551. * css/CSSGrammar.y: Take out all the explicit atomicString and
  37552. domString calls now that ParseString knows how to convert itself.
  37553. * css/CSSParser.cpp:
  37554. (WebCore::equal): Added.
  37555. (WebCore::equalIgnoringCase): Allow non-lettters.
  37556. (WebCore::ParseString::lower): Used charactersAreAllASCII.
  37557. (WebCore::unitFromString): Use equal.
  37558. (WebCore::CSSParser::parseValue): Removed unneeded call to domString.
  37559. (WebCore::CSSParser::parseContent): Use equalIgnoringCase.
  37560. (WebCore::CSSParser::parseBackgroundImage): Removed unneeded call to domString.
  37561. (WebCore::CSSParser::parseTransitionTimingFunction): Use equalIgnoringCase.
  37562. (WebCore::CSSParser::parseDashboardRegions): More of the same.
  37563. (WebCore::CSSParser::parseCounterContent): Ditto.
  37564. (WebCore::CSSParser::parseShape): Use equalIgnoringCase.
  37565. (WebCore::CSSParser::parseFontFamily): Removed unneeded calls to domString.
  37566. (WebCore::CSSParser::parseFontFaceSrc): More.
  37567. (WebCore::CSSParser::parseFontFaceUnicodeRange): More.
  37568. (WebCore::CSSParser::parseColor): Don't lowercase here -- setNamedColor now
  37569. handles the case folding.
  37570. (WebCore::CSSParser::parseColorFromValue): More.
  37571. (WebCore::CSSParser::parseBorderImage): More.
  37572. (WebCore::CSSParser::parseCounter): More.
  37573. (WebCore::TransformOperationInfo::TransformOperationInfo): More.
  37574. (WebCore::CSSParser::parseTransform): More.
  37575. (WebCore::CSSParser::createCharsetRule): More.
  37576. (WebCore::CSSParser::createImportRule): More.
  37577. * css/CSSParser.h: Removed domString and atomicString functions.
  37578. (WebCore::ParseString::operator String): Added. Allows conversion to String
  37579. without an explicit function call.
  37580. (WebCore::ParseString::operator AtomicString): Ditto.
  37581. * css/MediaQueryExp.cpp:
  37582. (WebCore::MediaQueryExp::MediaQueryExp): Removed a call to domString.
  37583. * css/SVGCSSParser.cpp:
  37584. (WebCore::CSSParser::parseSVGValue): Removed calls to domString.
  37585. * platform/graphics/Color.cpp:
  37586. (WebCore::findNamedColor): Call toASCIILower on each character as we copy
  37587. it into the 8-bit character buffer to make the operation fold case.
  37588. 2008-02-20 Justin Garcia <justin.garcia@apple.com>
  37589. Reviewed by Darin Adler.
  37590. <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore changes
  37591. * editing/DeleteSelectionCommand.cpp:
  37592. (WebCore::DeleteSelectionCommand::initializeStartEnd): The common case here
  37593. is where there are no special elements. Avoid creating VisiblePositions in
  37594. that case. Additionally, this change postpones the more expensive creation
  37595. of an upstream VisiblePosition until the last possible moment.
  37596. (WebCore::DeleteSelectionCommand::saveTypingStyleState):
  37597. (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Add an
  37598. early return for a common case: deleting characters that are all inside the
  37599. same text node. In that case the style at the start of the selection will
  37600. not change during the delete, so there is no need to save/recompute it.
  37601. (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor): Early return
  37602. before VisiblePosition creation if the ends of the selection aren't enclosed
  37603. by an anchor.
  37604. * editing/TypingCommand.cpp:
  37605. (WebCore::TypingCommand::markMisspellingsAfterTyping): Early return if spell
  37606. checking isn't enabled.
  37607. 2008-02-20 Alexey Proskuryakov <ap@webkit.org>
  37608. Incorporates some improvements made by Dan Bernstein.
  37609. Reviewed by Darin.
  37610. http://bugs.webkit.org/show_bug.cgi?id=17106
  37611. <rdar://problem/5750722> Debug build ASSERTs on page load
  37612. Test: fast/encoding/GBK/close-gbk-converter.html
  37613. * platform/text/TextCodecICU.cpp:
  37614. (WebCore::getGbkEscape): Changed to use a switch instead of a HashMap, as there
  37615. are only four values.
  37616. (WebCore::gbkCallbackEscape): Check the reason why the function is called, and do not attempt
  37617. getting an escape character if it's not UCNV_UNASSIGNED.
  37618. (WebCore::gbkCallbackSubstitute): Ditto.
  37619. 2008-02-20 Alexey Proskuryakov <ap@webkit.org>
  37620. Build fix.
  37621. * xml/XMLHttpRequest.cpp:
  37622. (WebCore::isSafeRequestHeader):
  37623. (WebCore::XMLHttpRequest::setRequestHeader):
  37624. 2008-02-20 Alexey Proskuryakov <ap@webkit.org>
  37625. Reviewed by Darin.
  37626. <rdar://problem/5749455> Unable to set the Referer header in Dashboard using XMLHttpRequest
  37627. Cannot be tested in DRT.
  37628. * xml/XMLHttpRequest.cpp: (WebCore::canSetRequestHeader): Assume that a request that can load
  37629. local files can also set any headers.
  37630. 2008-02-19 Darin Adler <darin@apple.com>
  37631. Reviewed by Sam.
  37632. - removed use of DeprecatedString for font family names
  37633. * css/CSSFontSelector.cpp:
  37634. (WebCore::CSSFontSelector::addFontFaceRule): Update for name change.
  37635. * css/CSSParser.cpp:
  37636. (WebCore::CSSParser::parseFontFamily): Update to use new appendSpaceSeparated
  37637. function and String rather than DeprecatedString.
  37638. * css/CSSStyleSelector.cpp:
  37639. (WebCore::CSSStyleSelector::applyProperty): Updated for name change.
  37640. * css/FontFamilyValue.cpp:
  37641. (WebCore::FontFamilyValue::FontFamilyValue): Replaced code using a regular
  37642. expression with code that does the same thing more efficiently.
  37643. (WebCore::FontFamilyValue::appendSpaceSeparated): Added.
  37644. (WebCore::FontFamilyValue::cssText): Updated for name change.
  37645. * css/FontFamilyValue.h: Changed DeprecatedString to String. Renamed fontName
  37646. to familyName and parsedFontName to m_familyName. Removed unused genericFamilyType
  37647. and m_genericFamilyType. Added appendSpaceSeparated so that m_familyName can
  37648. be private instead of public.
  37649. 2008-02-19 Darin Adler <darin@apple.com>
  37650. - fix build when SVG is not enabled
  37651. * rendering/RenderTreeAsText.cpp: Added include of "TextStream.h".
  37652. 2008-02-19 Anders Carlsson <andersca@apple.com>
  37653. Reviewed by Darin.
  37654. Change all classes in xml/ to start out with a ref count of 1.
  37655. * bindings/js/JSCustomXPathNSResolver.h:
  37656. * bindings/js/JSXMLHttpRequest.cpp:
  37657. (WebCore::JSXMLHttpRequest::JSXMLHttpRequest):
  37658. * bindings/js/JSXSLTProcessor.cpp:
  37659. (WebCore::JSXSLTProcessor::JSXSLTProcessor):
  37660. * bindings/objc/DOMCustomXPathNSResolver.h:
  37661. (WebCore::DOMCustomXPathNSResolver::create):
  37662. * bindings/scripts/CodeGeneratorJS.pm:
  37663. * bindings/scripts/CodeGeneratorObjC.pm:
  37664. * dom/Document.cpp:
  37665. (WebCore::Document::applyXSLTransform):
  37666. (WebCore::Document::createExpression):
  37667. (WebCore::Document::createNSResolver):
  37668. (WebCore::Document::evaluate):
  37669. * xml/DOMParser.h:
  37670. (WebCore::DOMParser::create):
  37671. (WebCore::DOMParser::DOMParser):
  37672. * xml/NativeXPathNSResolver.h:
  37673. (WebCore::NativeXPathNSResolver::create):
  37674. * xml/XMLHttpRequest.cpp:
  37675. (WebCore::XMLHttpRequest::XMLHttpRequest):
  37676. * xml/XMLHttpRequest.h:
  37677. (WebCore::XMLHttpRequest::create):
  37678. * xml/XMLSerializer.h:
  37679. (WebCore::XMLSerializer::create):
  37680. (WebCore::XMLSerializer::XMLSerializer):
  37681. * xml/XPathEvaluator.cpp:
  37682. (WebCore::XPathEvaluator::createNSResolver):
  37683. * xml/XPathEvaluator.h:
  37684. (WebCore::XPathEvaluator::create):
  37685. (WebCore::XPathEvaluator::XPathEvaluator):
  37686. * xml/XPathExpression.cpp:
  37687. (WebCore::XPathExpression::createExpression):
  37688. (WebCore::XPathExpression::evaluate):
  37689. * xml/XPathExpression.h:
  37690. (WebCore::XPathExpression::create):
  37691. (WebCore::XPathExpression::XPathExpression):
  37692. * xml/XPathNSResolver.h:
  37693. * xml/XPathResult.cpp:
  37694. (WebCore::XPathResult::XPathResult):
  37695. * xml/XPathResult.h:
  37696. (WebCore::XPathResult::create):
  37697. * xml/XPathValue.cpp:
  37698. (WebCore::XPath::Value::modifiableNodeSet):
  37699. * xml/XPathValue.h:
  37700. (WebCore::XPath::ValueData::create):
  37701. (WebCore::XPath::ValueData::ValueData):
  37702. (WebCore::XPath::Value::Value):
  37703. * xml/XSLTProcessor.h:
  37704. (WebCore::XSLTProcessor::create):
  37705. (WebCore::XSLTProcessor::XSLTProcessor):
  37706. 2008-02-19 Darin Adler <darin@apple.com>
  37707. Reviewed by Sam.
  37708. - Trimmed down TextStream and weaned it from DeprecatedString.
  37709. * page/mac/WebCoreFrameBridge.mm:
  37710. (-[WebCoreFrameBridge renderTreeAsExternalRepresentation]):
  37711. Removed now-unneeded call to getNSString.
  37712. * platform/text/TextStream.cpp: Removed unused functions.
  37713. Use snprintf instead of sprintf, for better security.
  37714. (WebCore::TextStream::release): Added.
  37715. * platform/text/TextStream.h: Removed lots of unneeded stuff.
  37716. * rendering/RenderTreeAsText.cpp:
  37717. (WebCore::externalRepresentation): Changed to use String instead
  37718. of DeprecatedString.
  37719. * rendering/RenderTreeAsText.h: Ditto.
  37720. * rendering/SVGRenderTreeAsText.cpp:
  37721. (WebCore::writeSVGInlineTextBox): Use "\n" instead of endl.
  37722. (WebCore::write): Ditto.
  37723. (WebCore::writeRenderResources): Ditto.
  37724. 2008-02-19 Justin Garcia <justin.garcia@apple.com>
  37725. Reviewed by Darin Adler.
  37726. <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore changes
  37727. This brings performance on the phone back to old levels. Andre and I are doing
  37728. some formal testing to see exactly where we stand.
  37729. * dom/Position.cpp:
  37730. (WebCore::enclosingBlockIgnoringEditability): Added. This is enclosingBlock
  37731. without the expensive editability checks. upstream and downstream can avoid
  37732. those because they do their own editability checking.
  37733. (WebCore::Position::upstream):
  37734. (WebCore::Position::downstream):
  37735. 2008-02-19 Chris Fleizach <cfleizach@apple.com>
  37736. Reviewed by Darin.
  37737. <rdar://problem/3663560> AXLink for a "name" (anchor) on same page should include an AXLinkedUIElementAttribute
  37738. * bridge/mac/WebCoreAXObject.mm:
  37739. (-[WebCoreAXObject linkedUIElement]):
  37740. Returns the linked-to AX object (if the specified one is ignored by accessibility, returns the next un-ignored one by traversing the DOM).
  37741. (-[WebCoreAXObject accessibilityAttributeNames]):
  37742. (-[WebCoreAXObject accessibilityAttributeValue:]):
  37743. Support NSAccessibilityLinkedUIElementsAttribute.
  37744. 2008-02-19 Darin Adler <darin@apple.com>
  37745. Reviewed by Sam.
  37746. - Removed old debugging aids, Node::dump, RenderObject::dump, and
  37747. RenderObject::information, that used DeprecatedString.
  37748. * dom/CharacterData.cpp: Removed override of Node::dump.
  37749. * dom/CharacterData.h: Ditto.
  37750. * dom/Element.cpp: Ditto.
  37751. * dom/Element.h: Ditto.
  37752. * dom/EventTargetNode.cpp: Ditto.
  37753. * dom/EventTargetNode.h: Ditto.
  37754. * dom/Node.cpp: Removed Node::dump.
  37755. * dom/Node.h: Ditto.
  37756. * rendering/RenderBlock.cpp: Removed override of RenderObject::dump.
  37757. * rendering/RenderBlock.h: Ditto.
  37758. * rendering/RenderFrameSet.cpp: Ditto.
  37759. * rendering/RenderFrameSet.h: Ditto.
  37760. * rendering/RenderObject.cpp: Removed RenderObject::dump and
  37761. RenderObject::information.
  37762. * rendering/RenderObject.h: Ditto.
  37763. * rendering/RenderTable.cpp: Removed override of RenderObject::dump.
  37764. * rendering/RenderTable.h: Ditto.
  37765. * rendering/RenderTableCell.cpp: Ditto.
  37766. * rendering/RenderTableCell.h: Ditto.
  37767. * rendering/RenderTableCol.cpp: Ditto.
  37768. * rendering/RenderTableCol.h: Ditto.
  37769. * rendering/RenderTableSection.cpp: Ditto.
  37770. * rendering/RenderTableSection.h: Ditto.
  37771. * rendering/RenderTreeAsText.h: Removed unneeded include of TextStream.h
  37772. and added forward declarations as appropriate.
  37773. * svg/SVGSVGElement.cpp: Removed unneeded include of TextStream.h.
  37774. * svg/graphics/SVGResourceClipper.cpp: And here.
  37775. * svg/graphics/SVGResourceFilter.cpp: Ditto.
  37776. * svg/graphics/filters/SVGFEBlend.cpp: Ditto.
  37777. * svg/graphics/filters/SVGFEComponentTransfer.cpp: Ditto.
  37778. * svg/graphics/filters/SVGFEComposite.cpp: Ditto.
  37779. * svg/graphics/filters/SVGFEDiffuseLighting.cpp: Ditto.
  37780. * svg/graphics/filters/SVGFEGaussianBlur.cpp: Ditto.
  37781. * svg/graphics/filters/SVGFEImage.cpp: Ditto.
  37782. * svg/graphics/filters/SVGFEMerge.cpp: Ditto.
  37783. * svg/graphics/filters/SVGFEMorphology.cpp: Ditto.
  37784. * svg/graphics/filters/SVGFEOffset.cpp: Ditto.
  37785. * svg/graphics/filters/SVGFESpecularLighting.cpp: Ditto.
  37786. * svg/graphics/filters/SVGFETurbulence.cpp: Ditto.
  37787. * svg/graphics/filters/SVGFilterEffect.cpp: Ditto.
  37788. 2008-02-19 Beth Dakin <bdakin@apple.com>
  37789. Reviewed by Sam.
  37790. Fix for <rdar://problem/5729674> Seed: Crash in
  37791. RenderButton::setStyle at http://www.dinorpg.com
  37792. Inputs should not honor first-letter.
  37793. * rendering/RenderBlock.cpp:
  37794. (WebCore::RenderBlock::updateFirstLetter):
  37795. 2008-02-19 Dan Bernstein <mitz@apple.com>
  37796. Reviewed by Darin Adler.
  37797. - fix <rdar://problem/5637569> CrashTracer: [REGRESSION] 620 crashes in Safari at com.apple.WebCore: WebCore::RenderBox::setStaticY + 15
  37798. Test: fast/text/wbr-styled.html
  37799. Changed RenderWordBreak to inherit from RenderText instead of
  37800. RenderInline.
  37801. * rendering/RenderBlock.cpp:
  37802. (WebCore::RenderBlock::calcInlinePrefWidths):
  37803. * rendering/RenderFlow.h:
  37804. * rendering/RenderText.cpp:
  37805. (WebCore::RenderText::renderName):
  37806. (WebCore::RenderText::isTextFragment):
  37807. (WebCore::RenderText::isWordBreak):
  37808. * rendering/RenderText.h:
  37809. * rendering/RenderWordBreak.cpp:
  37810. (WebCore::RenderWordBreak::RenderWordBreak):
  37811. * rendering/RenderWordBreak.h:
  37812. * rendering/bidi.cpp:
  37813. (WebCore::RenderBlock::findNextLineBreak):
  37814. 2008-02-19 Anders Carlsson <andersca@apple.com>
  37815. Reviewed by Darin.
  37816. * WebCore.base.exp:
  37817. * loader/mac/LoaderNSURLExtras.h:
  37818. * loader/mac/LoaderNSURLExtras.m:
  37819. Move unused functions to WebKit (where they are used)
  37820. (vectorContainsString):
  37821. Use const references.
  37822. * platform/mac/WebCoreSystemInterface.h:
  37823. * platform/mac/WebCoreSystemInterface.mm:
  37824. Remove wkNSURLProtocolClassForReqest.
  37825. 2008-02-19 Justin Garcia <justin.garcia@apple.com>
  37826. Reviewed by Darin Adler.
  37827. <rdar://problem/5694920> Typing (esp. deleting) is slower due to TOT WebCore
  37828. These changes bring deleting performance back to old levels on the phone
  37829. except for deleting the first space to the right of a word, which we are
  37830. still working on.
  37831. * dom/Position.cpp:
  37832. (WebCore::Position::upstream): Avoid the use of enclosingBlock when determining
  37833. if we have left the original enclosing block or entered a new one, and avoid
  37834. rootEditableElement for determining if we have changed editability. These
  37835. operations are expensive.
  37836. (WebCore::Position::downstream): Ditto.
  37837. 2008-02-19 Darin Adler <darin@apple.com>
  37838. Rubber stamped by Anders.
  37839. - removed explicit initialization to 1 for RefCounted; that's now the default
  37840. * loader/ResourceLoader.cpp:
  37841. (WebCore::ResourceLoader::ResourceLoader): Removed RefCounted initializer.
  37842. * platform/network/ResourceHandle.cpp:
  37843. (WebCore::ResourceHandle::ResourceHandle): Ditto.
  37844. * platform/text/StringImpl.cpp:
  37845. (WebCore::StringImpl::StringImpl): Ditto.
  37846. 2008-02-18 Anders Carlsson <andersca@apple.com>
  37847. Reviewed by Darin.
  37848. Make ResourceLoader and ResourceHandle start out with a refcount of 1.
  37849. * loader/MainResourceLoader.cpp:
  37850. (WebCore::MainResourceLoader::create):
  37851. * loader/NetscapePlugInStreamLoader.cpp:
  37852. (WebCore::NetscapePlugInStreamLoader::create):
  37853. * loader/ResourceLoader.cpp:
  37854. (WebCore::ResourceLoader::ResourceLoader):
  37855. * loader/SubresourceLoader.cpp:
  37856. (WebCore::SubresourceLoader::create):
  37857. * platform/network/ResourceHandle.cpp:
  37858. (WebCore::ResourceHandle::ResourceHandle):
  37859. (WebCore::ResourceHandle::create):
  37860. 2008-02-19 Alp Toker <alp@atoker.com>
  37861. Reviewed by Mark Rowe.
  37862. http://bugs.webkit.org/show_bug.cgi?id=16863
  37863. [GTK] tab focusing doesn't work
  37864. GDK_MOD2_MASK doesn't always mean meta so we can't use it to identify
  37865. the meta key state.
  37866. Use GDK_META_MASK where available, otherwise do not support the meta
  37867. key. This matches the behaviour of other applications.
  37868. Also add a comment noting that the platform event constructors need to
  37869. be kept in sync (it's not obvious that there are multiple places that
  37870. check the key state).
  37871. * platform/gtk/KeyEventGtk.cpp:
  37872. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
  37873. * platform/gtk/MouseEventGtk.cpp:
  37874. (WebCore::PlatformMouseEvent::PlatformMouseEvent):
  37875. * platform/gtk/WheelEventGtk.cpp:
  37876. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  37877. 2008-02-18 Brady Eidson <beidson@apple.com>
  37878. Reviewed by Sam Weinig's white rhino tusk stamp
  37879. SQLiteTransaction::stop() should also reset the transaction-in-progress flag in its parent SQLiteDatabase
  37880. * platform/sql/SQLiteTransaction.cpp:
  37881. (WebCore::SQLiteTransaction::stop):
  37882. 2008-02-18 Brady Eidson <beidson@apple.com>
  37883. Reviewed by Darin
  37884. Fix for <rdar://5747529> - ObjC Exception can cause JSLock to never be released
  37885. Test: platform/mac/plugins/webScriptObject-exception-deadlock.html
  37886. * bindings/objc/WebScriptObject.mm:
  37887. (-[WebScriptObject valueForKey:]): The line `resultObj = [super valueForKey:key]; // defaults to throwing an exception`
  37888. says it all - it throws an exception. This method also happens to hold the JSLock. Problematically, when the exeception
  37889. is thrown and the method exited, the JSLock is never released. Fix that without otherwise changing behavior by holding the
  37890. JSLock in two individual scopes - Right before the exception and right after.
  37891. 2008-02-18 Darin Adler <darin@apple.com>
  37892. Reviewed by Sam.
  37893. - reduce use of DeprecatedString and memory allocations in processing of CSS
  37894. - remove unnecessary double -> float -> double trip in the CSS parser
  37895. - cleaned up names and structure in CSS grammar
  37896. * css/CSSGrammar.y: Remove getPropertyID and getValueID. Both are now in CSSParser.cpp
  37897. instead, and they now work on ParseString and String objects and don't require the caller
  37898. to put the string into a char*. Gave members of the %union more sensible names, removed
  37899. duplicates, and sorted into a logical order. Put the %expect back in, rather than leaving
  37900. it commented out.
  37901. * css/CSSParser.cpp:
  37902. (WebCore::equalIgnoringCase): Added.
  37903. (WebCore::hasPrefix): Added.
  37904. (WebCore::CSSParser::parseTransitionProperty): Changed to call the new cssPropertyID,
  37905. which obviates the need to call lower() and utf8() or to allocate memory at all. Also
  37906. used equalIgnoringCase rather than putting the value into a String just to compare it.
  37907. (WebCore::CSSParser::lex): Replaced convertASCIIToFloat with charactersToDouble. This change
  37908. along with the CSSGrammar.y change, removes the double -> float -> double round trip, and
  37909. affects the result of one layout test.
  37910. (WebCore::cssPropertyID): Added. Gets the property ID from the gperf hash table, but
  37911. without allocating any memory.
  37912. (WebCore::cssValueKeywordID): Ditto.
  37913. * css/CSSParser.h: Removed declaration for deprecatedString function (now used only in
  37914. CSSParser.cpp; soon to be deleted). Added cssPropertyID and cssValueKeywordID functions.
  37915. * css/CSSStyleDeclaration.cpp:
  37916. (WebCore::CSSStyleDeclaration::getPropertyCSSValue): Call cssPropertyID instead of propertyID.
  37917. (WebCore::CSSStyleDeclaration::getPropertyValue): Ditto.
  37918. (WebCore::CSSStyleDeclaration::getPropertyPriority): Ditto.
  37919. (WebCore::CSSStyleDeclaration::getPropertyShorthand): Ditto.
  37920. (WebCore::CSSStyleDeclaration::isPropertyImplicit): Ditto.
  37921. (WebCore::CSSStyleDeclaration::setProperty): Ditto.
  37922. (WebCore::CSSStyleDeclaration::removeProperty): Ditto.
  37923. (WebCore::CSSStyleDeclaration::isPropertyName): Ditto.
  37924. * css/CSSStyleDeclaration.h: Removed unnecessary includes, unnecessary Noncopyable boilerplate,
  37925. and the getPropertyID function declaration along with its associated apology comment.
  37926. * css/makevalues.pl: Generate constants instead of macros for CSS value numbers (but not an
  37927. enumeration, like properties, since you rarely have any reason to handle all values, but
  37928. often have a reason to handle all properties). Renamed the constant for the number of CSS
  37929. value keywords from CSS_VAL_TOTAL to numCSSValueKeywords, and added maxCSSValueKeywordLength.
  37930. * platform/text/String.cpp:
  37931. (WebCore::charactersToDouble): Made this function more efficient by using a stack buffer
  37932. rather than a CString.
  37933. 2008-02-18 Dan Bernstein <mitz@apple.com>
  37934. Reviewed by Dave Hyatt.
  37935. - fix <rdar://problem/5736225> crash in svgFontAndFaceElementForFontData on digitalstrom.org/cms
  37936. Test: fast/css/font-face-multiple-remote-sources.html
  37937. * css/CSSFontFace.cpp:
  37938. (WebCore::CSSFontFace::fontLoaded):
  37939. * css/CSSSegmentedFontFace.cpp:
  37940. (WebCore::CSSSegmentedFontFace::fontLoaded):
  37941. 2008-02-18 Darin Adler <darin@apple.com>
  37942. Reviewed by Sam.
  37943. * bindings/js/JSCSSStyleDeclarationCustom.cpp:
  37944. (WebCore::hasCSSPropertyNamePrefix): Added.
  37945. (WebCore::cssPropertyName): Reimplement to not use DeprecatedString. Also made faster
  37946. by using a Vector<UChar> and eliminating all the string operations.
  37947. 2008-02-18 Stephanie Lewis <slewis@apple.com>
  37948. Reviewed by Adam.
  37949. Remove workaround for <rdar://problem/5695848>.
  37950. * platform/network/cf/ResourceResponseCFNet.cpp:
  37951. (WebCore::ResourceResponse::doUpdateResourceResponse):
  37952. 2008-02-18 Samuel Weinig <sam@webkit.org>
  37953. Reviewed by Geoff Garen.
  37954. Fix for http://bugs.webkit.org/show_bug.cgi?id=17419
  37955. Remove CompatMode from JavaScriptCore as it is never set to anything other than NativeMode
  37956. * bindings/js/kjs_proxy.cpp:
  37957. (WebCore::KJSProxy::initScript):
  37958. 2008-02-18 Alp Toker <alp@atoker.com>
  37959. Reviewed by Mark Rowe.
  37960. http://bugs.webkit.org/show_bug.cgi?id=17381
  37961. [CURL] Regression: data URL parsing broken after DeprecatedString removal (Acid2)
  37962. This patch resolves the regression for the GTK+ port.
  37963. * platform/network/curl/ResourceHandleManager.cpp:
  37964. (WebCore::parseDataUrl):
  37965. 2008-02-18 Darin Adler <darin@apple.com>
  37966. Reviewed by Sam.
  37967. * platform/network/win/ResourceHandleWin.cpp:
  37968. (WebCore::ResourceHandle::onHandleCreated): Use String instead of DeprecatedString.
  37969. (WebCore::ResourceHandle::start): Ditto.
  37970. 2008-02-18 Darin Adler <darin@apple.com>
  37971. Reviewed by Sam.
  37972. * platform/network/win/CookieJarWin.cpp:
  37973. (WebCore::setCookies): Use String instead of DeprecatedString.
  37974. (WebCore::cookies): Ditto.
  37975. 2008-02-18 Darin Adler <darin@apple.com>
  37976. Reviewed by Sam.
  37977. - removed use of DeprecatedString in the Color class
  37978. * platform/graphics/Color.cpp:
  37979. (WebCore::Color::parseHexColor): Streamlined logic a bit with early returns.
  37980. Used toASCIIHexValue a character at a time rather than using toIntStrict
  37981. in base 16 mode.
  37982. (WebCore::findNamedColor): Added. Uses a fixed-size char buffer to look up
  37983. a color using the gperf-generated findColor function. Saves a memory allocation
  37984. vs. the old version that called DeprecatedString::latin1().
  37985. (WebCore::Color::setNamedColor): Changed to use findNamedColor.
  37986. 2008-02-18 Darin Adler <darin@apple.com>
  37987. Reviewed by Sam.
  37988. * editing/htmlediting.cpp:
  37989. (WebCore::stringWithRebalancedWhitespace): Changed to use String instead of
  37990. DeprecatedString.
  37991. 2008-02-18 Darin Adler <darin@apple.com>
  37992. Reviewed by Sam.
  37993. * editing/SelectionController.cpp:
  37994. (WebCore::SelectionController::debugRenderer): Changed to use String instead of
  37995. DeprecatedString.
  37996. 2008-02-18 Darin Adler <darin@apple.com>
  37997. Reviewed and landed by Sam.
  37998. Remove DeprecatedStringList.
  37999. * GNUmakefile.am:
  38000. * WebCore.pro:
  38001. * WebCore.vcproj/WebCore.vcproj:
  38002. * WebCore.xcodeproj/project.pbxproj:
  38003. * WebCoreSources.bkl:
  38004. * editing/markup.cpp:
  38005. * platform/DeprecatedStringList.cpp: Removed.
  38006. * platform/DeprecatedStringList.h: Removed.
  38007. * platform/mac/DeprecatedStringListMac.mm: Removed.
  38008. 2008-02-18 Darin Adler <darin@apple.com>
  38009. Reviewed by Sam.
  38010. * css/CSSPrimitiveValueMappings.h: Add default cases to all the switch statements.
  38011. This will ease the way some day if we decide to use an enum instead of int; otherwise
  38012. we'll have a ton of "unhandled enum value" warnings here.
  38013. 2008-02-18 Alp Toker <alp@atoker.com>
  38014. Build fix for GTK+ < 2.10. Fall back to simple text clipboard copy
  38015. with older GTK+ versions for now.
  38016. * platform/gtk/PasteboardGtk.cpp:
  38017. (WebCore::Pasteboard::writeSelection):
  38018. 2008-02-18 Darin Adler <darin@apple.com>
  38019. Reviewed by Sam.
  38020. * WebCore.base.exp: Export a couple of WebCore::String functions we plan to use
  38021. in the future in WebKit.
  38022. 2008-02-18 Darin Adler <darin@apple.com>
  38023. Reviewed by Sam.
  38024. * DerivedSources.make: Added the scripts to the ENABLE_SVG versions of the rules
  38025. for CSSPropertyNames.h and CSSValueKeywords.h. Somehow that got left out, so the
  38026. files would not be regenerated if the scripts were changed (but would if SVG was
  38027. disabled).
  38028. 2008-02-18 Alexey Proskuryakov <ap@webkit.org>
  38029. Suggested by Darin.
  38030. * platform/KURL.h: (WebCore::KURL::operator const String&): Added, to avoid unexpected
  38031. conversion via UString (as in bug 17418).
  38032. 2008-02-18 Jon Honeycutt <jhoneycutt@apple.com>
  38033. Reviewed by Darin.
  38034. <rdar://problem/5744899> Crash in Flash when clicking "Yes" to abort
  38035. slow script Flash 9 dialog at http://www.kidzui.com
  38036. When navigating to a new page, we stop all outstanding PluginStreams.
  38037. Flash hangs in the call to NPP_URLNotify. It eventually displays the
  38038. "slow script" dialog, which relinquishes control to the system. While
  38039. this dialog is running, the request we are in the process of cancelling
  38040. completes, and we re-enter Flash to deliver the data. When the dialog
  38041. is dismissed, the internal state of Flash has changed, and Flash
  38042. crashes with a null dereference.
  38043. To work around this, we can defer loading before entering plug-in code,
  38044. so that even if a plug-in yields to the system, we won't get callbacks
  38045. while we're handling a callback.
  38046. * plugins/PluginStream.cpp:
  38047. (WebCore::PluginStream::startStream): Defers loads while calling into
  38048. plug-in.
  38049. (WebCore::PluginStream::destroyStream): Same.
  38050. (WebCore::PluginStream::deliverData): Same.
  38051. (WebCore::PluginStream::didFail): Protect 'this' from deletion by
  38052. destroyStream. Null out m_loader only after destroyStream returns.
  38053. (WebCore::PluginStream::didFinishLoading): Same.
  38054. 2008-02-18 Alexey Proskuryakov <ap@webkit.org>
  38055. Reviewed by Darin.
  38056. http://bugs.webkit.org/show_bug.cgi?id=17418
  38057. REGRESSION: Assertion failure dragging image (JSLock::lockCount() > 0)
  38058. * platform/win/ClipboardWin.cpp:
  38059. (WebCore::ClipboardWin::declareAndWriteDragImage): Explicitly convert from KURL to String,
  38060. as an implicit conversion uses UString and thus needs a JSLock.
  38061. 2008-02-17 Sam Weinig <sam@webkit.org>
  38062. Roll out r30360.
  38063. * loader/FrameLoader.cpp:
  38064. (WebCore::FrameLoader::changeLocation):
  38065. 2008-02-17 Sam Weinig <sam@webkit.org>
  38066. Mac build fix.
  38067. * WebCore.xcodeproj/project.pbxproj:
  38068. 2008-02-17 Alp Toker <alp@atoker.com>
  38069. Attempt to fix the Wx build (has been broken all weekend).
  38070. Stub out some graphics functions.
  38071. * platform/graphics/wx/GraphicsContextWx.cpp:
  38072. (WebCore::GraphicsContext::beginPath):
  38073. (WebCore::GraphicsContext::addPath):
  38074. * platform/graphics/wx/PathWx.cpp:
  38075. (WebCore::Path::isEmpty):
  38076. 2008-02-17 Julien Chaffraix <julien.chaffraix@gmail.com>
  38077. Reviewed by Alexey Proskuryakov.
  38078. http://bugs.webkit.org/show_bug.cgi?id=16989
  38079. bug 16989 : Add send() flag checks in XmlHttpRequest
  38080. Splitted XmlHttpRequest::abort into abort (called from JavaScript) and internalAbort that
  38081. perform the cancellation and is called mainly from internal methods.
  38082. Tests: http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldDispatchEvent.html
  38083. http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldNotDispatchEvent.html
  38084. http/tests/xmlhttprequest/xmlhttprequest-test-send-flag.html
  38085. * xml/XMLHttpRequest.cpp:
  38086. (WebCore::XMLHttpRequest::open): Now call internalAbort() and moved readyState change into method
  38087. (WebCore::XMLHttpRequest::send): Added m_loader check
  38088. (WebCore::XMLHttpRequest::abort): Now update readyState and clear the request headers as specified
  38089. in the spec
  38090. (WebCore::XMLHttpRequest::internalAbort): Perform cancellation internal operations (no readyState update)
  38091. (WebCore::XMLHttpRequest::setRequestHeader): Added m_loader check
  38092. (WebCore::XMLHttpRequest::processSyncLoadResults): Now call internalAbort() instead of abort()
  38093. (WebCore::XMLHttpRequest::willSendRequest): Ditto
  38094. (WebCore::XMLHttpRequest::cancelRequests): Ditto
  38095. (WebCore::XMLHttpRequest::detachRequests): Ditto
  38096. * xml/XMLHttpRequest.h: Added the private internalAbort method
  38097. 2008-02-17 Sam Weinig <sam@webkit.org>
  38098. Reviewed by Dan Bernstein.
  38099. Fix for http://bugs.webkit.org/show_bug.cgi?id=17365
  38100. document.createEvent("MessageEvent") throws NOT_SUPPORTED_ERR
  38101. - Updated fast/events/event-instanceof.html to test document.createEvent("MessageEvent").
  38102. * DerivedSources.make:
  38103. Generate Objective-C binding for DOMProgressEvent which was missing.
  38104. * WebCore.xcodeproj/project.pbxproj:
  38105. Add missing DOMProgressEvent files to the project.
  38106. * bindings/js/JSEventCustom.cpp:
  38107. (WebCore::toJS):
  38108. Clean up and add case for SVGZoomEvent that was missing.
  38109. * bindings/objc/DOMEvents.mm:
  38110. (+[DOMEvent _wrapEvent:WebCore::]):
  38111. Clean up and add cases for ProgressEvent and MessageEvent that were missing.
  38112. * dom/Document.cpp:
  38113. (WebCore::Document::createEvent):
  38114. Add case for MessageEvent.
  38115. 2008-02-17 Adam Treat <treat@kde.org>
  38116. Reviewed by Eric Seidel.
  38117. http://bugs.webkit.org/show_bug.cgi?id=17008
  38118. Meta refresh does not work with cache turned off
  38119. Fix for issue noticed on http://adserver.vivox.com/2
  38120. * loader/FrameLoader.cpp:
  38121. (WebCore::FrameLoader::changeLocation):
  38122. 2008-02-17 Alp Toker <alp@atoker.com>
  38123. Reviewed by Sam Weinig.
  38124. Fix for change made in r30355. Issue noticed by İsmail Dönmez.
  38125. Verify SSL certs by default, but allow checks to be disabled with an
  38126. environment variable (WEBKIT_IGNORE_SSL_ERRORS) for now.
  38127. * platform/network/curl/ResourceHandleManager.cpp:
  38128. (WebCore::ResourceHandleManager::startJob):
  38129. 2008-02-17 Bin Chen <binary.chen@gmail.com>
  38130. Reviewed by Alp Toker.
  38131. http://bugs.webkit.org/show_bug.cgi?id=17404
  38132. Bug 17404: curl certification problem
  38133. Disable SSL cert verification until we have a way of distributing
  38134. certs and/or reporting SSL errors to the user.
  38135. * platform/network/curl/ResourceHandleManager.cpp:
  38136. (WebCore::ResourceHandleManager::startJob):
  38137. 2008-02-17 Alp Toker <alp@atoker.com>
  38138. Reviewed by Mark Rowe.
  38139. DevHelp fails to load local files; URL truncated by one character.
  38140. Fix a file:// URL regression introduced in KURL.cpp r30243.
  38141. * platform/KURL.cpp:
  38142. (WebCore::KURL::KURL):
  38143. 2008-02-17 Dan Bernstein <mitz@apple.com>
  38144. Reviewed by Darin Adler.
  38145. - fix http://bugs.webkit.org/show_bug.cgi?id=17033
  38146. <rdar://problem/5709315> REGRESSION: Really long <option> causes unnecessary page scroll bars to accommodate content
  38147. Test: fast/forms/control-clip-overflow.html
  38148. * rendering/RenderFlow.cpp:
  38149. (WebCore::RenderFlow::lowestPosition): Account for control clipping.
  38150. (WebCore::RenderFlow::rightmostPosition): Ditto.
  38151. (WebCore::RenderFlow::leftmostPosition): Ditto.
  38152. 2008-02-16 Oliver Hunt <oliver@apple.com>
  38153. Reviewed by Eric S.
  38154. Bug 17269: Deobfuscate CanvasRenderingContext2D.cpp
  38155. Use cross-platform code to determine the dirty rects for
  38156. fill and stroke operations
  38157. * html/CanvasRenderingContext2D.cpp:
  38158. (WebCore::CanvasRenderingContext2D::fill):
  38159. (WebCore::CanvasRenderingContext2D::stroke):
  38160. Added a FIXME as code inspection shows a trivial under-painting
  38161. bug, although we currently ignore dirty rect tracking on canvas
  38162. and repaint the whole thing anyway.
  38163. (WebCore::CanvasRenderingContext2D::fillRect):
  38164. 2008-02-16 Sam Weinig <sam@webkit.org>
  38165. Reviewed by Darin Adler.
  38166. Take another step in the direction of getting rid of DeprecatedString
  38167. by moving all the to{NumericType} off of it.
  38168. - Create free functions that take a UChar* buffer and length to do
  38169. the string-to-number conversions. This allows us to avoid two allocations
  38170. if we don't already have a String and is consistent with the design we would
  38171. like going forward.
  38172. - Since the toInt (and family) functions on DeprecatedString were slightly
  38173. different than the ones on String (they didn't allow trailing garbage),
  38174. an extra set of 'Strict' toInt functions were added that have this behavior.
  38175. * platform/graphics/Color.cpp:
  38176. (WebCore::Color::parseHexColor):
  38177. * platform/text/PlatformString.h:
  38178. * platform/text/String.cpp:
  38179. (WebCore::String::percentage):
  38180. (WebCore::String::toIntStrict):
  38181. (WebCore::String::toUIntStrict):
  38182. (WebCore::String::toInt64Strict):
  38183. (WebCore::String::toUInt64Strict):
  38184. (WebCore::String::toUInt):
  38185. (WebCore::String::toDouble):
  38186. (WebCore::isCharacterAllowedInBase):
  38187. (WebCore::toIntegralType):
  38188. (WebCore::lengthOfCharactersAsInteger):
  38189. (WebCore::charactersToIntStrict):
  38190. (WebCore::charactersToUIntStrict):
  38191. (WebCore::charactersToInt64Strict):
  38192. (WebCore::charactersToUInt64Strict):
  38193. (WebCore::charactersToInt):
  38194. (WebCore::charactersToUInt):
  38195. (WebCore::charactersToInt64):
  38196. (WebCore::charactersToUInt64):
  38197. (WebCore::charactersToDouble):
  38198. (WebCore::charactersToFloat):
  38199. * platform/text/StringImpl.cpp:
  38200. (WebCore::parseLength):
  38201. (WebCore::StringImpl::toIntStrict):
  38202. (WebCore::StringImpl::toUIntStrict):
  38203. (WebCore::StringImpl::toInt64Strict):
  38204. (WebCore::StringImpl::toUInt64Strict):
  38205. (WebCore::StringImpl::toInt):
  38206. (WebCore::StringImpl::toUInt):
  38207. (WebCore::StringImpl::toInt64):
  38208. (WebCore::StringImpl::toUInt64):
  38209. (WebCore::StringImpl::toDouble):
  38210. (WebCore::StringImpl::toFloat):
  38211. * platform/text/StringImpl.h:
  38212. * svg/SVGAnimationElement.cpp:
  38213. (WebCore::SVGAnimationElement::parseClockValue):
  38214. * svg/SVGFETurbulenceElement.cpp:
  38215. (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
  38216. 2008-02-16 Dan Bernstein <mitz@apple.com>
  38217. Reviewed by Sam Weinig.
  38218. - fix fixed-pitch font measurement of control characters that render
  38219. as zero-width space
  38220. Test: fast/text/fixed-pitch-control-characters.html
  38221. * rendering/RenderText.cpp:
  38222. (WebCore::RenderText::widthFromCache):
  38223. 2008-02-16 Kevin Ollivier <kevino@theolliviers.com>
  38224. wx build fix.
  38225. * platform/graphics/wx/GraphicsContextWx.cpp:
  38226. (WebCore::GraphicsContext::drawImage):
  38227. 2008-02-16 Jan Michael Alonzo <jmalonzo@unpluggable.com>
  38228. Reviewed by Alp Toker.
  38229. Cross document messaging GTK+/autotools build fix.
  38230. * GNUmakefile.am:
  38231. 2008-02-15 Oliver Hunt <oliver@apple.com>
  38232. Build fix for Qt and Cairo builds
  38233. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  38234. (WebCore::GraphicsContext::drawImage):
  38235. * platform/graphics/qt/GraphicsContextQt.cpp:
  38236. 2008-02-15 Oliver Hunt <oliver@apple.com>
  38237. Reviewed by Dan B.
  38238. Bug 17269: Deobfuscate CanvasRenderingContext2D.cpp
  38239. Refactor CanvasRenderingContext2D::drawImage(HTMLCanvasElement) to remove evil ifdefs
  38240. Add logic draw(ImageBuffer*) method to GraphicsContext to handle
  38241. painting the source canvas content.
  38242. * html/CanvasRenderingContext2D.cpp:
  38243. (WebCore::CanvasRenderingContext2D::drawImage):
  38244. * html/HTMLCanvasElement.cpp:
  38245. (WebCore::HTMLCanvasElement::buffer):
  38246. * html/HTMLCanvasElement.h:
  38247. * platform/graphics/GraphicsContext.h:
  38248. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  38249. (WebCore::GraphicsContext::drawImage):
  38250. * platform/graphics/cg/GraphicsContextCG.cpp:
  38251. (WebCore::GraphicsContext::paintBuffer):
  38252. (WebCore::GraphicsContext::drawImage):
  38253. * platform/graphics/qt/GraphicsContextQt.cpp:
  38254. (WebCore::GraphicsContext::drawImage):
  38255. 2008-02-15 Kevin Ollivier <kevino@theolliviers.com>
  38256. Reviewed by David Hyatt.
  38257. Using GetNativeFontInfoDesc() to generate the hash value was
  38258. leading to duplicate entries in the HashMap. Use the font object's
  38259. pointer instead.
  38260. http://bugs.webkit.org/show_bug.cgi?id=17371
  38261. * platform/graphics/wx/FontPlatformData.h:
  38262. (WebCore::FontPlatformData::computeHash):
  38263. 2008-02-15 Ada Chan <adachan@apple.com>
  38264. When parsing url we get from a CFURLRef, we need to null terminate
  38265. the string for the case when url ends with a '/'.
  38266. Reviewed by Darin.
  38267. * platform/cf/KURLCFNet.cpp:
  38268. (WebCore::KURL::KURL):
  38269. 2008-02-15 Brady Eidson <beidson@apple.com>
  38270. Reviewed by Darin
  38271. Fix for <rdar://problem/5727175> and <rdar://problem/5740495> - Database threads and callback scripts can run after
  38272. a page has closed or loaded a new document
  38273. Deciding to make the Database I/O semantic the same as loaders/XHR when a document is shut down, this patch implements
  38274. a policy of shutting down the databases in a document at the same time. This includes removing all pending transactions
  38275. in a database, cutting off an queued statements in the current transaction, and preventing further callbacks from being
  38276. made.
  38277. No new layout tests with this patch as the current layout tests were catching this issue in a plethora of ways already
  38278. (crashing, unexpected exceptions and output, etc)
  38279. * dom/Document.cpp:
  38280. (WebCore::Document::~Document): Don't actually stop the database thread here - it better have been stopped already.
  38281. Add an assertion to that effect.
  38282. (WebCore::Document::addOpenDatabase): Add a new database handle to this Document's open database set
  38283. (WebCore::Document::removeOpenDatabase): Remove such a handle
  38284. (WebCore::Document:: stopDatabases): Call "close" on all open Database handles for this document
  38285. * dom/Document.h:
  38286. * loader/FrameLoader.cpp:
  38287. (WebCore::FrameLoader::stopLoading): In addition to canceling all resource loads and XHRs, stop all database I/O
  38288. * platform/MessageQueue.h:
  38289. (WebCore::MessageQueue::killed):
  38290. * platform/sql/SQLiteTransaction.cpp:
  38291. (WebCore::SQLiteTransaction::stop): Added. Explicit stop to cut off a transaction so it won't try anymore SQL activity
  38292. * platform/sql/SQLiteTransaction.h:
  38293. * storage/Database.cpp:
  38294. (WebCore::Database::Database):
  38295. (WebCore::Database::~Database):
  38296. (WebCore::Database::markAsDeletedAndClose): Check if the thread has terminated before committing to waiting on the
  38297. thread.
  38298. (WebCore::Database::stop): Stop this database, including all queued transactions and callbacks
  38299. * storage/Database.h:
  38300. (WebCore::Database::stopped):
  38301. * storage/DatabaseThread.cpp:
  38302. (WebCore::DatabaseThread::terminationRequested):
  38303. * storage/DatabaseThread.h:
  38304. * storage/SQLTransaction.cpp:
  38305. (WebCore::SQLTransaction::executeSQL): Throw an exception if a new executeSQL comes in after a database is closed
  38306. (WebCore::SQLTransaction::checkAndHandleClosedDatabase): Added. Clears queued statements and clear the next step
  38307. when the database has been closed since the last step/callback was run. Also stops the current SQLite transaction,
  38308. if any
  38309. (WebCore::SQLTransaction::performNextStep):
  38310. (WebCore::SQLTransaction::performPendingCallback):
  38311. * storage/SQLTransaction.h:
  38312. 2008-02-15 Adele Peterson <adele@apple.com>
  38313. Reviewed by Darin.
  38314. Fix for <rdar://problem/5745072> REGRESSION (r29348): Shift + Tab does not change indent level on Google Docs
  38315. The immediate cause of this bug was that we stopped sending keypress events for the tab key when it is used to advance focus.
  38316. We had a special case for forward-tab in designMode, where the default behavior was to insert a tab key (or respect the keypress handler behavior).
  38317. This change makes the shift-tab behavior match the forward-tab behavior.
  38318. If the site had put their event handler (which does the indenting) on the keydown event, then this problem would have been avoided.
  38319. This is something we should look into and maybe advise the site on in the future. However, it's a low-risk change to just make tab and shift-tab uniform
  38320. in this respect, so I think this is the way to go for right now.
  38321. * page/EventHandler.cpp: (WebCore::EventHandler::defaultTabEventHandler):
  38322. 2008-02-15 Anders Carlsson <andersca@apple.com>
  38323. Reviewed by Alice.
  38324. <rdar://problem/5738678>
  38325. REGRESSION: "Loading" status remains when uploading file to .Mac iDisk via Safari
  38326. Use the new CFNetwork functions for setting body parts.
  38327. * platform/network/cf/FormDataStreamCFNet.cpp:
  38328. (WebCore::setHTTPBody):
  38329. (WebCore::httpBodyFromRequest):
  38330. 2008-02-15 Geoffrey Garen <ggaren@apple.com>
  38331. Reviewed by Anders Carlsson.
  38332. Fixed <rdar://problem/5725429> REGRESSION (r27898): Greenfield online
  38333. surveys no longer work due to XMLHttpRequest exceptions
  38334. Reverted some exception throwing code from r12194.
  38335. To comply with the W3C draft spec, we used to throw an exception when
  38336. trying to access responseText and responseXML at the wrong time, but
  38337. that turned out to be a compatibility problem.
  38338. Now, matching Firefox and previous versions of WebKit, we never throw
  38339. an exception when accessing responseText or responseXML.
  38340. See http://www.mail-archive.com/public-webapi@w3.org/msg02756.html.
  38341. * xml/XMLHttpRequest.cpp:
  38342. (WebCore::XMLHttpRequest::getResponseText):
  38343. (WebCore::XMLHttpRequest::getResponseXML):
  38344. 2008-02-15 Justin Garcia <justin.garcia@apple.com>
  38345. Reviewed by Dan Bernstein.
  38346. <rdar://problem/5738768> REGRESSION (r30062): Crash in InlineTextBox::isLineBreak() when Undoing a replace
  38347. Rolled out <http://trac.webkit.org/projects/webkit/changeset/29667>
  38348. * editing/SelectionController.cpp:
  38349. (WebCore::SelectionController::nodeWillBeRemoved):
  38350. 2008-02-15 Alice Liu <alice.liu@apple.com>
  38351. Reviewed by Darin.
  38352. Fixed <rdar://problem/5741440> REGRESSION (r28496): After deactivating JavaScript, scripts embedded in the HTML page continue to run
  38353. Before this patch, Frame::scriptProxy() would only return null in the case that javascript was
  38354. disabled and if the script proxy field wasn't set (which would only be the case if the window
  38355. hasn't loaded anything yet). Not all callers of scriptProxy() always check for a non-null return
  38356. value. Those that did check would effectively be checking if javascript was enabled before proceeding.
  38357. This fix consists of 2 elements: first, make sure that scriptProxy() will never return null, regardless
  38358. of whether javascript is disabled. This will mean that callers who don't check for null won't crash.
  38359. Second, callers who did check for null now instead check for javascript being disabled. This means that
  38360. code paths intended for preventing javascript from being run will be making the correct check. Another
  38361. minor addition to this patch is that I added a function on KSJProxy to be a shortcut for checking if javascript
  38362. is enabled.
  38363. * bindings/js/JSCustomSQLStatementCallback.cpp:
  38364. (WebCore::JSCustomSQLStatementCallback::handleEvent):
  38365. * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
  38366. (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
  38367. * bindings/js/JSCustomSQLTransactionCallback.cpp:
  38368. (WebCore::JSCustomSQLTransactionCallback::handleEvent):
  38369. * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
  38370. (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
  38371. * bindings/js/JSCustomVoidCallback.cpp:
  38372. (WebCore::JSCustomVoidCallback::handleEvent):
  38373. * bindings/js/JSCustomXPathNSResolver.cpp:
  38374. (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
  38375. * bindings/js/ScheduledAction.cpp:
  38376. (WebCore::ScheduledAction::execute):
  38377. * bindings/js/kjs_events.cpp:
  38378. (WebCore::JSAbstractEventListener::handleEvent):
  38379. (WebCore::JSLazyEventListener::parseCode):
  38380. * bindings/js/kjs_html.cpp:
  38381. (WebCore::runtimeObjectImplementsCall):
  38382. * bindings/js/kjs_proxy.cpp:
  38383. (WebCore::KJSProxy::isEnabled):
  38384. * bindings/js/kjs_proxy.h:
  38385. * bindings/js/kjs_window.cpp:
  38386. (KJS::Window::retrieveWindow):
  38387. (KJS::Window::retrieve):
  38388. * dom/Document.cpp:
  38389. (WebCore::Document::createHTMLEventListener):
  38390. * dom/EventTarget.cpp:
  38391. (WebCore::EventTarget::dispatchGenericEvent):
  38392. * html/HTMLPlugInElement.cpp:
  38393. (WebCore::HTMLPlugInElement::createNPObject):
  38394. * html/HTMLScriptElement.cpp:
  38395. (WebCore::HTMLScriptElement::evaluateScript):
  38396. * html/HTMLTokenizer.cpp:
  38397. (WebCore::HTMLTokenizer::parseTag):
  38398. (WebCore::HTMLTokenizer::processToken):
  38399. * loader/FrameLoader.cpp:
  38400. (WebCore::FrameLoader::executeScript):
  38401. (WebCore::FrameLoader::userGestureHint):
  38402. (WebCore::FrameLoader::open):
  38403. (WebCore::FrameLoader::dispatchWindowObjectAvailable):
  38404. (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
  38405. * manual-tests/disable-javascript-reload.html: Added.
  38406. * page/Frame.cpp:
  38407. (WebCore::Frame::scriptProxy):
  38408. (WebCore::Frame::bindingRootObject):
  38409. (WebCore::Frame::windowScriptNPObject):
  38410. * page/Frame.h:
  38411. * page/InspectorController.cpp:
  38412. (WebCore::canPassNodeToJavaScript):
  38413. * page/mac/FrameMac.mm:
  38414. (WebCore::Frame::windowScriptObject):
  38415. * svg/SVGDocumentExtensions.cpp:
  38416. (WebCore::SVGDocumentExtensions::createSVGEventListener):
  38417. 2008-02-15 Dan Bernstein <mitz@apple.com>
  38418. Reviewed by Alexey Proskuryakov.
  38419. - WebCore part of fixing http://bugs.webkit.org/show_bug.cgi?id=17360
  38420. <rdar://problem/5743131> REGRESSION: mp4 file downloaded from server is downloaded as html
  38421. Test: http/tests/loading/text-content-type-with-binary-extension.html
  38422. Refined the workaround for <rdar://problem/5321972> to exclude files
  38423. with extensions that are known to be associated with binary MIME types.
  38424. * WebCore.xcodeproj/project.pbxproj: Added WebCoreURLResponse.{h,mm}.
  38425. * platform/network/mac/ResourceResponseMac.mm:
  38426. (WebCore::ResourceResponse::doUpdateResourceResponse): Moved the
  38427. workaround logic into WebCoreURLResponse.
  38428. * platform/network/mac/WebCoreURLResponse.h: Added.
  38429. * platform/network/mac/WebCoreURLResponse.mm: Added.
  38430. (createBinaryExtensionsSet): Returns a set of extensions known to
  38431. belong to MIME types of binary data.
  38432. (-[NSURLResponse _webcore_MIMEType]):
  38433. (-[NSHTTPURLResponse _webcore_MIMEType]): Forces the MIME type from
  38434. application/octet-stream to text/plain if that is the specified
  38435. Content-Type, unless the extension is in the binary extensions set.
  38436. 2008-02-15 Dan Bernstein <mitz@apple.com>
  38437. Reviewed by Dave Hyatt.
  38438. - fix http://bugs.webkit.org/show_bug.cgi?id=17306
  38439. <rdar://problem/5737923> Transitions between styles that have different transition-* properties behave inconsistently
  38440. * manual-tests/transitions.html: Added.
  38441. * page/AnimationController.cpp:
  38442. (WebCore::CompositeImplicitAnimation::animate): Changed to use the
  38443. transition properties of the current style rather than the target style.
  38444. (WebCore::AnimationControllerPrivate::get): Changed to not create an
  38445. animation if the style does not have transitions.
  38446. (WebCore::AnimationController::updateImplicitAnimations): Added code to
  38447. return the target style if the current style is not animating.
  38448. * rendering/RenderObject.cpp:
  38449. (WebCore::RenderObject::setAnimatableStyle): Changed to call
  38450. updateImplicitAnimations() even if the current style does not have
  38451. transitions, because we may be animating out of a style that had them.
  38452. 2008-02-15 Alexey Proskuryakov <ap@webkit.org>
  38453. Rubber-stamped by Darin.
  38454. Remove an obsolete WebCore readme file.
  38455. * README: Removed.
  38456. 2008-02-15 Sam Weinig <sam@webkit.org>
  38457. Reviewed by Darin Adler.
  38458. Remove more uses of DeprecatedString in preparation of getting rid of it.
  38459. * bridge/mac/WebCoreScriptDebugger.mm:
  38460. * css/CSSCursorImageValue.cpp:
  38461. (WebCore::isSVGCursorIdentifier):
  38462. (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
  38463. * css/CSSStyleSelector.h:
  38464. * dom/Element.cpp:
  38465. (WebCore::Element::dump):
  38466. (WebCore::Element::formatForDebugger):
  38467. * dom/Position.cpp:
  38468. (WebCore::Position::debugPosition):
  38469. (WebCore::Position::formatForDebugger):
  38470. * dom/Range.cpp:
  38471. (WebCore::Range::formatForDebugger):
  38472. * dom/Text.cpp:
  38473. (WebCore::Text::formatForDebugger):
  38474. * editing/Selection.cpp:
  38475. (WebCore::Selection::debugPosition):
  38476. (WebCore::Selection::formatForDebugger):
  38477. * editing/SelectionController.cpp:
  38478. (WebCore::SelectionController::debugRenderer):
  38479. * editing/VisiblePosition.cpp:
  38480. (WebCore::VisiblePosition::debugPosition):
  38481. * html/HTMLTokenizer.cpp:
  38482. (WebCore::HTMLTokenizer::scriptHandler):
  38483. (WebCore::HTMLTokenizer::parseTag):
  38484. (WebCore::HTMLTokenizer::processToken):
  38485. (WebCore::HTMLTokenizer::notifyFinished):
  38486. * svg/SVGFontFaceElement.cpp:
  38487. (WebCore::mapAttributeToCSSProperty):
  38488. 2008-02-15 Adam Roben <aroben@apple.com>
  38489. * bindings/scripts/CodeGenerator.pm: Touch this to force bindings to
  38490. regenerate.
  38491. 2008-02-15 Adam Roben <aroben@apple.com>
  38492. Try to fix Qt/GTK+ builds
  38493. * WebCore.pro: Remove MessageEvent.{idl,cpp} from the unconditional
  38494. parts of this file.
  38495. 2008-02-15 Darin Adler <darin@apple.com>
  38496. - another Qt build fix
  38497. * platform/qt/KURLQt.cpp:
  38498. (WebCore::KURL::operator QUrl): Use the characters directly, not ascii().
  38499. Eliminate references to urlString.
  38500. 2008-02-15 Darin Adler <darin@apple.com>
  38501. - another Qt build fix
  38502. * platform/qt/ClipboardQt.cpp:
  38503. (WebCore::ClipboardQt::declareAndWriteDragImage): Use KURL instead of String.
  38504. 2008-02-14 Darin Adler <darin@apple.com>
  38505. - another round of build fixes
  38506. * platform/KURL.cpp:
  38507. (WebCore::appendEncodedHostname): Fix spelling (strLen, not strlen).
  38508. * platform/network/curl/ResourceHandleManager.cpp:
  38509. (WebCore::parseDataUrl): Fix a ".." typo and call data instead of characters.
  38510. 2008-02-14 Darin Adler <darin@apple.com>
  38511. - added back accidentally-removed files
  38512. * platform/DeprecatedStringList.cpp: Copied from platform/DeprecatedStringList.cpp.
  38513. * platform/DeprecatedStringList.h: Copied from platform/DeprecatedStringList.h.
  38514. * platform/mac/DeprecatedStringListMac.mm: Copied from platform/mac/DeprecatedStringListMac.mm.
  38515. 2008-02-14 Darin Adler <darin@apple.com>
  38516. - more build fixes
  38517. * platform/KURL.cpp:
  38518. (WebCore::appendEncodedHostname): Use String to make a QString.
  38519. * platform/network/cf/ResourceRequest.h:
  38520. (WebCore::ResourceRequest::ResourceRequest): Removed a stray deprecatedString() call.
  38521. * platform/network/curl/ResourceHandleManager.cpp:
  38522. (WebCore::parseDataUrl): Updated to String rather than DeprecatedString functions.
  38523. 2008-02-14 Darin Adler <darin@apple.com>
  38524. - next Qt build fix
  38525. * platform/network/qt/ResourceRequest.h:
  38526. (WebCore::ResourceRequest::ResourceRequest): Removed a stray deprecatedString() call.
  38527. 2008-02-14 Darin Adler <darin@apple.com>
  38528. - another build fix
  38529. * platform/network/curl/ResourceRequest.h:
  38530. (WebCore::ResourceRequest::ResourceRequest): Removed a stray deprecatedString() call.
  38531. 2008-02-14 Darin Adler <darin@apple.com>
  38532. - first Qt build fix
  38533. * dom/XMLTokenizer.cpp:
  38534. (WebCore::XMLTokenizer::endElementNs): Added a missing string() call.
  38535. 2008-02-14 Darin Adler <darin@apple.com>
  38536. Reviewed by Eric Seidel.
  38537. Based on work by Brett Wilson <brettw@chromium.org>
  38538. - fix http://bugs.webkit.org/show_bug.cgi?id=16538
  38539. KURL should use String instead of DeprecatedString
  38540. - fix http://bugs.webkit.org/show_bug.cgi?id=16485
  38541. DocLoader::checkForReload will crash if the URL isNull
  38542. and a similar problem in IconDatabase
  38543. - fix http://bugs.webkit.org/show_bug.cgi?id=16487
  38544. KURL doesn't preserve isNull when constructed with a DeprecatedString
  38545. - changed completeURL and various DOM getters to return KURL, to avoid
  38546. conversion back and forth from KURL to String
  38547. - changed the conversion of KURL to NSURL or NSString to be automatic,
  38548. to ease the use of KURL in Objective C DOM bindings, and eliminated
  38549. the getNSURL function
  38550. - because I had to visit the DOM bindings anyway, eliminated almost all
  38551. the use of the KJS namespace for things in WebCore
  38552. - fixed HTMLOptionElement constructor to check for undefined rather
  38553. than size of the arguments array
  38554. - eliminated some other unnecessary uses of DeprecatedString
  38555. - changed String::split to take a Vector parameter instead of returning
  38556. a Vector, for better performance
  38557. - added a couple of missing calls to do layout in SVG image handling;
  38558. I was able to reproduce these only because I had broken URLs for a
  38559. while -- not sure how to reproduce them now but the changes are
  38560. clearly needed
  38561. Performance testing shows this to be at least a 1% speedup.
  38562. Added a new function protocols to efficiently compare protocols
  38563. without case errors and a blankURL function so we don't have to
  38564. code "about:blank" in multiple places in the code and don't have to
  38565. construct a frash KURL each time. Moved decode_string and encode_string
  38566. out of KURL and gave them clearer names.
  38567. Made KURL constructors explicit to highlight potentially-expensive
  38568. operations and the poor semantics of KURL's constructor that takes
  38569. a String.
  38570. * WebCore.base.exp: Updated.
  38571. * bindings/js/JSAttrCustom.cpp:
  38572. (WebCore::JSAttr::setValue): Use protocolIs.
  38573. * bindings/js/JSAudioConstructor.h: KJS namespace change.
  38574. * bindings/js/JSCSSRuleCustom.cpp:
  38575. (WebCore::toJS): Ditto.
  38576. * bindings/js/JSCSSValueCustom.cpp:
  38577. (WebCore::toJS): Ditto.
  38578. * bindings/js/JSDocumentCustom.cpp:
  38579. (WebCore::JSDocument::location): Ditto.
  38580. (WebCore::JSDocument::setLocation): Updated for KURL change.
  38581. (WebCore::toJS): KJS namespace change.
  38582. * bindings/js/JSElementCustom.cpp:
  38583. (WebCore::allowSettingSrcToJavascriptURL): Use protocolIs.
  38584. (WebCore::JSElement::setAttribute): KJS namespace change.
  38585. (WebCore::JSElement::setAttributeNode): Ditto.
  38586. (WebCore::JSElement::setAttributeNS): Ditto.
  38587. (WebCore::JSElement::setAttributeNodeNS): Ditto.
  38588. * bindings/js/JSHTMLFrameElementCustom.cpp:
  38589. (WebCore::allowSettingJavascriptURL): Use protocolIs.
  38590. (WebCore::JSHTMLFrameElement::setSrc): KJS namespace change.
  38591. (WebCore::JSHTMLFrameElement::setLocation): Ditto.
  38592. * bindings/js/JSHTMLIFrameElementCustom.cpp:
  38593. (WebCore::JSHTMLIFrameElement::setSrc): Use protocolIs.
  38594. * bindings/js/JSHTMLOptionElementConstructor.cpp:
  38595. (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
  38596. (WebCore::JSHTMLOptionElementConstructor::construct): Cleaned up the
  38597. structure a bit and changed checking to check for undefined rather than
  38598. number of arguments.
  38599. * bindings/js/JSHTMLOptionElementConstructor.h: KJS namespace change.
  38600. * bindings/js/JSLocation.cpp:
  38601. (WebCore::JSLocation::put): Eliminated some DeprecatedString use,
  38602. and use protocolIs.
  38603. (WebCore::jsLocationProtoFuncReplace): Ditto.
  38604. (WebCore::jsLocationProtoFuncReload): Ditto.
  38605. (WebCore::jsLocationProtoFuncAssign): Ditto.
  38606. * bindings/js/JSLocation.h: KJS namespace change.
  38607. * bindings/js/JSNamedNodeMapCustom.cpp:
  38608. (WebCore::JSNamedNodeMap::canGetItemsForName): Ditto.
  38609. (WebCore::JSNamedNodeMap::nameGetter): Ditto.
  38610. * bindings/js/JSNamedNodesCollection.cpp:
  38611. (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Ditto.
  38612. * bindings/js/JSNamedNodesCollection.h: Ditto.
  38613. * bindings/js/JSXMLHttpRequest.cpp:
  38614. (WebCore::jsXMLHttpRequestPrototypeFunctionOpen): Removed
  38615. DeprecatedString use.
  38616. (WebCore::jsXMLHttpRequestPrototypeFunctionSend): Ditto.
  38617. * bindings/js/JSXMLHttpRequest.h: Moved this class into the WebCore
  38618. namespace.
  38619. * bindings/js/JSXSLTProcessor.cpp: Namespace change.
  38620. * bindings/js/JSXSLTProcessor.h: Ditto.
  38621. * bindings/js/kjs_binding.cpp: Updated for namespace change.
  38622. (WebCore::jsStringOrNull): Added an overload for KURL to allow DOM
  38623. classes to return KURL even if the DOM expects a string.
  38624. (WebCore::jsStringOrUndefined): Ditto.
  38625. (WebCore::jsStringOrFalse): Ditto.
  38626. * bindings/js/kjs_binding.h: Moved everything into the WebCore
  38627. namespace.
  38628. * bindings/js/kjs_css.h: Namespace change.
  38629. * bindings/js/kjs_events.cpp: Removed an include.
  38630. * bindings/js/kjs_events.h: Namespace change.
  38631. * bindings/js/kjs_html.h: Namespace change.
  38632. * bindings/js/kjs_navigator.cpp: Moved everything into the
  38633. WebCore namespace.
  38634. * bindings/js/kjs_navigator.h: Ditto.
  38635. * bindings/js/kjs_window.cpp:
  38636. (KJS::parseModalDialogFeatures): Updated for String::split change.
  38637. (KJS::createWindow): Use protocolIs and removed some DeprecatedString.
  38638. (KJS::Window::put): Ditto.
  38639. (KJS::Window::allowsAccessFrom): Ditto.
  38640. (KJS::windowProtoFuncOpen): Ditto.
  38641. * bindings/objc/DOM.mm:
  38642. (-[DOMElement _getURLAttribute:]): Removed getNSURL call.
  38643. * bindings/objc/DOMHTML.mm:
  38644. (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Ditto.
  38645. * bindings/scripts/CodeGeneratorCOM.pm: Updated includes so conversions from
  38646. KURL will work.
  38647. * bindings/scripts/CodeGeneratorJS.pm: Updated for namespace changes, and also
  38648. updated includes so conversions from KURL will work.
  38649. * bindings/scripts/CodeGeneratorObjC.pm: Updated includes so conversions from
  38650. KURL will work.
  38651. * bridge/mac/WebCoreAXObject.mm:
  38652. (-[WebCoreAXObject accessibilityAttributeValue:]): Removed getNSURL call.
  38653. Also streamlined the logic.
  38654. (AXAttributedStringAppendText): Ditto.
  38655. * bridge/mac/WebCoreScriptDebugger.mm:
  38656. (toNSString): Tweaked.
  38657. (toNSURL): Removed getNSURL call.
  38658. * css/CSSImageValue.cpp:
  38659. (WebCore::CSSImageValue::image): Removed DeprecatedString use.
  38660. * css/CSSImportRule.cpp:
  38661. (WebCore::CSSImportRule::insertedIntoParent): Ditto.
  38662. * css/CSSParser.cpp:
  38663. (WebCore::CSSParser::parseValue): Ditto.
  38664. (WebCore::CSSParser::parseContent): Ditto.
  38665. (WebCore::CSSParser::parseBackgroundImage): Ditto.
  38666. (WebCore::CSSParser::parseFontFaceSrc): Ditto.
  38667. (WebCore::CSSParser::parseBorderImage): Ditto.
  38668. * css/CSSStyleSelector.cpp:
  38669. (WebCore::CSSStyleSelector::setEncodedURL): Ditto.
  38670. (WebCore::checkPseudoState): Ditto.
  38671. * css/CSSStyleSelector.h: Ditto.
  38672. * css/MediaList.cpp:
  38673. (WebCore::MediaList::setMediaText): Updated for String::split change.
  38674. * css/StyleBase.cpp:
  38675. (WebCore::StyleBase::baseURL): Return KURL.
  38676. * css/StyleBase.h: DItto.
  38677. * dom/Document.cpp:
  38678. (WebCore::Document::~Document): Updated for namespace change.
  38679. (WebCore::Document::documentURI): Return KURL.
  38680. (WebCore::Document::setDocumentURI): Removed DeprecatedString use.
  38681. (WebCore::Document::baseURI): Return KURL.
  38682. (WebCore::Document::open): Updated to use blankURL.
  38683. (WebCore::Document::setURL): Take KURL.
  38684. (WebCore::Document::shouldBeAllowedToLoadLocalResources): Updated for
  38685. change to use KURL
  38686. (WebCore::Document::setBaseURL): Take KURL.
  38687. (WebCore::Document::elementSheet): Updated for KURL change.
  38688. (WebCore::Document::mappedElementSheet): Ditto.
  38689. (WebCore::Document::processHttpEquiv): Ditto.
  38690. (WebCore::Document::recalcStyleSelector): Removed use of
  38691. DeprecatedString -- also noticed some dead code here!
  38692. (WebCore::Document::setCookie): Ditto.
  38693. (WebCore::Document::completeURL): Return KURL.
  38694. * dom/Document.h: Use KURL instead of String in a few places.
  38695. * dom/DocumentType.cpp:
  38696. (WebCore::DocumentType::baseURI): Return KURL.
  38697. * dom/DocumentType.h: Ditto.
  38698. * dom/Element.cpp:
  38699. (WebCore::Element::baseURI): Return KURL.
  38700. * dom/Element.h: Ditto.
  38701. * dom/Node.cpp:
  38702. (WebCore::Node::setDocument): Namespace change.
  38703. (WebCore::Node::baseURI): Return KURL.
  38704. * dom/Node.h: Ditto.
  38705. * dom/ProcessingInstruction.cpp:
  38706. (WebCore::ProcessingInstruction::checkStyleSheet): Updated for KURL change.
  38707. * dom/StyleElement.cpp:
  38708. (WebCore::StyleElement::process): Changed to use Vector<UChar> instead of
  38709. String for better performance.
  38710. (WebCore::StyleElement::createSheet): Removed use of DeprecateString.
  38711. * dom/XMLTokenizer.cpp:
  38712. (WebCore::XMLTokenizer::endElementNs): Updated for KURL change.
  38713. (WebCore::XMLTokenizer::end): Ditto.
  38714. (WebCore::xmlDocPtrForString): Removed use of DeprecateString.
  38715. * dom/XMLTokenizer.h: Ditto.
  38716. * editing/markup.cpp: Moved appendString to PlatformString.h.
  38717. (WebCore::appendQuotedURLAttributeValue): Use protocolIs.
  38718. (WebCore::completeURLs): Removed DeprecatedString use.
  38719. (WebCore::createFragmentFromMarkup): Use blankURL.
  38720. (WebCore::fillContainerFromString): Removed DeprecatedString use.
  38721. (WebCore::createFragmentFromText): Ditto.
  38722. * history/HistoryItem.cpp:
  38723. (WebCore::HistoryItem::url): Removed DeprecatedString use.
  38724. (WebCore::HistoryItem::originalURL): Ditto.
  38725. * history/HistoryItem.h: Removed include.
  38726. * html/HTMLAnchorElement.cpp:
  38727. (WebCore::HTMLAnchorElement::defaultEventHandler): Removed use of
  38728. DeprecatedString.
  38729. (WebCore::HTMLAnchorElement::href): Return KURL.
  38730. (WebCore::HTMLAnchorElement::hash): Removed DeprecatedString use.
  38731. (WebCore::HTMLAnchorElement::host): Ditto.
  38732. (WebCore::HTMLAnchorElement::hostname): Ditto.
  38733. (WebCore::HTMLAnchorElement::pathname): Ditto.
  38734. (WebCore::HTMLAnchorElement::port): Ditto.
  38735. (WebCore::HTMLAnchorElement::protocol): Ditto.
  38736. (WebCore::HTMLAnchorElement::search): Ditto.
  38737. (WebCore::HTMLAnchorElement::toString): Ditto.
  38738. * html/HTMLAnchorElement.h: Ditto.
  38739. * html/HTMLAppletElement.cpp:
  38740. (WebCore::HTMLAppletElement::createRenderer): Updated for KURL change.
  38741. * html/HTMLAreaElement.cpp:
  38742. (WebCore::HTMLAreaElement::href): Return KURL.
  38743. * html/HTMLAreaElement.h: Ditto.
  38744. * html/HTMLBaseElement.cpp:
  38745. (WebCore::HTMLBaseElement::removedFromDocument): Updated for KURL change.
  38746. (WebCore::HTMLBaseElement::process): Removed DeprecatedString use.
  38747. * html/HTMLBodyElement.cpp:
  38748. (WebCore::HTMLBodyElement::parseMappedAttribute): Updated for KURL change.
  38749. * html/HTMLEmbedElement.cpp:
  38750. (WebCore::HTMLEmbedElement::parseMappedAttribute): Removed use of
  38751. DeprecatedString.
  38752. * html/HTMLEmbedElement.h: Removed DeprecatedString use.
  38753. * html/HTMLFormElement.cpp:
  38754. (WebCore::HTMLFormElement::formWouldHaveSecureSubmission): Use protocolIs.
  38755. (WebCore::encodeCString): Updated for change to String::split.
  38756. (WebCore::HTMLFormElement::dataEncoding): Ditto.
  38757. (WebCore::HTMLFormElement::formData): Removed DeprecatedString use.
  38758. (WebCore::HTMLFormElement::isMailtoForm): Use protocolIs.
  38759. (WebCore::HTMLFormElement::submit): Updated for KURL change.
  38760. (WebCore::HTMLFormElement::reset): Ditto.
  38761. * html/HTMLFrameElementBase.cpp:
  38762. (WebCore::HTMLFrameElementBase::isURLAllowed): Updated for KURL change
  38763. and use equalIgnoringRef instead of doing a setRef to get the same effect.
  38764. (WebCore::HTMLFrameElementBase::openURL): Use blankURL.
  38765. (WebCore::HTMLFrameElementBase::location): Return KURL.
  38766. (WebCore::HTMLFrameElementBase::src): Return KURL.
  38767. * html/HTMLFrameElementBase.h: Ditto.
  38768. * html/HTMLImageElement.cpp:
  38769. (WebCore::HTMLImageElement::parseMappedAttribute): Updated for KURL change.
  38770. (WebCore::HTMLImageElement::longDesc): Return KURL.
  38771. (WebCore::HTMLImageElement::lowsrc): Return KURL.
  38772. (WebCore::HTMLImageElement::src): Return KURL.
  38773. * html/HTMLImageElement.h: Ditto. Also removed imageMap() function.
  38774. * html/HTMLInputElement.cpp:
  38775. (WebCore::HTMLInputElement::src): Return KURL.
  38776. * html/HTMLInputElement.h: Ditto.
  38777. * html/HTMLLinkElement.cpp:
  38778. (WebCore::HTMLLinkElement::parseMappedAttribute): Updated for KURL change.
  38779. (WebCore::HTMLLinkElement::tokenizeRelAttribute): Updated for String::split change.
  38780. (WebCore::HTMLLinkElement::href): Return KURL.
  38781. * html/HTMLLinkElement.h: Ditto.
  38782. * html/HTMLMediaElement.cpp:
  38783. (WebCore::HTMLMediaElement::src): Return KURL.
  38784. (WebCore::HTMLMediaElement::pickMedia): Updated for KURL change.
  38785. * html/HTMLMediaElement.h: Ditto.
  38786. * html/HTMLObjectElement.cpp:
  38787. (WebCore::HTMLObjectElement::isImageType): Use protocolIs.
  38788. (WebCore::HTMLObjectElement::data): Return KURL.
  38789. * html/HTMLObjectElement.h: Ditto.
  38790. * html/HTMLOptGroupElement.cpp:
  38791. (WebCore::HTMLOptGroupElement::groupLabelText): Removed DeprecatedString use.
  38792. * html/HTMLParser.cpp:
  38793. (WebCore::HTMLParser::reportErrorToConsole): Updated for KURL change.
  38794. * html/HTMLScriptElement.cpp:
  38795. (WebCore::HTMLScriptElement::insertedIntoDocument): Ditto.
  38796. (WebCore::HTMLScriptElement::text): Changed to use Vector<UChar> instead of
  38797. String for better performance.
  38798. (WebCore::HTMLScriptElement::src): Return KURL.
  38799. * html/HTMLScriptElement.h: Ditto.
  38800. * html/HTMLSourceElement.cpp:
  38801. (WebCore::HTMLSourceElement::src): Return KURL.
  38802. * html/HTMLSourceElement.h: Ditto.
  38803. * html/HTMLTableElement.cpp:
  38804. (WebCore::HTMLTableElement::parseMappedAttribute): Updated for KURL change.
  38805. * html/HTMLTablePartElement.cpp:
  38806. (WebCore::HTMLTablePartElement::parseMappedAttribute): Updated for KURL change.
  38807. * html/HTMLTextAreaElement.cpp:
  38808. (WebCore::HTMLTextAreaElement::setValue): Removed DeprecatedString use.
  38809. * html/HTMLTokenizer.cpp:
  38810. (WebCore::HTMLTokenizer::scriptExecution): Ditto.
  38811. (WebCore::HTMLTokenizer::notifyFinished): Use protocolIs.
  38812. * html/HTMLVideoElement.cpp:
  38813. (WebCore::HTMLVideoElement::poster): Return KURL.
  38814. * html/HTMLVideoElement.h: Ditto.
  38815. * html/HTMLViewSourceDocument.cpp:
  38816. (WebCore::HTMLViewSourceDocument::addText): Updated for String::split change.
  38817. * loader/DocLoader.cpp:
  38818. (WebCore::DocLoader::checkForReload): Add an explicit check for an empty URL
  38819. here to avoid problems using its string as a hash table key later.
  38820. (WebCore::DocLoader::requestResource): Removed DeprecatedString use.
  38821. * loader/FTPDirectoryDocument.cpp:
  38822. (WebCore::FTPDirectoryTokenizer::createTDForFilename): Updated for KURL change.
  38823. (WebCore::FTPDirectoryTokenizer::parseAndAppendOneLine): Removed use of
  38824. DeprecatedString.
  38825. * loader/FrameLoader.cpp:
  38826. (WebCore::FrameLoader::requestFrame): Use protocolIs.
  38827. (WebCore::FrameLoader::loadSubframe): Use blankURL.
  38828. (WebCore::FrameLoader::submitForm): Use protocolIs and removed use of
  38829. DeprecatedString.
  38830. (WebCore::FrameLoader::iconURL): Return KURL. Use protcolIs.
  38831. (WebCore::FrameLoader::didOpenURL): Use protocolIs.
  38832. (WebCore::FrameLoader::didExplicitOpen): Use blankURL.
  38833. (WebCore::FrameLoader::executeIfJavaScriptURL): Use protocolIs.
  38834. Update for name change to decodeURLEscapeSequences.
  38835. (WebCore::FrameLoader::receivedFirstData): Updated for KURL changes.
  38836. (WebCore::FrameLoader::begin): Removed DeprecatedString use.
  38837. Renamed baseurl to baseURL. Updated to use KURL more.
  38838. (WebCore::FrameLoader::gotoAnchor): Removed use of encodedHtmlRef
  38839. function, which is no different from ref.
  38840. (WebCore::FrameLoader::completeURL): Updated for KURL change.
  38841. (WebCore::FrameLoader::scheduleLocationChange): Ditto.
  38842. (WebCore::FrameLoader::canCachePage): Use protocolIs.
  38843. (WebCore::FrameLoader::updatePolicyBaseURL): Update for KURL change.
  38844. (WebCore::FrameLoader::setPolicyBaseURL): Take KURL.
  38845. (WebCore::FrameLoader::startRedirectionTimer): Removed use of
  38846. DeprecatedString.
  38847. (WebCore::FrameLoader::load): Use protocolIs.
  38848. (WebCore::FrameLoader::shouldHideReferrer): Use protocolIs.
  38849. (WebCore::FrameLoader::shouldAllowNavigation): Updated for KURL change.
  38850. (WebCore::FrameLoader::commitProvisionalLoad): Use blankURL.
  38851. (WebCore::FrameLoader::open): Use protcolIs.
  38852. (WebCore::FrameLoader::createHistoryItem): Use blankURL.
  38853. (WebCore::FrameLoader::createJavaAppletWidget): Updated for KURL change.
  38854. (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady): Removed
  38855. DeprecatedString use.
  38856. * loader/FrameLoader.h: Ditto.
  38857. * loader/ImageDocument.cpp:
  38858. (WebCore::ImageDocument::createDocumentStructure): Updated for KURL change.
  38859. * loader/PluginDocument.cpp:
  38860. (WebCore::PluginTokenizer::createDocumentStructure): Ditto.
  38861. * loader/icon/IconDatabase.cpp:
  38862. (WebCore::IconDatabase::iconForPageURL): Added a check for an empty URL
  38863. before trying to use it as a hash table key.
  38864. * loader/icon/IconLoader.h: Tweaked includes.
  38865. * loader/loader.cpp:
  38866. (WebCore::Loader::servePendingRequests): Use protcolIs. Also removed some
  38867. code to set up a local variable that is never used (and a DeprecatedString
  38868. on to boot!).
  38869. * loader/mac/LoaderNSURLExtras.m:
  38870. (suggestedFilenameWithMIMEType): Removed unnecessary typecast.
  38871. * page/ContextMenuController.cpp: Removed include.
  38872. * page/mac/EventHandlerMac.mm:
  38873. (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
  38874. Use protocolIs.
  38875. * page/mac/WebCoreFrameBridge.mm:
  38876. (-[WebCoreFrameBridge URLWithAttributeString:]): Removed getNSURL call.
  38877. (-[WebCoreFrameBridge baseURL]): Ditto.
  38878. * platform/KURL.cpp:
  38879. (WebCore::isSchemeFirstChar): Fixed bug in handling of values >= 0x80.
  38880. (WebCore::isSchemeChar): Ditto.
  38881. (WebCore::isPathSegmentEndChar): Ditto.
  38882. (WebCore::hexDigitValue): Changed parameter type to UChar.
  38883. (WebCore::copyASCII): Added.
  38884. (WebCore::findFirstOf): Added.
  38885. (WebCore::KURL::protocolIs): Added.
  38886. (WebCore::KURL::KURL): Tightened logic up quite a bit. Changed parameter
  38887. types from DeprecatedString to String.
  38888. (WebCore::KURL::init): Changed parameter type to String. Preserved the
  38889. passed-in string even if the base is invalid. Cleaned up logic to determine
  38890. if the originalString should be pased in to the parse function. Simplified
  38891. by calling the new parse overload that takes String in many cases.
  38892. (WebCore::KURL::lastPathComponent): Return String.
  38893. (WebCore::KURL::protocol): Ditto.
  38894. (WebCore::KURL::host): Ditto.
  38895. (WebCore::KURL::port): Changed logic to use early return for clarity.
  38896. (WebCore::KURL::pass): Return String.
  38897. (WebCore::KURL::user): Ditto.
  38898. (WebCore::KURL::ref): Ditto.
  38899. (WebCore::assertProtocolIsGood): Added.
  38900. (WebCore::KURL::protocolIs): Added.
  38901. (WebCore::KURL::query): Return String.
  38902. (WebCore::KURL::path): Ditto.
  38903. (WebCore::KURL::setProtocol): Take String.
  38904. (WebCore::KURL::setHost): Ditto.
  38905. (WebCore::KURL::setPort): Use String.
  38906. (WebCore::KURL::setHostAndPort): Take String.
  38907. (WebCore::KURL::setUser): Ditto.
  38908. (WebCore::KURL::setPass): Ditto.
  38909. (WebCore::KURL::setRef): Ditto.
  38910. (WebCore::KURL::setQuery): Ditto.
  38911. (WebCore::KURL::setPath): Ditto.
  38912. (WebCore::KURL::prettyURL): Return String. Use Vector<UChar> to build it.
  38913. (WebCore::decodeURLEscapeSequences): Renamed from KURL::decode_string.
  38914. Return String. Use Vector<UChar> to build it.
  38915. (WebCore::KURL::isLocalFile): Use protocolIs.
  38916. (WebCore::KURL::parse): Added an overload that takes a String to replace
  38917. the use of DeprecatedString::ascii at various call sites. Updated for
  38918. name change (urlString -> m_string).
  38919. (WebCore::equalIgnoringRef): Wrote a new implementation that doesn't
  38920. do any allocation.
  38921. (WebCore::encodeWithURLEscapeSequences): Renamed from KURL::encode_string.
  38922. Return String.
  38923. (WebCore::appendEncodedHostname): Added. Replaces encodeHostname and
  38924. avoids the need to allocate a string.
  38925. (WebCore::findHostnamesInMailToURL): Update to use findFirstOf instead of
  38926. regular expressions.
  38927. (WebCore::findHostnameInHierarchicalURL): Ditto.
  38928. (WebCore::encodeHostnames): Use protocolIs and the other helpers above.
  38929. (WebCore::encodeRelativeString): Changed to put result into a CharBuffer.
  38930. (WebCore::substituteBackslashes): Updated to use String.
  38931. (WebCore::KURL::copyToBuffer): Added.
  38932. (WebCore::protocolIs): Added.
  38933. (WebCore::blankURL): Added.
  38934. (WebCore::KURL::print): Updated.
  38935. * platform/KURL.h: Added a number of comments. Reorganized the header a bit.
  38936. Made the string constructors explicit. Changed to use String instead of
  38937. DeprecatedString. Removed encodedHTMLRef. Renamed and added a few functions.
  38938. * platform/cf/KURLCFNet.cpp:
  38939. (WebCore::KURL::KURL): Streamlined the logic a bit.
  38940. (WebCore::KURL::createCFURL): Changed to use copyToBuffer.
  38941. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  38942. (WebCore::MediaPlayerPrivate::createQTMovie): Removed getNSURL call.
  38943. Use protocolIs.
  38944. * platform/mac/ClipboardMac.mm:
  38945. (WebCore::ClipboardMac::declareAndWriteDragImage): Removed getNSURL call.
  38946. * platform/mac/CookieJar.mm:
  38947. (WebCore::cookies): Removed getNSURL call.
  38948. (WebCore::setCookies): Removed getNSURL call.
  38949. * platform/mac/KURLMac.mm:
  38950. (WebCore::KURL::KURL): Streamlined the logic a bit.
  38951. * platform/mac/PasteboardMac.mm:
  38952. (WebCore::Pasteboard::writeURL): Removed getNSURL call.
  38953. (WebCore::Pasteboard::writeImage): Ditto.
  38954. * platform/mac/SSLKeyGeneratorMac.mm:
  38955. (WebCore::signedPublicKeyAndChallengeString): Ditto.
  38956. * platform/network/HTTPParsers.cpp:
  38957. (WebCore::filenameFromHTTPContentDisposition): Updated for String::split.
  38958. * platform/network/ResourceHandle.cpp:
  38959. (WebCore::ResourceHandle::portAllowed): Use protocolIs.
  38960. * platform/network/cf/ResourceErrorCF.cpp:
  38961. (WebCore::ResourceError::operator CFErrorRef): Removed deprecatedString call.
  38962. * platform/network/curl/ResourceHandleManager.cpp:
  38963. (WebCore::headerCallback): Ditto.
  38964. (WebCore::parseDataUrl): Use String instead of DeprecatedString.
  38965. (WebCore::ResourceHandleManager::startJob): Updated for KURL changes.
  38966. * platform/network/mac/ResourceErrorMac.mm:
  38967. (WebCore::ResourceError::operator NSError*): Removed getNSURL call.
  38968. * platform/network/mac/ResourceRequest.h:
  38969. (WebCore::ResourceRequest::ResourceRequest): Removed DeprecatedString use.
  38970. * platform/network/mac/ResourceRequestMac.mm:
  38971. (WebCore::ResourceRequest::doUpdatePlatformRequest): Removed getNSURL call.
  38972. * platform/network/mac/ResourceResponseMac.mm:
  38973. (WebCore::ResourceResponse::nsURLResponse): Removed getNSURL call.
  38974. * platform/qt/ClipboardQt.cpp:
  38975. (WebCore::ClipboardQt::writeURL): Removed deprecatedString call.
  38976. * platform/text/CString.h:
  38977. (WebCore::CStringBuffer::length): Fixed size_t/unsigned mismatch to make it
  38978. possible to compile this on Windows with higher warning level
  38979. * platform/text/PlatformString.h: Updated split to modify a result parameter
  38980. rather than returning a Vector. Added charactersAreAllASCII and an append
  38981. function that appends a String to a Vector<UChar>.
  38982. * platform/text/String.cpp:
  38983. (WebCore::String::split): Updated.
  38984. * platform/win/BString.cpp:
  38985. (WebCore::BString::BString): Added conversion from KURL.
  38986. * platform/win/BString.h: Ditto.
  38987. * platform/win/ClipboardUtilitiesWin.cpp:
  38988. (WebCore::markupToCF_HTML): Removed use of deprecatedString.
  38989. * platform/win/ClipboardWin.cpp:
  38990. (WebCore::filesystemPathFromUrlOrTitle): Ditto.
  38991. (WebCore::createGlobalHDropContent): Ditto.
  38992. (WebCore::ClipboardWin::setData): Ditto.
  38993. (WebCore::ClipboardWin::writeRange): Ditto.
  38994. * platform/win/PasteboardWin.cpp:
  38995. (WebCore::Pasteboard::writeSelection): Ditto.
  38996. * plugins/PluginStream.cpp:
  38997. (WebCore::PluginStream::startStream): Ditto.
  38998. (WebCore::PluginStream::destroyStream): Ditto.
  38999. * plugins/win/PluginViewWin.cpp:
  39000. (WebCore::scriptStringIfJavaScriptURL): Ditto.
  39001. (WebCore::PluginView::performRequest): Ditto.
  39002. (WebCore::PluginView::PluginView): Ditto.
  39003. * rendering/HitTestResult.cpp:
  39004. (WebCore::HitTestResult::absoluteImageURL): Removed DeprecatedString use.
  39005. (WebCore::HitTestResult::absoluteLinkURL): Ditto.
  39006. * rendering/RenderFrameSet.cpp:
  39007. (WebCore::RenderFrameSet::layOutAxis): Fixed comment wording.
  39008. * rendering/RenderImage.cpp:
  39009. (WebCore::RenderImage::paintReplaced): Removed use of DeperecatedString,
  39010. (WebCore::RenderImage::imageMap): Changed to call useMap instead of imageMap;
  39011. both do the same thing, and the first is standard DOM.
  39012. * rendering/RenderObject.cpp:
  39013. (WebCore::RenderObject::addPDFURLRect): Rewrote and streamlined to remove
  39014. DeprecatedString use.
  39015. * rendering/RenderObject.h: Changed addPDFURLRect to take const IntRect&.
  39016. * rendering/RenderPartObject.cpp:
  39017. (WebCore::isURLAllowed): Updated for KURL change and use equalIgnoringRef
  39018. instead of doing a setRef to get the same effect.
  39019. (WebCore::RenderPartObject::updateWidget): Updated for KURL change.
  39020. * rendering/RenderText.cpp:
  39021. (WebCore::charactersAreAllASCII): Moved the guts to PlatformString.h.
  39022. * rendering/SVGRenderSupport.cpp:
  39023. (WebCore::renderSubtreeToImage): Added missing call to do layout. I ran
  39024. into this while doing some layout tests while URL processing was broken.
  39025. * rendering/SVGRenderTreeAsText.h: Removed include.
  39026. * svg/SVGImageLoader.cpp:
  39027. (WebCore::SVGImageLoader::updateFromElement): Removed DeprecatedString use.
  39028. * svg/graphics/SVGImage.cpp:
  39029. (WebCore::SVGImage::draw): Added missing call to do layout. I ran
  39030. into this while doing some layout tests while URL processing was broken.
  39031. (WebCore::SVGImage::dataChanged): Use a null URL rather than an arbitrary
  39032. string for the document.
  39033. * xml/XMLHttpRequest.cpp:
  39034. (WebCore::XMLHttpRequest::getResponseXML): Removed DeprecatedString use.
  39035. (WebCore::XMLHttpRequest::urlMatchesDocumentDomain): Ditto.
  39036. (WebCore::XMLHttpRequest::open): Ditto.
  39037. (WebCore::XMLHttpRequest::send): Namespace change.
  39038. (WebCore::XMLHttpRequest::dropProtection): Ditto.
  39039. * xml/XMLHttpRequest.h: Removed DeprecatedString use.
  39040. * xml/XSLImportRule.cpp:
  39041. (WebCore::XSLImportRule::loadSheet): Removed DeprecatedString use.
  39042. * xml/XSLStyleSheet.cpp:
  39043. (WebCore::XSLStyleSheet::loadChildSheets): Ditto.
  39044. (WebCore::XSLStyleSheet::loadChildSheet): Ditto.
  39045. * xml/XSLStyleSheet.h: Ditto.
  39046. * xml/XSLTProcessor.cpp:
  39047. (WebCore::docLoaderFunc): Ditto.
  39048. (WebCore::xsltStylesheetPointer): Ditto.
  39049. (WebCore::xmlDocPtrFromNode): Ditto.
  39050. 2008-02-14 Ada Chan <adachan@apple.com>
  39051. <rdar://problem/5744728> Fix leaks of RegularExpression objects in Frame.cpp.
  39052. Reviewed by Jon and Darin.
  39053. * page/Frame.cpp:
  39054. (WebCore::createRegExpForLabels):
  39055. (WebCore::Frame::searchForLabelsBeforeElement):
  39056. (WebCore::Frame::matchLabelsAgainstElement):
  39057. 2008-02-14 Stephanie Lewis <slewis@apple.com>
  39058. Reviewed by Geoff.
  39059. Update order files.
  39060. * WebCore.order:
  39061. 2008-02-14 Oliver Hunt <oliver@apple.com>
  39062. Reviewed by Geoff G and Weinig.
  39063. <rdar://problem/5726608> REGRESSION (r29428): Assigning to window.status does not update status bar
  39064. Revert the portions of r29428 responsible for breaking the ability to
  39065. set window.status
  39066. * page/DOMWindow.cpp:
  39067. (WebCore::DOMWindow::setStatus):
  39068. (WebCore::DOMWindow::defaultStatus):
  39069. (WebCore::DOMWindow::setDefaultStatus):
  39070. * page/DOMWindow.h:
  39071. * page/DOMWindow.idl:
  39072. 2008-02-14 Anders Carlsson <andersca@apple.com>
  39073. Reviewed by Darin.
  39074. <rdar://problem/5721790>
  39075. Crash in WebCore::DeprecatedString::operator= + 31 at news.google.com
  39076. Use pointers in the cache map tables. Otherwise when we rehash,
  39077. we will end up destroying Cache objects that node lists might point to.
  39078. * dom/Node.cpp:
  39079. (WebCore::NodeListsNodeData::~NodeListsNodeData):
  39080. (WebCore::Node::getElementsByName):
  39081. (WebCore::Node::getElementsByClassName):
  39082. 2008-02-14 Alp Toker <alp@atoker.com>
  39083. Reviewed by Darin.
  39084. http://bugs.webkit.org/show_bug.cgi?id=17353
  39085. XMLTokenizer installs global libxml2 callbacks that can break client applications
  39086. Patch by Mark Rowe (with a few changes).
  39087. The xmlRegisterInputCallbacks/xmlRegisterOutputCallbacks done at
  39088. init are global so we need to make sure these callbacks only get used
  39089. by XMLTokenizer and never by libxml2 calls in user applications.
  39090. This patch modifies the match and open functions to only apply when we
  39091. are certain the caller is XMLTokenizer by checking globalDocLoader and
  39092. ensuring we're on the correct thread.
  39093. Some possible issues remain. See the bug report for details.
  39094. * dom/XMLTokenizer.cpp:
  39095. (WebCore::matchFunc):
  39096. (WebCore::openFunc):
  39097. (WebCore::createStringParser):
  39098. 2008-02-14 Timothy Hatcher <timothy@apple.com>
  39099. Reviewed by Darin Adler.
  39100. <rdar://problem/5743768> A deadlock during storage layout tests
  39101. Make sure not to hold the m_openDatabaseMapGuard mutex when calling
  39102. Database::markAsDeletedAndClose(), since that can cause a deadlock
  39103. during the synchronous DatabaseThread call it triggers.
  39104. * storage/DatabaseTracker.cpp:
  39105. (WebCore::DatabaseTracker::deleteDatabaseFile):
  39106. 2008-02-14 Adam Roben <aroben@apple.com>
  39107. Turn on cross-document messaging support by default
  39108. Reviewed by Darin.
  39109. * Configurations/WebCore.xcconfig:
  39110. * WebCore.pro:
  39111. * WebCore.vcproj/WebCore.vcproj:
  39112. 2008-02-14 Adam Roben <aroben@apple.com>
  39113. Conditionalize cross-document messaging support
  39114. The cross-document messaging parts of HTML 5 are in flux and we want
  39115. ports to be able to turn off the support as needed.
  39116. Note that the support is turned off by default right now. A subsequent
  39117. commit will turn it on by default.
  39118. Reviewed by Darin.
  39119. * GNUmakefile.am:
  39120. * WebCore.vcproj/build-generated-files.sh:
  39121. * bindings/js/JSDOMWindowCustom.cpp:
  39122. (WebCore::JSDOMWindow::customGetOwnPropertySlot):
  39123. * bindings/js/JSEventCustom.cpp:
  39124. (WebCore::toJS):
  39125. * dom/Event.cpp:
  39126. (WebCore::Event::isMessageEvent):
  39127. * dom/Event.h:
  39128. * dom/MessageEvent.cpp:
  39129. * dom/MessageEvent.h:
  39130. * dom/MessageEvent.idl:
  39131. * page/DOMWindow.cpp:
  39132. (WebCore::DOMWindow::postMessage):
  39133. * page/DOMWindow.h:
  39134. * page/DOMWindow.idl:
  39135. 2008-02-14 Adam Roben <aroben@apple.com>
  39136. Improve the efficiency of SecurityOriginHash
  39137. Reviewed by Alexey.
  39138. * platform/SecurityOriginHash.h:
  39139. (WebCore::SecurityOriginHash::hash): Now takes a const
  39140. RefPtr<SecurityOrigin>& to reduce ref-count churn.
  39141. (WebCore::SecurityOriginHash::equal): Ditto.
  39142. 2008-02-13 Justin Garcia <justin.garcia@apple.com>
  39143. Reviewed by Oliver Hunt.
  39144. Fixes the editing/deleting/5729680.html failure. It succeeds when run by itself
  39145. but fails when run with other tests because FramePrivate's m_selectionGranularity
  39146. isn't reset when a Frame receives a new document. It was also uninitialized in
  39147. the constructor.
  39148. * loader/FrameLoader.cpp:
  39149. (WebCore::FrameLoader::clear): Initialize m_selectionGranularity.
  39150. * page/Frame.cpp:
  39151. (WebCore::FramePrivate::FramePrivate): Ditto.
  39152. 2008-02-13 Jon Honeycutt <jhoneycutt@apple.com>
  39153. Reviewed by Anders.
  39154. <rdar://problem/5739282> Hangs after closing video trailer popup with
  39155. VLC plugin
  39156. VLC hangs on NPP_Destroy if we call NPP_SetWindow with a null window
  39157. handle.
  39158. * plugins/PluginQuirkSet.h: Added new quirk
  39159. PluginQuirkDontSetNullWindowHandleOnDestroy.
  39160. * plugins/win/PluginViewWin.cpp:
  39161. (WebCore::PluginView::stop): Selectively call NPP_SetWindow.
  39162. (WebCore::PluginView::determineQuirks): Set new quirk for VLC plug-in.
  39163. 2008-02-13 Rodney Dawes <dobey@wayofthemonkey.com>
  39164. Reviewed by Alp Toker.
  39165. Fix non-SVG builds.
  39166. * css/CSSCursorImageValue.cpp:
  39167. 2008-02-13 Justin Garcia <justin.garcia@apple.com>
  39168. Reviewed by Adam Roben.
  39169. <rdar://problem/5729680> REGRESSION (r27873): Removing the last character of a word in Mail or Safari also removes the following space
  39170. * editing/Editor.cpp:
  39171. (WebCore::Editor::deleteWithDirection): Fixed a typo.
  39172. 2008-02-13 Nikolas Zimmermann <zimmermann@kde.org>
  39173. Reviewed by Oliver.
  39174. Actually fix the manual-tests/svg-cursor-changes.svg testcase.
  39175. I only reran layout tests when fixing the last issues with the patch,
  39176. instead of trying the manual-test :( Fixed.
  39177. * css/CSSCursorImageValue.cpp:
  39178. (WebCore::CSSCursorImageValue::CSSCursorImageValue):
  39179. (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
  39180. (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
  39181. * css/CSSCursorImageValue.h:
  39182. 2008-02-13 Adam Roben <aroben@apple.com>
  39183. Windows build fix
  39184. * css/CSSCursorImageValue.cpp: #include MathExtras.h to get roundf.
  39185. 2008-02-13 Nikolas Zimmermann <zimmermann@kde.org>
  39186. Reviewed by Darin & Eric.
  39187. Fixes: http://bugs.webkit.org/show_bug.cgi?id=17258 (SVG uses erroneous cursor implementation)
  39188. SVG cursors are not well-integrated within the CSS(3) cursor support in WebCore.
  39189. SVGCursorElement duplicates CSSCursorImageValue functionality and inherits from
  39190. CachedResourceClient itself, handling remote-image acquisation on its own.
  39191. RenderStyle's CursorData class holds "IntPoint hotSpot", "CachedImage* image"
  39192. and just for SVG a 'String cursorFragmentId' (a reference to a SVG <cursor> element, by id).
  39193. SVG stores a reference to a SVGCursorElement, which holds a CachedImage pointer itself -
  39194. instead of storing the CachedImage in the CursorData class, as it's supposed to be.
  39195. Because of that several places in WebCore contain special SVG cursor handling - which
  39196. is unneeded.
  39197. Fix all issues by integrating within CSSCursorImageValue, remove 'String cursorFragmentId'
  39198. from RenderStyle, kill any special SVG cursor handling in WebCore and fix dynamic attribute
  39199. changes through DOM / SVG DOM (scripting of 'x' / 'y' / 'xlink:href' attribute). Now you
  39200. can script the mouse cursor location using SVG - the feature anyone has waited for.
  39201. Added manual test case: manual-tests/svg-cursor-changes.svg (no support for cursors in DRT)
  39202. * css/CSSCursorImageValue.cpp:
  39203. (WebCore::isSVGCursorIdentifier):
  39204. (WebCore::resourceReferencedByCursorElement):
  39205. (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
  39206. (WebCore::CSSCursorImageValue::updateIfNeeded):
  39207. (WebCore::CSSCursorImageValue::image):
  39208. * css/CSSCursorImageValue.h:
  39209. * css/CSSImageValue.cpp:
  39210. (WebCore::CSSImageValue::image):
  39211. * css/CSSImageValue.h:
  39212. * css/CSSParser.cpp:
  39213. (WebCore::CSSParser::parseValue):
  39214. * css/CSSStyleSelector.cpp:
  39215. (WebCore::CSSStyleSelector::applyProperty):
  39216. * manual-tests/svg-cursor-changes.svg: Added.
  39217. * page/EventHandler.cpp:
  39218. (WebCore::EventHandler::selectCursor):
  39219. * rendering/RenderStyle.cpp:
  39220. * rendering/RenderStyle.h:
  39221. (WebCore::CursorData::operator==):
  39222. * svg/SVGCursorElement.cpp:
  39223. (WebCore::SVGCursorElement::SVGCursorElement):
  39224. (WebCore::SVGCursorElement::~SVGCursorElement):
  39225. (WebCore::SVGCursorElement::parseMappedAttribute):
  39226. (WebCore::SVGCursorElement::addClient):
  39227. (WebCore::SVGCursorElement::removeClient):
  39228. (WebCore::SVGCursorElement::svgAttributeChanged):
  39229. * svg/SVGCursorElement.h:
  39230. (WebCore::SVGCursorElement::isValid):
  39231. 2008-02-13 Alp Toker <alp@atoker.com>
  39232. Reviewed by Adam Roben.
  39233. Split out pure-cairo Font code to FontCairo.cpp.
  39234. Part of the ongoing work to share code with the Win port.
  39235. * GNUmakefile.am:
  39236. * WebCore.pro:
  39237. * platform/graphics/cairo/FontCairo.cpp: Added.
  39238. (WebCore::Font::drawGlyphs):
  39239. * platform/graphics/gtk/FontGtk.cpp:
  39240. 2008-02-13 Kevin Ollivier <kevino@theolliviers.com>
  39241. Reviewed by Darin Adler.
  39242. Import wx/defs.h to keep windows.h from using ANSI functions
  39243. (see note in file for more info) and use the 8-bit string friendly
  39244. version of StringImpl::computeHash since we're passing it un UTF8
  39245. string. Also, don't cache the hash result.
  39246. http://bugs.webkit.org/show_bug.cgi?id=17321
  39247. * config.h:
  39248. * platform/graphics/wx/FontPlatformData.h:
  39249. (WebCore::FontPlatformData::hash):
  39250. (WebCore::FontPlatformData::computeHash):
  39251. 2008-02-13 Rodney Dawes <dobey@wayofthemonkey.com>
  39252. Fix Bug 17220: Illogical dependency between PluginView and
  39253. PluginDatabase
  39254. <http://bugs.webkit.org/show_bug.cgi?id=17220>
  39255. Reviewed by Adam and Darin.
  39256. Rename PluginDatabase::createPluginView to PluginView::create, to make
  39257. the illogical dependency between the two, logical
  39258. Make PluginDatabase::findPlugin a public method
  39259. Update the includes in PluginView and PluginDatabase for the change
  39260. * plugins/PluginDatabase.h:
  39261. * plugins/PluginView.h:
  39262. * plugins/win/PluginDatabaseWin.cpp:
  39263. * plugins/win/PluginViewWin.cpp:
  39264. 2008-02-13 Adam Roben <aroben@apple.com>
  39265. Build fix
  39266. * platform/graphics/cg/GraphicsContextCG.cpp: Added missing #include.
  39267. 2008-02-13 Matt Lilek <webkit@mattlilek.com>
  39268. Not reviewed, build fix.
  39269. * platform/graphics/cg/GraphicsContextCG.cpp:
  39270. (WebCore::GraphicsContext::paintBuffer):
  39271. 2008-02-13 Darin Adler <darin@apple.com>
  39272. - try to fix Wx build
  39273. * platform/graphics/wx/GraphicsContextWx.cpp:
  39274. (WebCore::GraphicsContext::paintBuffer): Added.
  39275. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  39276. (WebCore::GraphicsContext::paintBuffer): Added missing paintingDisabled() check.
  39277. * platform/graphics/cg/GraphicsContextCG.cpp:
  39278. (WebCore::GraphicsContext::paintBuffer): Ditto.
  39279. * platform/graphics/qt/GraphicsContextQt.cpp:
  39280. (WebCore::GraphicsContext::paintBuffer): Ditto.
  39281. 2008-02-13 Darin Adler <darin@apple.com>
  39282. - try to fix Wx build
  39283. * platform/wx/LocalizedStringsWx.cpp: Add missing include.
  39284. 2008-02-11 Darin Adler <darin@apple.com>
  39285. - roll out fix for <rdar://problem/5726016> REGRESSION: Xcode News window renders
  39286. incorrectly due to visibility fix
  39287. Removed the Xcode-specific quirk at the request of some folks on the Xcode team.
  39288. * WebCore.base.exp: Rolled out change.
  39289. * css/CSSMutableStyleDeclaration.cpp:
  39290. (WebCore::CSSMutableStyleDeclaration::setProperty): Ditto.
  39291. * page/Settings.cpp:
  39292. (WebCore::Settings::Settings): Ditto. But keep the initialization of
  39293. m_fontRenderingMode.
  39294. (WebCore::Settings::setNeedsXcodeVisibilityQuirk): Removed.
  39295. * page/Settings.h:
  39296. (WebCore::Settings::needsXcodeVisibilityQuirk): Removed.
  39297. 2008-02-13 Alexey Proskuryakov <ap@webkit.org>
  39298. Reviewed by Darin.
  39299. <rdar://problem/5740042> Database termination issues
  39300. Test: storage/close-during-stress-test.html
  39301. * dom/Document.cpp:
  39302. (WebCore::Document::databaseThread):
  39303. * dom/Document.h:
  39304. Don't re-create the database thread if it has been already terminated.
  39305. * storage/Database.h: (WebCore::Database::document): Changed m_database to a RefPtr to avoid
  39306. having a hanging reference.
  39307. * storage/DatabaseThread.cpp:
  39308. (WebCore::DatabaseThread::requestTermination):
  39309. * storage/SQLTransaction.cpp: (WebCore::SQLTransaction::~SQLTransaction): Removed logging.
  39310. Transactions are deleted during GC, so it's usually not importatnt to know when it happens.
  39311. 2008-02-12 Bernhard Rosenkraenzer <bero@arklinux.org>
  39312. Reviewed by Darin.
  39313. - fix http://bugs.webkit.org/show_bug.cgi?id=17340
  39314. WebCore/platform/Timer.cpp fails to build with gcc 4.3
  39315. * platform/Timer.cpp: Add include of <limits.h> since this file uses UINT_MAX.
  39316. 2008-02-12 Timothy Hatcher <timothy@apple.com>
  39317. Reviewed by Brady Eidson.
  39318. <rdar://problem/5652560> Can't delete database if the website that
  39319. uses it has been opened in this session
  39320. Close the Database on the database thread before deleting the file.
  39321. Tested and works on Windows and Mac.
  39322. * platform/sql/SQLiteDatabase.cpp:
  39323. (WebCore::SQLiteDatabase::close): Assert we are on the opening thread.
  39324. * storage/Database.cpp:
  39325. (WebCore::Database::markAsDeletedAndClose): Unschedule any pending
  39326. Database tasks, and start and imediate DatabaseCloseTask.
  39327. (WebCore::Database::close): Close the SQLDatabase.
  39328. * storage/Database.h: Renamed markAsDeleted to markAsDeletedAndClose.
  39329. * storage/DatabaseTask.cpp:
  39330. (WebCore::DatabaseCloseTask::DatabaseCloseTask): New task.
  39331. (WebCore::DatabaseCloseTask::doPerformTask): Call close on the Database.
  39332. (WebCore::DatabaseCloseTask::debugTaskName): Return "DatabaseCloseTask".
  39333. * storage/DatabaseTask.h: Add DatabaseCloseTask.
  39334. * storage/DatabaseTracker.cpp:
  39335. (WebCore::DatabaseTracker::deleteDatabaseFile): Call the renamed
  39336. markAsDeletedAndClose.
  39337. 2008-02-12 Oliver Hunt <oliver@apple.com>
  39338. Endeavour to fix qt and gtk builds
  39339. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  39340. * platform/graphics/qt/GraphicsContextQt.cpp:
  39341. 2008-02-12 Oliver Hunt <oliver@apple.com>
  39342. Reviewed by Eric S.
  39343. Bug 17269: Deobfuscate CanvasRenderingContext2D.cpp
  39344. Remove ifdef's from canvas paint code
  39345. By making GraphicsContext aware of the crossplatform ImageBuffer
  39346. type we can migrate the ifdef-ified paint code in HTMLCanvasElement
  39347. into platform implementations of GraphicsContext.
  39348. * html/HTMLCanvasElement.cpp:
  39349. (WebCore::HTMLCanvasElement::paint):
  39350. * platform/graphics/GraphicsContext.h:
  39351. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  39352. (WebCore::GraphicsContext::paintBuffer):
  39353. * platform/graphics/cg/GraphicsContextCG.cpp:
  39354. (WebCore::GraphicsContext::paintBuffer):
  39355. * platform/graphics/qt/GraphicsContextQt.cpp:
  39356. (WebCore::GraphicsContext::paintBuffer):
  39357. 2008-02-12 Brady Eidson <beidson@apple.com>
  39358. Reviewed by Darin Adler
  39359. Fix for <rdar://problem/5737692> - Database API needs to support SuccessCallback
  39360. Layout tests will come shortly with a mess of DRT changes
  39361. * platform/SecurityOrigin.cpp:
  39362. (WebCore::SecurityOrigin::SecurityOrigin): Standardize on "empty string" instead of null string
  39363. as different paths of constructing a SecurityOrigin were causing different hashes for the "same"
  39364. SecurityOrigin
  39365. * storage/Database.cpp:
  39366. (WebCore::Database::changeVersion): Pass in the successCallback
  39367. (WebCore::Database::transaction): Ditto
  39368. * storage/SQLTransaction.cpp:
  39369. (WebCore::SQLTransaction::SQLTransaction):
  39370. (WebCore::SQLTransaction::debugStepName):
  39371. (WebCore::SQLTransaction::performNextStep): Update ASSERTs for the new valid steps
  39372. (WebCore::SQLTransaction::performPendingCallback): Ditto
  39373. (WebCore::SQLTransaction::postflightAndCommit): Schedule the success callback if it exists - otherwise
  39374. skip straight to cleanupAfterSuccessCallback()
  39375. (WebCore::SQLTransaction::deliverSuccessCallback): Deliver success callback on the main thread, then
  39376. schedule cleanupAfterSuccessCallback()
  39377. (WebCore::SQLTransaction::cleanupAfterSuccessCallback): Cleanup and end the transaction
  39378. (WebCore::SQLTransaction::handleTransactionError):
  39379. (WebCore::SQLTransaction::deliverTransactionErrorCallback):
  39380. (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
  39381. * storage/SQLTransaction.h:
  39382. 2008-02-12 Steve Falkenburg <sfalken@apple.com>
  39383. Changes to support merged MIDL output.
  39384. All COM interfaces are now generated to WebKit.h.
  39385. Reviewed by Sam, Ada.
  39386. * bindings/scripts/CodeGeneratorCOM.pm:
  39387. 2008-02-12 Dan Bernstein <mitz@apple.com>
  39388. Reviewed by Adam Roben.
  39389. - fix http://bugs.webkit.org/show_bug.cgi?id=17041
  39390. <rdar://problem/5709660> Eastern Asian fonts do not display without specific box in Control Panel
  39391. Revised the system fallback font lookup logic to use MLang font linking
  39392. again. To avoid reintroducing bug 16548 and <rdar://problem/5280188>,
  39393. for CJK characters, try linking based on a single code page at a time,
  39394. starting with the user's default code page (if it is one of the CJK
  39395. code pages) followed by the other CJK code pages in a prescribed order
  39396. that matches what Firefox does.
  39397. * platform/graphics/win/FontCacheWin.cpp:
  39398. (WebCore::getCJKCodePageMasks): Added. Returns the search order for CJK
  39399. code pages, with the user's default code page first.
  39400. (WebCore::currentFontContainsCharacter): Factored out of
  39401. getFontDataForCharacters().
  39402. (WebCore::createMLangFont): Ditto.
  39403. (WebCore::FontCache::getFontDataForCharacters):
  39404. 2008-02-12 Rodney Dawes <dobey@wayofthemonkey.com>
  39405. Reviewed by Alp Toker.
  39406. Add -DMAEMO_CHANGES when the hildon CONFIG option is specified
  39407. Add hildon-1 to PKGCONFIG when hildon CONFIG option is specified
  39408. * WebCore.pro:
  39409. 2008-02-12 Dan Bernstein <mitz@apple.com>
  39410. Reviewed by Timothy Hatcher.
  39411. - <rdar://problem/5738175> Remove workaround for <rdar://problem/5539388> from post-Tiger builds
  39412. * platform/graphics/cg/GraphicsContextCG.cpp:
  39413. (WebCore::GraphicsContext::setShadow):
  39414. 2008-02-12 Brady Eidson <beidson@apple.com>
  39415. Release build fix
  39416. * storage/DatabaseTask.cpp:
  39417. 2008-02-12 Alexey Proskuryakov <ap@webkit.org> and Brady Eidson <beidson@apple.com>
  39418. Reviewed by Brady.
  39419. http://bugs.webkit.org/show_bug.cgi?id=17177
  39420. <rdar://problem/5729619> Storage tasks are getting lost
  39421. <rdar://problem/5729445> REGRESSION: Cannot schedule more than one transaction at a time
  39422. <rdar://problem/5729446> Major thread safety issue in Database code
  39423. * platform/MessageQueue.h: Added a thread-safe queue abstraction.
  39424. * WebCore.vcproj/WebCore.vcproj:
  39425. * WebCore.xcodeproj/project.pbxproj:
  39426. Added MessageQueue.h.
  39427. * dom/Document.cpp:
  39428. (WebCore::Document::~Document): Fixed a race condition resulting in a hanging reference.
  39429. * storage/Database.idl: Fixed parameter declarations to actually match implementation
  39430. (which is custom, so it got out of sync).
  39431. * storage/DatabaseTask.h:
  39432. (WebCore::DatabaseTask::database):
  39433. (WebCore::DatabaseTransactionTask::transaction):
  39434. Changed tasks to hold more information internally. Added helpers for better debug logging.
  39435. * storage/DatabaseTask.cpp:
  39436. (WebCore::DatabaseTask::DatabaseTask):
  39437. (WebCore::DatabaseTask::performTask):
  39438. (WebCore::DatabaseOpenTask::DatabaseOpenTask):
  39439. (WebCore::DatabaseOpenTask::doPerformTask):
  39440. (WebCore::DatabaseOpenTask::debugTaskName):
  39441. (WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
  39442. (WebCore::DatabaseTransactionTask::~DatabaseTransactionTask):
  39443. (WebCore::DatabaseTransactionTask::doPerformTask):
  39444. (WebCore::DatabaseTransactionTask::debugTaskName):
  39445. (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask):
  39446. (WebCore::DatabaseTableNamesTask::doPerformTask):
  39447. (WebCore::DatabaseTableNamesTask::debugTaskName):
  39448. Implementation for the above.
  39449. (WebCore::DatabaseTask::lockForSynchronousScheduling):
  39450. (WebCore::DatabaseTask::waitForSynchronousCompletion):
  39451. Fixed a potential race condition: if the task completed before we entered a wait, we'd never
  39452. wake up. There was an assertion guarding against this, but no actual guarantee that I could see.
  39453. * storage/DatabaseThread.cpp:
  39454. (WebCore::DatabaseThread::DatabaseThread):
  39455. (WebCore::DatabaseThread::requestTermination):
  39456. (WebCore::DatabaseThread::databaseThread):
  39457. (WebCore::DatabaseThread::scheduleTask):
  39458. (WebCore::DatabaseThread::scheduleImmediateTask):
  39459. (WebCore::DatabaseThread::unscheduleDatabaseTasks):
  39460. * storage/DatabaseThread.h:
  39461. Changed to use MessageQueue.
  39462. * storage/Database.cpp:
  39463. (WebCore::guidMutex):
  39464. (WebCore::guidToVersionMap):
  39465. (WebCore::guidToDatabaseMap):
  39466. (WebCore::Database::openDatabase):
  39467. (WebCore::Database::Database):
  39468. (WebCore::Database::~Database):
  39469. (WebCore::Database::openAndVerifyVersion):
  39470. (WebCore::guidForOriginAndName):
  39471. (WebCore::Database::changeVersion):
  39472. (WebCore::Database::transaction):
  39473. (WebCore::Database::scheduleTransaction):
  39474. (WebCore::Database::scheduleTransactionStep):
  39475. (WebCore::Database::scheduleTransactionCallback):
  39476. (WebCore::Database::version):
  39477. (WebCore::Database::deliverPendingCallback):
  39478. (WebCore::Database::tableNames):
  39479. * storage/Database.h:
  39480. Changed m_transactionQueue to a MessageQueue.
  39481. Got rid of callback tracking - these can take care of themselves.
  39482. Got rid of a DatabaseThread member, as the Document can be asked for it.
  39483. Moved private static members and helpers out of the header.
  39484. Lost CurrentThreadSetter debug helper on the way. We may need to re-add something like that later.
  39485. * storage/SQLTransaction.h:
  39486. * storage/SQLTransaction.cpp: Added a lot of debug logging.
  39487. (WebCore::SQLTransaction::scheduleToRunStatements): Removed "m_currentStatement = 0" assignment,
  39488. as it created a race condition. Everything seems to work better without it, although a real fix
  39489. would be to get rid of this variable - it's evil shared data that isn't even protected in any way.
  39490. * manual-tests/database-threading-stress-test-2.html: Added.
  39491. * manual-tests/database-threading-stress-test.html: Added.
  39492. 2008-02-12 Adam Roben <aroben@apple.com>
  39493. Fix Bug 17328: REGRESSION (r30147): Inspector is unstyled on Windows
  39494. <http://bugs.webkit.org/show_bug.cgi?id=17328>
  39495. <rdar://5737946>
  39496. Reviewed by Mitz.
  39497. Test: fast/loader/local-css-allowed-in-strict-mode.html
  39498. * platform/network/cf/ResourceResponseCFNet.cpp:
  39499. (WebCore::ResourceResponse::doUpdateResourceResponse): Add a case for
  39500. .css files.
  39501. 2008-02-12 Anders Carlsson <andersca@apple.com>
  39502. Build fix.
  39503. * loader/ImageDocument.cpp:
  39504. 2008-02-12 Anders Carlsson <andersca@apple.com>
  39505. Reviewed by Mitz.
  39506. Make the code that sets the image title cross platform.
  39507. * WebCore.xcodeproj/project.pbxproj:
  39508. Remove ImageDocumentMac.
  39509. * loader/ImageDocument.cpp:
  39510. (WebCore::ImageTokenizer::finish):
  39511. * loader/mac/ImageDocumentMac.h: Removed.
  39512. * loader/mac/ImageDocumentMac.mm: Removed.
  39513. * page/mac/WebCoreFrameBridge.h:
  39514. * page/mac/WebCoreViewFactory.h:
  39515. Move imageTitleForFilename:size from the bridge to
  39516. the view factory.
  39517. * platform/LocalizedStrings.h:
  39518. Add imageTitle.
  39519. * platform/mac/LocalizedStringsMac.mm:
  39520. (WebCore::imageTitle):
  39521. Have imageTitle call the view factory.
  39522. * platform/qt/Localizations.cpp:
  39523. (WebCore::imageTitle):
  39524. * platform/wx/LocalizedStringsWx.cpp:
  39525. (WebCore::imageTitle):
  39526. * platform/gtk/LocalizedStringsGtk.cpp:
  39527. (WebCore::imageTitle):
  39528. Add stubs.
  39529. 2008-02-12 Oliver Hunt <oliver@apple.com>
  39530. more Qt fixes
  39531. * html/HTMLCanvasElement.cpp:
  39532. (WebCore::HTMLCanvasElement::paint):
  39533. 2008-02-12 Oliver Hunt <oliver@apple.com>
  39534. And another attempt to fixerate Qt
  39535. * html/HTMLCanvasElement.cpp:
  39536. (WebCore::HTMLCanvasElement::paint):
  39537. 2008-02-12 Oliver Hunt <oliver@apple.com>
  39538. Attempt to fix Qt build
  39539. * html/HTMLCanvasElement.h:
  39540. 2008-02-11 Oliver Hunt <oliver@apple.com>
  39541. Reviewed by Alp Toker.
  39542. Make canvas use an ImageBuffer for its backing store
  39543. In order to make the canvas implementation less platform dependent
  39544. (and thus reduce the current quagmire of ifdefs) we now use an
  39545. ImageBuffer to provide the backing buffer, an immediate consequence
  39546. of this is to remove multiple ifdefs in the construction of the
  39547. buffer. This patch allows us to further reduce the platform
  39548. dependencies in later patches.
  39549. * html/CanvasRenderingContext2D.cpp:
  39550. (WebCore::CanvasRenderingContext2D::drawImage):
  39551. * html/HTMLCanvasElement.cpp:
  39552. (WebCore::HTMLCanvasElement::HTMLCanvasElement):
  39553. (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
  39554. (WebCore::HTMLCanvasElement::reset):
  39555. (WebCore::HTMLCanvasElement::paint):
  39556. (WebCore::HTMLCanvasElement::createDrawingContext):
  39557. (WebCore::HTMLCanvasElement::drawingContext):
  39558. (WebCore::HTMLCanvasElement::createPlatformImage):
  39559. * html/HTMLCanvasElement.h:
  39560. 2008-02-11 Dan Bernstein <mitz@apple.com>
  39561. Reviewed by Dave Hyatt.
  39562. - fix http://bugs.webkit.org/show_bug.cgi?id=17320
  39563. <rdar://problem/5736953> :last-child does not set the "uses sibling rules" flag
  39564. Test: fast/css/last-child-style-sharing.html
  39565. * css/CSSGrammar.y: Changed to call setUsesSiblingRules(true) for all
  39566. CSS3 selectors that require it.
  39567. 2008-02-11 Sam Weinig <sam@webkit.org>
  39568. Reviewed by Darin Adler.
  39569. Make the cross-domain security model more closely match Firefox by always returning the
  39570. native built-in functions when accessing functions cross-domain.
  39571. Fixes for:
  39572. <rdar://problem/5735497> Match Firefox's cross-domain model more accurately by return the built-in version of functions even if they have been overridden
  39573. <rdar://problem/5735443> Crash when setting the Window objects prototype to a custom Object and then calling a method on it
  39574. Tests: fast/dom/Window/window-custom-prototype-crash.html
  39575. fast/dom/Window/window-function-frame-getter-precedence.html
  39576. http/tests/security/cross-frame-access-get-override.html
  39577. http/tests/security/cross-frame-access-location-get-override.html
  39578. http/tests/security/cross-frame-access-location-get.html
  39579. http/tests/security/cross-frame-access-location-put.html
  39580. * bindings/js/JSDOMWindowCustom.cpp:
  39581. (WebCore::JSDOMWindow::customGetOwnPropertySlot):
  39582. - Return the native-built in version of an cross-domain allowed function (eg. window.focus) whether or
  39583. not it has been overridden, instead of undefined.
  39584. - When doing findEntry lookup, use the the tables directly (JSDOMWindowPrototype::info.propHashTable)
  39585. instead of calling the virtual classInfo() method to avoid the unnecessary overhead.
  39586. - Allow access to the native toString function cross-domain. It always returns "[object Window]".
  39587. - Use the new nonCachingStaticFunctionGetter when return allowed functions cross-frame so that
  39588. the function an overridden function is not inadvertantly returned from the PropertyMap.\
  39589. * bindings/js/JSHistoryCustom.cpp:
  39590. (WebCore::JSHistory::customGetOwnPropertySlot):
  39591. - Implement the same model as described above for the History object, always returning the
  39592. native built-in function cross-domain.
  39593. - Allow access to the native toString function cross-domain.
  39594. - Clean up the code to make it clear that the custom functionality is only there for cross-domain
  39595. access.
  39596. * bindings/js/JSLocation.cpp:
  39597. (WebCore::JSLocation::getOwnPropertySlot):
  39598. - Match the generated classes by moving all the custom logic into a separate customGetOwnPropertySlot
  39599. function. This will help moving to a generated class in the future.
  39600. (WebCore::JSLocation::customGetOwnPropertySlot):
  39601. - Implement the same model as described above for the Location object, always returning the
  39602. native built-in function cross-domain.
  39603. - Clean up the code to make it clear that the custom functionality is only there for cross-domain
  39604. access.
  39605. (WebCore::JSLocation::put):
  39606. (WebCore::JSLocation::deleteProperty):
  39607. (WebCore::JSLocation::getPropertyNames):
  39608. * bindings/js/JSLocation.h:
  39609. - Clean up to match the rest of the file a little better.
  39610. * bindings/js/kjs_binding.cpp:
  39611. (WebCore::allowsAccessFromFrame):
  39612. (WebCore::printErrorMessageForFrame):
  39613. (WebCore::nonCachingStaticFunctionGetter):
  39614. (WebCore::objectToStringFunctionGetter):
  39615. * bindings/js/kjs_binding.h:
  39616. - Put common functionality related to cross-domain access here to serve as a central shared point.
  39617. This includes moving and augmenting the allowsAccessFromFrame method that was in both JSHistoryCustom.cpp
  39618. and JSLocation.cpp.
  39619. * bindings/js/kjs_dom.cpp:
  39620. (WebCore::checkNodeSecurity):
  39621. - Use the new allowsAccessFromFrame method.
  39622. * bindings/js/kjs_window.cpp:
  39623. (KJS::Window::childFrameGetter): Cleanup.
  39624. (KJS::Window::namedItemGetter): Cleanup.
  39625. (KJS::Window::getOwnPropertySlot):
  39626. - Do the prototype lookup early to match Firefox in having function lookup have a higher precedence
  39627. than the index or shortcut name getters.
  39628. - Cleanup function to make it more understandable and slightly more efficient.
  39629. (KJS::Window::allowsAccessFrom):
  39630. - Add a new variant of this method that takes a reference to a String, which, on failure, will
  39631. contain the error message to print out. The caller can then pass this to printErrorMessage.
  39632. This allows for code to check allowsAccessFrom and act on the result without printing out the
  39633. error message. For convenience, a version with out the String parameter has been left which
  39634. prints out the message automatically.
  39635. (KJS::Window::printErrorMessage):
  39636. * bindings/js/kjs_window.h:
  39637. 2008-02-11 Darin Adler <darin@apple.com>
  39638. Reviewed by Mitz.
  39639. - fix <rdar://problem/5726016> REGRESSION: Xcode News window renders
  39640. incorrectly due to visibility fix
  39641. Added an Xcode-specific quirk.
  39642. * WebCore.base.exp: Added export for new Settings function.
  39643. * css/CSSMutableStyleDeclaration.cpp:
  39644. (WebCore::CSSMutableStyleDeclaration::setProperty): Here's the crazy quirk.
  39645. If you try to change the visibilty on a node with the class name tab_content,
  39646. instead it will use display:none.
  39647. * page/Settings.cpp:
  39648. (WebCore::Settings::Settings): Initialize m_needsXcodeVisibilityQuirk. Also
  39649. initialize m_fontRenderingMode! This seems like it was a bug before, but we
  39650. probably were getting lucky and always getting 0 on Windows, which is the
  39651. only place the setting matters.
  39652. (WebCore::Settings::setNeedsXcodeVisibilityQuirk): Added.
  39653. * page/Settings.h:
  39654. (WebCore::Settings::needsXcodeVisibilityQuirk): Added.
  39655. 2008-02-11 Timothy Hatcher <timothy@apple.com>
  39656. Reviewed by Brady Eidson.
  39657. <rdar://problem/5733069> Many m_quotaMap uses do not hold the m_quotaMapGuard
  39658. * storage/DatabaseTracker.cpp:
  39659. (WebCore::DatabaseTracker::hasEntryForOrigin): Hold m_quotaMapGuard when using m_quotaMap.
  39660. (WebCore::DatabaseTracker::origins): Ditto.
  39661. (WebCore::DatabaseTracker::setQuota): Ditto.
  39662. (WebCore::DatabaseTracker::deleteAllDatabases): Call origins() and itterate over the
  39663. origins to call deleteOrigin().
  39664. (WebCore::DatabaseTracker::deleteOrigin): Hold m_quotaMapGuard when using m_quotaMap.
  39665. 2008-02-11 David Hyatt <hyatt@apple.com>
  39666. Fix for bug 17286, crash accessing a null RenderStyle. Add a simple null check.
  39667. Reviewed by aroben
  39668. Added fast/css/empty-generated-content.html
  39669. * css/CSSStyleSelector.cpp:
  39670. (WebCore::CSSStyleSelector::checkOneSelector):
  39671. 2008-02-11 Rob Buis <buis@kde.org>
  39672. Reviewed by David Kilzer.
  39673. http://bugs.webkit.org/show_bug.cgi?id=17201
  39674. Bug 17201: Use RefPtr in CSSParser::parseFont() to get rid of goto silliness
  39675. Gets rid of goto usage in parseFont.
  39676. * css/CSSParser.cpp:
  39677. (WebCore::CSSParser::parseFont):
  39678. 2008-02-11 David Hyatt <hyatt@apple.com>
  39679. Fix for bug 17298, Acid3 text should be black and not red. Make sure stylesheets with the wrong MIME type
  39680. are not accepted in strict mode.
  39681. Reviewed by darin
  39682. Added http/tests/misc/css-reject-in-strict-mode.html
  39683. * css/CSSImportRule.cpp:
  39684. (WebCore::CSSImportRule::setCSSStyleSheet):
  39685. * css/CSSImportRule.h:
  39686. * dom/Document.cpp:
  39687. (WebCore::Document::setCSSStyleSheet):
  39688. * dom/Document.h:
  39689. * dom/ProcessingInstruction.cpp:
  39690. (WebCore::ProcessingInstruction::setCSSStyleSheet):
  39691. * dom/ProcessingInstruction.h:
  39692. * html/HTMLLinkElement.cpp:
  39693. (WebCore::HTMLLinkElement::setCSSStyleSheet):
  39694. * html/HTMLLinkElement.h:
  39695. * html/HTMLMediaElement.cpp:
  39696. (WebCore::HTMLMediaElement::pickMedia):
  39697. * loader/CachedCSSStyleSheet.cpp:
  39698. (WebCore::CachedCSSStyleSheet::ref):
  39699. (WebCore::CachedCSSStyleSheet::checkNotify):
  39700. (WebCore::CachedCSSStyleSheet::canUseSheet):
  39701. * loader/CachedCSSStyleSheet.h:
  39702. (WebCore::CachedCSSStyleSheet::sheetText):
  39703. * loader/CachedResourceClient.h:
  39704. (WebCore::CachedResourceClient::setCSSStyleSheet):
  39705. * loader/mac/UserStyleSheetLoader.cpp:
  39706. (UserStyleSheetLoader::setCSSStyleSheet):
  39707. * loader/mac/UserStyleSheetLoader.h:
  39708. 2008-02-11 Adam Roben <aroben@apple.com>
  39709. Fix Bug 14316: Inspector's Console truncates long strings
  39710. <http://bugs.webkit.org/show_bug.cgi?id=14316>
  39711. <rdar://5357695>
  39712. We no longer call Object.describe to format all the output of commands
  39713. enetered into the Console. The ConsolePanel object now has a set of
  39714. formatting functions that append a formatted representation of the
  39715. passed-in object to the passed-in container node.
  39716. Reviewed by Sam.
  39717. * page/inspector/ConsolePanel.js:
  39718. (WebInspector.ConsolePanel._onEnterPressed): Updated for rename of
  39719. _outputToNode to _format.
  39720. (WebInspector.ConsolePanel._format): Renamed from _outputToNode. Use
  39721. Object.type to get the type of the object, then call the appropriate
  39722. formatting function.
  39723. (WebInspector.ConsolePanel._formatvalue): Added.
  39724. (WebInspector.ConsolePanel._formatstring): Added. This function
  39725. contains the actual fix for the bug, since it doesn't truncate the
  39726. string no matter how long it is.
  39727. (WebInspector.ConsolePanel._formatregexp): Added.
  39728. (WebInspector.ConsolePanel._formatarray): Added. This is a bit more
  39729. functional than Object.describe for arrays, since it recursively
  39730. formats each item in the array. One advantage of this is that Nodes in
  39731. arrays will be linkified instead of just turning into "[Object
  39732. HTMLBodyElement]" or similar.
  39733. (WebInspector.ConsolePanel._formatnode): Added.
  39734. (WebInspector.ConsolePanel._formatobject): Added.
  39735. (WebInspector.ConsolePanel.
  39736. * page/inspector/utilities.js:
  39737. (Object.type): Added. Code was pulled out of Object.describe and
  39738. reorganized slightly.
  39739. (Object.describe): Call Object.type. There should be no change in
  39740. behavior of this function.
  39741. 2008-02-11 Alp Toker <alp@atoker.com>
  39742. Wx build fix for breakage introduced in r30142. Spotted by Darin.
  39743. * platform/network/curl/ResourceHandleManager.cpp:
  39744. (WebCore::parseDataUrl):
  39745. 2008-02-11 Brent Fulgham <bfulgham@gmail.com>
  39746. Reviewed and tweaked by Darin
  39747. - http://bugs.webkit.org/show_bug.cgi?id=17299
  39748. a couple compilation fixes for Cairo/Win32 configuration
  39749. * platform/graphics/cairo/ImageSourceCairo.cpp:
  39750. (WebCore::createDecoder): Turn off XBMImageDecoder for PLATFORM(WIN) configuration.
  39751. * rendering/RenderThemeWin.cpp:
  39752. (WebCore::prepareForDrawing): Added IntRect parameter.
  39753. (WebCore::doneDrawing): Ditto.
  39754. (WebCore::RenderThemeWin::paintButton): Ditto.
  39755. (WebCore::RenderThemeWin::paintTextField): Ditto.
  39756. (WebCore::RenderThemeWin::paintMenuListButton): Ditto.
  39757. (WebCore::RenderThemeWin::systemFont): Added.
  39758. 2008-02-11 Alp Toker <alp@atoker.com>
  39759. Reviewed by Alexey.
  39760. Acid3 data URL parsing fix for the GTK+ port.
  39761. Avoid WebCore's base64Decode() when possible since it's not a
  39762. general-purpose Base64 decoder and fails on newlines.
  39763. * platform/network/curl/ResourceHandleManager.cpp:
  39764. (WebCore::parseDataUrl):
  39765. 2008-02-11 Darin Adler <darin@apple.com>
  39766. - another Qt build fix
  39767. * platform/qt/PopupMenuQt.cpp:
  39768. (WebCore::PopupMenu::PopupMenu): Added explicit RefCounted constructor.
  39769. 2008-02-10 Darin Adler <darin@apple.com>
  39770. - another Qt build fix (wish the Qt bot wouldn't stop on the first error)
  39771. * platform/qt/FileChooserQt.cpp:
  39772. (WebCore::FileChooser::FileChooser): Added explicit RefCounted constructor.
  39773. 2008-02-10 Darin Adler <darin@apple.com>
  39774. - another Qt build fix
  39775. * platform/graphics/qt/IconQt.cpp:
  39776. (WebCore::Icon::Icon): Added explicit RefCounted constructor.
  39777. 2008-02-10 Alp Toker <alp@atoker.com>
  39778. Another Win build fix for r30133 breakage.
  39779. * plugins/win/PluginPackageWin.cpp:
  39780. (WebCore::PluginPackage::PluginPackage):
  39781. 2008-02-10 Alp Toker <alp@atoker.com>
  39782. Build fix GTK+ and prospective build fix for Win breakage introduced
  39783. in r30133.
  39784. * platform/Cursor.h:
  39785. (WebCore::SharedCursor::SharedCursor):
  39786. * platform/graphics/gtk/IconGtk.cpp:
  39787. (WebCore::Icon::Icon):
  39788. * platform/gtk/FileChooserGtk.cpp:
  39789. (WebCore::FileChooser::FileChooser):
  39790. * platform/gtk/PopupMenuGtk.cpp:
  39791. (WebCore::PopupMenu::PopupMenu):
  39792. 2008-02-10 Darin Adler <darin@apple.com>
  39793. - try to fix Win, Qt, GTK, and WX builds
  39794. * platform/Cursor.h:
  39795. (WebCore::SharedCursor::SharedCursor): Added explicit RefCounted constructor.
  39796. * platform/graphics/win/IconWin.cpp:
  39797. (WebCore::Icon::Icon): Ditto.
  39798. * platform/win/FileChooserWin.cpp:
  39799. (WebCore::FileChooser::FileChooser): Ditto.
  39800. * platform/win/PopupMenuWin.cpp:
  39801. (WebCore::PopupMenu::PopupMenu): Ditto.
  39802. * platform/wx/TemporaryLinkStubs.cpp:
  39803. (FileChooser::FileChooser): Ditto.
  39804. (PopupMenu::PopupMenu): Ditto.
  39805. (Icon::Icon): Ditto.
  39806. * plugins/PluginStream.cpp:
  39807. (WebCore::PluginStream::PluginStream): Ditto.
  39808. 2008-02-10 David Hyatt <hyatt@apple.com>
  39809. Fix for bug 17082, cssRules should be live.
  39810. Reviewed by olliej
  39811. Added fast/css/live-cssrules.html
  39812. * css/CSSRuleList.cpp:
  39813. (WebCore::CSSRuleList::CSSRuleList):
  39814. (WebCore::CSSRuleList::length):
  39815. (WebCore::CSSRuleList::item):
  39816. (WebCore::CSSRuleList::deleteRule):
  39817. (WebCore::CSSRuleList::insertRule):
  39818. * css/CSSRuleList.h:
  39819. 2008-02-10 David Hyatt <hyatt@apple.com>
  39820. Fix for bug 17253. <iframe> contents need to be reflected into the DOM as a single text node.
  39821. Reviewed by olliej
  39822. fast/frames/iframe-text-contents.html
  39823. * html/HTMLParser.cpp:
  39824. (WebCore::HTMLParser::getNode):
  39825. * html/HTMLTokenizer.cpp:
  39826. (WebCore::HTMLTokenizer::parseSpecial):
  39827. (WebCore::HTMLTokenizer::parseComment):
  39828. (WebCore::HTMLTokenizer::parseTag):
  39829. * html/HTMLTokenizer.h:
  39830. (WebCore::HTMLTokenizer::State::inIFrame):
  39831. (WebCore::HTMLTokenizer::State::setInIFrame):
  39832. (WebCore::HTMLTokenizer::State::inAnySpecial):
  39833. (WebCore::HTMLTokenizer::State::needsSpecialWriteHandling):
  39834. (WebCore::HTMLTokenizer::State::):
  39835. 2008-02-10 Andrew Wellington <proton@wiretapped.net>
  39836. Reviewed and tweaked by Darin.
  39837. DOMRange.surroundContents throws wrong exception (Acid3 bug)
  39838. http://bugs.webkit.org/show_bug.cgi?id=16749
  39839. Throw BAD_BOUNDARYPOINTS_ERR if attempting to split a non-text node that
  39840. has offsets in characters.
  39841. * dom/Range.cpp:
  39842. (WebCore::Range::surroundContents):
  39843. 2008-02-10 Darin Adler <darin@apple.com>
  39844. Reviewed by Eric.
  39845. - http://bugs.webkit.org/show_bug.cgi?id=17256
  39846. Make clients of RefCounted explicitly set the count to 0.
  39847. * bindings/js/JSSVGPODTypeWrapper.h:
  39848. (WebCore::JSSVGPODTypeWrapper::JSSVGPODTypeWrapper):
  39849. * css/CSSFontFace.h:
  39850. (WebCore::CSSFontFace::CSSFontFace):
  39851. * css/CSSRuleList.cpp:
  39852. (WebCore::CSSRuleList::CSSRuleList):
  39853. * css/CSSSegmentedFontFace.cpp:
  39854. (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace):
  39855. * css/Counter.h:
  39856. (WebCore::Counter::Counter):
  39857. * css/Pair.h:
  39858. (WebCore::Pair::Pair):
  39859. * css/Rect.h:
  39860. (WebCore::Rect::Rect):
  39861. * css/StyleBase.h:
  39862. (WebCore::StyleBase::StyleBase):
  39863. * css/StyleSheetList.cpp:
  39864. (WebCore::StyleSheetList::StyleSheetList):
  39865. * dom/Attr.cpp:
  39866. (WebCore::Attr::Attr):
  39867. * dom/Attr.h:
  39868. * dom/Attribute.h:
  39869. (WebCore::Attribute::Attribute):
  39870. * dom/Clipboard.cpp:
  39871. (WebCore::Clipboard::Clipboard):
  39872. * dom/DOMImplementation.h:
  39873. (WebCore::DOMImplementation::DOMImplementation):
  39874. * dom/Event.cpp:
  39875. (WebCore::Event::Event):
  39876. * dom/EventListener.h:
  39877. (WebCore::EventListener::EventListener):
  39878. * dom/ExceptionBase.cpp:
  39879. (WebCore::ExceptionBase::ExceptionBase):
  39880. * dom/NamedAttrMap.h:
  39881. (WebCore::NamedAttrMap::insertAttribute):
  39882. * dom/NamedNodeMap.h:
  39883. (WebCore::NamedNodeMap::NamedNodeMap):
  39884. * dom/NodeFilter.h:
  39885. (WebCore::NodeFilter::NodeFilter):
  39886. * dom/NodeFilterCondition.h:
  39887. (WebCore::NodeFilterCondition::NodeFilterCondition):
  39888. * dom/NodeList.h:
  39889. (WebCore::NodeList::NodeList):
  39890. * dom/QualifiedName.h:
  39891. (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl):
  39892. (WebCore::QualifiedName::ref):
  39893. * dom/Range.cpp:
  39894. (WebCore::Range::Range):
  39895. * dom/RegisteredEventListener.cpp:
  39896. (WebCore::RegisteredEventListener::RegisteredEventListener):
  39897. * dom/StyledElement.h:
  39898. * dom/Traversal.cpp:
  39899. (WebCore::Traversal::Traversal):
  39900. * editing/EditCommand.cpp:
  39901. (WebCore::EditCommand::EditCommand):
  39902. * history/BackForwardList.cpp:
  39903. (WebCore::BackForwardList::BackForwardList):
  39904. * history/CachedPage.cpp:
  39905. (WebCore::CachedPage::CachedPage):
  39906. * history/HistoryItem.cpp:
  39907. (WebCore::HistoryItem::HistoryItem):
  39908. * html/CanvasGradient.cpp:
  39909. (WebCore::CanvasGradient::CanvasGradient):
  39910. * html/CanvasPattern.cpp:
  39911. (WebCore::CanvasPattern::CanvasPattern):
  39912. * html/CanvasRenderingContext2D.cpp:
  39913. (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
  39914. * html/CanvasStyle.cpp:
  39915. (WebCore::CanvasStyle::CanvasStyle):
  39916. * html/HTMLCollection.cpp:
  39917. (WebCore::HTMLCollection::HTMLCollection):
  39918. * html/MediaError.h:
  39919. (WebCore::MediaError::MediaError):
  39920. * html/TimeRanges.cpp:
  39921. (TimeRanges::TimeRanges):
  39922. * html/TimeRanges.h:
  39923. (WebCore::TimeRanges::TimeRanges):
  39924. * html/VoidCallback.h:
  39925. (WebCore::VoidCallback::VoidCallback):
  39926. * loader/DocumentLoader.cpp:
  39927. (WebCore::DocumentLoader::DocumentLoader):
  39928. * loader/FormState.cpp:
  39929. (WebCore::FormState::FormState):
  39930. * loader/ResourceLoader.cpp:
  39931. (WebCore::ResourceLoader::ResourceLoader):
  39932. * loader/TextResourceDecoder.cpp:
  39933. (WebCore::TextResourceDecoder::TextResourceDecoder):
  39934. * loader/icon/IconRecord.cpp:
  39935. (WebCore::IconRecord::IconRecord):
  39936. * page/BarInfo.cpp:
  39937. (WebCore::BarInfo::BarInfo):
  39938. * page/Console.cpp:
  39939. (WebCore::Console::Console):
  39940. * page/DOMSelection.cpp:
  39941. (WebCore::DOMSelection::DOMSelection):
  39942. * page/DOMWindow.cpp:
  39943. (WebCore::DOMWindow::DOMWindow):
  39944. * page/Frame.cpp:
  39945. (WebCore::Frame::Frame):
  39946. * page/History.cpp:
  39947. (WebCore::History::History):
  39948. * page/InspectorController.cpp:
  39949. (WebCore::InspectorResource::InspectorResource):
  39950. (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
  39951. * page/Plugin.h:
  39952. (WebCore::Plugin::Plugin):
  39953. * page/Screen.cpp:
  39954. (WebCore::Screen::Screen):
  39955. * platform/ArrayImpl.cpp:
  39956. (WebCore::ArrayImpl::ArrayPrivate::ArrayPrivate):
  39957. * platform/DeprecatedValueListImpl.cpp:
  39958. (WebCore::DeprecatedValueListImpl::Private::Private):
  39959. * platform/ScrollBar.cpp:
  39960. (WebCore::Scrollbar::Scrollbar):
  39961. * platform/SharedBuffer.cpp:
  39962. (WebCore::SharedBuffer::SharedBuffer):
  39963. * platform/graphics/FontFallbackList.cpp:
  39964. (WebCore::FontFallbackList::FontFallbackList):
  39965. * platform/graphics/FontFamily.cpp:
  39966. (WebCore::FontFamily::FontFamily):
  39967. * platform/graphics/FontFamily.h:
  39968. (WebCore::FontFamily::FontFamily):
  39969. * platform/graphics/FontSelector.h:
  39970. (WebCore::FontSelector::FontSelector):
  39971. (WebCore::FontSelector::~FontSelector):
  39972. * platform/graphics/GlyphPageTreeNode.h:
  39973. (WebCore::GlyphPage::GlyphPage):
  39974. * platform/graphics/mac/IconMac.mm:
  39975. (WebCore::Icon::Icon):
  39976. * platform/mac/FileChooserMac.mm:
  39977. (WebCore::FileChooser::FileChooser):
  39978. * platform/mac/PopupMenuMac.mm:
  39979. (WebCore::PopupMenu::PopupMenu):
  39980. * platform/mac/SharedBufferMac.mm:
  39981. (WebCore::SharedBuffer::SharedBuffer):
  39982. * platform/network/FormData.cpp:
  39983. (WebCore::FormData::FormData):
  39984. * platform/network/FormData.h:
  39985. (WebCore::FormData::FormData):
  39986. * platform/network/ResourceHandle.cpp:
  39987. (WebCore::ResourceHandle::ResourceHandle):
  39988. * platform/text/CString.h:
  39989. (WebCore::CStringBuffer::CStringBuffer):
  39990. * platform/text/RegularExpression.cpp:
  39991. (WebCore::RegularExpression::Private::Private):
  39992. * rendering/RenderStyle.cpp:
  39993. (WebCore::StyleSurroundData::StyleSurroundData):
  39994. (WebCore::StyleBoxData::StyleBoxData):
  39995. (WebCore::StyleVisualData::StyleVisualData):
  39996. (WebCore::StyleBackgroundData::StyleBackgroundData):
  39997. (WebCore::StyleMarqueeData::StyleMarqueeData):
  39998. (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
  39999. (WebCore::StyleMultiColData::StyleMultiColData):
  40000. (WebCore::StyleTransformData::StyleTransformData):
  40001. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  40002. (WebCore::StyleRareInheritedData::StyleRareInheritedData):
  40003. (WebCore::StyleInheritedData::StyleInheritedData):
  40004. * rendering/RenderStyle.h:
  40005. (WebCore::TransformOperation::TransformOperation):
  40006. (WebCore::CursorList::CursorList):
  40007. * rendering/SVGCharacterLayoutInfo.h:
  40008. (WebCore::SVGCharOnPath::SVGCharOnPath):
  40009. * rendering/SVGRenderStyle.cpp:
  40010. (WebCore::SVGRenderStyle::SVGRenderStyle):
  40011. * rendering/SVGRenderStyle.h:
  40012. (WebCore::SVGRenderStyle::SVGRenderStyle):
  40013. * rendering/SVGRenderStyleDefs.cpp:
  40014. (StyleFillData::StyleFillData):
  40015. (StyleStrokeData::StyleStrokeData):
  40016. (StyleStopData::StyleStopData):
  40017. (StyleTextData::StyleTextData):
  40018. (StyleClipData::StyleClipData):
  40019. (StyleMaskData::StyleMaskData):
  40020. (StyleMarkerData::StyleMarkerData):
  40021. (StyleMiscData::StyleMiscData):
  40022. * storage/SQLResultSetRowList.h:
  40023. (WebCore::SQLResultSetRowList::SQLResultSetRowList):
  40024. * svg/SVGAngle.cpp:
  40025. (WebCore::SVGAngle::SVGAngle):
  40026. * svg/SVGAnimatedTemplate.h:
  40027. (WebCore::SVGAnimatedTemplate::SVGAnimatedTemplate):
  40028. * svg/SVGElementInstanceList.cpp:
  40029. (WebCore::SVGElementInstanceList::SVGElementInstanceList):
  40030. * svg/SVGList.h:
  40031. (WebCore::SVGList::SVGList):
  40032. (WebCore::SVGPODListItem::SVGPODListItem):
  40033. * svg/SVGPathSeg.h:
  40034. (WebCore::SVGPathSeg::SVGPathSeg):
  40035. * svg/SVGPreserveAspectRatio.cpp:
  40036. (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
  40037. * svg/SVGRenderingIntent.h:
  40038. (WebCore::SVGRenderingIntent::SVGRenderingIntent):
  40039. * svg/SVGUnitTypes.h:
  40040. (WebCore::SVGUnitTypes::SVGUnitTypes):
  40041. * svg/graphics/SVGPaintServerGradient.h:
  40042. (WebCore::SVGPaintServerGradient::SharedStopCache::SharedStopCache):
  40043. * svg/graphics/SVGResource.cpp:
  40044. (WebCore::SVGResource::SVGResource):
  40045. * xml/DOMParser.h:
  40046. (WebCore::DOMParser::DOMParser):
  40047. * xml/XMLHttpRequest.cpp:
  40048. (WebCore::XMLHttpRequest::XMLHttpRequest):
  40049. * xml/XMLSerializer.h:
  40050. (WebCore::XMLSerializer::XMLSerializer):
  40051. * xml/XPathEvaluator.h:
  40052. (WebCore::XPathEvaluator::XPathEvaluator):
  40053. * xml/XPathExpression.h:
  40054. (WebCore::XPathExpression::XPathExpression):
  40055. * xml/XPathNSResolver.h:
  40056. (WebCore::XPathNSResolver::XPathNSResolver):
  40057. * xml/XPathResult.cpp:
  40058. (WebCore::XPathResult::XPathResult):
  40059. * xml/XPathValue.h:
  40060. (WebCore::XPath::ValueData::ValueData):
  40061. * xml/XSLTProcessor.h:
  40062. (WebCore::XSLTProcessor::XSLTProcessor):
  40063. 2008-02-09 Kevin Ollivier <kevino@theolliviers.com>
  40064. Reviewed by Eric Seidel.
  40065. Calling select() when all the file descriptors are NULL
  40066. stops the file download on Windows. As a result, do not
  40067. call select() when there are no valid descriptors.
  40068. http://bugs.webkit.org/show_bug.cgi?id=17178
  40069. * platform/network/curl/ResourceHandleManager.cpp:
  40070. (WebCore::ResourceHandleManager::downloadTimerCallback):
  40071. 2008-02-09 Dan Bernstein <mitz@apple.com>
  40072. Reviewed by Sam Weinig.
  40073. - fix http://bugs.webkit.org/show_bug.cgi?id=17259
  40074. Element::recalcStyle() needlessly null-checks the result of styleForElement()
  40075. * dom/Element.cpp:
  40076. (WebCore::Element::recalcStyle): Removed unneeded null checks.
  40077. styleForElement() can never return null.
  40078. 2008-02-09 David Hyatt <hyatt@apple.com>
  40079. Fix for bug 17254, nth-* selectors do not work with negative coefficients.
  40080. Reviewed by Mitz.
  40081. fast/css/negative-nth-child.html
  40082. * css/CSSStyleSelector.cpp:
  40083. (WebCore::parseNth):
  40084. 2008-02-09 David Hyatt <hyatt@apple.com>
  40085. Fix for bug 17203, high CPU usage loading HTML5 spec. This patch significantly improves the performance
  40086. of CSS3 selectors.
  40087. (1) Split the notion of being affected by positional rules into "forward" and "backward." The "forward"
  40088. selectors do not need to re-resolve during parsing, since children are appended on the end. Only the
  40089. "backward" selectors like last-child or nth-last-child have to re-resolve when a close tag is encountered.
  40090. (2) Extend childrenChanged to specify whether the children were changed by the parser or not. This allows
  40091. Element::childrenChanged to know when the parser is adding children so that it can ignore those adds when
  40092. possible.
  40093. (3) Make sure all Elements now know whether or not their children are currently parsing. Backwards selectors
  40094. like last-child will always return false when children are still being parsed. When an Element finishes
  40095. parsing its children, finishParsingChildren() gets called and will make sure the children re-resolve properly.
  40096. (4) Added a beginParsingChildren method and renamed finishParsing to finishedParsingChildren.
  40097. (5) Eliminated one-off hacks that did the same thing in HTMLObjectElement and HTMLAppletElement.
  40098. (6) Patched many incorrect implementations of finishedParsingChildren that did not properly call into their
  40099. base class (mostly new SVG elements that got added for SVG fonts around the time this became a requirement).
  40100. Reviewed by Eric
  40101. * css/CSSStyleSelector.cpp:
  40102. (WebCore::CSSStyleSelector::checkSelector):
  40103. (WebCore::CSSStyleSelector::checkOneSelector):
  40104. * dom/Attr.cpp:
  40105. (WebCore::Attr::childrenChanged):
  40106. * dom/Attr.h:
  40107. * dom/ContainerNode.cpp:
  40108. (WebCore::ContainerNode::addChild):
  40109. * dom/Document.cpp:
  40110. (WebCore::Document::childrenChanged):
  40111. * dom/Document.h:
  40112. * dom/Element.cpp:
  40113. (WebCore::Element::Element):
  40114. (WebCore::Element::recalcStyle):
  40115. (WebCore::checkFirstChildRules):
  40116. (WebCore::checkLastChildRules):
  40117. (WebCore::checkEmptyRules):
  40118. (WebCore::checkStyleRules):
  40119. (WebCore::Element::childrenChanged):
  40120. (WebCore::Element::finishParsingChildren):
  40121. * dom/Element.h:
  40122. (WebCore::Element::finishedParsingChildren):
  40123. (WebCore::Element::beginParsingChildren):
  40124. * dom/Node.cpp:
  40125. * dom/Node.h:
  40126. (WebCore::Node::finishParsingChildren):
  40127. (WebCore::Node::beginParsingChildren):
  40128. (WebCore::Node::childrenChanged):
  40129. * dom/StyledElement.cpp:
  40130. (WebCore::StyledElement::StyledElement):
  40131. * dom/StyledElement.h:
  40132. * dom/XMLTokenizer.cpp:
  40133. (WebCore::XMLTokenizer::startElementNs):
  40134. (WebCore::XMLTokenizer::endElementNs):
  40135. * html/HTMLAppletElement.cpp:
  40136. (WebCore::HTMLAppletElement::HTMLAppletElement):
  40137. (WebCore::HTMLAppletElement::finishParsingChildren):
  40138. * html/HTMLAppletElement.h:
  40139. * html/HTMLElementFactory.cpp:
  40140. (WebCore::objectConstructor):
  40141. * html/HTMLGenericFormElement.cpp:
  40142. (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
  40143. * html/HTMLGenericFormElement.h:
  40144. * html/HTMLObjectElement.cpp:
  40145. (WebCore::HTMLObjectElement::HTMLObjectElement):
  40146. (WebCore::HTMLObjectElement::finishParsingChildren):
  40147. (WebCore::HTMLObjectElement::childrenChanged):
  40148. * html/HTMLObjectElement.h:
  40149. * html/HTMLOptGroupElement.cpp:
  40150. (WebCore::HTMLOptGroupElement::childrenChanged):
  40151. * html/HTMLOptGroupElement.h:
  40152. * html/HTMLOptionElement.cpp:
  40153. (WebCore::HTMLOptionElement::childrenChanged):
  40154. * html/HTMLOptionElement.h:
  40155. * html/HTMLParser.cpp:
  40156. (WebCore::HTMLParser::insertNode):
  40157. (WebCore::HTMLParser::pushBlock):
  40158. (WebCore::HTMLParser::popOneBlockCommon):
  40159. * html/HTMLScriptElement.cpp:
  40160. (WebCore::HTMLScriptElement::childrenChanged):
  40161. (WebCore::HTMLScriptElement::finishParsingChildren):
  40162. * html/HTMLScriptElement.h:
  40163. * html/HTMLSelectElement.cpp:
  40164. (WebCore::HTMLSelectElement::childrenChanged):
  40165. * html/HTMLSelectElement.h:
  40166. * html/HTMLStyleElement.cpp:
  40167. (WebCore::HTMLStyleElement::finishParsingChildren):
  40168. (WebCore::HTMLStyleElement::childrenChanged):
  40169. * html/HTMLStyleElement.h:
  40170. * html/HTMLTextAreaElement.cpp:
  40171. (WebCore::HTMLTextAreaElement::childrenChanged):
  40172. * html/HTMLTextAreaElement.h:
  40173. * html/HTMLTitleElement.cpp:
  40174. (WebCore::HTMLTitleElement::childrenChanged):
  40175. * html/HTMLTitleElement.h:
  40176. * rendering/RenderApplet.cpp:
  40177. (WebCore::RenderApplet::createWidgetIfNecessary):
  40178. * rendering/RenderPartObject.cpp:
  40179. (WebCore::RenderPartObject::updateWidget):
  40180. * rendering/RenderStyle.cpp:
  40181. (WebCore::RenderStyle::RenderStyle):
  40182. * rendering/RenderStyle.h:
  40183. (WebCore::RenderStyle::childrenAffectedByForwardPositionalRules):
  40184. (WebCore::RenderStyle::setChildrenAffectedByForwardPositionalRules):
  40185. (WebCore::RenderStyle::childrenAffectedByBackwardPositionalRules):
  40186. (WebCore::RenderStyle::setChildrenAffectedByBackwardPositionalRules):
  40187. * svg/SVGAnimationElement.cpp:
  40188. (WebCore::SVGAnimationElement::finishParsingChildren):
  40189. * svg/SVGAnimationElement.h:
  40190. * svg/SVGClipPathElement.cpp:
  40191. (WebCore::SVGClipPathElement::childrenChanged):
  40192. * svg/SVGClipPathElement.h:
  40193. * svg/SVGDefinitionSrcElement.cpp:
  40194. (WebCore::SVGDefinitionSrcElement::childrenChanged):
  40195. * svg/SVGDefinitionSrcElement.h:
  40196. * svg/SVGElement.cpp:
  40197. (WebCore::SVGElement::finishParsingChildren):
  40198. * svg/SVGElement.h:
  40199. * svg/SVGFontFaceElement.cpp:
  40200. (WebCore::SVGFontFaceElement::childrenChanged):
  40201. * svg/SVGFontFaceElement.h:
  40202. * svg/SVGFontFaceFormatElement.cpp:
  40203. (WebCore::SVGFontFaceFormatElement::childrenChanged):
  40204. * svg/SVGFontFaceFormatElement.h:
  40205. * svg/SVGFontFaceSrcElement.cpp:
  40206. (WebCore::SVGFontFaceSrcElement::childrenChanged):
  40207. * svg/SVGFontFaceSrcElement.h:
  40208. * svg/SVGFontFaceUriElement.cpp:
  40209. (WebCore::SVGFontFaceUriElement::childrenChanged):
  40210. * svg/SVGFontFaceUriElement.h:
  40211. * svg/SVGGElement.cpp:
  40212. (WebCore::SVGGElement::childrenChanged):
  40213. * svg/SVGGElement.h:
  40214. * svg/SVGGradientElement.cpp:
  40215. (WebCore::SVGGradientElement::childrenChanged):
  40216. * svg/SVGGradientElement.h:
  40217. * svg/SVGMarkerElement.cpp:
  40218. (WebCore::SVGMarkerElement::childrenChanged):
  40219. * svg/SVGMarkerElement.h:
  40220. * svg/SVGMaskElement.cpp:
  40221. (WebCore::SVGMaskElement::childrenChanged):
  40222. * svg/SVGMaskElement.h:
  40223. * svg/SVGPatternElement.cpp:
  40224. (WebCore::SVGPatternElement::childrenChanged):
  40225. * svg/SVGPatternElement.h:
  40226. * svg/SVGStyleElement.cpp:
  40227. (WebCore::SVGStyleElement::finishParsingChildren):
  40228. (WebCore::SVGStyleElement::childrenChanged):
  40229. * svg/SVGStyleElement.h:
  40230. * svg/SVGStyledElement.cpp:
  40231. (WebCore::SVGStyledElement::childrenChanged):
  40232. * svg/SVGStyledElement.h:
  40233. * svg/SVGTitleElement.cpp:
  40234. (WebCore::SVGTitleElement::childrenChanged):
  40235. * svg/SVGTitleElement.h:
  40236. * svg/SVGUseElement.cpp:
  40237. (WebCore::SVGUseElement::childrenChanged):
  40238. * svg/SVGUseElement.h:
  40239. 2008-02-09 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  40240. Unreviewed build fix
  40241. Somehow the removal of adjustSliderThumbSize(RenderObject*) sneaked
  40242. into the patch.
  40243. * platform/qt/RenderThemeQt.h:
  40244. 2008-02-09 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  40245. Reviewed by Adele.
  40246. paintResizeControl is dead, remove the code. This painting
  40247. is done by the RenderLayer.
  40248. * platform/qt/RenderThemeQt.cpp:
  40249. * platform/qt/RenderThemeQt.h:
  40250. * rendering/RenderThemeMac.h:
  40251. * rendering/RenderThemeMac.mm:
  40252. 2008-02-07 Kevin Ollivier <kevino@theolliviers.com>
  40253. Reviewed by Eric Seidel, Adam Roben.
  40254. MSVC7 fixes.
  40255. http://bugs.webkit.org/show_bug.cgi?id=17211
  40256. * platform/Threading.h:
  40257. - On MSVC7, when the Interlocked* functions are used, the ref count gets out of sync.
  40258. (MSVC8 seems not to have this problem.) Use the old implementation which works correctly.
  40259. * platform/win/SharedTimerWin.cpp:
  40260. - USER_TIMER_MINIMUM/MAXIMUM aren't defined in winuser.h for the MSVC 2003 Platform SDK
  40261. so define them if they are not already defined.
  40262. 2008-02-08 Brent Fulgham <bfulgham@gmail.com>
  40263. Reviewed by Adam Roben.
  40264. Bug 17226: Fix Windows (Cairo) build of image-decoders
  40265. http://bugs.webkit.org/show_bug.cgi?id=17226
  40266. * platform/image-decoders/gif/GIFImageDecoder.cpp:
  40267. * platform/image-decoders/png/PNGImageDecoder.cpp:
  40268. 2008-02-08 Timothy Hatcher <timothy@apple.com>
  40269. Reviewed by Brady Eidson.
  40270. <rdar://problem/5640896> Removing database then trying
  40271. to recreate it causes trouble
  40272. Added open Database support to DatabaseTracker. So any Database that
  40273. is deleted will be marked as deleted and will fail to open any transaction
  40274. or execute any new SQL queries.
  40275. * storage/Database.cpp:
  40276. (WebCore::Database::Database): Call DatabaseTracker::addOpenDatabase.
  40277. (WebCore::Database::~Database): Call DatabaseTracker::removeOpenDatabase.
  40278. (WebCore::Database::markAsDeleted): Set the m_deleted flag.
  40279. (WebCore::Database::version): Return a null String if m_deleted is true.
  40280. * storage/Database.h:
  40281. (WebCore::Database::deleted): Return m_deleted.
  40282. * storage/DatabaseTracker.cpp:
  40283. (WebCore::DatabaseTracker::addOpenDatabase): Add the Database to a map of origins and names.
  40284. (WebCore::DatabaseTracker::removeOpenDatabase): Remove the Database from the map.
  40285. (WebCore::DatabaseTracker::deleteDatabaseFile): Call markAsDeleted on all the open Databases
  40286. matching the origin/name.
  40287. * storage/DatabaseTracker.h:
  40288. * storage/SQLStatement.cpp:
  40289. (WebCore::SQLStatement::setDatabaseDeletedError): Set the error about the user deleting the database.
  40290. * storage/SQLStatement.h:
  40291. * storage/SQLTransaction.cpp:
  40292. (WebCore::SQLTransaction::executeSQL): If the Database is deleted, call setDatabaseDeletedError.
  40293. (WebCore::SQLTransaction::openTransactionAndPreflight): Set the error about the user deleting the database
  40294. if the Database was marked as deleted.
  40295. 2008-02-08 Darin Adler <darin@apple.com>
  40296. Reviewed by Eric.
  40297. - fix http://bugs.webkit.org/show_bug.cgi?id=15003
  40298. Function.prototype.constructor should not be DontDelete/ReadOnly (Acid3 bug)
  40299. Test: fast/js/constructor-attributes.html
  40300. * bindings/scripts/CodeGeneratorJS.pm: Remove unwanted attributes from "constructor".
  40301. 2008-02-08 Anders Carlsson <andersca@apple.com>
  40302. Reviewed by Mitz.
  40303. <rdar://problem/5650446>
  40304. http://bugs.webkit.org/show_bug.cgi?id=16102
  40305. Crash in FrameLoader::stopLoadingSubframes() on IMDB page
  40306. Store the child frame in a RefPtr to prevent it from being deleted when the
  40307. frame tree changes while calling stopAllLoaders().
  40308. * loader/FrameLoader.cpp:
  40309. (WebCore::FrameLoader::stopLoadingSubframes):
  40310. 2008-02-08 Kevin Ollivier <kevino@theolliviers.com>
  40311. wx port build fix. Add time.h to define time_t.
  40312. * platform/FileSystem.h:
  40313. 2008-02-08 Alp Toker <alp@atoker.com>
  40314. Reviewed by Adam Roben.
  40315. Avoid null-dereference crasher noticed in the GTK+ port and also
  40316. affecting the Win debug build.
  40317. Covered by existing tests.
  40318. * dom/Document.cpp:
  40319. (WebCore::Document::userStyleSheet):
  40320. 2008-02-08 Anders Carlsson <andersca@apple.com>
  40321. Reviewed by Adam.
  40322. <rdar://problem/5724188>
  40323. REGRESSION: PLT 0.7% slower due to 29926 (change Text::createWithLengthLimit to take a UChar pointer)
  40324. Revert r29926 which caused the regression.
  40325. * dom/Text.cpp:
  40326. (WebCore::Text::createWithLengthLimit):
  40327. * dom/Text.h:
  40328. * html/HTMLParser.cpp:
  40329. (WebCore::HTMLParser::parseToken):
  40330. * loader/TextDocument.cpp:
  40331. (WebCore::TextTokenizer::write):
  40332. 2008-02-08 Sam Weinig <sam@webkit.org>
  40333. Reviewed by Hyatt.
  40334. Fix for <rdar://problem/5732491>
  40335. http://bugs.webkit.org/show_bug.cgi?id=17213
  40336. The querySelectorAll method on an element node does not search only the element's descendants
  40337. Test: fast/dom/SelectorAPI/elementRoot.html
  40338. * dom/Node.cpp:
  40339. (WebCore::Node::querySelector): Make sure to stay within the root node when traversing the tree.
  40340. * dom/SelectorNodeList.cpp:
  40341. (WebCore::SelectorNodeList::SelectorNodeList): ditto.
  40342. 2008-02-08 David Hyatt <hyatt@apple.com>
  40343. Fix for bug 16798, button should default to type=submit.
  40344. Reviewed by darin
  40345. * html/HTMLButtonElement.cpp:
  40346. (WebCore::HTMLButtonElement::type):
  40347. (WebCore::HTMLButtonElement::parseMappedAttribute):
  40348. 2008-02-08 Rodney Dawes <dobey@wayofthemonkey.com>
  40349. Reviewed by Jon Honeycutt.
  40350. Redefine some platform-specific types as cross-platform types
  40351. Add pathGetFileName method to get the filename from a path string
  40352. Add unloadModule method to unload a loadable module from the process
  40353. Implement new methods for GTK+ and Windows
  40354. Implement missing homeDirectoryPath method for GTK+
  40355. Add stub methods for new and missing methods for Wx and Qt
  40356. * platform/FileSystem.h:
  40357. * platform/gtk/FileSystemGtk.cpp:
  40358. * platform/qt/FileSystemQt.cpp:
  40359. * platform/win/FileSystemWin.cpp:
  40360. * platform/wx/FileSystemWx.cpp:
  40361. 2008-02-08 Adam Roben <aroben@apple.com>
  40362. Windows build fix after r30088
  40363. * bindings/scripts/CodeGeneratorCOM.pm: Touch this to force the COM
  40364. bindings to rebuild.
  40365. 2008-02-08 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>
  40366. Reviewed by Alp Toker.
  40367. http://bugs.webkit.org/show_bug.cgi?id=17009
  40368. [Gtk] Webkit strips accents from some dead-key combinations
  40369. KeyEvents have to go through the gtk input method.
  40370. Also implement the isKeypad check and make disambiguateKeyDownEvent
  40371. behave more like other ports.
  40372. * platform/PlatformKeyboardEvent.h:
  40373. * platform/gtk/KeyEventGtk.cpp:
  40374. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
  40375. (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
  40376. (WebCore::PlatformKeyboardEvent::gdkEventKey):
  40377. 2008-02-08 Darin Adler <darin@apple.com>
  40378. Reviewed by Eric.
  40379. - fix http://bugs.webkit.org/show_bug.cgi?id=3492
  40380. TreeWalker implementation needs to be fixed (affects Acid3)
  40381. - fix http://bugs.webkit.org/show_bug.cgi?id=4714
  40382. NodeIterator does not handle exceptions from the filter function (affects Acid3)
  40383. - fix http://bugs.webkit.org/show_bug.cgi?id=4716
  40384. NodeIterator will crash if the filter function removes the current node from the document
  40385. Test: traversal/exception-forwarding.html
  40386. This turned into a near-rewrite of NodeIterator and TreeWalker.
  40387. * bindings/js/JSNodeFilterCondition.h:
  40388. * bindings/js/JSNodeFilterCondition.cpp:
  40389. (WebCore::takeException): Added.
  40390. (WebCore::JSNodeFilterCondition::acceptNode): Added an out parameter to return
  40391. a JavaScript exception.
  40392. * bindings/js/JSNodeFilterCustom.cpp:
  40393. (WebCore::JSNodeFilter::acceptNode): Wrote a custom binding for this that raises
  40394. a JavaScript exception if the out parameter is set.
  40395. * bindings/js/JSNodeIteratorCustom.cpp:
  40396. (WebCore::JSNodeIterator::nextNode): Wrote a custom binding for this that raises
  40397. a JavaScript exception if the out parameter is set.
  40398. (WebCore::JSNodeIterator::previousNode): Ditto.
  40399. * bindings/js/JSTreeWalkerCustom.cpp:
  40400. (WebCore::JSTreeWalker::parentNode): Wrote a custom binding for this that raises
  40401. a JavaScript exception if the out parameter is set.
  40402. (WebCore::JSTreeWalker::firstChild): Ditto.
  40403. (WebCore::JSTreeWalker::lastChild): Ditto.
  40404. (WebCore::JSTreeWalker::nextSibling): Ditto.
  40405. (WebCore::JSTreeWalker::previousSibling): Ditto.
  40406. (WebCore::JSTreeWalker::previousNode): Ditto.
  40407. (WebCore::JSTreeWalker::nextNode): Ditto.
  40408. * bindings/objc/DOM.mm:
  40409. (WebCore::ObjCNodeFilterCondition::acceptNode): Updated to include new exception
  40410. out parameter.
  40411. (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
  40412. Use RefPtr to make object lifetimes clearer.
  40413. (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
  40414. Ditto.
  40415. * bindings/scripts/CodeGeneratorJS.pm: Added include of NodeFilter.h for
  40416. JSDocument.cpp.
  40417. * dom/Document.h:
  40418. * dom/Document.cpp:
  40419. (WebCore::Document::createNodeIterator): Changed to use PassRefPtr.
  40420. (WebCore::Document::createTreeWalker): Ditto.
  40421. * dom/NodeFilter.h:
  40422. * dom/NodeFilter.cpp:
  40423. (WebCore::NodeFilter::NodeFilter): Changed to use PassRefPtr.
  40424. (WebCore::NodeFilter::acceptNode): Added an out parameter to return
  40425. a JavaScript exception.
  40426. * dom/NodeFilter.idl: Custom binding for acceptNode.
  40427. * dom/NodeFilterCondition.h:
  40428. * dom/NodeFilterCondition.cpp:
  40429. (WebCore::NodeFilterCondition::acceptNode): Added an out parameter to return
  40430. a JavaScript exception.
  40431. * dom/NodeIterator.cpp:
  40432. (WebCore::NodeIterator::NodeIterator): Changed to use PassRefPtr more.
  40433. Eliminated m_doc, using the root node instead, and unnecessary check for
  40434. null -- rootNode must be non-null and all nodes have a non-null document.
  40435. (WebCore::NodeIterator::~NodeIterator): Changed to get document from root.
  40436. (WebCore::NodeIterator::nextNode): Rewrote to use a RefPtr since the
  40437. acceptNode function could do anything, including removing the last
  40438. reference to the current node. Also folded findNextNode into this function
  40439. since it's the only one that needs to call it.
  40440. (WebCore::NodeIterator::previousNode): Same thing, but the other direction.
  40441. (WebCore::NodeIterator::detach): Changed to use the root node as the indication
  40442. that we're detached rather than a separate boolean.
  40443. (WebCore::NodeIterator::notifyBeforeNodeRemoval): Removed some unnneeded
  40444. checks. Removed incorrect use of findNextNode/findPreviousNode -- those
  40445. functions call acceptNode and the DOM standard is quite clear that these
  40446. functions do not take that into account, allowing the current node to become
  40447. one that's not accepted.
  40448. * dom/NodeIterator.h: Changed constructor to use PassRefPtr more. Changed
  40449. nextNode and previousNode to have an out parameter with a JavaScript exception.
  40450. Removed helper functions setReferenceNode, setPointerBeforeReferenceNode,
  40451. detached, setDetached, document, findNextNode, and findPreviousNode. All were
  40452. unnecessary. Removed data member m_doc which was just rootNode()->document().
  40453. * dom/NodeIterator.idl: Custom binding for nextNode and previousNode.
  40454. * dom/Traversal.cpp:
  40455. (WebCore::Traversal::Traversal): Use PassRefPtr more.
  40456. (WebCore::Traversal::acceptNode): Added out parameter for JavaScript exception.
  40457. Also rearranged the function a little bit for clarity.
  40458. * dom/Traversal.h: Changed acceptNode to have an out parameter with a JavaScript
  40459. exception and made it protected, since it's only for use by the derived classes.
  40460. * dom/TreeWalker.cpp:
  40461. (WebCore::TreeWalker::TreeWalker): Updated to use PassRefPtr.
  40462. (WebCore::TreeWalker::setCurrentNode): Updated to use PassRefPtr and deleted
  40463. the overloaded version since it's not needed.
  40464. (WebCore::TreeWalker::parentNode): Rewrote to propagate the exception and also
  40465. to implement rules about when to check things like whether we're in the tree.
  40466. The previous fix where we called isDescendantOf was not entirely correct, because
  40467. the specification allows you to walk outside the tree if you get there somehow.
  40468. What it doesn't allow is walking outside the tree from inside. The new
  40469. implementation handles this correctly.
  40470. (WebCore::TreeWalker::firstChild): Ditto.
  40471. (WebCore::TreeWalker::lastChild): Ditto.
  40472. (WebCore::TreeWalker::previousSibling): Ditto.
  40473. (WebCore::TreeWalker::nextSibling): Ditto.
  40474. (WebCore::TreeWalker::previousNode): Ditto. Because of the need to check the
  40475. acceptNode function on parents, this can't use traversePreviousNode (more's the
  40476. pity, because it's a bit complicated).
  40477. (WebCore::TreeWalker::nextNode): Ditto.
  40478. * dom/TreeWalker.h: Changed constructor and setCurrentNode to use PassRefPtr
  40479. more. Changed the navigation functions to have an out parameter with a JavaScript
  40480. exception. Removed helper functions setCurrentNode and ancestorRejected.
  40481. * dom/TreeWalker.idl: Custom binding for navigation functions.
  40482. 2008-02-08 Eric Seidel <eric@webkit.org>
  40483. Reviewed by darin.
  40484. Add support for Text.wholeText and Text.replaceWholeText
  40485. http://bugs.webkit.org/show_bug.cgi?id=17125
  40486. Test EntityReferences to make sure they're always treated as read-only
  40487. In doing so I discovered a bug in document.adoptNode(readonlyNode) (and fixed it)
  40488. * dom/Document.cpp:
  40489. (WebCore::Document::adoptNode): throw NO_MODIFICATION_ALLOWED_ERR when passed a readonly node
  40490. * dom/Node.cpp:
  40491. * dom/Node.cpp:
  40492. (WebCore::Node::textContent):
  40493. * dom/Text.cpp:
  40494. (WebCore::earliestLogicallyAdjacentTextNode):
  40495. (WebCore::latestLogicallyAdjacentTextNode):
  40496. (WebCore::Text::wholeText):
  40497. (WebCore::Text::replaceWholeText):
  40498. * dom/Text.h:
  40499. * dom/Text.idl:
  40500. 2008-02-06 Kimmo Kinnunen <kimmok@iki.fi>
  40501. Reviewed by Tim Hatcher.
  40502. Fixes: http://bugs.webkit.org/show_bug.cgi?id=17191
  40503. HTML5: Client-side database queries should return values of type number
  40504. Test: storage/sql-data-types.html
  40505. Make the DB queries return a value as a number if it was inserted
  40506. as a number to the database.
  40507. * platform/sql/SQLiteStatement.cpp:
  40508. (WebCore::SQLiteStatement::getColumnValue): new member function to return SQLValues
  40509. * platform/sql/SQLiteStatement.h:
  40510. * storage/SQLStatement.cpp:
  40511. (WebCore::SQLStatement::execute): use getColumnValue instead of getColumnText
  40512. 2008-02-07 Ada Chan <adachan@apple.com>
  40513. <rdar://problem/5292433> certificate authentication support broken in Safari 3.0
  40514. Added mechanism to communicate client certificate info back to CFNetwork.
  40515. Reviewed by Adam.
  40516. * platform/network/ResourceHandle.h:
  40517. * platform/network/cf/ResourceHandleCFNet.cpp:
  40518. (WebCore::clientCerts): Keep a mapping of hosts to client certificates.
  40519. (WebCore::makeFinalRequest): If we have a client certificate for the host, pass it
  40520. to CFNetwork by setting it in the SSL properties.
  40521. (WebCore::ResourceHandle::setClientCertificate): Map client certificate to the host.
  40522. 2008-02-07 Adam Roben <aroben@apple.com>
  40523. Qt build fix
  40524. * platform/SharedBuffer.cpp: Removed a stub implementation of
  40525. createWithContentsOfFile, now that each platform has its own stub.
  40526. 2008-02-07 Adam Roben <aroben@apple.com>
  40527. Fix Bug 17138: REGRESSION: Node highlight not updated properly
  40528. <http://bugs.webkit.org/show_bug.cgi?id=17138>
  40529. <rdar://problem/5719869>
  40530. Reviewed by Darin.
  40531. No test possible.
  40532. * page/InspectorController.cpp:
  40533. (WebCore::InspectorController::drawNodeHighlight): Update the
  40534. overlayRect after scrolling to make sure that we translate the context
  40535. by the correct amount.
  40536. 2008-02-07 Adam Roben <aroben@apple.com>
  40537. Qt and GTK+ build fixes
  40538. * platform/gtk/FileSystemGtk.cpp: Added a missing #include.
  40539. * platform/qt/FileSystemQt.cpp: Ditto.
  40540. 2008-02-07 Adam Roben <aroben@apple.com>
  40541. Some cleanup of Mac-only user stylesheet code
  40542. I moved UserStyleSheetLoader out of Frame.cpp into its own files, and
  40543. moved some Mac-only Frame methods to FrameMac.mm.
  40544. Reviewed by Darin.
  40545. * WebCore.xcodeproj/project.pbxproj: Added new files to project.
  40546. * loader/mac/UserStyleSheetLoader.cpp: Added.
  40547. (UserStyleSheetLoader::UserStyleSheetLoader):
  40548. (UserStyleSheetLoader::~UserStyleSheetLoader):
  40549. * loader/mac/UserStyleSheetLoader.h: Added.
  40550. * page/Frame.cpp: Removed setUserStyleSheet[Location]
  40551. * page/mac/FrameMac.mm:
  40552. (WebCore::Frame::setUserStyleSheetLocation): Moved here from
  40553. Frame.cpp.
  40554. (WebCore::Frame::setUserStyleSheet): Ditto.
  40555. 2008-02-07 Adam Roben <aroben@apple.com>
  40556. Fix <rdar://5555260> GMail never loads when a user stylesheet is
  40557. specified
  40558. The fix in r29841 did not guarantee that the user stylesheet would not
  40559. still be loading by the time GMail called document.write, and so was
  40560. not a complete fix.
  40561. This change reworks the user stylesheet loading mechanism on non-Mac
  40562. platforms to load the stylesheet synchronously from disk, and then
  40563. keeps it in memory. This obsoletes the issue of what our behavior
  40564. should be before the user stylesheet has loaded and what should happen
  40565. when it finishes loading, as the user stylesheet will always be
  40566. available when the Document first asks for it. Note, however, that
  40567. this removes the ability to specify a non-file: URL for the user
  40568. stylesheet. This change was not made for the Mac platform because it's
  40569. possible that WebKit clients are relying on non-file: URLs for user
  40570. stylesheets. It would also be nice to move back to an asynchronous
  40571. loading model someday, but that is not currently possible since we
  40572. don't have an asynchronous loading mechanism that is not tied to a
  40573. particular Frame.
  40574. The responsibility of loading and storing the user stylesheet has
  40575. moved from Frame to Page, since the user stylesheet URL is set on the
  40576. Page-level Settings object.
  40577. Reviewed by Darin.
  40578. * dom/Document.cpp:
  40579. (WebCore::Document::Document): Changed to call userStyleSheet().
  40580. (WebCore::Document::setUserStyleSheet): Made Mac-only.
  40581. (WebCore::Document::userStyleSheet): Changed to call up to Page on
  40582. non-Mac platforms.
  40583. (WebCore::Document::recalcStyleSelector): Changed to call
  40584. userStyleSheet().
  40585. * dom/Document.h:
  40586. - Made setUserStyleSheet and the m_usersheet member Mac-only
  40587. - Changed userStyleSheet to return a String instance instead of a
  40588. String reference, since we now might return a new null String.
  40589. * loader/FrameLoader.cpp:
  40590. (WebCore::FrameLoader::begin): Made the call to
  40591. Frame::setUserStyleSheetLocation Mac-only.
  40592. * page/Frame.cpp: Made UserStyleSheetLoader and related code Mac-only.
  40593. (WebCore::Frame::~Frame): Ditto.
  40594. (WebCore::Frame::reapplyStyles): Made the call to
  40595. setUserStyleSheet[Location] Mac-only. On non-Mac platforms the
  40596. Document will pick up the new stylesheet in Document::reapplyStyles.
  40597. (WebCore::FramePrivate::FramePrivate): Made m_userStyleSheetLoader
  40598. Mac-only.
  40599. * page/Frame.h: Made setUserStyleSheet[Location] Mac-only.
  40600. * page/FramePrivate.h: Made m_userStyleSheetLoader Mac-only.
  40601. * page/Page.cpp:
  40602. (WebCore::Page::Page): Initialize new members.
  40603. (WebCore::Page::userStyleSheetLocationChanged): Added. Does nothing on
  40604. Mac. On non-Mac, resets all members relating to the user stylesheet so
  40605. we'll know to load it again the next time it's asked for.
  40606. (WebCore::Page::userStyleSheet): Added. Loads the user stylesheet if
  40607. the user stylesheet location has changed since the last time we loaded
  40608. it, or if the file has been modified since we last loaded it, then
  40609. returns the contents of the user stylesheet as a String.
  40610. * page/Page.h: Added new methods/members.
  40611. * page/Settings.cpp:
  40612. (WebCore::Settings::setUserStyleSheetLocation): Changed to call
  40613. Page::userStyleSheetLocationChanged.
  40614. * page/Settings.h: Changed userStyleSheetLocation to return the KURL
  40615. by reference instead of making a copy.
  40616. * platform/FileSystem.h: Added declaration for getFileModificationTime.
  40617. * platform/KURL.h: Added declaration for fileSystemPath method.
  40618. * platform/cf/KURLCFNet.cpp:
  40619. (WebCore::KURL::fileSystemPath): Added.
  40620. * platform/posix/FileSystemPOSIX.cpp:
  40621. (WebCore::getFileModificationTime): Added.
  40622. * platform/qt/KURLQt.cpp:
  40623. (WebCore::KURL::fileSystemPath): Stubbed out.
  40624. * platform/win/FileSystemWin.cpp:
  40625. (WebCore::getFileModificationTime): Added.
  40626. * platform/qt/FileSystemQt.cpp: Stubbed out getFileModificationTime.
  40627. * platform/gtk/FileSystemGtk.cpp: Ditto.
  40628. * platform/wx/FileSystemWx.cpp: Ditto.
  40629. * platform/qt/TemporaryLinkStubs.cpp: Stubbed out
  40630. SharedBuffer::createWithContentsOfFile.
  40631. * platform/gtk/TemporaryLinkStubs.cpp: Ditto, along with
  40632. KURL::fileSystemPath.
  40633. * platform/wx/TemporaryLinkStubs.cpp: Ditto.
  40634. 2008-02-07 Adam Roben <aroben@apple.com>
  40635. Clean up FileSystemWin.cpp
  40636. This cleanup also makes us call _wstat64 instead of _wstat32i64. The
  40637. only difference between these two functions is that _wstat64 gives
  40638. 64-bit time values, while _wstat32i64 only gives 32-bit time values.
  40639. Reviewed by Darin.
  40640. All tests pass.
  40641. * platform/win/FileSystemWin.cpp:
  40642. (WebCore::statFile): New static helper that wraps _wstat64.
  40643. (WebCore::getFileSize): Changed to call statFile.
  40644. (WebCore::fileExists): Ditto.
  40645. 2008-02-07 Adam Roben <aroben@apple.com>
  40646. Rename fileSize to getFileSize
  40647. Rubberstamped by Darin.
  40648. * platform/FileSystem.h:
  40649. * platform/gtk/FileSystemGtk.cpp:
  40650. * platform/network/cf/FormDataStreamCFNet.cpp:
  40651. (WebCore::setHTTPBody):
  40652. * platform/network/curl/ResourceHandleManager.cpp:
  40653. (WebCore::ResourceHandleManager::setupPOST):
  40654. * platform/posix/FileSystemPOSIX.cpp:
  40655. * platform/qt/FileSystemQt.cpp:
  40656. * platform/win/FileSystemWin.cpp:
  40657. * platform/wx/FileSystemWx.cpp:
  40658. * storage/Database.cpp:
  40659. (WebCore::Database::databaseSize):
  40660. * storage/DatabaseTracker.cpp:
  40661. (WebCore::DatabaseTracker::usageForDatabase):
  40662. * storage/OriginUsageRecord.cpp:
  40663. (WebCore::OriginUsageRecord::diskUsage):
  40664. 2008-02-06 Adam Roben <aroben@apple.com>
  40665. Make KURL::isLocalFile treat the URL's protocol case-insensitively
  40666. Reviewed by Darin.
  40667. * platform/KURL.cpp:
  40668. (WebCore::KURL::isLocalFile): Use equalIgnoringCase instead of ==.
  40669. 2008-02-07 David Hyatt <hyatt@apple.com>
  40670. Fix for bug 6248, implement the nth-* CSS3 selectors. Patch based on original KHTML work from Allan Jensen
  40671. and improved upon by Nick Shanks.
  40672. Reviewed by Eric
  40673. * css/CSSGrammar.y:
  40674. * css/CSSParser.cpp:
  40675. (WebCore::CSSParser::lex):
  40676. * css/CSSSelector.cpp:
  40677. (WebCore::CSSSelector::extractPseudoType):
  40678. * css/CSSSelector.h:
  40679. (WebCore::CSSSelector::):
  40680. * css/CSSStyleSelector.cpp:
  40681. (WebCore::parseNth):
  40682. (WebCore::matchNth):
  40683. (WebCore::CSSStyleSelector::checkOneSelector):
  40684. * css/tokenizer.flex:
  40685. * rendering/RenderStyle.cpp:
  40686. (WebCore::RenderStyle::RenderStyle):
  40687. * rendering/RenderStyle.h:
  40688. (WebCore::RenderStyle::childIndex):
  40689. (WebCore::RenderStyle::setChildIndex):
  40690. 2008-02-07 Dan Bernstein <mitz@apple.com>
  40691. Reviewed by Dave Hyatt.
  40692. - fix <rdar://problem/5729411> REGRESSION (r29834): Float contained in relative-positioned block is painted twice
  40693. Test: fast/block/float/relative-painted-twice.html
  40694. * rendering/RenderBlock.cpp:
  40695. (WebCore::RenderBlock::addOverhangingFloats): Added another case where
  40696. the child should not take over painting the float: when they do not have
  40697. the same enclosing layer. In that case, the float is already being
  40698. painted by one of its closer ancestors.
  40699. 2008-02-07 Dan Bernstein <mitz@apple.com>
  40700. Reviewed by Darin Adler.
  40701. - fix http://bugs.webkit.org/show_bug.cgi?id=17194
  40702. Changing text to bold changes font family
  40703. Test: platform/mac/fast/text/family-for-font-matched-by-name.html
  40704. * platform/mac/WebFontCache.mm:
  40705. (+[WebFontCache internalFontWithFamily:traits:size:]): Changed to use
  40706. the family of the font whose name matches the desired family if there
  40707. is no exact family match.
  40708. 2008-02-07 Beth Dakin <bdakin@apple.com>
  40709. Reviewed by Geoff.
  40710. Fix for <rdar://problem/5697882> Traffic or Street View button on
  40711. Google Maps is sometimes not positioned correctly (17000)
  40712. On the Mac, timers fire in the order that they are registered.
  40713. Geoff and I discovered that this is not necessarily true on
  40714. Windows, and that turned out to be the cause of this intermittent
  40715. layout problem at Google Maps. This patch adds a new member
  40716. variable to Timer to remember the timer's insertion point into the
  40717. heap. Now when comparing timers, if two timers were registered at
  40718. the same time, their insertion orders are compared to determine
  40719. which should fire first. This code actually never runs on Debug
  40720. builds on the Mac; the system clock on the Mac is accurate enough
  40721. that it knows that the two timers were not registered at *exactly*
  40722. the same time. This is not the case on Windows. In theory, if we
  40723. sped up Javascript enough on the Mac, this code would run and would
  40724. prevent misrenderings such as the one found on Google Maps.
  40725. * platform/Timer.cpp:
  40726. (WebCore::operator<):
  40727. (WebCore::TimerBase::setNextFireTime):
  40728. * platform/Timer.h:
  40729. 2008-02-06 Justin Garcia <justin.garcia@apple.com>
  40730. Reviewed by Darin Adler.
  40731. <rdar://problem/5195056> Huge plain text pastes are slow
  40732. This was fixed in r27369 and then r29367 and r29667 caused performance to
  40733. regress.
  40734. * editing/EditCommand.cpp:
  40735. (WebCore::EditCommand::apply): Only updateLayout() for high level commands.
  40736. (WebCore::EditCommand::unapply): Ditto.
  40737. (WebCore::EditCommand::reapply): Ditto.
  40738. * editing/Editor.cpp:
  40739. (WebCore::Editor::appliedEditing): Added a note about shouldChangeSelection calls
  40740. that shouldn't be made, a bug I filed as <rdar://problem/5729315>.
  40741. (WebCore::Editor::unappliedEditing): Ditto.
  40742. (WebCore::Editor::reappliedEditing): Ditto.
  40743. * editing/SelectionController.cpp:
  40744. (WebCore::SelectionController::nodeWillBeRemoved): Don't try to test the selection
  40745. base and extent with the expensive isCandidate operation if the node that will
  40746. be removed is in a fragment, since such a removal is guaranteed to have no effect
  40747. on a selection. This is to speed up the paste operation, which does many removes from
  40748. a fragment.
  40749. 2008-02-06 Kevin Ollivier <kevino@theolliviers.com>
  40750. Reviewed by Darin Adler.
  40751. Rather than directly handing scroll wheel events, use
  40752. PlatformWheelEvent to send them to WebCore first, so that
  40753. mouse wheel scrolling info can be retrieved via JavaScript.
  40754. http://bugs.webkit.org/show_bug.cgi?id=17179
  40755. * platform/ScrollView.h:
  40756. * platform/wx/MouseWheelEventWx.cpp:
  40757. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  40758. * platform/wx/ScrollViewWx.cpp:
  40759. (WebCore::ScrollView::ScrollViewPrivate::bindEvents):
  40760. (WebCore::ScrollView::wheelEvent):
  40761. (WebCore::ScrollView::maximumScroll):
  40762. 2008-02-06 Mark Rowe <mrowe@apple.com>
  40763. Fix Windows builds.
  40764. * WebCore.vcproj/WebCore.vcproj: Unbreak the XML of the project file.
  40765. 2008-02-06 Mark Rowe <mrowe@apple.com>
  40766. Mac build fix. Track rename that happened in r30056.
  40767. * platform/graphics/mac/GraphicsContextMac.mm:
  40768. 2008-02-06 Brent Fulgham <bfulgham@gmail.com>
  40769. Reviewed by Adam Roben.
  40770. http://bugs.webkit.org/show_bug.cgi?id=16979
  40771. Conditionalize CoreGraphics vs Cairo support in Windows port.
  40772. * WebCore.vcproj/WebCore.vcproj:
  40773. * bridge/win/FrameCGWin.cpp: Copied from WebCore/bridge/win/FrameWin.cpp.
  40774. (WebCore::imageFromSelection):
  40775. * bridge/win/FrameCairoWin.cpp: Added.
  40776. (WebCore::imageFromSelection):
  40777. * bridge/win/FrameWin.cpp:
  40778. (WebCore::computePageRectsForFrame):
  40779. * platform/graphics/SimpleFontData.h:
  40780. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  40781. * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Copied from WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp.
  40782. (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
  40783. (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
  40784. (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
  40785. (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
  40786. * platform/graphics/cg/GraphicsContextCG.cpp:
  40787. (WebCore::GraphicsContext::savePlatformState):
  40788. (WebCore::GraphicsContext::restorePlatformState):
  40789. * platform/graphics/cg/GraphicsContextPlatformPrivate.h: Removed.
  40790. * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: Copied from WebCore/platform/graphics/cg/GraphicsContextPlatformPrivate.h.
  40791. * platform/graphics/win/FontCGWin.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
  40792. (WebCore::Font::drawGlyphs):
  40793. * platform/graphics/win/FontCairoWin.cpp: Added.
  40794. (WebCore::Font::drawGlyphs):
  40795. * platform/graphics/win/FontWin.cpp:
  40796. * platform/graphics/win/GraphicsContextCGWin.cpp: Copied from WebCore/platform/graphics/win/GraphicsContextWin.cpp.
  40797. (WebCore::CGContextWithHDC):
  40798. (WebCore::GraphicsContext::inTransparencyLayer):
  40799. (WebCore::GraphicsContext::getWindowsContext):
  40800. (WebCore::GraphicsContext::releaseWindowsContext):
  40801. (WebCore::GraphicsContextPlatformPrivate::scale):
  40802. (WebCore::GraphicsContextPlatformPrivate::rotate):
  40803. (WebCore::GraphicsContextPlatformPrivate::translate):
  40804. (WebCore::GraphicsContextPlatformPrivate::concatCTM):
  40805. (WebCore::setCGStrokeColor):
  40806. (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
  40807. * platform/graphics/win/GraphicsContextCairoWin.cpp: Added.
  40808. (WebCore::GraphicsContext::GraphicsContext):
  40809. (WebCore::GraphicsContext::getWindowsContext):
  40810. (WebCore::GraphicsContext::inTransparencyLayer):
  40811. (WebCore::GraphicsContext::releaseWindowsContext):
  40812. (WebCore::GraphicsContext::concatCTM):
  40813. * platform/graphics/win/GraphicsContextWin.cpp:
  40814. * platform/graphics/win/ImageCGWin.cpp: Copied from WebCore/platform/graphics/win/ImageWin.cpp.
  40815. (WebCore::BitmapImage::getHBITMAPOfSize):
  40816. (WebCore::BitmapImage::drawFrameMatchingSourceSize):
  40817. * platform/graphics/win/ImageCairoWin.cpp: Added.
  40818. (WebCore::BitmapImage::getHBITMAPOfSize):
  40819. (WebCore::BitmapImage::drawFrameMatchingSourceSize):
  40820. * platform/graphics/win/ImageWin.cpp:
  40821. * platform/graphics/win/SimpleFontDataCGWin.cpp: Copied from WebCore/platform/graphics/win/SimpleFontDataWin.cpp.
  40822. (WebCore::scaleEmToUnits):
  40823. (WebCore::SimpleFontData::platformInit):
  40824. (WebCore::SimpleFontData::platformWidthForGlyph):
  40825. * platform/graphics/win/SimpleFontDataCairoWin.cpp: Added.
  40826. (WebCore::SimpleFontData::platformInit):
  40827. (WebCore::SimpleFontData::platformDestroy):
  40828. (WebCore::SimpleFontData::platformWidthForGlyph):
  40829. * platform/graphics/win/SimpleFontDataWin.cpp:
  40830. (WebCore::SimpleFontData::setShouldApplyMacAscentHack):
  40831. (WebCore::SimpleFontData::shouldApplyMacAscentHack):
  40832. * platform/win/DragImageCGWin.cpp: Copied from WebCore/platform/win/DragImageWin.cpp.
  40833. (WebCore::scaleDragImage):
  40834. (WebCore::createDragImageFromImage):
  40835. * platform/win/DragImageCairoWin.cpp: Added.
  40836. (WebCore::scaleDragImage):
  40837. (WebCore::createDragImageFromImage):
  40838. * platform/win/DragImageWin.cpp:
  40839. 2008-02-06 Anders Carlsson <andersca@apple.com>
  40840. Reviewed by Darin.
  40841. Change httpBodyFromStream to take the request instead of the stream.
  40842. * platform/network/cf/FormDataStreamCFNet.cpp:
  40843. (WebCore::httpBodyFromRequest):
  40844. * platform/network/cf/FormDataStreamCFNet.h:
  40845. * platform/network/cf/ResourceRequestCFNet.cpp:
  40846. (WebCore::ResourceRequest::doUpdateResourceRequest):
  40847. 2008-02-06 Kevin McCullough <kmccullough@apple.com>
  40848. Reviewed by Darin.
  40849. - Added manual tests for <rdar://problem/5556374> REGRESSION: cross-domain error when
  40850. one URL uses an explicit port number and another doesn't
  40851. * manual-tests/Default-port-frame.html: Added.
  40852. * manual-tests/resources/Default-port-frame-contents.html: Added.
  40853. 2008-02-06 Oliver Hunt <oliver@apple.com>
  40854. Fix windows build
  40855. * WebCore.vcproj/build-generated-files.sh:
  40856. 2008-02-06 Kevin McCullough <kmccullough@apple.com>
  40857. Rubberstamped by Darin.
  40858. <rdar://problem/5727708> REGRESSION (r29952): Can't send message from Yahoo Mail beta
  40859. - Reverted the change that caused the regression.
  40860. * dom/Document.cpp:
  40861. (WebCore::Document::createElement):
  40862. (WebCore::Document::createElementNS):
  40863. (WebCore::Document::getElementById):
  40864. (WebCore::Document::parseQualifiedName):
  40865. (WebCore::Document::createAttributeNS):
  40866. * dom/Document.idl:
  40867. 2008-02-06 Geoffrey Garen <ggaren@apple.com>
  40868. Reviewed by Oliver Hunt.
  40869. Fixed <rdar://problem/5728081> REGRESSION: Many leaks on buildbot
  40870. The problem was refCount underflow in NamedAttrMap.
  40871. Neither our regression tests nor the stress test have yet discovered
  40872. another instance of this problem.
  40873. * dom/NamedAttrMap.cpp:
  40874. (WebCore::NamedAttrMap::addAttribute): Changed to use PassRefPtr,
  40875. for fast and correct refCount management. Also, change a rediculously
  40876. slow malloc to a slightly less rediculously slow realloc.
  40877. * dom/NamedAttrMap.h:
  40878. (WebCore::NamedAttrMap::insertAttribute): Changed to use PassRefPtr,
  40879. for fast and correct refCount management.
  40880. * html/HTMLTokenizer.cpp:
  40881. (WebCore::Token::addAttribute): Use a RefPtr, to guarantee that the
  40882. object starts with a refCount of 1.
  40883. 2008-02-06 Darin Adler <darin@apple.com>
  40884. Reviewed by Tim Hatcher.
  40885. - fix <rdar://problem/5723293> NULL-deref crash in PropertyMap::put opening web inspector
  40886. with View Source window as target
  40887. * page/InspectorController.cpp:
  40888. (WebCore::canPassNodeToJavaScript): Added. Returns false if the node is in a document with
  40889. JavaScript disabled.
  40890. (WebCore::InspectorController::inspect): Check canPassNodeToJavaScript and do nothing if
  40891. it returns false.
  40892. 2008-02-06 David Hyatt <hyatt@apple.com>
  40893. Fix for bug 16799, object elements should return absolute URLs from .data.
  40894. Reviewed by Mark Rowe
  40895. * dom/Document.cpp:
  40896. (WebCore::Document::completeURL):
  40897. * html/HTMLAnchorElement.cpp:
  40898. (WebCore::HTMLAnchorElement::href):
  40899. * html/HTMLObjectElement.cpp:
  40900. (WebCore::HTMLObjectElement::data):
  40901. 2008-02-05 Antti Koivisto <antti@apple.com>
  40902. Reviewed by Darin.
  40903. <rdar://problem/5726340>
  40904. <video autoplay controls> left in unplayable state if navigated away, then back to, before video finished loading
  40905. When moving document in and out from the page cache:
  40906. - Cancel incomplete load by deleting the media player. This guarantees everything is in consistent state.
  40907. - Restart the load if it was aborted in the middle.
  40908. * html/HTMLMediaElement.cpp:
  40909. (WebCore::HTMLMediaElement::~HTMLMediaElement):
  40910. (WebCore::HTMLMediaElement::load):
  40911. (WebCore::HTMLMediaElement::willSaveToCache):
  40912. (WebCore::HTMLMediaElement::didRestoreFromCache):
  40913. * html/HTMLMediaElement.h:
  40914. (WebCore::HTMLMediaElement::player):
  40915. 2008-02-06 Darin Adler <darin@apple.com>
  40916. Reviewed by Sam.
  40917. - replace calls to put to set up properties with calls to putDirect, to
  40918. prepare for a future change where put won't take attributes any more,
  40919. and for a slight performance boost
  40920. * bindings/js/JSAudioConstructor.cpp:
  40921. (WebCore::JSAudioConstructor::JSAudioConstructor): Use putDirect instead of put.
  40922. * bindings/js/JSEventTargetBase.h:
  40923. (WebCore::JSEventTargetPrototype::self): Ditto.
  40924. * bindings/js/JSHTMLOptionElementConstructor.cpp:
  40925. (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto.
  40926. * bindings/js/JSSQLResultSetRowListCustom.cpp:
  40927. (WebCore::JSSQLResultSetRowList::item): Ditto.
  40928. 2008-02-06 Dan Bernstein <mitz@apple.com>
  40929. Reviewed by Darin Adler.
  40930. - fix http://bugs.webkit.org/show_bug.cgi?17093
  40931. 'border-color' does not animate to the value of 'color' when unspecified
  40932. Test: fast/css/transition-color-unspecified.html
  40933. * page/AnimationController.cpp:
  40934. (WebCore::ImplicitAnimation::animate): Changed to use the value of the
  40935. 'color' property in the source or destination style as the source or
  40936. destination value of properties whose inital value is defined to be the
  40937. computed value of 'color'.
  40938. 2008-02-06 Dan Bernstein <mitz@apple.com>
  40939. Build fix.
  40940. * svg/svgtags.in:
  40941. 2008-02-05 Oliver Hunt <oliver@apple.com>
  40942. Build fix -- touch generate-bindings to trigger regeneration of bindings
  40943. * bindings/scripts/generate-bindings.pl:
  40944. 2008-02-05 Oliver Hunt <oliver@apple.com>
  40945. RS=Eric.
  40946. Re-enable foreignObject by default as it is needed for a number of
  40947. non-fO related SVG tests and none of the old known crashes occur
  40948. anymore.
  40949. * Configurations/WebCore.xcconfig:
  40950. * WebCore.vcproj/WebCore.vcproj:
  40951. 2008-02-05 Sam Weinig <sam@webkit.org>
  40952. Reviewed by Anders Carlsson.
  40953. Fix for http://bugs.webkit.org/show_bug.cgi?id=8080
  40954. NodeList (and other DOM lists) items are not enumeratable using for..in
  40955. - Match Firefox when enumerating DOM interfaces with indexGetters (support for
  40956. the array bracket, nodeList[0], notation) by including all the items in the
  40957. list before the attributes and methods of the interface.
  40958. Test: fast/dom/domListEnumeration.html
  40959. * ForwardingHeaders/kjs/PropertyNameArray.h: Added.
  40960. * bindings/js/JSDOMWindowCustom.cpp:
  40961. (WebCore::JSDOMWindow::customGetPropertyNames): Use the new custom method model.
  40962. * bindings/js/JSHistoryCustom.cpp:
  40963. (WebCore::JSHistory::customGetPropertyNames): ditto.
  40964. * bindings/scripts/CodeGeneratorJS.pm: Instead of just adding a declaration of
  40965. getProperyNames and implementing the method in the Custom.cpp, move to a the
  40966. model used by generated getOwnPropertySlot() and put() where the custom code
  40967. is written in a separate customGetPropertyNames which returns a bool indicating
  40968. whether to call up to the base class. This enables adding the list indexes
  40969. to the PropertyNameArray for interfaces with indexGetters automatically.
  40970. 2008-02-05 Samuel Weinig <sam@webkit.org>
  40971. Reviewed by Darin Adler.
  40972. Fix for <rdar://problem/5726604>
  40973. dom-checker: deleting properties of the window object cross-domain should not be allowed
  40974. Fix flaw found while testing with dom-checker testing tool (http://code.google.com/p/dom-checker/).
  40975. Test: http/tests/security/cross-frame-access-delete.html
  40976. * bindings/js/JSDOMWindowCustom.cpp:
  40977. (WebCore::JSDOMWindow::deleteProperty): Override deleteProperty to not delete cross-domain.
  40978. * bindings/js/JSHistoryCustom.cpp:
  40979. (WebCore::JSHistory::deleteProperty): ditto.
  40980. * bindings/js/JSLocation.cpp:
  40981. (WebCore::JSLocation::deleteProperty): ditto.
  40982. * bindings/js/JSLocation.h:
  40983. * bindings/scripts/CodeGeneratorJS.pm: Add deleteProperty declaration when CustomDeleteProperty is used.
  40984. * page/DOMWindow.idl: Add CustomDeleteProperty extended attribute.
  40985. * page/History.idl: ditto.
  40986. 2008-02-05 Alp Toker <alp@atoker.com>
  40987. Rubber-stamped by Mark Rowe.
  40988. Fix a "missing sentinel in function call" warning by using NULL
  40989. instead of 0.
  40990. * platform/gtk/RenderThemeGtk.cpp:
  40991. (WebCore::RenderThemeGtk::caretBlinkFrequency):
  40992. 2008-02-05 Nikolas Zimmermann <zimmermann@kde.org>
  40993. Reviewed by Oliver.
  40994. Fix dynamic updates of <circle> element's properties.
  40995. Added tests: svg/dynamic-updates/SVGCircleElement*
  40996. * svg/SVGCircleElement.cpp:
  40997. (WebCore::SVGCircleElement::svgAttributeChanged): Mixed up cxAttr/xAttr etc.
  40998. * svg/SVGCircleElement.h:
  40999. 2008-02-05 Rodney Dawes <dobey@wayofthemonkey.com>
  41000. Wx build fix. Add WebCore/plugins to the include path.
  41001. * webcore-base.bkl:
  41002. 2008-02-05 Mark Rowe <mrowe@apple.com>
  41003. Mac build fix. Update the Xcode project to follow a moved file,
  41004. and track a rename in two files that were missed earlier.
  41005. * WebCore.xcodeproj/project.pbxproj:
  41006. * page/mac/WebCoreFrameBridge.mm:
  41007. (-[WebCoreFrameBridge canProvideDocumentSource]):
  41008. * platform/mac/PlugInInfoStoreMac.mm:
  41009. (WebCore::PluginInfoStore::pluginNameForMIMEType):
  41010. 2008-02-05 Nikolas Zimmermann <zimmermann@kde.org>
  41011. Reviewed by Holger.
  41012. Fixes: http://bugs.webkit.org/show_bug.cgi?id=17185
  41013. Fix dynamic SVG DOM updates of <a> element's href property.
  41014. This commit also introduces a new SVG Tests framework: LayoutTests/svg/dynamic-updates
  41015. Its purpose is to provide dynamic updating tests for each SVG class & property, aka.
  41016. one test per property per class. As a first pass it's sufficient to add testcases for all
  41017. SVG*Element classes, and their properties - and only common-used base-class properties.
  41018. For SVGAElement - for example - it makes most sense to test scripting its parent
  41019. SVGURIReference object ('href' property) and its own property 'target'.
  41020. Adding tests to see - for example - if SVGAElement reacts on changes on ie. its parent
  41021. SVGExternalResourcesRequired interface, should really be done in a second pass.
  41022. All tests within the new framework are supposed to be created using make-js-tests-wrappers.
  41023. Added test: svg/dynamic-updates/SVGAElement-dom-href-attr.js
  41024. Added test: svg/dynamic-updates/SVGAElement-dom-target-attr.js
  41025. Added test: svg/dynamic-updates/SVGAElement-svgdom-href-prop.js
  41026. Added test: svg/dynamic-updates/SVGAElement-svgdom-target-prop.js
  41027. * svg/SVGAElement.cpp:
  41028. (WebCore::SVGAElement::parseMappedAttribute): Move any setChanged() handling in svgAttributeChanged.
  41029. (WebCore::SVGAElement::svgAttributeChanged):
  41030. (WebCore::SVGAElement::defaultEventHandler): Use href() not getAttribute(hrefAttr) - otherwhise SVG DOM updates fail!
  41031. * svg/SVGAElement.h:
  41032. 2008-02-05 Justin Garcia <justin.garcia@apple.com>
  41033. Reviewed by Alexey Proskuryakov.
  41034. <rdar://problem/5685601> webkit-block-placeholder class on placeholders seems unnecessary (12317)
  41035. * editing/CompositeEditCommand.cpp:
  41036. (WebCore::createBlockPlaceholderElement): The khtml-block-placeholder class was needed
  41037. when the editing code actively looked for <br>s of that type in order to handle them
  41038. specially. That is no longer the case.
  41039. * editing/InsertParagraphSeparatorCommand.cpp:
  41040. (WebCore::InsertParagraphSeparatorCommand::doApply): Fixed a bug where an extra block
  41041. would be inserted when hitting return inside an editable root held open by a placeholder
  41042. <br> or '\n'. Added test cases for the bug and for the special case code that was incorrectly
  41043. triggered to cause the bug.
  41044. 2008-02-05 Rodney Dawes <dobey@wayofthemonkey.com>
  41045. Reviewed by Anders Carlsson.
  41046. Part one of http://bugs.webkit.org/show_bug.cgi?id=16924.
  41047. Shared PluginDatabase, PluginInfoStore and PluginPackage implementations.
  41048. Remove the Win suffix on several plugin-related classes that will
  41049. soon be refactored to be more portable.
  41050. * WebCore.vcproj/WebCore.vcproj:
  41051. * bindings/js/kjs_navigator.cpp:
  41052. (KJS::PluginBase::cachePluginDataIfNecessary):
  41053. * bindings/js/kjs_window.cpp:
  41054. * bridge/win/FrameWin.cpp:
  41055. (WebCore::Frame::createScriptInstanceForWidget):
  41056. * dom/Clipboard.cpp:
  41057. * dom/DOMImplementation.cpp:
  41058. (WebCore::DOMImplementation::createDocument):
  41059. * loader/FrameLoader.cpp:
  41060. (WebCore::FrameLoader::shouldUsePlugin):
  41061. * page/DragController.cpp:
  41062. * platform/PlugInInfoStore.h: Removed.
  41063. * platform/gtk/TemporaryLinkStubs.cpp:
  41064. (PluginInfoStore::createPluginInfoForPluginAtIndex):
  41065. (PluginInfoStore::pluginCount):
  41066. (PluginInfoStore::pluginNameForMIMEType):
  41067. (WebCore::PluginInfoStore::supportsMIMEType):
  41068. * platform/qt/PlugInInfoStoreQt.cpp:
  41069. (WebCore::PluginInfoStore::createPluginInfoForPluginAtIndex):
  41070. (WebCore::PluginInfoStore::pluginCount):
  41071. (WebCore::PluginInfoStore::pluginNameForMIMEType):
  41072. (WebCore::PluginInfoStore::supportsMIMEType):
  41073. * platform/qt/TemporaryLinkStubs.cpp:
  41074. * platform/win/SharedTimerWin.cpp:
  41075. (WebCore::TimerWindowWndProc):
  41076. * platform/wx/TemporaryLinkStubs.cpp:
  41077. (PluginInfoStore::createPluginInfoForPluginAtIndex):
  41078. (PluginInfoStore::pluginCount):
  41079. (WebCore::PluginInfoStore::supportsMIMEType):
  41080. (PluginInfoStore::pluginNameForMIMEType):
  41081. * plugins/PluginDatabase.h: Copied from WebCore/plugins/win/PluginDatabaseWin.h.
  41082. * plugins/PluginInfoStore.cpp: Copied from WebCore/plugins/win/PlugInInfoStoreWin.cpp.
  41083. (WebCore::PluginInfoStore::createPluginInfoForPluginAtIndex):
  41084. (WebCore::PluginInfoStore::pluginCount):
  41085. (WebCore::PluginInfoStore::pluginNameForMIMEType):
  41086. (WebCore::PluginInfoStore::supportsMIMEType):
  41087. (WebCore::refreshPlugins):
  41088. * plugins/PluginInfoStore.h: Copied from WebCore/platform/PlugInInfoStore.h.
  41089. * plugins/PluginPackage.h: Copied from WebCore/plugins/win/PluginPackageWin.h.
  41090. (WebCore::PluginPackageHash::hash):
  41091. (WebCore::PluginPackageHash::equal):
  41092. (WTF::):
  41093. * plugins/PluginView.h: Copied from WebCore/plugins/win/PluginViewWin.h.
  41094. (WebCore::PluginView::plugin):
  41095. * plugins/npapi.cpp: Copied from WebCore/plugins/win/npapi.cpp.
  41096. (pluginViewForInstance):
  41097. (NPN_UserAgent):
  41098. * plugins/win/PlugInInfoStoreWin.cpp: Removed.
  41099. * plugins/win/PluginDatabaseWin.cpp:
  41100. (WebCore::PluginDatabase::installedPlugins):
  41101. (WebCore::PluginDatabase::addExtraPluginPath):
  41102. (WebCore::PluginDatabase::refresh):
  41103. (WebCore::PluginDatabase::plugins):
  41104. (WebCore::addPluginsFromRegistry):
  41105. (WebCore::PluginDatabase::getPluginsInPaths):
  41106. (WebCore::PluginDatabase::defaultPluginPaths):
  41107. (WebCore::PluginDatabase::isMIMETypeRegistered):
  41108. (WebCore::PluginDatabase::pluginForMIMEType):
  41109. (WebCore::PluginDatabase::MIMETypeForExtension):
  41110. (WebCore::PluginDatabase::findPlugin):
  41111. (WebCore::PluginDatabase::createPluginView):
  41112. * plugins/win/PluginDatabaseWin.h: Removed.
  41113. * plugins/win/PluginPackageWin.cpp:
  41114. (WebCore::PluginPackage::~PluginPackage):
  41115. (WebCore::PluginPackage::freeLibrarySoon):
  41116. (WebCore::PluginPackage::freeLibraryTimerFired):
  41117. (WebCore::PluginPackage::PluginPackage):
  41118. (WebCore::PluginPackage::compareFileVersion):
  41119. (WebCore::PluginPackage::storeFileVersion):
  41120. (WebCore::PluginPackage::isPluginBlacklisted):
  41121. (WebCore::PluginPackage::fetchInfo):
  41122. (WebCore::PluginPackage::load):
  41123. (WebCore::PluginPackage::unload):
  41124. (WebCore::PluginPackage::unloadWithoutShutdown):
  41125. (WebCore::PluginPackage::createPackage):
  41126. (WebCore::PluginPackage::hash):
  41127. (WebCore::PluginPackage::equal):
  41128. * plugins/win/PluginPackageWin.h: Removed.
  41129. * plugins/win/PluginViewWin.cpp:
  41130. (WebCore::PluginRequest::PluginRequest):
  41131. (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin):
  41132. (WebCore::registerPluginView):
  41133. (WebCore::PluginViewWndProc):
  41134. (WebCore::PluginView::popPopupsStateTimerFired):
  41135. (WebCore::PluginView::wndProc):
  41136. (WebCore::PluginView::updateWindow):
  41137. (WebCore::PluginView::windowClipRect):
  41138. (WebCore::PluginView::setFrameGeometry):
  41139. (WebCore::PluginView::geometryChanged):
  41140. (WebCore::PluginView::setFocus):
  41141. (WebCore::PluginView::show):
  41142. (WebCore::PluginView::hide):
  41143. (WebCore::PluginView::paintMissingPluginIcon):
  41144. (WebCore::PluginView::dispatchNPEvent):
  41145. (WebCore::PluginView::paint):
  41146. (WebCore::PluginView::handleKeyboardEvent):
  41147. (WebCore::PluginView::handleMouseEvent):
  41148. (WebCore::PluginView::handleEvent):
  41149. (WebCore::PluginView::setParent):
  41150. (WebCore::PluginView::attachToWindow):
  41151. (WebCore::PluginView::detachFromWindow):
  41152. (WebCore::PluginView::setNPWindowRect):
  41153. (WebCore::PluginView::start):
  41154. (WebCore::PluginView::stop):
  41155. (WebCore::PluginView::setCurrentPluginView):
  41156. (WebCore::PluginView::currentPluginView):
  41157. (WebCore::PluginView::performRequest):
  41158. (WebCore::PluginView::requestTimerFired):
  41159. (WebCore::PluginView::scheduleRequest):
  41160. (WebCore::PluginView::load):
  41161. (WebCore::PluginView::getURLNotify):
  41162. (WebCore::PluginView::getURL):
  41163. (WebCore::PluginView::handlePost):
  41164. (WebCore::PluginView::postURLNotify):
  41165. (WebCore::PluginView::postURL):
  41166. (WebCore::PluginView::newStream):
  41167. (WebCore::PluginView::write):
  41168. (WebCore::PluginView::destroyStream):
  41169. (WebCore::PluginView::userAgent):
  41170. (WebCore::PluginView::status):
  41171. (WebCore::PluginView::getValue):
  41172. (WebCore::PluginView::setValue):
  41173. (WebCore::PluginView::invalidateTimerFired):
  41174. (WebCore::PluginView::invalidateRect):
  41175. (WebCore::PluginView::invalidateRegion):
  41176. (WebCore::PluginView::forceRedraw):
  41177. (WebCore::PluginView::pushPopupsEnabledState):
  41178. (WebCore::PluginView::popPopupsEnabledState):
  41179. (WebCore::PluginView::arePopupsAllowed):
  41180. (WebCore::PluginView::bindingInstance):
  41181. (WebCore::PluginView::~PluginView):
  41182. (WebCore::PluginView::disconnectStream):
  41183. (WebCore::PluginView::determineQuirks):
  41184. (WebCore::PluginView::setParameters):
  41185. (WebCore::PluginView::PluginView):
  41186. (WebCore::PluginView::init):
  41187. (WebCore::PluginView::didReceiveResponse):
  41188. (WebCore::PluginView::didReceiveData):
  41189. (WebCore::PluginView::didFinishLoading):
  41190. (WebCore::PluginView::didFail):
  41191. (WebCore::PluginView::setCallingPlugin):
  41192. (WebCore::PluginView::isCallingPlugin):
  41193. * plugins/win/PluginViewWin.h: Removed.
  41194. * plugins/win/npapi.cpp: Removed.
  41195. 2008-02-05 Alexey Proskuryakov <ap@webkit.org>
  41196. Reviewed by Darin.
  41197. http://bugs.webkit.org/show_bug.cgi?id=17158
  41198. Setting innerHTML in a detached XHTML element doesn't use the right namespace
  41199. Test: fast/dom/innerHTML-detached-element.xhtml
  41200. * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::XMLTokenizer): Take parent element namespace
  41201. into account.
  41202. 2008-02-05 Antti Koivisto <antti@apple.com>
  41203. Reviewed by Geoff.
  41204. Fix <rdar://problem/5698200>
  41205. eBay photo uploading hangs and causes slow script warning to pop up
  41206. In a case like this
  41207. var f = window.parent.parentFunction;
  41208. document.domain = document.domain; // this makes window.parent inaccessible
  41209. f();
  41210. Firefox allows parentFunction to access parents properties. Match this behavior.
  41211. In a domain security check against the dynamic global object fails for the specific reason that one of
  41212. the frames has written to the document.domain property and another has not (but they match otherwise),
  41213. then recheck against the lexical global object.
  41214. Test: http/tests/security/cross-frame-access-callback-explicit-domain-ALLOW.html
  41215. http/tests/security/cross-frame-access-callback-explicit-domain-DENY.html
  41216. * bindings/js/kjs_window.cpp:
  41217. (KJS::Window::allowsAccessFrom):
  41218. (KJS::Window::printErrorMessage):
  41219. * bindings/js/kjs_window.h:
  41220. * loader/FrameLoader.cpp:
  41221. (WebCore::FrameLoader::shouldAllowNavigation):
  41222. * platform/SecurityOrigin.cpp:
  41223. (WebCore::SecurityOrigin::canAccess):
  41224. * platform/SecurityOrigin.h:
  41225. (WebCore::SecurityOrigin::):
  41226. 2008-02-05 Adam Roben <aroben@apple.com>
  41227. Remove an unused member from Document
  41228. Reviewed by Mitz.
  41229. * dom/Document.cpp:
  41230. (WebCore::Document::recalcStyleSelector): There's no need to take
  41231. m_printSheet into account anymore as it's never anything but the null
  41232. string.
  41233. * dom/Document.h: Removed m_printSheet and methods relating to it.
  41234. 2008-02-05 Dan Bernstein <mitz@apple.com>
  41235. Reviewed by Darin Adler.
  41236. - WebCore part of <rdar://problem/5724303> Should implement writing direction shortcuts
  41237. * WebCore.base.exp: Added Editor::setBaseWritingDirection() and
  41238. Frame::baseWritingDirectionForSelectionStart().
  41239. * page/mac/WebCoreFrameBridge.h: Removed
  41240. -baseWritingDirectionForSelectionStart.
  41241. * page/mac/WebCoreFrameBridge.mm: Ditto.
  41242. 2008-02-05 Mark Rowe <mrowe@apple.com>
  41243. Reviewed by Oliver Hunt.
  41244. Update versioning to support the mysterious future.
  41245. * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060.
  41246. 2008-02-05 Mark Rowe <mrowe@apple.com>
  41247. Fix the wxWidget Mac build by avoiding using ICU functions that were added after ICU 3.2.
  41248. * editing/SmartReplaceICU.cpp:
  41249. (WebCore::addAllCodePoints): Implement a replacement for uset_addAllCodePoints.
  41250. (WebCore::getSmartSet): Use addAllCodePoints instead of uset_addAllCodePoints.
  41251. 2008-02-05 Mark Rowe <mrowe@apple.com>
  41252. Rubber-stamped by Oliver Hunt.
  41253. 30,000!
  41254. * ChangeLog: Point out revision 30,000.
  41255. 2008-02-04 Mark Rowe <mrowe@apple.com>
  41256. Unreviewed Gtk build fix.
  41257. wchar_t is only convertible to UChar on Windows. Use WebCore's String class
  41258. to get the UChars out of a C string in a portable fashion.
  41259. * editing/SmartReplaceICU.cpp:
  41260. (WebCore::getSmartSet):
  41261. 2008-02-04 Tony Chang <idealisms@gmail.com>
  41262. Reviewed by Darin Adler.
  41263. Port the CoreFoundation version of WebCore::isCharacterSmartReplaceExempt
  41264. for other platforms by using ICU directly.
  41265. * GNUmakefile.am: Add SmartReplaceICU.cpp.
  41266. * WebCore.pro: Ditto.
  41267. * WebCoreSources.bkl: Ditto.
  41268. * editing/SmartReplace.cpp: Don't use this empty implementation when ICU is available.
  41269. * editing/SmartReplaceICU.cpp:
  41270. (getSmartSet):
  41271. (WebCore::isCharacterSmartReplaceExempt):
  41272. 2008-02-04 Robert Sesek <rsesek@bluestatic.org>
  41273. Reviewed by Darin Adler.
  41274. Fix http://bugs.webkit.org/show_bug.cgi?id=17042
  41275. forms without action attributes submit to the <base> href instead of the originating page
  41276. Test: fast/forms/missing-action.html
  41277. * html/HTMLFormElement.cpp:
  41278. (WebCore::HTMLFormElement::submit): Submit to origin if there is no action
  41279. 2008-02-04 Mark Rowe <mrowe@apple.com>
  41280. Reviewed by Tim Hatcher.
  41281. Gtk build fix. Use std::numeric_limits in place of ULLONG_MAX as
  41282. some Linux machines do not have ULLONG_MAX.
  41283. OriginUsageRecord::unknownDiskUsage becomes a static function to avoid
  41284. the global initialiser which would otherwise be generated.
  41285. * storage/OriginUsageRecord.cpp:
  41286. (WebCore::OriginUsageRecord::unknownDiskUsage):
  41287. (WebCore::OriginUsageRecord::addDatabase):
  41288. (WebCore::OriginUsageRecord::removeDatabase):
  41289. (WebCore::OriginUsageRecord::markDatabase):
  41290. (WebCore::OriginUsageRecord::diskUsage):
  41291. * storage/OriginUsageRecord.h:
  41292. 2008-02-04 Mark Rowe <mrowe@apple.com>
  41293. Speculative Gtk build fix.
  41294. * storage/OriginUsageRecord.cpp:
  41295. 2008-02-04 Brady Eidson <beidson@apple.com>
  41296. Attempt to fix build of all non-Mac platforms
  41297. * GNUmakefile.am:
  41298. * WebCore.pro:
  41299. * WebCore.vcproj/WebCore.vcproj:
  41300. * WebCoreSources.bkl:
  41301. 2008-02-04 Brady Eidson <beidson@apple.com>
  41302. Reviewed by Darin
  41303. Fix for <rdar://problem/5628468> - Quotas need to be implemented per-origin, and not per-database
  41304. To accomplish this, we need to track the sizes of all databases in an origin to constantly keep an up to date
  41305. count of the origin's total disk usage. I've introduced the OriginQuotaManager and OriginUsageRecord classes
  41306. to accomplish this.
  41307. Whenever a transaction is known to mutate the size of a database (tracked by the DatabaseAuthorizer), it marks
  41308. that database as unknown in the OriginQuotaManager. When a transaction later comes along to ask the
  41309. OriginQuotaManager the usage for that origin, it stat's all of the unknown databases in the origin and returns
  41310. the result.
  41311. Since the OriginQuotaManager is interesting from both the main thread and a DatabaseThread, all accessors it
  41312. provides require it to be locked first. ASSERTs help guarantee this is always the case.
  41313. Layout test will involve adding functionality to DRT on multiple platforms and will be coming up shortly
  41314. * WebCore.xcodeproj/project.pbxproj:
  41315. * platform/SecurityOrigin.h: Changed to be ThreadSafeShared instead of RefCounted
  41316. * storage/Database.cpp:
  41317. (WebCore::Database::databaseSize): Return the current filesize of this database on disk
  41318. (WebCore::Database::maximumSize): Added - calculates maximum size of this database based on quota and usage
  41319. * storage/Database.h: Add databaseSize() accessor, and get rid of unused declared methods that *were* going
  41320. to be the solution for this bug.
  41321. * storage/DatabaseTracker.cpp:
  41322. (WebCore::DatabaseTracker::originQuotaManager): Accessor to the OriginQuotaManager which is lazily created
  41323. (WebCore::DatabaseTracker::canEstablishDatabase): Fetch the usage for this database slightly earlier, which
  41324. will ensure that the OriginQuotaManager is primed to track this origin
  41325. (WebCore::DatabaseTracker::fullPathForDatabase): Ditto
  41326. (WebCore::DatabaseTracker::populateOrigins): Create the OriginQuotaManager here.
  41327. (WebCore::DatabaseTracker::usageForOrigin): Use the OriginQuotaManager instead of looping through each database
  41328. in the origin
  41329. (WebCore::DatabaseTracker::deleteOrigin): Remove this origin from the OriginQuotaManager as it is no longer
  41330. interesting
  41331. (WebCore::DatabaseTracker::deleteDatabase): Remove this database from the OriginQuotaManager as it is no longer
  41332. interesting
  41333. * storage/DatabaseTracker.h:
  41334. * storage/OriginQuotaManager.cpp: Added.
  41335. (WebCore::OriginQuotaManager::OriginQuotaManager):
  41336. (WebCore::OriginQuotaManager::lock):
  41337. (WebCore::OriginQuotaManager::unlock):
  41338. (WebCore::OriginQuotaManager::trackOrigin): Add an origin to be tracked. Useful for when the very first database
  41339. in a new origin is still in the process of being created
  41340. (WebCore::OriginQuotaManager::tracksOrigin):
  41341. (WebCore::OriginQuotaManager::addDatabase):
  41342. (WebCore::OriginQuotaManager::removeDatabase):
  41343. (WebCore::OriginQuotaManager::removeOrigin): Removes all records in a certain origin from being tracked
  41344. (WebCore::OriginQuotaManager::markDatabase): Mark a specific database as having an unknown size - called when the
  41345. DatabaseAuthorizer in a SQLTransaction knows the file size might change.
  41346. (WebCore::OriginQuotaManager::diskUsage): Returns the disk usage for the given origin
  41347. * storage/OriginQuotaManager.h: Added.
  41348. * storage/OriginUsageRecord.cpp: Added.
  41349. (WebCore::OriginUsageRecord::OriginUsageRecord):
  41350. (WebCore::OriginUsageRecord::addDatabase): Adds an entry for the database in this origin's record
  41351. (WebCore::OriginUsageRecord::removeDatabase): Removes that entry
  41352. (WebCore::OriginUsageRecord::markDatabase): Marks the database as of unknown size
  41353. (WebCore::OriginUsageRecord::diskUsage): Returns the cached disk usage value, or recalculates it if any databases
  41354. are marked
  41355. * storage/OriginUsageRecord.h: Added.
  41356. * storage/SQLTransaction.cpp:
  41357. (WebCore::SQLTransaction::openTransactionAndPreflight): Use Database::maximumSize() instead of attributing the
  41358. entire quota to each database.
  41359. (WebCore::SQLTransaction::runStatements): Use Database::maximumSize() instead of attributing the entire quota
  41360. to each database.
  41361. (WebCore::SQLTransaction::runCurrentStatement): Mark this databases's size as unknown in the
  41362. OriginQuotaManager if this statement will change the size of the database
  41363. * storage/SQLTransaction.h:
  41364. 2008-02-04 David Harrison <harrison@apple.com>
  41365. Reviewed by Darin Adler.
  41366. <rdar://problem/5607381> CrashTracer: [REGRESSION] 1748 crashes in Safari at com.apple.WebCore: WebCore::Image::width const + 24
  41367. Use an empty image when the local image file could not be loaded.
  41368. No test case because it would require forcing tiff load failure.
  41369. * editing/DeleteButtonController.cpp:
  41370. (WebCore::DeleteButtonController::createDeletionUI):
  41371. Do not present the deletion UI in the (odd) event that the delete button could not be loaded.
  41372. * platform/graphics/mac/ImageMac.mm:
  41373. (WebCore::Image::loadPlatformResource):
  41374. Return an empty image instead of 0 if the load fails.
  41375. 2008-02-04 Darin Adler <darin@apple.com>
  41376. * dom/Document.cpp:
  41377. (WebCore::Document::completeURL): Fixed misleading comment.
  41378. 2008-02-04 Jon Honeycutt <jhoneycutt@apple.com>
  41379. Reviewed by Darin.
  41380. Blacklist Silverlight versions older than min required, not newer.
  41381. * plugins/win/PluginPackageWin.cpp:
  41382. (WebCore::PluginPackageWin::isPluginBlacklisted):
  41383. 2008-02-04 David Hyatt <hyatt@apple.com>
  41384. Fix for bug 16751, misparsing of html*.test in CSS.
  41385. Reviewed by darin
  41386. Added fast/css/simple-selector-chain-parsing.html
  41387. * css/CSSGrammar.y:
  41388. 2008-02-04 Darin Adler <darin@apple.com>
  41389. Suggested by Geoff and Maciej.
  41390. * bindings/js/JSCustomSQLTransactionCallback.cpp: Reworded a misleading
  41391. comment to be correct.
  41392. 2008-02-04 Jon Honeycutt <jhoneycutt@apple.com>
  41393. Reviewed by Steve, Anders.
  41394. <rdar://problem/5211187> QuickTime and Flash plug-ins draw outside of
  41395. content area when inside an iframe or div with overflow when playing a
  41396. movie and scrolling the iframe/div area
  41397. Clip the update region to the zero rect when scrolling. Don't do this
  41398. for Java, because it results in repaint problems.
  41399. * plugins/PluginQuirkSet.h: Added the DontClipToZeroRectWhenScrolling
  41400. quirk
  41401. * plugins/win/PluginViewWin.cpp:
  41402. (WebCore::PluginViewWin::updateWindow): Readded the old behavior of
  41403. clipping to the zero rect when updating the window during a scroll.
  41404. Added plug-in quirk to ignore this behavior for Java. Swapped order of
  41405. the SetWindowRgn() and MoveWindow() calls to prevent Java from painting
  41406. outside of its container during a scroll.
  41407. (WebCore::PluginViewWin::determineQuirks): If this is Java, add the
  41408. DontClipToZeroRectWhenScrolling quirk.
  41409. 2008-02-04 Timothy Hatcher <timothy@apple.com>
  41410. Reviewed by Mark Rowe.
  41411. <rdar://problem/5722972> Leopard needs to statically link SQLite
  41412. * Configurations/Base.xcconfig: Always have a header search path for WebCoreSQLite3.
  41413. * Configurations/DebugRelease.xcconfig: Ditto.
  41414. * Configurations/WebCore.xcconfig: Always link against WebCoreSQLite3.
  41415. 2008-02-04 Adam Roben <aroben@apple.com>
  41416. Windows build fix
  41417. * bindings/scripts/CodeGeneratorCOM.pm: Touched to force a rebuild of
  41418. the COM bindings.
  41419. 2008-02-04 David Harrison <harrison@apple.com>
  41420. Reviewed by Tim Hatcher.
  41421. - fix <rdar://problem/5715481> REGRESSION (r26499): JavaScript document.lastModified is not supported
  41422. Re-add attribute inadvertantly lost by r26499.
  41423. Test: fast/js/lastModified.html: Added.
  41424. * dom/Document.idl:
  41425. Add lastModified.
  41426. 2008-02-04 Darin Adler <darin@apple.com>
  41427. Reviewed by Geoff.
  41428. - fix <rdar://problem/5713621> Threading issue when destroying database transaction callback
  41429. Do main-thread-only stuff on the main thread.
  41430. Not clear how to make a regression test for this.
  41431. * bindings/js/JSCustomSQLTransactionCallback.cpp:
  41432. (WebCore::JSCustomSQLTransactionCallback::Data::Data): Added.
  41433. (WebCore::JSCustomSQLTransactionCallback::Data::callback): Added.
  41434. (WebCore::JSCustomSQLTransactionCallback::Data::frame): Added.
  41435. (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback): Put data into a
  41436. separate Data object; we'll destroy it on the main thread.
  41437. (WebCore::JSCustomSQLTransactionCallback::deleteData): Added.
  41438. (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback): Call the
  41439. deleteData function on the main thread.
  41440. (WebCore::JSCustomSQLTransactionCallback::handleEvent): Updated to get at fields through the
  41441. m_data object.
  41442. * bindings/js/JSCustomSQLTransactionCallback.h: Declare deleteData, Data, and m_data rather
  41443. than m_callback and m_frame.
  41444. 2008-02-04 Adam Roben <aroben@apple.com>
  41445. Fix the search field if the inpsected Document has overridden
  41446. Document.evaluate or Document.querySelectorAll
  41447. Reviewed by Darin.
  41448. * manual-tests/inspector-document-methods-override.html: Added.
  41449. * page/InspectorController.cpp:
  41450. (WebCore::InspectorController::didCommitLoad): Reworded a comment to
  41451. force WebCore.vcproj to build.
  41452. * page/inspector/inspector.js: Call
  41453. Document.prototype.{evaluate,querySelectorAll}.call instead of calling
  41454. the functions directly on the inspected Document. This ensures we are
  41455. calling the version of these functions we intended to.
  41456. 2008-02-04 Darin Adler <darin@apple.com>
  41457. Reviewed by Tim Hatcher.
  41458. - possible fix for <rdar://problem/5714030> Crash in Database::deliverAllPendingCallbacks()
  41459. reloading a page quickly
  41460. I don't fully understand the cause of the crash, but I think this might
  41461. be a helpful change.
  41462. * platform/sql/SQLiteTransaction.cpp:
  41463. (WebCore::SQLiteTransaction::commit): If the commit fails, don't leave this
  41464. transaction and database both marked as "still in progress". As far as I can
  41465. tell this does no good, and also seems to do harm.
  41466. (WebCore::SQLiteTransaction::rollback): Ditto.
  41467. * storage/Database.cpp:
  41468. (WebCore::Database::performTransactionStep): Add some assertions to
  41469. detect databases stuck in the "transaction in progress" state.
  41470. * storage/SQLTransaction.cpp:
  41471. (WebCore::SQLTransaction::openTransactionAndPreflight): Ditto.
  41472. (WebCore::SQLTransaction::postflightAndCommit): Ditto.
  41473. (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto.
  41474. 2008-02-04 Darin Adler <darin@apple.com>
  41475. Reviewed by Geoff.
  41476. - fix <rdar://problem/5715692> REGRESSION (r28570): JavaScript window.scrollTo()
  41477. calls no longer accept 'undefined' values
  41478. By default, we should accept non-numeric parameters and non-integral numbers for
  41479. parameters that expect integers, without throwing exceptions.
  41480. While creating the test for this, I ran into a couple minor bugs with the
  41481. functions involved, and this patch fixes those too.
  41482. Test: fast/dom/non-numeric-values-numeric-parameters.html
  41483. * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
  41484. (WebCore::JSHTMLOptionsCollection::add): Added. This function has unusual behavior
  41485. when passed non-integral values for its second parameter, so it needs to be written
  41486. by hand. I think that [Custom] is better here than inventing a new keyword.
  41487. * bindings/scripts/CodeGeneratorJS.pm: Changed default for "long" and "unsigned long"
  41488. to ignore errors rather than failing due to type differences. Also changed a couple
  41489. functions to use hashes.
  41490. * css/CSSStyleSheet.h:
  41491. (WebCore::CSSStyleSheet::removeRule): Remove overload of removeRule without a second
  41492. parameters. While we do allow this from JavaScript, it's not a true optional parameter,
  41493. but rather just a case of "you can omit parameters and they are treated as undefined"
  41494. combined with "undefined turns into 0 when passed to a function that takes an integer".
  41495. * css/CSSStyleSheet.idl: Removed [Optional] on the index parameter for removeRule.
  41496. This is not truly an optional parameter.
  41497. * dom/ProgressEvent.cpp:
  41498. (WebCore::ProgressEvent::initProgressEvent): Updated this function to match other
  41499. DOM event init functions -- important to do nothing if this is called on the an
  41500. already-dispatched event and we need to respect the bubble and cancelable arguments.
  41501. Also removed initProgressEventNS. We don't support namespaced events, and if we add
  41502. support, it should be across all event classes, not just ProgressEvent.
  41503. * dom/ProgressEvent.h: Removed initProgressEventNS.
  41504. * dom/ProgressEvent.idl: Ditto.
  41505. * dom/Range.cpp:
  41506. (WebCore::Range::createContextualFragment): Added a check for 0. This can happen
  41507. if the passed-in start container is a node that's not an HTML element and also
  41508. does not have a parent.
  41509. * html/HTMLOptionsCollection.idl: Added the [Custom] attribute to add, since the
  41510. rules for processing its parameters are unusual.
  41511. * page/DOMSelection.cpp: Removed the version of setPosition that has only
  41512. one parameter. The offset is not really optional.
  41513. * page/DOMSelection.h: Ditto.
  41514. * page/DOMSelection.idl: Removed the [Optional] keyword for the second parameter of
  41515. setPosition. It's not a true optional parameter (see discussion of removeRule above).
  41516. * page/DOMWindow.cpp:
  41517. (WebCore::DOMWindow::adjustWindowRect): Simplified logic for constraining the X
  41518. and Y coordinates, in a way that makes them work even when the window coordinates
  41519. are infinite. Also strengthened the assertion.
  41520. 2008-02-04 Alp Toker <alp@atoker.com>
  41521. Rubber-stamped by Mark Rowe.
  41522. Remove all trailing whitespace in the GTK+ port and related
  41523. components.
  41524. * GNUmakefile.am:
  41525. * page/gtk/DragControllerGtk.cpp:
  41526. (WebCore::DragController::dragOperation):
  41527. (WebCore::DragController::maxDragImageSize):
  41528. * page/gtk/EventHandlerGtk.cpp:
  41529. (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
  41530. (WebCore::EventHandler::createDraggingClipboard):
  41531. * page/gtk/FrameGtk.cpp:
  41532. (WebCore::Frame::dragImageForSelection):
  41533. * platform/graphics/cairo/AffineTransformCairo.cpp:
  41534. (WebCore::AffineTransform::mapRect):
  41535. (WebCore::AffineTransform::isIdentity):
  41536. (WebCore::AffineTransform::operator== ):
  41537. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  41538. (WebCore::GraphicsContext::drawLine):
  41539. * platform/graphics/cairo/ImageBufferCairo.cpp:
  41540. * platform/graphics/cairo/ImageCairo.cpp:
  41541. * platform/graphics/cairo/ImageSourceCairo.cpp:
  41542. (WebCore::createDecoder):
  41543. * platform/graphics/gtk/FontCacheGtk.cpp:
  41544. * platform/graphics/gtk/FontGtk.cpp:
  41545. * platform/graphics/gtk/FontPlatformData.h:
  41546. * platform/graphics/gtk/FontPlatformDataGtk.cpp:
  41547. * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp:
  41548. * platform/graphics/gtk/IconGtk.cpp:
  41549. * platform/graphics/gtk/ImageGtk.cpp:
  41550. * platform/graphics/gtk/SimpleFontDataGtk.cpp:
  41551. * platform/gtk/ClipboardGtk.h:
  41552. * platform/gtk/ContextMenuItemGtk.cpp:
  41553. (WebCore::ContextMenuItem::createNativeMenuItem):
  41554. * platform/gtk/CursorGtk.cpp:
  41555. * platform/gtk/DragDataGtk.cpp:
  41556. * platform/gtk/DragImageGtk.cpp:
  41557. (WebCore::createDragImageIconForCachedImage):
  41558. * platform/gtk/FileChooserGtk.cpp:
  41559. (WebCore::stringByAdoptingFileSystemRepresentation):
  41560. * platform/gtk/FileSystemGtk.cpp:
  41561. (WebCore::fileExists):
  41562. (WebCore::deleteFile):
  41563. (WebCore::deleteEmptyDirectory):
  41564. * platform/gtk/KeyEventGtk.cpp:
  41565. * platform/gtk/KeyboardCodes.h:
  41566. * platform/gtk/LocalizedStringsGtk.cpp:
  41567. (WebCore::inputElementAltText):
  41568. (WebCore::resetButtonDefaultLabel):
  41569. (WebCore::fileButtonChooseFileLabel):
  41570. (WebCore::fileButtonNoFileSelectedLabel):
  41571. (WebCore::contextMenuItemTagOpenImageInNewWindow):
  41572. * platform/gtk/MIMETypeRegistryGtk.cpp:
  41573. * platform/gtk/MouseEventGtk.cpp:
  41574. * platform/gtk/PasteboardGtk.cpp:
  41575. (WebCore::PasteboardSelectionData::markup):
  41576. (WebCore::Pasteboard::writeSelection):
  41577. * platform/gtk/PasteboardHelper.h:
  41578. * platform/gtk/PlatformScreenGtk.cpp:
  41579. (WebCore::screenDepth):
  41580. (WebCore::screenIsMonochrome):
  41581. (WebCore::screenRect):
  41582. (WebCore::screenAvailableRect):
  41583. * platform/gtk/PlatformScrollBar.h:
  41584. * platform/gtk/PlatformScrollBarGtk.cpp:
  41585. (PlatformScrollbar::PlatformScrollbar):
  41586. (PlatformScrollbar::updateThumbPosition):
  41587. * platform/gtk/PopupMenuGtk.cpp:
  41588. (WebCore::PopupMenu::updateFromElement):
  41589. * platform/gtk/RenderThemeGtk.h:
  41590. * platform/gtk/ScrollViewGtk.cpp:
  41591. (WebCore::ScrollView::scrollBy):
  41592. (WebCore::ScrollView::addChild):
  41593. (WebCore::ScrollView::updateScrollbars):
  41594. (WebCore::ScrollView::windowToContents):
  41595. (WebCore::ScrollView::contentsToWindow):
  41596. (WebCore::ScrollView::scrollbarUnderMouse):
  41597. * platform/gtk/SearchPopupMenuGtk.cpp:
  41598. * platform/gtk/SharedTimerGtk.cpp:
  41599. * platform/gtk/SystemTimeLinux.cpp:
  41600. (WebCore::currentTime):
  41601. * platform/gtk/TemporaryLinkStubs.cpp:
  41602. (PlugInInfoStore::pluginNameForMIMEType):
  41603. * platform/gtk/ThreadingGtk.cpp:
  41604. (WebCore::establishIdentifierForThread):
  41605. (WebCore::threadForIdentifier):
  41606. (WebCore::clearThreadForIdentifier):
  41607. (WebCore::ThreadCondition::ThreadCondition):
  41608. * platform/gtk/WheelEventGtk.cpp:
  41609. * platform/gtk/WidgetGtk.cpp:
  41610. * platform/network/curl/ResourceHandleCurl.cpp:
  41611. * platform/network/curl/ResourceHandleManager.cpp:
  41612. (WebCore::ResourceHandleManager::setupPOST):
  41613. * platform/network/curl/ResourceHandleManager.h:
  41614. * platform/network/curl/ResourceRequest.h:
  41615. (WebCore::ResourceRequest::ResourceRequest):
  41616. * platform/network/curl/ResourceResponse.h:
  41617. 2008-02-03 Christian Dywan <christian@imendio.com>
  41618. Reviewed by Alp Toker.
  41619. http://bugs.webkit.org/show_bug.cgi?id=17046
  41620. [GTK] Context menu fixes and customisation suport
  41621. Provide standard GTK+ context menu items where appropriate.
  41622. Note that this change makes direct use of WebKit from WebCore which is
  41623. against WebKit/GTK+ guidelines. The ContextMenu abstraction should be
  41624. fixed at some point.
  41625. * page/ContextMenuController.cpp:
  41626. (WebCore::ContextMenuController::contextMenuItemSelected):
  41627. * platform/ContextMenu.cpp:
  41628. (WebCore::createAndAppendInputMethodsSubMenu):
  41629. (WebCore::insertControlCharacter):
  41630. (WebCore::createAndAppendUnicodeSubMenu):
  41631. (WebCore::ContextMenu::populate):
  41632. (ContextMenu::checkOrEnableIfNeeded):
  41633. * platform/ContextMenuItem.h:
  41634. * platform/LocalizedStrings.h:
  41635. * platform/gtk/ContextMenuItemGtk.cpp:
  41636. (WebCore::gtkStockIDFromContextMenuAction):
  41637. * platform/gtk/LocalizedStringsGtk.cpp:
  41638. (WebCore::gtkStockLabel):
  41639. (WebCore::contextMenuItemTagCopy):
  41640. (WebCore::contextMenuItemTagDelete):
  41641. (WebCore::contextMenuItemTagSelectAll):
  41642. (WebCore::contextMenuItemTagUnicode):
  41643. (WebCore::contextMenuItemTagInputMethods):
  41644. (WebCore::contextMenuItemTagGoBack):
  41645. (WebCore::contextMenuItemTagGoForward):
  41646. (WebCore::contextMenuItemTagStop):
  41647. (WebCore::contextMenuItemTagCut):
  41648. (WebCore::contextMenuItemTagPaste):
  41649. (WebCore::contextMenuItemTagBold):
  41650. (WebCore::contextMenuItemTagItalic):
  41651. (WebCore::contextMenuItemTagUnderline):
  41652. 2008-02-03 Oliver Hunt <oliver@apple.com>
  41653. Reviewed by Maciej.
  41654. Bug 17169: Support transform on Canvas
  41655. Nice and simple patch as the cross-platform code to apply
  41656. a transform was already there.
  41657. Tests: fast/canvas/canvas-transform-identity.html
  41658. fast/canvas/canvas-transform-infinity.html
  41659. fast/canvas/canvas-transform-multiply.html
  41660. fast/canvas/canvas-transform-nan.html
  41661. fast/canvas/canvas-transform-skewed.html
  41662. * html/CanvasRenderingContext2D.cpp:
  41663. (WebCore::CanvasRenderingContext2D::transform):
  41664. * html/CanvasRenderingContext2D.h:
  41665. * html/CanvasRenderingContext2D.idl:
  41666. 2008-02-03 Nikolas Zimmermann <zimmermann@kde.org>
  41667. Reviewed by Oliver.
  41668. Fix mistake in SVGImageElement, breaking "Dock" example of carto.net
  41669. It was comparing against the wrong attribute names in svgAttributeChanged().
  41670. Added testcase: svg/custom/js-update-image.svg
  41671. * svg/SVGImageElement.cpp:
  41672. (WebCore::SVGImageElement::svgAttributeChanged):
  41673. 2008-02-03 Eric Seidel <eric@webkit.org>
  41674. Reviewed by darin.
  41675. Acid3 expects textNode.localName === null
  41676. http://bugs.webkit.org/show_bug.cgi?id=17060
  41677. Test: fast/dom/Node/initial-values.html
  41678. * dom/Comment.cpp: remove localName implementation
  41679. * dom/Comment.h:
  41680. * dom/Node.cpp: return nullAtom instead of emptyAtom
  41681. * dom/Text.cpp: remove localName implementation
  41682. * dom/Text.h:
  41683. 2008-02-03 Eric Seidel <eric@webkit.org>
  41684. Reviewed by darin.
  41685. Make createElementNS and createAttributeNS follow the (vague) DOM Core 2 spec
  41686. by throwing exceptions for more types of invalid qualified names.
  41687. http://bugs.webkit.org/show_bug.cgi?id=16833
  41688. Tests: fast/dom/Document/createAttributeNS-namespace-err.html
  41689. fast/dom/Document/createElementNS-namespace-err.html
  41690. * dom/Document.cpp:
  41691. (WebCore::Document::createElement):
  41692. (WebCore::hasNamespaceError):
  41693. (WebCore::Document::createElementNS):
  41694. (WebCore::Document::createAttributeNS):
  41695. * dom/Document.idl:
  41696. 2008-02-03 Nikolas Zimmermann <zimmermann@kde.org>
  41697. Reviewed by Eric.
  41698. Fixes: http://bugs.webkit.org/show_bug.cgi?id=15394
  41699. Dramatically improve dynamic update performance in DOM / SVG DOM.
  41700. The notifyAttributeChange() sledgehammer is gone now. It was implemented on quite a lot of
  41701. SVG*Element classes and blindly reacted on any property change caused by DOM / SVG DOM
  41702. by rebuilding style/renderer etc. without actually checking what changed. SVG used a hack
  41703. for years that attributeChanged() called notifyAttributeChange() - which results in poor
  41704. scripting performance and/or dynamic creation/modification of elements using SVG DOM.
  41705. Properly implement childrenChanged / attributeChanged in SVG with some derivation from the HTML code.
  41706. Our SVG* element classes implement "svgAttributeChanged(const QualifiedName&)" instead of
  41707. "attributeChanged(Attribute*...)" to be able to unify DOM / SVG DOM updates. SVG DOM classes
  41708. are aware of the attribute name they belong to. So when using "rectElement.transform.baseVal.getItem(0).setRotate(45)"
  41709. SVG DOM updates the <rect> element by calling svgAttributeChanged(SVGNames::transformAttr) on the corresponding
  41710. SVGRectElement. So we're now able to handle fast dynamic updates in a unified way - leading to less bugs.
  41711. HTML dynamic updates vs. SVG dynamic updates:
  41712. HTML:
  41713. 1) setAttribute("foo", "bar") -> attributeChanged -> parseMappedAttribute -> setChanged/setNeedsLayout
  41714. 2) someObject.foo = "bar" -> HTML code maps to setAttribute calls, ends up taking the same route as 1)
  41715. 3) someObject.style.foo = "bar" -> setChanged -> recalcStyle (possible relayout)
  41716. SVG:
  41717. 1) setAttribute("foo", "bar") -> attributeChanged -> svgAttributeChanged -> parseMappedAttribute -> setChanged/setNeedsLayout
  41718. 2) same, currently most functions are not yet converted to this new system! (most noticeable in SVGMarkerElement::setOrientToAngle)
  41719. 3) same
  41720. 4) someRectElement.x.baseVal.value = 100 -> svgAttributeChanged -> setChanged/setNeedsLayout (special SVG DOM updating)
  41721. The new SVG DOM updating concept 4) uses the same updating logic as 1) and 2), so we're actually modelling the HTML way.
  41722. SVG handles calling setChanged/setNeedsLayout in svgAttributeChanged, unlike HTML which uses parseMappedAttribute for that.
  41723. Only updated all elements necessary to let us pass layout tests w/o regressions. Need to crawl through
  41724. all SVG*Element classes and implement svgAttributeChanged / childrenChanged anywhere needed in a follow-up patch.
  41725. * bindings/js/JSSVGPODTypeWrapper.h:
  41726. (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::commitChange):
  41727. (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::commitChange):
  41728. (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
  41729. (WebCore::JSSVGPODTypeWrapperCreatorForList::operator PODType):
  41730. (WebCore::JSSVGPODTypeWrapperCreatorForList::commitChange):
  41731. * bindings/js/JSSVGPathSegListCustom.cpp:
  41732. (WebCore::JSSVGPathSegList::clear):
  41733. (WebCore::JSSVGPathSegList::initialize):
  41734. (WebCore::JSSVGPathSegList::insertItemBefore):
  41735. (WebCore::JSSVGPathSegList::replaceItem):
  41736. (WebCore::JSSVGPathSegList::removeItem):
  41737. (WebCore::JSSVGPathSegList::appendItem):
  41738. * bindings/js/JSSVGPointListCustom.cpp:
  41739. (WebCore::JSSVGPointList::clear):
  41740. (WebCore::JSSVGPointList::initialize):
  41741. (WebCore::JSSVGPointList::getItem):
  41742. (WebCore::JSSVGPointList::insertItemBefore):
  41743. (WebCore::JSSVGPointList::replaceItem):
  41744. (WebCore::JSSVGPointList::removeItem):
  41745. (WebCore::JSSVGPointList::appendItem):
  41746. * bindings/js/JSSVGTransformListCustom.cpp:
  41747. (WebCore::JSSVGTransformList::clear):
  41748. (WebCore::JSSVGTransformList::initialize):
  41749. (WebCore::JSSVGTransformList::getItem):
  41750. (WebCore::JSSVGTransformList::insertItemBefore):
  41751. (WebCore::JSSVGTransformList::replaceItem):
  41752. (WebCore::JSSVGTransformList::removeItem):
  41753. (WebCore::JSSVGTransformList::appendItem):
  41754. * bindings/scripts/CodeGeneratorJS.pm:
  41755. * rendering/RenderSVGGradientStop.cpp:
  41756. (WebCore::RenderSVGGradientStop::setStyle):
  41757. * rendering/RenderSVGGradientStop.h:
  41758. * svg/SVGAElement.cpp:
  41759. (WebCore::SVGAElement::defaultEventHandler):
  41760. * svg/SVGAElement.h:
  41761. * svg/SVGAngle.cpp:
  41762. * svg/SVGAngle.h:
  41763. (WebCore::SVGAngle::associatedAttributeName):
  41764. * svg/SVGAnimatedTemplate.h:
  41765. (WebCore::SVGAnimatedTemplate::SVGAnimatedTemplate):
  41766. (WebCore::SVGAnimatedTemplate::wrapperCache):
  41767. (WebCore::SVGAnimatedTemplate::associatedAttributeName):
  41768. (WebCore::lookupOrCreateWrapper):
  41769. * svg/SVGAnimationElement.cpp:
  41770. (WebCore::SVGAnimationElement::parseBeginOrEndValue):
  41771. * svg/SVGAnimationElement.h:
  41772. * svg/SVGCircleElement.cpp:
  41773. (WebCore::SVGCircleElement::svgAttributeChanged):
  41774. * svg/SVGCircleElement.h:
  41775. * svg/SVGClipPathElement.cpp:
  41776. (WebCore::SVGClipPathElement::svgAttributeChanged):
  41777. (WebCore::SVGClipPathElement::childrenChanged):
  41778. (WebCore::SVGClipPathElement::canvasResource):
  41779. * svg/SVGClipPathElement.h:
  41780. (WebCore::SVGClipPathElement::isValid):
  41781. (WebCore::SVGClipPathElement::rendererIsNeeded):
  41782. * svg/SVGComponentTransferFunctionElement.cpp:
  41783. (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
  41784. * svg/SVGComponentTransferFunctionElement.h:
  41785. * svg/SVGCursorElement.cpp:
  41786. * svg/SVGElement.cpp:
  41787. (WebCore::SVGElement::insertedIntoDocument):
  41788. (WebCore::SVGElement::attributeChanged):
  41789. * svg/SVGElement.h:
  41790. (WebCore::SVGElement::svgAttributeChanged):
  41791. * svg/SVGEllipseElement.cpp:
  41792. (WebCore::SVGEllipseElement::svgAttributeChanged):
  41793. * svg/SVGEllipseElement.h:
  41794. * svg/SVGExternalResourcesRequired.cpp:
  41795. (WebCore::SVGExternalResourcesRequired::isKnownAttribute):
  41796. * svg/SVGExternalResourcesRequired.h:
  41797. * svg/SVGFEBlendElement.cpp:
  41798. * svg/SVGFEColorMatrixElement.cpp:
  41799. (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
  41800. * svg/SVGFEComponentTransferElement.cpp:
  41801. * svg/SVGFECompositeElement.cpp:
  41802. * svg/SVGFEDiffuseLightingElement.cpp:
  41803. * svg/SVGFEDisplacementMapElement.cpp:
  41804. * svg/SVGFEFloodElement.cpp:
  41805. * svg/SVGFEGaussianBlurElement.cpp:
  41806. * svg/SVGFEImageElement.cpp:
  41807. * svg/SVGFELightElement.cpp:
  41808. * svg/SVGFEMergeNodeElement.cpp:
  41809. * svg/SVGFEOffsetElement.cpp:
  41810. * svg/SVGFESpecularLightingElement.cpp:
  41811. * svg/SVGFETileElement.cpp:
  41812. * svg/SVGFETurbulenceElement.cpp:
  41813. * svg/SVGFilterElement.cpp:
  41814. * svg/SVGFilterPrimitiveStandardAttributes.cpp:
  41815. * svg/SVGFitToViewBox.cpp:
  41816. (WebCore::SVGFitToViewBox::isKnownAttribute):
  41817. * svg/SVGFitToViewBox.h:
  41818. * svg/SVGForeignObjectElement.cpp:
  41819. * svg/SVGGElement.cpp:
  41820. (WebCore::SVGGElement::svgAttributeChanged):
  41821. (WebCore::SVGGElement::childrenChanged):
  41822. * svg/SVGGElement.h:
  41823. * svg/SVGGradientElement.cpp:
  41824. (WebCore::SVGGradientElement::SVGGradientElement):
  41825. (WebCore::SVGGradientElement::svgAttributeChanged):
  41826. (WebCore::SVGGradientElement::childrenChanged):
  41827. (WebCore::SVGGradientElement::buildStops):
  41828. * svg/SVGGradientElement.h:
  41829. * svg/SVGImageElement.cpp:
  41830. (WebCore::SVGImageElement::parseMappedAttribute):
  41831. (WebCore::SVGImageElement::svgAttributeChanged):
  41832. * svg/SVGImageElement.h:
  41833. * svg/SVGLangSpace.cpp:
  41834. (WebCore::SVGLangSpace::isKnownAttribute):
  41835. * svg/SVGLangSpace.h:
  41836. * svg/SVGLengthList.cpp:
  41837. (WebCore::SVGLengthList::SVGLengthList):
  41838. * svg/SVGLengthList.h:
  41839. * svg/SVGLineElement.cpp:
  41840. (WebCore::SVGLineElement::svgAttributeChanged):
  41841. * svg/SVGLineElement.h:
  41842. * svg/SVGLinearGradientElement.cpp:
  41843. (WebCore::SVGLinearGradientElement::svgAttributeChanged):
  41844. * svg/SVGLinearGradientElement.h:
  41845. * svg/SVGList.h:
  41846. (WebCore::SVGList::SVGList):
  41847. (WebCore::SVGList::associatedAttributeName):
  41848. (WebCore::SVGPODList::SVGPODList):
  41849. * svg/SVGMarkerElement.cpp:
  41850. (WebCore::SVGMarkerElement::svgAttributeChanged):
  41851. (WebCore::SVGMarkerElement::childrenChanged):
  41852. * svg/SVGMarkerElement.h:
  41853. * svg/SVGMaskElement.cpp:
  41854. (WebCore::SVGMaskElement::svgAttributeChanged):
  41855. (WebCore::SVGMaskElement::childrenChanged):
  41856. * svg/SVGMaskElement.h:
  41857. * svg/SVGNumberList.cpp:
  41858. (WebCore::SVGNumberList::SVGNumberList):
  41859. * svg/SVGNumberList.h:
  41860. * svg/SVGPathElement.cpp:
  41861. (WebCore::SVGPathElement::svgAttributeChanged):
  41862. (WebCore::SVGPathElement::pathSegList):
  41863. * svg/SVGPathElement.h:
  41864. * svg/SVGPathSeg.h:
  41865. (WebCore::SVGPathSeg::associatedAttributeName):
  41866. * svg/SVGPathSegList.cpp:
  41867. (WebCore::SVGPathSegList::SVGPathSegList):
  41868. * svg/SVGPathSegList.h:
  41869. * svg/SVGPatternElement.cpp:
  41870. (WebCore::SVGPatternElement::SVGPatternElement):
  41871. (WebCore::SVGPatternElement::svgAttributeChanged):
  41872. (WebCore::SVGPatternElement::childrenChanged):
  41873. * svg/SVGPatternElement.h:
  41874. * svg/SVGPointList.cpp:
  41875. (WebCore::SVGPointList::SVGPointList):
  41876. * svg/SVGPointList.h:
  41877. * svg/SVGPolyElement.cpp:
  41878. (WebCore::SVGPolyElement::SVGPolyElement):
  41879. (WebCore::SVGPolyElement::points):
  41880. (WebCore::SVGPolyElement::parseMappedAttribute):
  41881. (WebCore::SVGPolyElement::svgAttributeChanged):
  41882. * svg/SVGPolyElement.h:
  41883. * svg/SVGPolygonElement.cpp:
  41884. * svg/SVGPolygonElement.h:
  41885. * svg/SVGPolylineElement.cpp:
  41886. * svg/SVGPolylineElement.h:
  41887. * svg/SVGPreserveAspectRatio.cpp:
  41888. * svg/SVGPreserveAspectRatio.h:
  41889. (WebCore::SVGPreserveAspectRatio::associatedAttributeName):
  41890. * svg/SVGRadialGradientElement.cpp:
  41891. (WebCore::SVGRadialGradientElement::svgAttributeChanged):
  41892. * svg/SVGRadialGradientElement.h:
  41893. * svg/SVGRectElement.cpp:
  41894. (WebCore::SVGRectElement::svgAttributeChanged):
  41895. * svg/SVGRectElement.h:
  41896. * svg/SVGSVGElement.cpp:
  41897. (WebCore::SVGSVGElement::parseMappedAttribute):
  41898. (WebCore::SVGSVGElement::svgAttributeChanged):
  41899. * svg/SVGSVGElement.h:
  41900. * svg/SVGStopElement.cpp:
  41901. (WebCore::SVGStopElement::parseMappedAttribute):
  41902. (WebCore::SVGStopElement::createRenderer):
  41903. * svg/SVGStopElement.h:
  41904. * svg/SVGStringList.cpp:
  41905. (WebCore::SVGStringList::SVGStringList):
  41906. * svg/SVGStringList.h:
  41907. * svg/SVGStylable.cpp:
  41908. * svg/SVGStylable.h:
  41909. * svg/SVGStyledElement.cpp:
  41910. (WebCore::SVGStyledElement::isKnownAttribute):
  41911. (WebCore::SVGStyledElement::svgAttributeChanged):
  41912. (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
  41913. (WebCore::SVGStyledElement::childrenChanged):
  41914. * svg/SVGStyledElement.h:
  41915. * svg/SVGStyledLocatableElement.cpp:
  41916. * svg/SVGStyledLocatableElement.h:
  41917. * svg/SVGStyledTransformableElement.cpp:
  41918. (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
  41919. (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
  41920. (WebCore::SVGStyledTransformableElement::isKnownAttribute):
  41921. * svg/SVGStyledTransformableElement.h:
  41922. * svg/SVGTests.cpp:
  41923. (WebCore::SVGTests::requiredFeatures):
  41924. (WebCore::SVGTests::requiredExtensions):
  41925. (WebCore::SVGTests::systemLanguage):
  41926. (WebCore::SVGTests::isKnownAttribute):
  41927. * svg/SVGTests.h:
  41928. * svg/SVGTextContentElement.cpp:
  41929. * svg/SVGTextElement.cpp:
  41930. (WebCore::SVGTextElement::SVGTextElement):
  41931. * svg/SVGTextElement.h:
  41932. * svg/SVGTextPathElement.cpp:
  41933. * svg/SVGTextPathElement.h:
  41934. * svg/SVGTextPositioningElement.cpp:
  41935. (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
  41936. * svg/SVGTextPositioningElement.h:
  41937. * svg/SVGTransformList.cpp:
  41938. (SVGTransformList::SVGTransformList):
  41939. * svg/SVGTransformList.h:
  41940. * svg/SVGTransformable.cpp:
  41941. (WebCore::SVGTransformable::isKnownAttribute):
  41942. * svg/SVGTransformable.h:
  41943. * svg/SVGURIReference.cpp:
  41944. (WebCore::SVGURIReference::isKnownAttribute):
  41945. * svg/SVGURIReference.h:
  41946. * svg/SVGUseElement.cpp:
  41947. (WebCore::SVGUseElement::insertedIntoDocument):
  41948. (WebCore::SVGUseElement::svgAttributeChanged):
  41949. (WebCore::SVGUseElement::childrenChanged):
  41950. (WebCore::SVGUseElement::buildPendingResource):
  41951. * svg/SVGUseElement.h:
  41952. * svg/SVGViewElement.cpp:
  41953. (WebCore::SVGViewElement::SVGViewElement):
  41954. (WebCore::SVGViewElement::viewTarget):
  41955. (WebCore::SVGViewElement::parseMappedAttribute):
  41956. * svg/SVGViewElement.h:
  41957. * svg/SVGViewSpec.cpp:
  41958. (WebCore::SVGViewSpec::SVGViewSpec):
  41959. * svg/SVGViewSpec.h:
  41960. * svg/SVGZoomAndPan.cpp:
  41961. (WebCore::SVGZoomAndPan::isKnownAttribute):
  41962. * svg/SVGZoomAndPan.h:
  41963. * svg/graphics/SVGResource.cpp:
  41964. (WebCore::SVGResource::invalidate):
  41965. (WebCore::SVGResource::invalidateClients):
  41966. (WebCore::SVGResource::addClient):
  41967. * svg/graphics/SVGResource.h:
  41968. * svg/graphics/SVGResourceMasker.cpp:
  41969. (WebCore::SVGResourceMasker::invalidate):
  41970. * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
  41971. (WebCore::SVGPaintServerGradient::invalidate):
  41972. * svg/graphics/filters/SVGFEImage.cpp:
  41973. (WebCore::SVGFEImage::imageChanged):
  41974. 2008-02-03 Kevin Ollivier <kevino@theolliviers.com>
  41975. Build fix for last wx commit (a couple things were not committed).
  41976. * platform/ScrollView.h:
  41977. * platform/Widget.h:
  41978. 2008-02-03 Kevin Ollivier <kevino@theolliviers.com>
  41979. Clean up overlooked coding guideline issues from last commit.
  41980. * platform/wx/ScrollViewWx.cpp:
  41981. (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
  41982. (WebCore::ScrollView::update):
  41983. (WebCore::ScrollView::scrollBy):
  41984. (WebCore::ScrollView::resizeContents):
  41985. (WebCore::ScrollView::adjustScrollbars):
  41986. (WebCore::ScrollView::setScrollbarsMode):
  41987. (WebCore::ScrollView::setHScrollbarMode):
  41988. (WebCore::ScrollView::setVScrollbarMode):
  41989. (WebCore::ScrollView::suppressScrollbars):
  41990. * platform/wx/WidgetWx.cpp:
  41991. (WebCore::Widget::setCursor):
  41992. 2008-02-03 Kevin Watters <kevinwatters@gmail.com>
  41993. Reviewed by Kevin Ollivier.
  41994. * platform/wx/RenderThemeWx.cpp:
  41995. (WebCore::RenderThemeWx::paintButton):
  41996. * platform/wx/ScrollViewWx.cpp:
  41997. (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
  41998. (WebCore::ScrollView::ScrollViewPrivate::bindEvents):
  41999. (WebCore::ScrollView::ScrollViewPrivate::OnMouseWheelEvents):
  42000. (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
  42001. (WebCore::ScrollView::ScrollView):
  42002. (WebCore::ScrollView::setNativeWindow):
  42003. (WebCore::ScrollView::updateContents):
  42004. (WebCore::ScrollView::update):
  42005. (WebCore::ScrollView::visibleWidth):
  42006. (WebCore::ScrollView::visibleHeight):
  42007. (WebCore::ScrollView::setContentsPos):
  42008. (WebCore::ScrollView::scrollBy):
  42009. (WebCore::ScrollView::resizeContents):
  42010. (WebCore::ScrollView::contentsX):
  42011. (WebCore::ScrollView::contentsY):
  42012. (WebCore::ScrollView::contentsWidth):
  42013. (WebCore::ScrollView::contentsHeight):
  42014. (WebCore::ScrollView::AdjustScrollbars):
  42015. (WebCore::ScrollView::setScrollbarsMode):
  42016. (WebCore::ScrollView::setHScrollbarMode):
  42017. (WebCore::ScrollView::setVScrollbarMode):
  42018. (WebCore::ScrollView::suppressScrollbars):
  42019. (WebCore::ScrollView::inWindow):
  42020. (WebCore::ScrollView::wheelEvent):
  42021. (WebCore::ScrollView::addChild):
  42022. (WebCore::ScrollView::removeChild):
  42023. (WebCore::ScrollView::children):
  42024. (WebCore::ScrollView::scrollRectIntoViewRecursively):
  42025. (WebCore::ScrollView::scrollbarUnderMouse):
  42026. * platform/wx/WidgetWx.cpp:
  42027. (WebCore::Widget::Widget):
  42028. (WebCore::Widget::~Widget):
  42029. (WebCore::Widget::nativeWindow):
  42030. (WebCore::Widget::setNativeWindow):
  42031. 2008-02-02 David Hyatt <hyatt@apple.com>
  42032. Fix for bug 5468, support CSS3 :only-child and :only-of-type selectors.
  42033. Reviewed by olliej
  42034. Added fast/css/only-child-pseudo-class.html, fast/css/only-of-type-pseudo-class.html
  42035. * css/CSSSelector.cpp:
  42036. (WebCore::CSSSelector::extractPseudoType):
  42037. * css/CSSSelector.h:
  42038. (WebCore::CSSSelector::):
  42039. * css/CSSStyleSelector.cpp:
  42040. (WebCore::CSSStyleSelector::checkOneSelector):
  42041. 2008-02-02 Darin Adler <darin@apple.com>
  42042. Reviewed by Geoff Garen.
  42043. PLT speedup related to <rdar://problem/5659272> REGRESSION: PLT .4%
  42044. slower due to r28884 (global variable symbol table optimization)
  42045. * history/CachedPage.cpp:
  42046. (WebCore::CachedPage::CachedPage): Removed saveSymbolTable call.
  42047. (WebCore::CachedPage::restore): Removed restoreSymbolTable call.
  42048. (WebCore::CachedPage::clear): Removed clear of m_windowSymbolTable.
  42049. * history/CachedPage.h: Removed m_windowSymbolTable, since save/restoreLocalStorage
  42050. now takes care of the symbol table. Also removed many unnecessary includes.
  42051. 2008-02-02 Tony Chang <idealisms@gmail.com>
  42052. Reviewed by eseidel.
  42053. Add an include for for <objidl.h> which isn't included
  42054. by default with WIN32_LEAN_AND_MEAN.
  42055. * platform/graphics/FontCache.h:
  42056. 2008-02-02 Kevin Watters <kevin@dotsyntax.com>
  42057. Reviewed by Kevin Ollivier.
  42058. wxFont is reference counted and meant to be used as as a value
  42059. object; when using wxFont*, ref-counting was not happening properly
  42060. and the font object would be destroyed while still in use.
  42061. Also, fix memory leak in wx's FrameData::clear() method.
  42062. * platform/graphics/SimpleFontData.h:
  42063. (WebCore::SimpleFontData::getWxFont):
  42064. * platform/graphics/wx/FontPlatformData.h:
  42065. (WebCore::FontPlatformData::):
  42066. (WebCore::FontPlatformData::FontPlatformData):
  42067. (WebCore::FontPlatformData::font):
  42068. (WebCore::FontPlatformData::hash):
  42069. (WebCore::FontPlatformData::operator==):
  42070. (WebCore::FontPlatformData::computeHash):
  42071. * platform/graphics/wx/FontPlatformDataWx.cpp:
  42072. (WebCore::fontFamilyToWxFontFamily):
  42073. (WebCore::FontPlatformData::FontPlatformData):
  42074. (WebCore::FontPlatformData::~FontPlatformData):
  42075. * platform/graphics/wx/FontWx.cpp:
  42076. (WebCore::Font::drawGlyphs):
  42077. * platform/graphics/wx/SimpleFontDataWx.cpp:
  42078. (WebCore::SimpleFontData::platformInit):
  42079. (WebCore::SimpleFontData::determinePitch):
  42080. (WebCore::SimpleFontData::platformWidthForGlyph):
  42081. 2008-02-02 Kevin Ollivier <kevino@theolliviers.com>
  42082. Reviewed by Adam Roben.
  42083. On MSW, the wx port internally uses callbacks for wxTimer, so the
  42084. wx port suffers from the same crash problem that was fixed
  42085. in r28500 for the Windows port. For now, use the SharedTimerWin.cpp
  42086. impl. for wx too on MSW, until a version of wx is released that
  42087. fixes the issue by reworking wxTimer.
  42088. * page/Page.h:
  42089. * platform/win/SharedTimerWin.cpp:
  42090. (WebCore::TimerWindowWndProc):
  42091. * webcore-wx.bkl:
  42092. 2008-02-02 Mark Rowe <mrowe@apple.com>
  42093. Qt build fix.
  42094. * platform/qt/ThreadingQt.cpp: Fix typo.
  42095. 2008-02-02 Kevin Ollivier <kevino@theolliviers.com>
  42096. Blind build fix for Qt port. Add Threading.h include.
  42097. * platform/qt/ThreadingQt.cpp:
  42098. 2008-02-02 Kevin Ollivier <kevino@theolliviers.com>
  42099. wx build fix - add missing include file.
  42100. * platform/wx/ThreadingWx.cpp:
  42101. 2008-02-02 David Hyatt <hyatt@apple.com>
  42102. Fix for bug 4812. Support last-child and last-of-type CSS3 selectors. Brings Acid3 score up to 68/100.
  42103. Reviewed by olliej
  42104. Added fast/css/last-child-pseudo-class.html, fast/css/last-of-type-pseudo-class.html
  42105. * css/CSSGrammar.y:
  42106. * css/CSSSelector.cpp:
  42107. (WebCore::CSSSelector::extractPseudoType):
  42108. * css/CSSSelector.h:
  42109. (WebCore::CSSSelector::):
  42110. * css/CSSStyleSelector.cpp:
  42111. (WebCore::CSSStyleSelector::checkOneSelector):
  42112. 2008-02-01 David Hyatt <hyatt@apple.com>
  42113. Make :first-child and :first-of-type properly dynamic when the DOM changes. Brings the Acid3 score up
  42114. to 66/100.
  42115. Reviewed by olliej
  42116. Added fast/css/first-child-pseudo-class.html, fast/css/first-of-type-pseudo-class.html, fast/css/empty-body-test.html
  42117. * css/CSSGrammar.y:
  42118. * css/CSSStyleSelector.cpp:
  42119. (WebCore::CSSStyleSelector::checkOneSelector):
  42120. * dom/Element.cpp:
  42121. (WebCore::Element::recalcStyle):
  42122. (WebCore::Element::childrenChanged):
  42123. * rendering/RenderStyle.cpp:
  42124. (WebCore::RenderStyle::RenderStyle):
  42125. * rendering/RenderStyle.h:
  42126. (WebCore::RenderStyle::childrenAffectedByFirstChildRules):
  42127. (WebCore::RenderStyle::setChildrenAffectedByFirstChildRules):
  42128. (WebCore::RenderStyle::childrenAffectedByLastChildRules):
  42129. (WebCore::RenderStyle::setChildrenAffectedByLastChildRules):
  42130. (WebCore::RenderStyle::childrenAffectedByPositionalRules):
  42131. (WebCore::RenderStyle::setChildrenAffectedByPositionalRules):
  42132. (WebCore::RenderStyle::firstChildState):
  42133. (WebCore::RenderStyle::setFirstChildState):
  42134. (WebCore::RenderStyle::lastChildState):
  42135. (WebCore::RenderStyle::setLastChildState):
  42136. 2008-02-02 Dan Bernstein <mitz@apple.com>
  42137. Reviewed by Oliver Hunt.
  42138. - fix <rdar://problem/5720637> Missing characters in right-to-left complex text where different fonts are used in the same run
  42139. * platform/graphics/win/UniscribeController.cpp:
  42140. (WebCore::UniscribeController::advance): Fixed an off-by-1 error in the
  42141. start offset of sub-runs of RTL runs. Changed to update
  42142. m_currentCharacter to the first character of the sub-run before calling
  42143. itemizeShapeAndPlace. In RTL runs, m_currentCharacter decreases as
  42144. sub-runs are processed from left to right.
  42145. (WebCore::UniscribeController::itemizeShapeAndPlace): Removed the
  42146. updating of m_currentCharacter because advance() does it now.
  42147. 2008-02-01 Brady Eidson <beidson@apple.com>
  42148. Reviewed by Darin's rubberstamp
  42149. Move the SecurityOriginHash out into a separate header as it will soon be used in different places
  42150. * WebCore.xcodeproj/project.pbxproj:
  42151. * platform/SecurityOriginHash.h: Added.
  42152. (WebCore::SecurityOriginHash::hash):
  42153. (WebCore::SecurityOriginHash::equal):
  42154. (WebCore::SecurityOriginTraits::deletedValue):
  42155. (WebCore::SecurityOriginTraits::emptyValue):
  42156. * storage/DatabaseTracker.cpp:
  42157. 2008-02-01 Darin Adler <darin@apple.com>
  42158. Reviewed by Tim.
  42159. - fixed mistake in the JSLock fix that caused an assertion every time
  42160. * bindings/js/JSCustomSQLTransactionCallback.cpp:
  42161. (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback): Added JSLock.
  42162. (WebCore::unprotectOnMainThread): Ditto.
  42163. 2008-02-01 Anders Carlsson <andersca@apple.com>
  42164. Reviewed by Antti and Darin.
  42165. Change Text::createWithLengthLimit to take a UChar pointer instead of a string. This
  42166. lets us avoid making a copy of the buffer in TextDocument.cpp.
  42167. * dom/Text.cpp:
  42168. (WebCore::Text::createWithLengthLimit):
  42169. * dom/Text.h:
  42170. * html/HTMLParser.cpp:
  42171. (WebCore::HTMLParser::parseToken):
  42172. * loader/TextDocument.cpp:
  42173. (WebCore::TextTokenizer::write):
  42174. 2008-02-01 Darin Adler <darin@apple.com>
  42175. Reviewed by Adam.
  42176. * platform/network/mac/ResourceHandleMac.mm:
  42177. (WebCore::ResourceHandle::loadsBlocked): Fix grammar and word typo.
  42178. 2008-02-01 Darin Adler <darin@apple.com>
  42179. Reviewed by Adam.
  42180. - fix <rdar://problem/4527931> showModalDialog calls from onload functions fail (Aspect)
  42181. No automated regression test because showModalDialog doesn't work in DumpRenderTree.
  42182. * platform/network/mac/ResourceHandleMac.mm:
  42183. (WebCore::CallbackGuard::CallbackGuard): Added.
  42184. (WebCore::CallbackGuard::~CallbackGuard): Added.
  42185. (WebCore::ResourceHandle::supportsBufferedData): Simplified to take advantage of how
  42186. static initialization works in C++.
  42187. (WebCore::ResourceHandle::loadsBlocked): Always return false on Leopard. The problem in
  42188. NSURLConnection that created the need to block loads is fixed in Leoaprd. This is the
  42189. bug fix.
  42190. (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
  42191. Use CallbackGuard instead of directly incrementing the count; allows us to omit the code
  42192. entirely on Leopard.
  42193. (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]):
  42194. Ditto.
  42195. (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]):
  42196. Ditto.
  42197. (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
  42198. Ditto.
  42199. (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
  42200. Ditto.
  42201. (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
  42202. Ditto.
  42203. (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
  42204. Ditto.
  42205. (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
  42206. Ditto.
  42207. (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]):
  42208. Ditto. Fixes a problem where this could leave inNSURLConnectionCallback set
  42209. permanently in one of the code paths; this would break showModalDialog from that
  42210. point on. This problem doesn't affect Safari.
  42211. 2008-02-01 Darin Adler <darin@apple.com>
  42212. * platform/network/mac/ResourceHandleMac.mm:
  42213. (WebCore::ResourceHandle::loadsBlocked): Roll out accidentally checked in file.
  42214. 2008-02-01 Darin Adler <darin@apple.com>
  42215. Reviewed by Geoff and Brady.
  42216. - fix <rdar://problem/5680469> Each database worker thread takes a JSLock,
  42217. which slows down all JavaScript execution until the thread terminates
  42218. * bindings/js/JSCustomSQLTransactionCallback.cpp:
  42219. (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
  42220. Explicitly gcProtect, since we aren't using ProtectedPtr any more.
  42221. (WebCore::unprotectOnMainThread): Added.
  42222. (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
  42223. Use unprotectOnMainThread rather than doing a gcUnprotect here.
  42224. * bindings/js/JSCustomSQLTransactionCallback.h: Changed m_callback from
  42225. a ProtectedPtr to a plain old JSObject*; we gcProtect by hand now.
  42226. * loader/icon/IconDatabase.cpp:
  42227. (WebCore::IconDatabase::notifyPendingLoadDecisionsOnMainThread):
  42228. Renamed. Changed to takea a void* with the icon database pointer.
  42229. (WebCore::IconDatabase::notifyPendingLoadDecisions): Renamed.
  42230. (WebCore::IconDatabase::performURLImport): Updated name, and pass the
  42231. icon database pointer in.
  42232. * loader/icon/IconDatabase.h: Renamed and added void* parameter.
  42233. * platform/Threading.h: Changed callOnMainThread to take a function with a
  42234. single parameter rather than a function with no parameters. Added a typedef.
  42235. * platform/gtk/ThreadingGtk.cpp:
  42236. (WebCore::callFunctionOnMainThread): Changed to use a structure with both
  42237. a function pointer and a context pointer, and delete it after calling.
  42238. (WebCore::callOnMainThread): Changed to create the structure with both
  42239. the function and context pointer.
  42240. * platform/mac/Threading.mm:
  42241. (-[WebCoreFunctionWrapper initWithFunction:context:]): Added context.
  42242. (-[WebCoreFunctionWrapper invoke]): Updated to do both function and context.
  42243. Renamed from _call.
  42244. (WebCore::callOnMainThread): Updated to take both function and context.
  42245. * platform/qt/ThreadingQt.cpp:
  42246. (WebCore::PerformFunctionEvent::PerformFunctionEvent): Added context.
  42247. (WebCore::PerformFunctionEvent::invoke): Added. Calls function with context pointer.
  42248. (WebCore::MainThreadInvoker::event): Changed to call invoke.
  42249. (WebCore::callOnMainThread): Updated to take both function and context.
  42250. * platform/win/ThreadingWin.cpp: Added FunctionWithContext.
  42251. (WebCore::callFunctionsOnMainThread): Changed to pass call function with context.
  42252. (WebCore::callOnMainThread): Updated to queue both function and context.
  42253. * platform/wx/ThreadingWx.cpp:
  42254. (WebCore::callOnMainThread): Updated to take both function and context.
  42255. * storage/Database.cpp:
  42256. (WebCore::Database::scheduleTransactionCallback): Pass 0 for context.
  42257. (WebCore::Database::deliverAllPendingCallbacks): Changed to take ignored context pointer.
  42258. * storage/Database.h: Added void* parameter to deliverAllPendingCallbacks.
  42259. * storage/DatabaseTracker.cpp:
  42260. (WebCore::DatabaseTracker::scheduleForNotification): Pass 0 for context.
  42261. (WebCore::DatabaseTracker::notifyDatabasesChanged): Changed to take ignored context pointer.
  42262. * storage/DatabaseTracker.h: Added void* parameter to notifyDatabasesChanged.
  42263. 2008-02-01 Jon Honeycutt <jhoneycutt@apple.com>
  42264. Rubber-stamped by Ollie.
  42265. * plugins/win/PluginPackageWin.cpp:
  42266. (WebCore::PluginPackageWin::load): Fix two function pointers
  42267. 2008-02-01 Geoffrey Garen <ggaren@apple.com>
  42268. Reviewed by John Sullivan, Oliver Hunt.
  42269. Fixed <rdar://problem/5688039> REGRESSION (r29428): Weather widget
  42270. fails to load due to reliance on "var location" quirk
  42271. Added a Dashboard quirk.
  42272. * bindings/js/kjs_window.cpp:
  42273. (KJS::Window::put): In DB backwards compatibility mode, make assignment
  42274. to window.location in top-level windows shadow the DOM location API
  42275. instead of performing a navigation. This makes a reasonable amount of
  42276. sense, because widgets can't navigate their top-level frames, anyway.
  42277. 2008-02-01 David Hyatt <hyatt@apple.com>
  42278. Fix for bug 11387, CSS3 :empty selector is not dynamic.
  42279. Add support for dynamically updating elements whose style is affected by :empty when the child count changes.
  42280. Reviewed by olliej, mitzpettel
  42281. fast/css/empty-pseudo-class.html
  42282. * css/CSSStyleSelector.cpp:
  42283. (WebCore::CSSStyleSelector::locateSharedStyle):
  42284. (WebCore::CSSStyleSelector::checkOneSelector):
  42285. * dom/Element.cpp:
  42286. (WebCore::Element::childrenChanged):
  42287. * dom/Element.h:
  42288. * rendering/RenderStyle.h:
  42289. (WebCore::RenderStyle::affectedByEmpty):
  42290. (WebCore::RenderStyle::emptyState):
  42291. (WebCore::RenderStyle::setEmptyState):
  42292. 2008-02-01 Dan Bernstein <mitz@apple.com>
  42293. Reviewed by Darin Adler.
  42294. - switch line breaking from using Carbon Unicode Utilities to using ICU
  42295. on Leopard
  42296. <http://bugs.webkit.org/show_bug.cgi?id=4628>
  42297. fast/text/international/thai-line-breaks.html results do not change.
  42298. * rendering/break_lines.cpp:
  42299. (WebCore::nextBreakablePosition): Changed to use Carbon only on Tiger.
  42300. 2008-02-01 Rodney Dawes <dobey@wayofthemonkey.com>
  42301. Reviewed by Darin.
  42302. Update npfunctions.h to export the proper function signatures for UNIX and add
  42303. the appropriate #if around the Windows versions
  42304. * plugins/npfunctions.h:
  42305. 2008-02-01 Eric Seidel <eric@webkit.org>
  42306. Reviewed by Oliver.
  42307. Add getSVGDocument to frame and iframe.
  42308. Test: svg/custom/frame-getSVGDocument.html
  42309. * html/HTMLEmbedElement.cpp:
  42310. * html/HTMLEmbedElement.h:
  42311. * html/HTMLFrameElement.idl:
  42312. * html/HTMLFrameOwnerElement.cpp:
  42313. (WebCore::HTMLFrameOwnerElement::getSVGDocument):
  42314. * html/HTMLFrameOwnerElement.h:
  42315. * html/HTMLIFrameElement.idl:
  42316. * html/HTMLObjectElement.cpp:
  42317. * html/HTMLObjectElement.h:
  42318. 2008-01-30 Eric Seidel <eric@webkit.org>
  42319. Reviewed by darin.
  42320. Beat CSSParser with the RefPtr stick. Hopefully squashing any leaks in the process.
  42321. (Deploy RefPtr and PassRefPtr throughout CSSParser)
  42322. http://bugs.webkit.org/show_bug.cgi?id=17108
  42323. No functional changes, thus no tests.
  42324. * css/CSSParser.cpp:
  42325. (WebCore::CSSParser::parseColor):
  42326. (WebCore::CSSParser::parseValue):
  42327. (WebCore::CSSParser::addBackgroundValue):
  42328. (WebCore::CSSParser::parseBackgroundShorthand):
  42329. (WebCore::CSSParser::addTransitionValue):
  42330. (WebCore::CSSParser::parseTransitionShorthand):
  42331. (WebCore::CSSParser::parseBackgroundPosition):
  42332. (WebCore::CSSParser::parseBackgroundProperty):
  42333. (WebCore::CSSParser::parseTransitionProperty):
  42334. (WebCore::CSSParser::parseFontFaceSrc):
  42335. (WebCore::ShadowParseContext::ShadowParseContext):
  42336. (WebCore::CSSParser::parseShadow):
  42337. (WebCore::BorderImageParseContext::BorderImageParseContext):
  42338. (WebCore::BorderImageParseContext::commitBorderImage):
  42339. * css/CSSParser.h:
  42340. * css/SVGCSSParser.cpp:
  42341. (WebCore::CSSParser::parseSVGValue):
  42342. 2008-01-31 Oliver Hunt <oliver@apple.com>
  42343. RS=Brady.
  42344. Add platform/Locker.h to vcproj
  42345. * WebCore.vcproj/WebCore.vcproj:
  42346. 2008-01-31 Brady Eidson <beidson@apple.com>
  42347. Build fix
  42348. * WebCore.xcodeproj/project.pbxproj: Header -> WebKit
  42349. 2008-01-31 Brady Eidson <beidson@apple.com>
  42350. Reviewed by Maciej
  42351. Abstracted the concept of a "Locker" as upcoming work will rely on it.
  42352. * platform/Locker.h: Added. Template class to "lock()" and "unlock()" some arbitrary object
  42353. (WebCore::Locker::Locker): Lock the object
  42354. (WebCore::Locker::~Locker): Unlock it
  42355. * platform/Threading.h: `class MutexLocker` is now `typedef Locker<Mutex>`
  42356. * WebCore.xcodeproj/project.pbxproj:
  42357. 2008-01-31 Kevin McCullough <kmccullough@apple.com>
  42358. <rdar://problem/5716912> REGRESSION (r29816): Can't navigate back to
  42359. Gmail Inbox from Gmail Compose page
  42360. Rolling out the change that caused the regression.
  42361. * WebCore.base.exp:
  42362. * bindings/js/JSHTMLDocumentCustom.cpp:
  42363. (WebCore::JSHTMLDocument::open):
  42364. * dom/DOMImplementation.cpp:
  42365. (WebCore::DOMImplementation::createHTMLDocument):
  42366. * dom/Document.cpp:
  42367. (WebCore::Document::recalcStyle):
  42368. (WebCore::Document::open):
  42369. (WebCore::Document::write):
  42370. (WebCore::Document::clear):
  42371. * dom/Document.h:
  42372. * history/HistoryItem.cpp:
  42373. (WebCore::HistoryItem::HistoryItem):
  42374. * history/HistoryItem.h:
  42375. * loader/FrameLoader.cpp:
  42376. (WebCore::FrameLoader::didExplicitOpen):
  42377. (WebCore::FrameLoader::load):
  42378. (WebCore::FrameLoader::reloadAllowingStaleData):
  42379. (WebCore::FrameLoader::reload):
  42380. (WebCore::FrameLoader::tokenizerProcessedData):
  42381. (WebCore::FrameLoader::post):
  42382. (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
  42383. (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent):
  42384. (WebCore::FrameLoader::loadItem):
  42385. * loader/FrameLoader.h:
  42386. * platform/text/CharacterNames.h:
  42387. * xml/DOMParser.cpp:
  42388. (WebCore::DOMParser::parseFromString):
  42389. * xml/XMLHttpRequest.cpp:
  42390. (WebCore::XMLHttpRequest::getResponseXML):
  42391. * xml/XSLTProcessor.cpp:
  42392. (WebCore::XSLTProcessor::createDocumentFromSource):
  42393. 2008-01-31 Matt Lilek <webkit@mattlilek.com>
  42394. Reviewed by Tim Hatcher.
  42395. Bug 14960: Cannot copy text in Web Inspector Network panel
  42396. http://bugs.webkit.org/show_bug.cgi?id=14960
  42397. * page/inspector/inspector.css:
  42398. 2008-01-31 Matt Lilek <webkit@mattlilek.com>
  42399. Reviewed by Adam Roben.
  42400. Bug 14514: Add full URL view on mouseOver in the network page
  42401. http://bugs.webkit.org/show_bug.cgi?id=14514
  42402. <rdar://problem/5712841>
  42403. * page/inspector/inspector.js:
  42404. 2008-01-31 Alp Toker <alp@atoker.com>
  42405. Rubber-stamped Adam Roben.
  42406. http://bugs.webkit.org/show_bug.cgi?id=17006
  42407. [GTK] Header path should be webkit/webkit.h
  42408. Move the GTK+ API sources as needed and update the build systems.
  42409. * GNUmakefile.am:
  42410. * WebCore.pro:
  42411. 2008-01-31 Sam Weinig <sam@webkit.org>
  42412. Reviewed by Geoff Garen.
  42413. No need to get the prototype just to compare compare property names.
  42414. * bindings/js/JSHistoryCustom.cpp:
  42415. (WebCore::JSHistory::customGetOwnPropertySlot):
  42416. 2008-01-31 Sam Weinig <sam@webkit.org>
  42417. Fix non-mac builds.
  42418. * GNUmakefile.am:
  42419. * WebCore.pro:
  42420. * WebCore.vcproj/WebCore.vcproj:
  42421. * WebCoreSources.bkl:
  42422. 2008-01-31 David Hyatt <hyatt@apple.com>
  42423. Fix for bug 17101.
  42424. List items need to ignore the line box shrinking quirk, since IE and Firefox both do.
  42425. Reviewed by Eric
  42426. fast/lists/list-item-line-height.html
  42427. * rendering/InlineFlowBox.h:
  42428. (WebCore::InlineFlowBox::InlineFlowBox):
  42429. 2008-01-31 Samuel Weinig <sam@webkit.org>
  42430. Reviewed by Darin Adler.
  42431. Fix for <rdar://problem/5708993> Mutability of the History object
  42432. - Don't allow cross-domain get access to any of the history objects properties
  42433. except the back(), forward() and go() methods.
  42434. - Don't allow cross-domain put access to any of the history objects properties.
  42435. - Don't allow cross-domain enumeration of the History or Location objects.
  42436. Tests: http/tests/security/cross-frame-access-history-get-override.html
  42437. http/tests/security/cross-frame-access-history-get.html
  42438. http/tests/security/cross-frame-access-history-put.html
  42439. * WebCore.xcodeproj/project.pbxproj:
  42440. * bindings/js/JSDOMWindowCustom.cpp: Remove unnessary KJS::'s
  42441. (WebCore::JSDOMWindow::customGetOwnPropertySlot):
  42442. (WebCore::JSDOMWindow::customPut):
  42443. (WebCore::JSDOMWindow::getPropertyNames): Moved implementation from KJS::Window now that the declaration is autogenerated
  42444. using the new CustomGetPropertyNames.
  42445. (WebCore::JSDOMWindow::postMessage):
  42446. * bindings/js/JSHistoryCustom.cpp: Added.
  42447. (WebCore::allowsAccessFromFrame):
  42448. (WebCore::JSHistory::customGetOwnPropertySlot): Only allow getting the declared functions back(), forward() and go() from cross-domain.
  42449. Deny all other gets.
  42450. (WebCore::JSHistory::customPut): Don't allow putting cross-domain.
  42451. (WebCore::JSHistory::getPropertyNames): Don't allow enumeration cross-domain.
  42452. * bindings/js/JSLocation.cpp:
  42453. (WebCore::allowsAccessFromFrame):
  42454. (WebCore::JSLocation::getPropertyNames): Don't allow enumeration cross-domain.
  42455. * bindings/js/JSLocation.h:
  42456. * bindings/js/kjs_window.cpp:
  42457. * bindings/js/kjs_window.h:
  42458. * bindings/scripts/CodeGeneratorJS.pm:
  42459. Add support for new CustomGetPropertNames extended attribute and changed the logic of CustomPutFunction
  42460. to create an overrided put() function even if no read-write properties exist.
  42461. * page/DOMWindow.idl: Added CustomGetPropertNames
  42462. * page/History.idl: Added CustomGetPropertNames
  42463. 2008-01-30 Justin Garcia <justin.garcia@apple.com>
  42464. Reviewed by Darin Adler.
  42465. <rdar://problem/5708115> REGRESSION: Words selected with a double click and copied won't paste into Mail
  42466. * page/mac/WebCoreFrameBridge.h: Re-exposed smartInsertForString:, it's used by a WebKit method used by Mail.
  42467. 2008-01-31 Adam Roben <aroben@apple.com>
  42468. Add line box drawing code to InspectorController::drawNodeHighlight
  42469. This makes drawNodeHighlight a complete replacement for the painting
  42470. code in WebKit/mac/WebNodeHighlightView.mm, and also brings line box
  42471. rects to Windows for the first time.
  42472. Reviewed by Darin.
  42473. * dom/Node.h: Changed isSVGElement to always exist, but to only be
  42474. virtual when ENABLE(SVG) is true. This way you can always call
  42475. node->isSVGElement() without checking ENABLE(SVG).
  42476. * page/InspectorController.cpp:
  42477. (WebCore::InspectorController::drawNodeHighlight): Ported line box
  42478. rect code from the Mac implementation in WebNodeHighlightView.mm.
  42479. 2008-01-31 Adam Roben <aroben@apple.com>
  42480. Put more knowledge about the node highlight in WebCore
  42481. InspectorController now calculates the overlay rect and node rect when
  42482. drawing the node highlight instead of having them be passed in.
  42483. InspectorController now holds onto the highlighted node so that it can
  42484. determine these rects.
  42485. Once all platforms are calling down to drawNodeHighlight instead of
  42486. drawing the highlight themselves, we can change
  42487. InspectorClient::highlight(Node*) to something like
  42488. InspectorClient::updateAndShowHighlight().
  42489. This also fixes Bug 14264: Node highlight makes it impossible to
  42490. scroll the page
  42491. <http://bugs.webkit.org/show_bug.cgi?id=14264>
  42492. <rdar://5712788>
  42493. Reviewed by Darin.
  42494. * page/InspectorController.cpp:
  42495. (WebCore::InspectorController::highlight): Store the node for use in
  42496. drawNodeHighlight.
  42497. (WebCore::InspectorController::drawNodeHighlight): Changed to be a
  42498. const instance method. Now calculates the overlay rect and node rect
  42499. instead of having them passed in.
  42500. * page/InspectorController.h:
  42501. 2008-01-31 Adam Roben <aroben@apple.com>
  42502. Add node highlight drawing code to InspectorController
  42503. The code came from WebKit/win/WebNodeHighlight.cpp. It's not quite as
  42504. complete as the Mac implementation (in particular, it doesn't handle
  42505. line-box rects), but it's a start.
  42506. Reviewed by Darin.
  42507. * page/InspectorController.cpp:
  42508. (WebCore::InspectorController::drawNodeHighlight): Added.
  42509. * page/InspectorController.h:
  42510. 2008-01-31 Dan Bernstein <mitz@apple.com>
  42511. Reviewed by Dave Hyatt.
  42512. - fix http://bugs.webkit.org/show_bug.cgi?id=17107
  42513. <rdar://problem/5716722> REGRESSION (r29834): Article text on redhat.com magazine site appears to be painting twice
  42514. Test: fast/block/float/intruding-painted-twice.html
  42515. * rendering/RenderBlock.cpp:
  42516. (WebCore::RenderBlock::layoutBlock): Pass 'false' for the new
  42517. makeChildPaintOtherFloats parameter to addOverhangingFloats() because at
  42518. this point we are only taking away floats from the child.
  42519. (WebCore::RenderBlock::layoutBlockChildren): Pass 'true' for the new
  42520. makeChildPaintOtherFloats parameter to addOverhangingFloats() iff the
  42521. child was not laid out again. Only in that case, it may have overhanging
  42522. floats that it does not paint because they used to be overhanging from
  42523. the parent, but now they are not.
  42524. (WebCore::RenderBlock::addOverhangingFloats): Refined the conditions for
  42525. making the child paint the float: require that the float be a descendant
  42526. of the child (the other case is when it intrudes into the child from
  42527. another sibling) and that it does not have a layer (in which case it
  42528. paints itself). In addition, do the check only if the caller passed
  42529. 'true' for the makeChildPaintOtherFloats parameter.
  42530. * rendering/RenderBlock.h:
  42531. 2008-01-30 Dan Bernstein <mitz@apple.com>
  42532. Reviewed by Sam Weinig.
  42533. - change the interpretation of unicode-range values in "from-to" form
  42534. to include the "to" character.
  42535. Test: fast/css/font-face-unicode-range.html
  42536. * css/CSSParser.cpp:
  42537. (WebCore::CSSParser::parseFontFaceUnicodeRange):
  42538. * css/CSSSegmentedFontFace.cpp:
  42539. (WebCore::CSSSegmentedFontFace::overlayRange):
  42540. * platform/graphics/GlyphPageTreeNode.cpp:
  42541. (WebCore::GlyphPageTreeNode::initializePage):
  42542. * platform/graphics/SegmentedFontData.cpp:
  42543. (WebCore::SegmentedFontData::fontDataForCharacter):
  42544. (WebCore::SegmentedFontData::containsCharacters):
  42545. 2008-01-30 Dan Bernstein <mitz@apple.com>
  42546. Reviewed by Darin Adler.
  42547. - prune references to custom fonts' SimpleFontData from the glyph page
  42548. tree when they are destroyed
  42549. * css/CSSFontFaceSource.cpp:
  42550. (WebCore::CSSFontFaceSource::pruneTable):
  42551. 2008-01-30 Darin Adler <darin@apple.com>
  42552. Reviewed by Tim Hatcher.
  42553. New fix for <rdar://problem/5688428> Reproducible assertion failure
  42554. in SQLTransaction::performNextStep() (16876)
  42555. Fixes a deadlock that was happening for all Database use. All
  42556. storage layout tests pass.
  42557. * storage/Database.cpp:
  42558. (WebCore::CurrentThreadSetter::CurrentThreadSetter): New helper class
  42559. to set the current thread and zero it on destruction.
  42560. (WebCore::CurrentThreadSetter::~CurrentThreadSetter): Set threadIdentifierStorage to 0.
  42561. (WebCore::Database::Database): Set m_transactionStepThread to 0.
  42562. (WebCore::Database::performTransactionStep): Set m_transactionStepThread to currentThread().
  42563. (WebCore::Database::scheduleTransactionCallback): Assert m_transactionStepThread
  42564. is currentThread().
  42565. * storage/Database.h: Add m_transactionStepThread for debug builds
  42566. to track which thread performTransactionStep() was called on.
  42567. 2008-01-30 Timothy Hatcher <timothy@apple.com>
  42568. Reviewed by Darin Adler.
  42569. ASSERTION FAILED: JSLock::lockCount() > 0 when opening the
  42570. Web Inspector on a page with a Database.
  42571. Fix the ASSERT by taking a JSLock before calling toJS().
  42572. * page/InspectorController.cpp:
  42573. (WebCore::InspectorController::addDatabaseScriptResource):
  42574. 2008-01-30 Beth Dakin <bdakin@apple.com>
  42575. Reviewed by Darin.
  42576. Fix for <rdar://problem/5598609> CrashTracer: [USER] 626 crashes in
  42577. Safari at com.apple.WebCore: WebCore::FrameView::needsFullRepaint
  42578. const + 6
  42579. The real problem here is tracked by rdar://5598072, which is that
  42580. frames can lose sync between their view and their document when a
  42581. non-HTML view is loaded (such as bookmarks view or a PDF). That can
  42582. cause this crash if the layout timer fires before things have fixed
  42583. themselves. This fix turns an ASSERT in FrameView::layout() into an
  42584. early return to cause graceful failure until the root of the
  42585. problem is addressed.
  42586. * page/FrameView.cpp:
  42587. (WebCore::FrameView::layout):
  42588. 2008-01-30 Justin Garcia <justin.garcia@apple.com>
  42589. Reviewed by Darin Adler.
  42590. <rdar://problem/5700414> REGRESSION (Adama-ToT): Selecting "Header 1" style in Leopard Server wiki inserts newline
  42591. * editing/FormatBlockCommand.cpp:
  42592. (WebCore::FormatBlockCommand::doApply): If the selected paragraph was empty,
  42593. we may still need to call moveParagrah to remove the line break that holds that
  42594. paragraph open because the new block of the requested type needs to to replace it.
  42595. 2008-01-30 Timothy Hatcher <timothy@apple.com>
  42596. Reviewed by Darin Adler.
  42597. <rdar://problem/5688428> Reproducible assertion failure in SQLTransaction::performNextStep() (16876)
  42598. Revised fix to use the globalCallbackMutex() mutex and hold the mutex
  42599. for the entire function scope.
  42600. * storage/Database.cpp:
  42601. (WebCore::Database::performTransactionStep):
  42602. 2008-01-30 Timothy Hatcher <timothy@apple.com>
  42603. Reviewed by Adam Roben.
  42604. Make ResourceTreeElement inherit the prototype of TreeElement.
  42605. * page/inspector/Resource.js:
  42606. 2008-01-30 Sam Weinig <sam@webkit.org>
  42607. Reviewed by Adam Roben.
  42608. Don't include SecurityOrigin.h in Document.h so that we can avoid massive
  42609. recompilation when changing the SecurityOrigin.
  42610. * dom/Document.cpp:
  42611. (WebCore::Document::setSecurityOrigin):
  42612. * dom/Document.h:
  42613. 2008-01-30 Tim Omernick <timo@apple.com>
  42614. Reviewed by Tim Hatcher and Brady.
  42615. <rdar://problem/5688428> Reproducible assertion failure in SQLTransaction::performNextStep() (16876)
  42616. * storage/Database.cpp:
  42617. (WebCore::Database::performTransactionStep): Do not perform the next transaction if
  42618. a global callback is already scheduled.
  42619. 2008-01-30 Jon Honeycutt <jhoneycutt@apple.com>
  42620. Reviewed by Darin.
  42621. <rdar://problem/5669317> Crash closing pop up window with Real Player
  42622. content
  42623. Some RealPlayer versions hang on unload. To prevent this hang, don't
  42624. unload versions since the last known unloadable version.
  42625. <rdar://problem/5713147> tracks revisiting this when the bug in
  42626. RealPlayer is fixed and we can again unload the plug-in.
  42627. * plugins/win/PluginPackageWin.cpp:
  42628. (WebCore::PluginPackageWin::compareFileVersion): Compare the plug-in's
  42629. file version to the passed file version, returning -1, 0, or 1 if the
  42630. plug-in's version is less than, equal to, or greater than the version
  42631. passed.
  42632. (WebCore::PluginPackageWin::isPluginBlacklisted): Use
  42633. compareFileVersion()
  42634. * plugins/win/PluginPackageWin.h:
  42635. * plugins/win/PluginViewWin.cpp:
  42636. (WebCore::PluginViewWin::determineQuirks): If the plug-in version is
  42637. newer than the last-known unloadable version, add the DontUnloadPlugin
  42638. quirk
  42639. 2008-01-29 Mark Rowe <mrowe@apple.com>
  42640. Reviewed by Tim Hatcher.
  42641. Look for headers relative to NEXT_ROOT so that build-root picks up the WebCoreSQLite
  42642. version of sqlite3.h rather than the older system version.
  42643. * Configurations/Base.xcconfig:
  42644. 2008-01-29 Dan Bernstein <mitz@apple.com>
  42645. - build fix
  42646. * loader/CachedFont.cpp:
  42647. (WebCore::CachedFont::CachedFont):
  42648. 2008-01-29 Mark Rowe <mrowe@apple.com>
  42649. Reviewed by Brady Eidson.
  42650. Add the correct directory to the header search paths in Production builds.
  42651. * Configurations/Base.xcconfig:
  42652. 2008-01-29 Dan Bernstein <mitz@apple.com>
  42653. Reviewed by Dave Hyatt.
  42654. - fix http://bugs.webkit.org/show_bug.cgi?id=17085
  42655. <rdar://problem/5714136> REGRESSION (r29839): All remote fonts are treated as SVG fonts
  42656. Test: fast/css/font-face-remote.html
  42657. Added an isSVGFont method to CachedFont and use it to decide how to
  42658. process the font data. Currently whether the data is SVG is determined
  42659. based on the format property in the @font-face rule, but in the future
  42660. the MIME type or other metadata may be used when the format is
  42661. unspecified.
  42662. * css/CSSFontFaceSource.cpp:
  42663. (WebCore::CSSFontFaceSource::getFontData): Changed to parse the data as
  42664. SVG only if the CachedFont is an SVG font.
  42665. * css/CSSFontSelector.cpp:
  42666. (WebCore::CSSFontSelector::addFontFaceRule): Mark the CachedFont as an
  42667. SVG font based on format.
  42668. * loader/CachedFont.cpp:
  42669. (WebCore::CachedFont::CachedFont): Initialize m_isSVGFont to false.
  42670. (WebCore::CachedFont::ensureCustomFontData):
  42671. (WebCore::CachedFont::ensureSVGFontData):
  42672. (WebCore::CachedFont::getSVGFontById):
  42673. * loader/CachedFont.h:
  42674. (WebCore::CachedFont::isSVGFont): Added.
  42675. (WebCore::CachedFont::setSVGFont): Added.
  42676. 2008-01-29 Antti Koivisto <antti@apple.com>
  42677. Some comment cleanup.
  42678. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  42679. (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
  42680. * platform/graphics/win/QTMovieWin.cpp:
  42681. (QTMovieWin::load):
  42682. (QTMovieWin::disableUnsupportedTracks):
  42683. 2008-01-29 Adele Peterson <adele@apple.com>
  42684. Reviewed by Antti.
  42685. Fix for <rdar://5683527> media/{audio,video|-controls-rendering.html failing
  42686. * rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::isControlStyled):
  42687. Don't treat all media controls as styled. This causes builds with an old version of SafariTheme to have different metrics for these controls.
  42688. 2008-01-29 Dan Bernstein <mitz@apple.com>
  42689. Reviewed by Dave Hyatt.
  42690. - make Font instances cache their primary font
  42691. * WebCore.base.exp:
  42692. * platform/graphics/Font.cpp:
  42693. (WebCore::Font::Font):
  42694. (WebCore::Font::operator=):
  42695. (WebCore::Font::cachePrimaryFont):
  42696. (WebCore::Font::update):
  42697. * platform/graphics/Font.h:
  42698. (WebCore::Font::primaryFont):
  42699. 2008-01-29 Dan Bernstein <mitz@apple.com>
  42700. - Leopard build fix
  42701. * platform/graphics/SimpleFontData.cpp:
  42702. (WebCore::SimpleFontData::SimpleFontData):
  42703. 2008-01-29 Mark Rowe <mrowe@apple.com>
  42704. Reviewed by Tim Hatcher.
  42705. <rdar://problem/5600926> WebCore on Tiger must link to its own copy of SQLite 3.4 or newer (so HTML database behavior will be correct).
  42706. * Configurations/Base.xcconfig: Update the header search path on Tiger.
  42707. * Configurations/DebugRelease.xcconfig: Update the header search path on Tiger.
  42708. * Configurations/WebCore.xcconfig: Link against libWebCoreSQLite3.a when building on Tiger.
  42709. * WebCore.xcodeproj/project.pbxproj: Update the header search path in Production builds on Tiger.
  42710. 2008-01-29 Dan Bernstein <mitz@apple.com>
  42711. Reviewed by Adam Roben and Oliver Hunt.
  42712. - fix <rdar://problem/5713131> REGRESSION (r29246): Many SVG font tests are failing
  42713. * platform/graphics/SimpleFontData.cpp:
  42714. (WebCore::SimpleFontData::SimpleFontData): Use double instead of float
  42715. for consistent rounding behavior between Mac OS X and Windows.
  42716. 2008-01-29 Adam Roben <aroben@apple.com>
  42717. Fix <rdar://5713302> Web Inspector on Windows is not using the
  42718. localized strings
  42719. Reviewed by Steve.
  42720. * WebCore.vcproj/WebCore.vcproj: Copy InspectorLocalizedStrings.js to
  42721. $WebKitOutputDir.
  42722. * page/InspectorController.cpp: Touch this to force the project to
  42723. build.
  42724. 2008-01-29 Eric Seidel <eric@webkit.org>
  42725. Reviewed by Nikolas.
  42726. Acid3 after double-attach
  42727. http://bugs.webkit.org/show_bug.cgi?id=17058
  42728. I believe SVGTextPathElement::buildPendingResource() was entirely
  42729. bogus, removing it did not cause any tests to fail.
  42730. Test: svg/custom/textPath-assert.svg
  42731. * svg/SVGTextPathElement.cpp:
  42732. (WebCore::SVGTextPathElement::insertedIntoDocument): remove buildPendingResource()
  42733. * svg/SVGTextPathElement.h:
  42734. 2008-01-29 Adam Roben <aroben@apple.com>
  42735. Fix Bug 16234: Inspector should support searching for elements by CSS selectors
  42736. <http://bugs.webkit.org/show_bugs.cgi?id=16234>
  42737. <rdar://5712862>
  42738. Reviewed by Tim.
  42739. * page/inspector/inspector.js: Use Document.querySelectorAll to search
  42740. for elements by CSS selector. Also store a custom property on nodes
  42741. being added to the search results to avoid showing the same node more
  42742. than once.
  42743. 2008-01-29 Adam Roben <aroben@apple.com>
  42744. Fix <rdar://5711136> Full-screen Flash on 1up.com is unresponsive
  42745. Reviewed by Anders and Darin.
  42746. No test possible.
  42747. * plugins/win/PluginViewWin.cpp:
  42748. (WebCore::PluginViewWin::wndProc): Set/release capture on mouse
  42749. down/up, like Firefox does.
  42750. 2008-01-28 Dan Bernstein <mitz@apple.com>
  42751. Reviewed by Sam Weinig.
  42752. - make isSVGFont non-virtual
  42753. * platform/graphics/FontData.h:
  42754. * platform/graphics/SegmentedFontData.cpp:
  42755. * platform/graphics/SegmentedFontData.h:
  42756. * platform/graphics/SimpleFontData.h:
  42757. (WebCore::SimpleFontData::isSVGFont):
  42758. 2008-01-28 Dan Bernstein <mitz@apple.com>
  42759. Reviewed by Adam Roben.
  42760. - fix <rdar://problem/5700824> Chunky scrolling + scrolling artifacts @ netflix.com/Notebook
  42761. * platform/win/ScrollViewWin.cpp:
  42762. (WebCore::ScrollView::ScrollViewPrivate::valueChanged): Send the scroll
  42763. event before updating the window, thus giving event handlers a chance
  42764. to update layout for the new scroll position, eliminating the jitter.
  42765. 2008-01-28 Adam Roben <aroben@apple.com>
  42766. Fix <rdar://5555260> Gmail doesn't load when a user stylesheet is specified
  42767. Reviewed by Darin.
  42768. A null value exception was being thrown in Gmail's JS code because a
  42769. call to document.write failed. document.write failed because
  42770. Document::close had not yet been called. Document::close was not
  42771. called because the Document was considered to not be "complete" in
  42772. FrameLoader::checkComplete because the user stylesheet was in the
  42773. process of loading. The user stylesheet was loading because it had
  42774. previously been evicted from the cache and was loading fresh from
  42775. disk. It had been evicted from the cache because the calculation of
  42776. the expiration date was incorrectly casting/overflowing in
  42777. ResourceResponseCFNet.cpp.
  42778. We now calculate the expiration date in a way that does not cause us
  42779. to overflow a time_t, and we correctly clamp the value to the range of
  42780. a time_t. I also made the fix for the last modified date, though that
  42781. was not causing any bug I am aware of.
  42782. In the long-term it seems like whether or not Document::close is
  42783. called should not be dependent upon whether the user stylesheet has
  42784. finished loading or not.
  42785. * platform/network/cf/ResourceResponseCFNet.cpp:
  42786. (WebCore::toTimeT): Added. Converts from CFAbsoluteTime to time_t and
  42787. clamps to the range of time_t.
  42788. (WebCore::ResourceResponse::doUpdateResourceResponse): Call toTimeT.
  42789. 2008-01-28 Dan Bernstein <mitz@apple.com>
  42790. Reviewed by Nikolas Zimmermann.
  42791. - fix leaks introduced in r29838
  42792. * svg/SVGFont.cpp:
  42793. (WebCore::floatWidthMissingGlyphCallback):
  42794. (WebCore::drawTextMissingGlyphCallback):
  42795. 2008-01-28 Nikolas Zimmermann <zimmermann@kde.org>
  42796. Reviewed by Eric, Dan & Oliver.
  42797. Fixes: http://bugs.webkit.org/show_bug.cgi?id=16980
  42798. Support external SVG Fonts, by reusing the custom font handling logic.
  42799. This enables us - as first engine - to render HTML pages using SVG Fonts.
  42800. Fixes fonts-elem-03-b.svg / fonts-elem-04-b.svg / fonts-elem-07-b.svg
  42801. Add new testcase svg-fonts-in-html.html.
  42802. * css/CSSFontFaceSource.cpp:
  42803. (WebCore::CSSFontFaceSource::getFontData):
  42804. * css/CSSFontFaceSource.h:
  42805. * css/CSSFontFaceSrcValue.cpp:
  42806. (WebCore::CSSFontFaceSrcValue::isSVGFontFaceSrc):
  42807. (WebCore::CSSFontFaceSrcValue::isSupportedFormat):
  42808. * css/CSSFontFaceSrcValue.h:
  42809. * css/CSSFontSelector.cpp:
  42810. (WebCore::CSSFontSelector::addFontFaceRule):
  42811. * loader/CachedFont.cpp:
  42812. (WebCore::CachedFont::~CachedFont):
  42813. (WebCore::CachedFont::ensureSVGFontData):
  42814. (WebCore::CachedFont::extractFontFromSVGData):
  42815. (WebCore::CachedFont::platformDataFromSVGData):
  42816. * loader/CachedFont.h:
  42817. * platform/graphics/Font.cpp:
  42818. (WebCore::Font::offsetForPosition):
  42819. * platform/graphics/Font.h:
  42820. * svg/SVGFont.cpp:
  42821. (WebCore::floatWidthOfSubStringUsingSVGFont):
  42822. (WebCore::Font::drawTextUsingSVGFont):
  42823. (WebCore::Font::offsetForPositionForTextUsingSVGFont):
  42824. * svg/SVGFontFaceElement.cpp:
  42825. (WebCore::SVGFontFaceElement::rebuildFontFace):
  42826. * svg/SVGFontFaceElement.h:
  42827. * svg/SVGFontFaceUriElement.cpp:
  42828. (WebCore::SVGFontFaceUriElement::srcValue):
  42829. 2008-01-28 Dan Bernstein <mitz@apple.com>
  42830. Reviewed by Adam Roben.
  42831. - fix svg/W3C-SVG-1.1/fonts-glyph-04-t.svg failure on Windows
  42832. The results differed between Mac OS X and Windows because the code was
  42833. using a 0-size font, which Mac OS X changes to 12pt.
  42834. * svg/SVGFont.cpp:
  42835. (WebCore::floatWidthMissingGlyphCallback): Use the font description of
  42836. the primary font to initialize the fallback font.
  42837. (WebCore::drawTextMissingGlyphCallback): Ditto.
  42838. 2008-01-28 Eric Seidel <eric@webkit.org>
  42839. Reviewed by Nikolas Zimmermann.
  42840. Use class instead of struct to appease MSVC.
  42841. * history/HistoryItem.h:
  42842. * loader/FrameLoaderClient.h:
  42843. * page/InspectorController.h:
  42844. * platform/network/ResourceRequestBase.h:
  42845. * platform/network/mac/ResourceRequest.h:
  42846. 2008-01-28 Dan Bernstein <mitz@apple.com>
  42847. Reviewed by Darin Adler.
  42848. - fix http://bugs.webkit.org/show_bug.cgi?id=16774
  42849. REGRESSION (r27464-r27504) javascript popup menu does not display 'close' button
  42850. Test: fast/dynamic/float-no-longer-overhanging.html
  42851. * rendering/RenderBlock.cpp:
  42852. (WebCore::RenderBlock::addOverhangingFloats): If a child's float turns
  42853. out not to be overhanging at this time, ensure that the child paints it.
  42854. 2008-01-28 Oliver Hunt <oliver@apple.com>
  42855. More wx fixes
  42856. * platform/graphics/wx/AffineTransformWx.cpp:
  42857. 2008-01-28 Oliver Hunt <oliver@apple.com>
  42858. And another Wx build fix
  42859. * platform/graphics/wx/AffineTransformWx.cpp:
  42860. (WebCore::AffineTransform::mapRect):
  42861. 2008-01-28 Oliver Hunt <oliver@apple.com>
  42862. Yet another Wx build fix
  42863. * platform/graphics/wx/GraphicsContextWx.cpp:
  42864. 2008-01-28 Oliver Hunt <oliver@apple.com>
  42865. Wx build fix
  42866. * platform/graphics/wx/GraphicsContextWx.cpp:
  42867. (WebCore::GraphicsContext::getCTM):
  42868. 2008-01-28 Oliver Hunt <oliver@apple.com>
  42869. Gtk build fix
  42870. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  42871. 2008-01-27 Oliver Hunt <oliver@apple.com>
  42872. Reviewed by Sam Weinig.
  42873. Bug 16629: <canvas> does not support isPointInPath()
  42874. Relatively trivial change to implement pointInPath and add
  42875. it to the bindings. Most of this patch is the addition of
  42876. GraphicsContext::getCTM() by pulling the various platform
  42877. implementations from CanvasRenderingContext2D::willDraw
  42878. Test: fast/canvas/pointInPath.html
  42879. * html/CanvasRenderingContext2D.cpp:
  42880. (WebCore::CanvasRenderingContext2D::isPointInPath):
  42881. (WebCore::CanvasRenderingContext2D::willDraw):
  42882. * html/CanvasRenderingContext2D.h:
  42883. * html/CanvasRenderingContext2D.idl:
  42884. * platform/graphics/AffineTransform.cpp:
  42885. (WebCore::AffineTransform::mapPoint):
  42886. Support mapping of FloatRects
  42887. * platform/graphics/AffineTransform.h:
  42888. * platform/graphics/GraphicsContext.h:
  42889. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  42890. (WebCore::GraphicsContext::getCTM):
  42891. * platform/graphics/cg/GraphicsContextCG.cpp:
  42892. (WebCore::GraphicsContext::getCTM):
  42893. * platform/graphics/qt/GraphicsContextQt.cpp:
  42894. (WebCore::GraphicsContext::getCTM):
  42895. 2008-01-27 Alexey Proskuryakov <ap@webkit.org>
  42896. Reviewed by Darin.
  42897. http://bugs.webkit.org/show_bug.cgi?id=17014
  42898. REGRESSION: EUC-CN code A3A0 is mapped to U+E5E5 instead of U+3000
  42899. Test: fast/encoding/char-decoding.html
  42900. * platform/text/TextCodecICU.cpp:
  42901. (WebCore::TextCodecICU::decode): Added a workaround that we used to have in Mac code.
  42902. * platform/text/mac/TextCodecMac.cpp:
  42903. (WebCore::TextCodecMac::decode): Corrected a comment.
  42904. 2008-01-27 Alp Toker <alp@atoker.com>
  42905. Reviewed by Mark Rowe.
  42906. http://bugs.webkit.org/show_bug.cgi?id=17029
  42907. Use of deprecated class function but declares GTK_DISABLE_DEPRECATED
  42908. Sync gtkdrawing.h (1.51) and gtk2drawing.c (1.71) from Mozilla
  42909. upstream.
  42910. Adapt RenderThemeGtk.cpp to track minor changes.
  42911. * platform/gtk/RenderThemeGtk.cpp:
  42912. (WebCore::gtkTextDirection):
  42913. (WebCore::adjustMozStyle):
  42914. (WebCore::setMozState):
  42915. (WebCore::paintMozWidget):
  42916. * platform/gtk/gtk2drawing.c:
  42917. (setup_widget_prototype):
  42918. (ensure_hpaned_widget):
  42919. (ensure_vpaned_widget):
  42920. (ensure_toggle_button_widget):
  42921. (ensure_combo_box_entry_widget):
  42922. (ensure_dropdown_entry_widget):
  42923. (moz_gtk_get_dropdown_button):
  42924. (ensure_arrow_widget):
  42925. (ensure_toolbar_separator_widget):
  42926. (ensure_statusbar_widget):
  42927. (ensure_frame_widget):
  42928. (ensure_menu_separator_widget):
  42929. (ensure_tree_view_widget):
  42930. (ensure_tree_header_cell_widget):
  42931. (ensure_expander_widget):
  42932. (ConvertGtkState):
  42933. (moz_gtk_button_paint):
  42934. (moz_gtk_widget_get_focus):
  42935. (moz_gtk_splitter_get_metrics):
  42936. (moz_gtk_toggle_paint):
  42937. (moz_gtk_scrollbar_button_paint):
  42938. (moz_gtk_scrollbar_trough_paint):
  42939. (moz_gtk_scrollbar_thumb_paint):
  42940. (moz_gtk_spin_paint):
  42941. (moz_gtk_spin_updown_paint):
  42942. (moz_gtk_scale_paint):
  42943. (moz_gtk_scale_thumb_paint):
  42944. (moz_gtk_gripper_paint):
  42945. (moz_gtk_hpaned_paint):
  42946. (moz_gtk_vpaned_paint):
  42947. (moz_gtk_entry_paint):
  42948. (moz_gtk_treeview_paint):
  42949. (moz_gtk_tree_header_cell_paint):
  42950. (moz_gtk_tree_header_sort_arrow_paint):
  42951. (moz_gtk_treeview_expander_paint):
  42952. (moz_gtk_expander_paint):
  42953. (moz_gtk_option_menu_paint):
  42954. (moz_gtk_downarrow_paint):
  42955. (moz_gtk_dropdown_arrow_paint):
  42956. (moz_gtk_container_paint):
  42957. (moz_gtk_toggle_label_paint):
  42958. (moz_gtk_toolbar_paint):
  42959. (moz_gtk_toolbar_separator_paint):
  42960. (moz_gtk_tooltip_paint):
  42961. (moz_gtk_resizer_paint):
  42962. (moz_gtk_frame_paint):
  42963. (moz_gtk_progressbar_paint):
  42964. (moz_gtk_progress_chunk_paint):
  42965. (moz_gtk_get_tab_thickness):
  42966. (moz_gtk_tab_paint):
  42967. (moz_gtk_tabpanels_paint):
  42968. (moz_gtk_menu_bar_paint):
  42969. (moz_gtk_menu_popup_paint):
  42970. (moz_gtk_menu_separator_paint):
  42971. (moz_gtk_menu_item_paint):
  42972. (moz_gtk_menu_arrow_paint):
  42973. (moz_gtk_check_menu_item_paint):
  42974. (moz_gtk_window_paint):
  42975. (moz_gtk_get_widget_border):
  42976. (moz_gtk_get_dropdown_arrow_size):
  42977. (moz_gtk_get_toolbar_separator_width):
  42978. (moz_gtk_get_expander_size):
  42979. (moz_gtk_get_treeview_expander_size):
  42980. (moz_gtk_get_menu_separator_height):
  42981. (moz_gtk_widget_paint):
  42982. (moz_gtk_shutdown):
  42983. * platform/gtk/gtkdrawing.h:
  42984. 2008-01-27 Jan Michael Alonzo <jmalonzo@unpluggable.com>
  42985. Reviewed by Alp Toker.
  42986. http://bugs.webkit.org/show_bug.cgi?id=14811
  42987. [gtk] [request] add a webkit_gtk_page_go_to_history_item function
  42988. Added webkit/gtk webkitwebbackforwardlist and webkitwebhistoryitem
  42989. * WebCore.pro:
  42990. 2008-01-27 Matt Perry <mpComplete@gmail.com>
  42991. Reviewed and tweaked quite a bit by Darin.
  42992. Fix for http://bugs.webkit.org/show_bug.cgi?id=14959
  42993. No back forward entry added for pages created in javascript
  42994. A new HistoryItem is created for calls to Document::open. Calls to
  42995. Document::write save the written data to a SharedBuffer that is also
  42996. stored on the HistoryItem. When the user navigates back to a
  42997. HistoryItem that has a valid buffer, that data is used for the page
  42998. content.
  42999. Tests: http/tests/navigation/document-open-adds-history-item.html
  43000. http/tests/navigation/document-open-delayed-adds-history-item.html
  43001. http/tests/navigation/document-open-new-window-adds-history-item.html
  43002. http/tests/navigation/document-open-replace-no-history-item.html
  43003. * bindings/js/JSHTMLDocumentCustom.cpp:
  43004. (WebCore::JSHTMLDocument::open): Pass a MIME type of either "text/html" or
  43005. "text/plain" and a boolean for "replace" in rather than always setting replace
  43006. to true and the MIME type to "text/html".
  43007. * dom/DOMImplementation.cpp:
  43008. (WebCore::DOMImplementation::createHTMLDocument): Pass in MIME type and
  43009. replace boolean explicitly, since we don't want to rely on Document::open()'s
  43010. default.
  43011. * dom/Document.cpp:
  43012. (WebCore::Document::open): Correctly determine the "replace" boolean.
  43013. Pass along the MIME type, replace boolean, and shared buffer to the
  43014. frame loader's didExplicitOpen function.
  43015. (WebCore::Document::write): Pass MIME type and replace boolean explicitly
  43016. to the open function so we don't do treat it as replace if you write without
  43017. an open. Store text written by the script so it can be used later for history.
  43018. (WebCore::Document::clear): Drop the text written byt he script.
  43019. * dom/Document.h: Added MIME type and replace boolean parameters for open.
  43020. Had to keep the old version for the sake of DOM bindings. Added the shared
  43021. buffer used for text written by script.
  43022. * history/HistoryItem.cpp:
  43023. (WebCore::HistoryItem::HistoryItem): Copy m_substituteData.
  43024. (WebCore::HistoryItem::substituteData): Added.
  43025. (WebCore::HistoryItem::setSubstituteData): Added.
  43026. * history/HistoryItem.h: Added m_substituteData, getter, and setter.
  43027. * loader/FrameLoader.cpp:
  43028. (WebCore::FrameLoader::didExplicitOpen): Added code to create or update the
  43029. history item, including attaching the shared buffer that will contain all
  43030. the data written by script.
  43031. (WebCore::FrameLoader::load): Added a SubstituteData parameter, passed through
  43032. when creating the document loader.
  43033. (WebCore::FrameLoader::reloadAllowingStaleData): Create the document loader
  43034. with the substitute data from the current history item.
  43035. (WebCore::FrameLoader::reload): Ditto.
  43036. (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent): If the current history
  43037. item has substitute data, then consider the URL from the substitute data
  43038. rather than the one in the history item itself.
  43039. (WebCore::FrameLoader::loadItem): Pass in the history item's substitute data.
  43040. * loader/FrameLoader.h: Added parameters to load and didExplicitOpen.
  43041. * platform/text/CharacterNames.h: Added byteOrderMark, and also added it under
  43042. its other official name, zeroWidthNoBreakSpace.
  43043. * xml/DOMParser.cpp:
  43044. (WebCore::DOMParser::parseFromString): Pass in MIME type and replace boolean
  43045. explicitly, since we don't want to rely on Document::open()'s default.
  43046. * xml/XMLHttpRequest.cpp:
  43047. (WebCore::XMLHttpRequest::getResponseXML): Ditto.
  43048. * xml/XSLTProcessor.cpp:
  43049. (WebCore::XSLTProcessor::createDocumentFromSource): Ditto.
  43050. 2008-01-25 Eric Seidel <eric@webkit.org>
  43051. Reviewed by Sam and Darin.
  43052. Fire a warning shot in DeprecatedChar's direction.
  43053. Remove DeprecatedChar::isSpace() usage, in preparation for removing DeprecatedChar
  43054. Remove a needless String -> DeprecatedString -> String conversion for <script> tags
  43055. * css/MediaQueryEvaluator.cpp:
  43056. (WebCore::parseAspectRatio):
  43057. * css/SVGCSSParser.cpp:
  43058. * dom/Position.cpp:
  43059. (WebCore::Position::leadingWhitespacePosition):
  43060. (WebCore::Position::trailingWhitespacePosition):
  43061. * editing/TextIterator.cpp:
  43062. (WebCore::WordAwareIterator::advance):
  43063. * html/HTMLFontElement.cpp:
  43064. (WebCore::parseFontSizeNumber):
  43065. * html/HTMLTokenizer.cpp:
  43066. (WebCore::HTMLTokenizer::scriptHandler):
  43067. (WebCore::HTMLTokenizer::scriptExecution):
  43068. (WebCore::HTMLTokenizer::notifyFinished):
  43069. * html/HTMLTokenizer.h:
  43070. * loader/CachedCSSStyleSheet.cpp:
  43071. * loader/TextResourceDecoder.cpp:
  43072. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  43073. * platform/mac/ClipboardMac.mm:
  43074. (WebCore::ClipboardMac::getData):
  43075. * platform/network/HTTPParsers.cpp:
  43076. (WebCore::extractMIMETypeFromMediaType):
  43077. * platform/text/PlatformString.h:
  43078. * platform/text/StringImpl.cpp:
  43079. (WebCore::parseLength):
  43080. (WebCore::StringImpl::stripWhiteSpace):
  43081. (WebCore::StringImpl::simplifyWhiteSpace):
  43082. (WebCore::StringImpl::toInt):
  43083. (WebCore::StringImpl::toInt64):
  43084. (WebCore::StringImpl::toUInt64):
  43085. * platform/text/StringImpl.h:
  43086. (WebCore::isSpaceOrNewline):
  43087. * rendering/InlineFlowBox.cpp:
  43088. (WebCore::InlineFlowBox::placeBoxesHorizontally):
  43089. * rendering/RenderBlock.cpp:
  43090. (WebCore::RenderBlock::updateFirstLetter):
  43091. * rendering/bidi.cpp:
  43092. (WebCore::RenderBlock::computeHorizontalPositionsForLine):
  43093. * svg/SVGFontFaceElement.cpp:
  43094. (WebCore::mapAttributeToCSSProperty):
  43095. * svg/SVGLength.cpp:
  43096. * svg/SVGStyledElement.cpp:
  43097. (WebCore::mapAttributeToCSSProperty):
  43098. * xml/XPathParser.cpp:
  43099. 2008-01-25 Stephanie Lewis <slewis@apple.com>
  43100. Reviewed by Tim.
  43101. expand workaround for <rdar://5695848> to include js files so that the
  43102. web inspector can work
  43103. * platform/network/cf/ResourceResponseCFNet.cpp:
  43104. (WebCore::ResourceResponse::doUpdateResourceResponse):
  43105. 2008-01-25 Antti Koivisto <antti@apple.com>
  43106. Reviewed by Adele.
  43107. (this is for r29798, my commit failed to include the log)
  43108. Windows fix to match r29773
  43109. If the media is playing and the load stalls the playback wont restart by seeking backwards.
  43110. * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
  43111. (WebCore::MediaPlayerPrivate::updateStates):
  43112. 2008-01-25 Darin Adler <darin@apple.com>
  43113. Reviewed by Anders.
  43114. - fix <rdar://problem/5691072> ASSERTION FAILED: isPrepared() when executing an empty statement
  43115. For empty statements, SQLite returns 0 for the statement. We have to cope with that.
  43116. Test: storage/empty-statement.html
  43117. * platform/sql/SQLiteStatement.cpp:
  43118. (WebCore::sqlite3_prepare16_v2): Added overload so we don't need an #if inside the prepare
  43119. function.
  43120. (WebCore::SQLiteStatement::SQLiteStatement): Initialize the m_isPrepared boolean. Removed
  43121. the code to add a null character to the end of the string; instead we will use
  43122. charactersWithNullTermination.
  43123. (WebCore::SQLiteStatement::prepare): Set m_isPrepared based on the error value returned.
  43124. Use the error value from sqlite3_prepare16_v2, not from lastError().
  43125. (WebCore::SQLiteStatement::step): Assert that the statement is prepared rather than checking
  43126. it at runtime. However, in the case where this is called with m_statement of 0, return
  43127. success rather than an error. That's needed for empty statements.
  43128. (WebCore::SQLiteStatement::finalize): Use early return idiom for clarity. When there is no
  43129. statement, return SQLITE_OK instead of calling lastError().
  43130. (WebCore::SQLiteStatement::reset): Use early return idiom for clarity. When there is no
  43131. statement, return SQLITE_OK rather than SQLITE_ERROR, but assert the statement is prepared.
  43132. (WebCore::SQLiteStatement::executeCommand): Adjust the code that does a prepare so that it
  43133. will work for empty statements. Do we really need to allow calling this without prepare?
  43134. It would be simpler to just be able to assert that it's prepared.
  43135. (WebCore::SQLiteStatement::returnsAtLeastOneResult): Ditto.
  43136. (WebCore::SQLiteStatement::bindBlob): Added some assertions. Return SQLITE_ERROR if this
  43137. is called with m_statement of 0 (should not be possible without assertions firing first).
  43138. Return the actual error code rather than lastError().
  43139. (WebCore::SQLiteStatement::bindText): Ditto. Also simplified the special case for empty
  43140. strings, since it requires any non-null pointer, not a pointer to a global zero character.
  43141. (WebCore::SQLiteStatement::bindInt64): Ditto.
  43142. (WebCore::SQLiteStatement::bindDouble): Ditto.
  43143. (WebCore::SQLiteStatement::bindNull): Ditto.
  43144. (WebCore::SQLiteStatement::bindValue): Moved default case out of the switch to take
  43145. advantage of the gcc compiler warning for unhandled enum values in a switch.
  43146. (WebCore::SQLiteStatement::bindParameterCount): Added assertion and code to handle the
  43147. empty statement case.
  43148. (WebCore::SQLiteStatement::columnCount): Added assertion and changed the code to use
  43149. the early-return idiom.
  43150. (WebCore::SQLiteStatement::getColumnName): Removed getColumnName16 -- we always use 16-bit
  43151. characters and have no reason to ever use the 8-bit function. Added assertions about the
  43152. passed-in column number. It's a little strange that this function checks the column number
  43153. for too-large column numbers, but not for negative ones. I didn't change that for now.
  43154. (WebCore::SQLiteStatement::getColumnText): Ditto.
  43155. (WebCore::SQLiteStatement::getColumnDouble): Ditto.
  43156. (WebCore::SQLiteStatement::getColumnInt): Ditto.
  43157. (WebCore::SQLiteStatement::getColumnInt64): Ditto.
  43158. (WebCore::SQLiteStatement::getColumnBlobAsVector): Ditto.
  43159. (WebCore::SQLiteStatement::getColumnBlob): Tightened up function a bit, including use of
  43160. the early-return idiom and replacing the multiple "size = 0" with a single one at the
  43161. start of the function.
  43162. (WebCore::SQLiteStatement::returnTextResults): Added a failure case when the prepare
  43163. call doesn't work. Cleared the vector earlier to make the failure code simpler. Moved
  43164. the declaration of the result boolean down lower to make it clearer what it's for.
  43165. Changed use of lastError() to call on the database, to make it clearer that there's
  43166. no per-statement last error kept around. It'd be even better to not use lastError() here.
  43167. (WebCore::SQLiteStatement::returnIntResults): Ditto.
  43168. (WebCore::SQLiteStatement::returnInt64Results): Ditto.
  43169. (WebCore::SQLiteStatement::returnDoubleResults): Ditto.
  43170. (WebCore::SQLiteStatement::isExpired): Changed to use || rather than ?: because I think
  43171. it's slightly easier to read that way.
  43172. * platform/sql/SQLiteStatement.h: Removed unneeded includes and forward declarations.
  43173. Also removed unnneeded functions isPrepared, getColumnName16, getColumnText16,
  43174. returnTextResults16, lastError, and lastErrorMsg. Changed prepareAndStep so that it
  43175. checks the result of prepare before callling step. Added a debug-only m_isPrepared boolean.
  43176. * loader/icon/IconDatabase.cpp:
  43177. (WebCore::IconDatabase::checkIntegrity): Remove 16 suffix from text-related function names.
  43178. (WebCore::IconDatabase::performURLImport): Ditto.
  43179. (WebCore::IconDatabase::pruneUnretainedIcons): Ditto.
  43180. * platform/sql/SQLiteDatabase.cpp:
  43181. (WebCore::SQLiteDatabase::clearAllTables): Ditto.
  43182. * storage/Database.cpp:
  43183. (WebCore::retrieveTextResultFromDatabase): Ditto.
  43184. (WebCore::Database::performGetTableNames): Ditto.
  43185. * storage/DatabaseTracker.cpp:
  43186. (WebCore::DatabaseTracker::fullPathForDatabase): Ditto.
  43187. (WebCore::DatabaseTracker::populateOrigins): Ditto.
  43188. (WebCore::DatabaseTracker::databaseNamesForOrigin): Ditto.
  43189. (WebCore::DatabaseTracker::addDatabase): Ditto.
  43190. * storage/SQLStatement.cpp:
  43191. (WebCore::SQLStatement::execute): Ditto.
  43192. * platform/sql/SQLiteDatabase.h: Removed unneeded includes.
  43193. * storage/SQLResultSet.h: Ditto.
  43194. * storage/SQLResultSetRowList.h: Ditto.
  43195. 2008-01-25 Adele Peterson <adele@apple.com>
  43196. Reviewed by Sam.
  43197. Fix for <rdar://problem/5679452> Finish tweaking layout/alignment of media controls slider to match QuickTime plug-in
  43198. * css/html4.css: Add horizontal padding to the media slider.
  43199. * rendering/RenderSlider.cpp:
  43200. (WebCore::HTMLSliderThumbElement::defaultEventHandler): Replace use of absoluteBoundingBox() with width() and height()
  43201. (WebCore::RenderSlider::positionForOffset): ditto. Also, use the trackSize() for the maximum offset.
  43202. (WebCore::RenderSlider::layout): Use contentWidth() and contentHeight() to take padding into account.
  43203. (WebCore::RenderSlider::trackSize): ditto.
  43204. 2008-01-24 Adam Roben <aroben@apple.com>
  43205. Better fix for Bug 16996
  43206. Rubberstamped by Mitz.
  43207. * loader/CachedFont.cpp:
  43208. (WebCore::CachedFont::ensureCustomFontData): Don't call
  43209. createFontCustomPlatformData if m_data is null.
  43210. * platform/graphics/gtk/FontCustomPlatformData.cpp:
  43211. (WebCore::createFontCustomPlatformData): Added an assertion.
  43212. * platform/graphics/mac/FontCustomPlatformData.cpp:
  43213. (WebCore::createFontCustomPlatformData): Ditto.
  43214. * platform/graphics/qt/FontCustomPlatformData.cpp:
  43215. (WebCore::createFontCustomPlatformData): Ditto.
  43216. * platform/graphics/win/FontCustomPlatformData.cpp:
  43217. (WebCore::createFontCustomPlatformData): Ditto.
  43218. 2008-01-24 Adam Roben <aroben@apple.com>
  43219. Fix Bug 16996: Crash in createFontCustomPlatformData when loading
  43220. 0-byte font via @font-face
  43221. <http://bugs.webkit.org/show_bug.cgi?id=16996>
  43222. Reviewed by Hyatt.
  43223. Test: fast/loader/font-face-empty.html
  43224. * platform/graphics/win/FontCustomPlatformData.cpp:
  43225. (WebCore::createFontCustomPlatformData): Null-check the buffer
  43226. parameter.
  43227. 2008-01-24 Jon Honeycutt <jhoneycutt@apple.com>
  43228. Reviewed by Anders.
  43229. <rdar://problem/5588807> Crash in Flash when destroying plug-in (found
  43230. using yahoo beta mail)
  43231. Flash can dereference NULL in the call to NPP_URLNotify if a request
  43232. made with NPN_PostURLNotify fails before NPP_NewStream is called.
  43233. Work around this by creating a quirk, PluginQuirkFlashURLNotifyBug, and
  43234. checking for this quirk before calling NPP_URLNotify for any request
  43235. made with NPN_PostURLNotify. If the quirk is present, call NPP_NewStream
  43236. and NPP_DestroyStream before calling NPP_URLNotify.
  43237. * WebCore.vcproj/WebCore.vcproj:
  43238. * plugins/PluginQuirkSet.h: Added. Moved quirks out of PluginViewWin so
  43239. PluginViewWin and PluginStream could share it. Created a class,
  43240. PluginQuirkSet, to store plug-in quirks
  43241. (WebCore::PluginQuirkSet::PluginQuirkSet):
  43242. (WebCore::PluginQuirkSet::add):
  43243. (WebCore::PluginQuirkSet::contains):
  43244. * plugins/PluginStream.cpp:
  43245. (WebCore::PluginStream::PluginStream): Copy the PluginQuirkSet for this
  43246. plug-in
  43247. (WebCore::PluginStream::destroyStream): Check for the FlashURLNotifyBug
  43248. quirk
  43249. * plugins/PluginStream.h:
  43250. * plugins/win/PluginViewWin.cpp:
  43251. (WebCore::PluginViewWin::performRequest): Pass the quirks when creating
  43252. the PluginStream
  43253. (WebCore::PluginViewWin::didReceiveResponse): Same
  43254. (WebCore::PluginViewWin::wndProc): Use add / contains instead of
  43255. bit ops
  43256. (WebCore::PluginViewWin::userAgent): Same
  43257. (WebCore::PluginViewWin::invalidateRect): Same
  43258. (WebCore::PluginViewWin::~PluginViewWin): Same
  43259. (WebCore::PluginViewWin::determineQuirks): Same
  43260. (WebCore::PluginViewWin::setParameters): Same
  43261. (WebCore::PluginViewWin::PluginViewWin): Same
  43262. (WebCore::PluginViewWin::init): Same
  43263. (WebCore::PluginViewWin::setCallingPlugin): Same
  43264. * plugins/win/PluginViewWin.h:
  43265. 2008-01-24 David Hyatt <hyatt@apple.com>
  43266. http://bugs.webkit.org/show_bug.cgi?id=16982
  43267. Make sure to make <head> the current block if it is created before a <body> already exists.
  43268. Reviewed by Dan
  43269. * html/HTMLParser.cpp:
  43270. (WebCore::HTMLParser::createHead):
  43271. 2008-01-24 Alexey Proskuryakov <ap@webkit.org>
  43272. http://bugs.webkit.org/show_bug.cgi?id=16993
  43273. <rdar://problem/5704331> REGRESSION: Loading page leads to many unexpected redirections
  43274. Rolled out r29590, which was not a correct fix for <rdar://problem/5692566>.
  43275. * loader/FrameLoader.cpp:
  43276. (WebCore::FrameLoader::clear):
  43277. 2008-01-24 Antti Koivisto <antti@apple.com>
  43278. Reviewed by Adam.
  43279. If the media is playing and the load stalls the playback wont restart by seeking backwards.
  43280. We should be in CAN_PLAY state if the current time is less than the maximum loaded time. Rate
  43281. tricks were for streaming case and are not necessary now since that is now disabled.
  43282. Windows patch coming separately.
  43283. Test: http/tests/media/video-play-stall-seek.html
  43284. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  43285. (WebCore::MediaPlayerPrivate::updateStates):
  43286. 2008-01-24 Antti Koivisto <antti@apple.com>
  43287. Reviewed by Adam.
  43288. Fix <rdar://problem/5684815>
  43289. After navigating back to the page that contains a <audio> that has been muted, the audio is still heard
  43290. - get rid of the separate muted state in MediaPlayer, maintain the state in the cross platform code only
  43291. - remove volumeChanged() callbacks from HTMLMediaElement and OS X MediaPlayer, they were not used for anything
  43292. - rename updateMediaPlayer -> updatePlayState which tells more about what it actually does
  43293. * html/HTMLMediaElement.cpp:
  43294. (WebCore::HTMLMediaElement::load):
  43295. (WebCore::HTMLMediaElement::setReadyState):
  43296. (WebCore::HTMLMediaElement::play):
  43297. (WebCore::HTMLMediaElement::pause):
  43298. (WebCore::HTMLMediaElement::setVolume):
  43299. (WebCore::HTMLMediaElement::setMuted):
  43300. (WebCore::HTMLMediaElement::checkIfSeekNeeded):
  43301. (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
  43302. (WebCore::HTMLMediaElement::updateVolume):
  43303. (WebCore::HTMLMediaElement::updatePlayState):
  43304. (WebCore::HTMLMediaElement::setPausedInternal):
  43305. * html/HTMLMediaElement.h:
  43306. * platform/graphics/MediaPlayer.cpp:
  43307. (WebCore::MediaPlayer::MediaPlayer):
  43308. * platform/graphics/MediaPlayer.h:
  43309. * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  43310. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  43311. (WebCore::MediaPlayerPrivate::createQTMovie):
  43312. * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
  43313. * platform/graphics/win/QTMovieWin.cpp:
  43314. * platform/graphics/win/QTMovieWin.h:
  43315. 2008-01-24 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  43316. Reviewed by Simon.
  43317. * Fix "QObject::startTimer: QTimer can only be used with threads started with QThread"
  43318. * The JSC GCController gets automatically destructed on application exit, it will stop
  43319. its timer and we try to schedule the next timer. Now the GCController can get destructed
  43320. after our QApplication is gone. This will trigger the above warning, we can avoid this
  43321. by checking if our qApp is still around.
  43322. * platform/qt/SharedTimerQt.cpp:
  43323. (WebCore::setSharedTimerFireTime):
  43324. 2008-01-24 Morten Johan Sørvig <msorvig@trolltech.com>
  43325. Reviewed by Simon.
  43326. Qt/Mac: Make sure the scrollbars does not overlap the grow box.
  43327. When showing only one scrollbar we need to move it so it doesn't overlap the
  43328. grow box. This is similar to the code in QAbstractScrollArea.
  43329. * platform/qt/ScrollViewQt.cpp:
  43330. (WebCore::ScrollView::updateScrollbars):
  43331. 2008-01-15 Michael Goddard <michael.goddard@trolltech.com>
  43332. Reviewed by Darin.
  43333. While parsing -webkit-border-image, store
  43334. the border widths as naked pointers rather
  43335. than as OwnPtrs, since they point to the
  43336. middle of an array.
  43337. Test: fast/css/border-image-crash.html
  43338. * css/CSSParser.cpp:
  43339. 2008-01-24 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  43340. Reviewed by Simon.
  43341. * Attempt to fix showing of popup again after a popup has been shown but
  43342. the user did not select any item (e.g. clicked outside of the popup)
  43343. * Keep track of the popup status using the virtuals showPopup and hidePopup
  43344. and do not go into recursion when hiding a popup.
  43345. * platform/qt/QWebPopup.cpp:
  43346. (WebCore::QWebPopup::showPopup):
  43347. (WebCore::QWebPopup::hidePopup):
  43348. * platform/qt/QWebPopup.h:
  43349. 2008-01-24 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  43350. Reviewed by Simon.
  43351. * Assert the presence of the PopupMenuClient
  43352. * platform/qt/QWebPopup.cpp:
  43353. (WebCore::QWebPopup::QWebPopup):
  43354. (WebCore::QWebPopup::hideEvent):
  43355. (WebCore::QWebPopup::activeChanged):
  43356. 2008-01-23 David Kilzer <ddkilzer@apple.com>
  43357. <rdar://problem/5702947> WebCore: CGContextDrawPDFDocument will be deprecated
  43358. Reviewed by Darin.
  43359. No test cases added since there is no change in behavior.
  43360. * platform/graphics/cg/PDFDocumentImage.cpp:
  43361. (WebCore::PDFDocumentImage::draw): Replace CGContextDrawPDFDocument() with
  43362. calls to CG methods that perform the equivalent work.
  43363. 2008-01-23 Antti Koivisto <antti@apple.com>
  43364. Reviewed by Hyatt, Adele.
  43365. Timers for media controls keep running when the page is in the page cache.
  43366. Stop timers in RenderMedia and get rid of the controls tree when the page goes to the cache.
  43367. * html/HTMLMediaElement.cpp:
  43368. (WebCore::HTMLMediaElement::HTMLMediaElement):
  43369. (WebCore::HTMLMediaElement::willSaveToCache):
  43370. (WebCore::HTMLMediaElement::didRestoreFromCache):
  43371. * html/HTMLMediaElement.h:
  43372. (WebCore::HTMLMediaElement::inPageCache):
  43373. * rendering/RenderMedia.cpp:
  43374. (WebCore::RenderMedia::updateControls):
  43375. 2008-01-23 Antti Koivisto <antti@apple.com>
  43376. Reviewed by Adam.
  43377. Video that had already played to the end would start playing (from beginning) on back/forward navigation.
  43378. Use setPausedInternal() instead of pause(). This avoid generating pause/play events and matches specification text.
  43379. * html/HTMLMediaElement.cpp:
  43380. (WebCore::HTMLMediaElement::willSaveToCache):
  43381. 2008-01-23 Alexey Proskuryakov <ap@webkit.org>
  43382. Reviewed by Darin.
  43383. <rdar://problem/4200075> Missing support for accented chars in mailto forms
  43384. With some combinations of form parameters, this was resulting in regressed behavior.
  43385. Tests: fast/forms/mailto/get-non-ascii-text-plain-latin-1.html
  43386. fast/forms/mailto/post-text-plain-with-accept-charset.html
  43387. fast/forms/mailto/post-text-plain.html
  43388. * html/HTMLFormElement.cpp:
  43389. (WebCore::HTMLFormElement::formData): Ignore accept-charset for mailto forms, which are always
  43390. encoded as UTF-8.
  43391. (WebCore::HTMLFormElement::isMailtoForm): Added.
  43392. (WebCore::HTMLFormElement::dataEncoding): Added (factored out from formData).
  43393. (WebCore::HTMLFormElement::submit): When round-tripping in text/plain case, use utf-8 encoding.
  43394. * html/HTMLFormElement.h: Added a isMailtoForm() function. It may be a bit unfortunate that
  43395. its result is calculated repeatedly, but this doesn't seem to be anywhere near hot code.
  43396. 2008-01-22 Justin Garcia <justin.garcia@apple.com>
  43397. Reviewed by Alice Liu.
  43398. <rdar://problem/5658727> Undo/redo for pasted or typed text in yahoo mail becomes disabled after one round of being selected
  43399. * rendering/RenderTextControl.cpp:
  43400. (WebCore::RenderTextControl::updateFromElement): If value == text() and
  43401. m_innerText is empty, then value and text() are "". In that case both DOM
  43402. mutations are no-ops and there is no reason to clear the Undo stack.
  43403. 2008-01-23 Steve Falkenburg <sfalken@apple.com>
  43404. <rdar://problem/5698732> Copyright strings should include 2008
  43405. Reviewed by Sam.
  43406. * WebCore.vcproj/QTMovieWin.rc:
  43407. 2008-01-23 Steve Falkenburg <sfalken@apple.com>
  43408. <rdar://problem/5699509> Allow file upload dialog to be localized.
  43409. Reviewed by Darin.
  43410. * platform/LocalizedStrings.h:
  43411. * platform/win/FileChooserWin.cpp:
  43412. (WebCore::FileChooser::openFileChooser):
  43413. 2008-01-23 Adam Roben <aroben@apple.com>
  43414. Fix behavior of type-to-select in <select> menus
  43415. In r27825 we started posting both a WM_KEYDOWN and WM_CHAR message
  43416. whenever a key was pressed in the dropdown menu. However, since posted
  43417. messages go through TranslateMessage, the WM_KEYDOWN was generating
  43418. another WM_CHAR message, so two WM_CHAR messages in a row would reach
  43419. the WebView. This caused the searching to happen twice for each key,
  43420. so typing "dog" would search for "ddoogg".
  43421. Reviewed by Darin.
  43422. * platform/win/PopupMenuWin.cpp:
  43423. (WebCore::PopupWndProc): Repost the WM_KEYDOWN message to the WebView.
  43424. This is will generate a WM_CHAR message which will trigger the
  43425. type-to-select behavior. This is very similar to our behavior prior to
  43426. r27825, except that we're now calling PostMessage instead of
  43427. SendMessage.
  43428. 2008-01-23 Alp Toker <alp@atoker.com>
  43429. Rubber-stamped by Mark Rowe.
  43430. Remove whitespace after -I in automake include lists.
  43431. * GNUmakefile.am:
  43432. 2008-01-23 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  43433. * Rubber stamped by Simon
  43434. * Load images incrementally. This will show warnings on the console
  43435. and we want to fix them for Qt4.4. If that happens we have to remove
  43436. the comment from the enum inside the ImageDecoderQt.cpp
  43437. * platform/graphics/qt/ImageDecoderQt.cpp:
  43438. (WebCore::ImageDecoderQt::setData):
  43439. 2008-01-23 Lars Knoll <lars@trolltech.com>
  43440. Reviewed by Holger Freyther <holger.freyther@trolltech.com>.
  43441. Fix rendering of the Scrollbar as well as mouse handling for some styles.
  43442. The QStyle expects that that painter is set up to clip to the scrollbar bounds
  43443. and some of the styles seem to paint somewhat outside of these bounds. Clipping to
  43444. the scrollbar bounds before drawing removes some artifacts.
  43445. Also set m_opt.rect.topLeft to (0/0) in the mouse handlers. Fixes some issues with
  43446. the oxygen style.
  43447. * platform/qt/PlatformScrollBarQt.cpp:
  43448. (WebCore::PlatformScrollbar::paint):
  43449. (WebCore::PlatformScrollbar::handleMouseMoveEvent):
  43450. (WebCore::PlatformScrollbar::handleMousePressEvent):
  43451. 2008-01-23 Michael Brasser <michael.brasser@trolltech.com>
  43452. Reviewed by Simon.
  43453. Rendering fixes for Qtopia.
  43454. Make the focus ring work with line breaks (until we have QPainterPath::simplify) and
  43455. call QStyle with better arguments when painting themed elements.
  43456. * platform/graphics/qt/GraphicsContextQt.cpp:
  43457. (WebCore::GraphicsContext::drawFocusRing):
  43458. * platform/qt/RenderThemeQt.cpp:
  43459. (WebCore::RenderThemeQt::paintButton):
  43460. (WebCore::RenderThemeQt::applyTheme):
  43461. 2008-01-23 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  43462. Reviewed by Simon.
  43463. * FormData::flatten does not include to be uploaded files. Create our own QIODevice
  43464. for the QNetworkAccessManager and feed the complete content of the FormData* to
  43465. the (HTTP) backend.
  43466. * Try to optimize the ::readData implementation to fill the buffer as best as possible
  43467. * platform/network/qt/QNetworkReplyHandler.cpp:
  43468. (WebCore::FormDataIODevice::FormDataIODevice):
  43469. (WebCore::FormDataIODevice::~FormDataIODevice):
  43470. (WebCore::FormDataIODevice::moveToNextElement):
  43471. (WebCore::FormDataIODevice::readData):
  43472. (WebCore::FormDataIODevice::writeData):
  43473. (WebCore::FormDataIODevice::setParent):
  43474. (WebCore::FormDataIODevice::isSequential):
  43475. (WebCore::FormDataIODevice::slotFinished):
  43476. (WebCore::QNetworkReplyHandler::start):
  43477. * platform/network/qt/QNetworkReplyHandler.h:
  43478. 2008-01-23 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  43479. Reviewed by Simon.
  43480. * Coding-Style fixes
  43481. * platform/network/qt/QNetworkReplyHandler.cpp:
  43482. (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
  43483. 2008-01-23 Michael Brasser <michael.brasser@trolltech.com>
  43484. Reviewed by Simon.
  43485. use PopupClient's font for popup menu. Otherwise, in Qtopia, the popup's font is much bigger (QApplication::font()?) and the text doesn't fit.
  43486. * platform/qt/QWebPopup.cpp:
  43487. (WebCore::QWebPopup::QWebPopup):
  43488. 2008-01-23 Simon Hausmann <hausmann@webkit.org>
  43489. Reviewed by Lars.
  43490. Implemented FrameLoaderClient::startDownload() and FrameLoaderClient::download().
  43491. Added two signals to QWebPage to handle downloading of links and handling of
  43492. unsupported content.
  43493. * platform/network/qt/QNetworkReplyHandler.cpp:
  43494. (WebCore::QNetworkReplyHandler::release):
  43495. * platform/network/qt/QNetworkReplyHandler.h:
  43496. 2008-01-22 Dan Bernstein <mitz@apple.com>
  43497. Reviewed by Adele Peterson.
  43498. - fix http://bugs.webkit.org/show_bug.cgi?id=16905
  43499. <rdar://problem/5692407> REGRESSION (3.0.4-TOT): "menu" pseudocolor is badly chosen
  43500. The regression test for this is fast/css/css2-system-color.html which
  43501. is currently disabled.
  43502. * rendering/RenderThemeMac.mm:
  43503. (WebCore::menuBackgroundColor): Added. Uses HIThemeDrawMenuBackground
  43504. to draw the menu item background into a bitmap graphics context and
  43505. returns the color of the pixel at (0, 0).
  43506. (WebCore::RenderThemeMac::systemColor): Changed to call
  43507. menuBackgroundColor for the CSS2 menu color.
  43508. 2008-01-22 Darin Adler <darin@apple.com>
  43509. Reviewed by Oliver Hunt.
  43510. - turn full repainting back on for <canvas> until we get incremental
  43511. repaint working properly
  43512. Ollie and I came up with a plan for testing this, but for now we should
  43513. just fall back on the "repaint everything" behavior we have always had.
  43514. * html/HTMLCanvasElement.cpp:
  43515. (WebCore::HTMLCanvasElement::willDraw): Just call repaint.
  43516. 2008-01-22 Alp Toker <alp@atoker.com>
  43517. GTK+/qmake build fix.
  43518. * WebCore.pro:
  43519. 2008-01-22 Adam Roben <aroben@apple.com>
  43520. Add HTMLFrameOwnerElement::scrollingMode
  43521. This new virtual method is overridden by HTMLFrameElementBase to
  43522. provide the scrolling mode set on the frame or iframe element. Object
  43523. elements always have scrolling=auto, so there's no need to override
  43524. this method for HTMLPlugInElement.
  43525. Reviewed by Hyatt.
  43526. * html/HTMLFrameElementBase.h: Declare scrollingMode as virtual.
  43527. * html/HTMLFrameOwnerElement.h:
  43528. (WebCore::HTMLFrameOwnerElement::scrollingMode): Added.
  43529. 2008-01-22 David Hyatt <hyatt@apple.com>
  43530. Fix for <rdar://problem/5698481> REGRESSION: Web Inspector source view gutter double divider and no padding
  43531. Now that cellpadding cascades properly on <td>s, we need to make the view source padding rules in the user
  43532. agent sheet have !important in order to override author settings.
  43533. Reviewed by Tim
  43534. * css/view-source.css:
  43535. 2008-01-22 Nikolas Zimmermann <zimmermann@kde.org>
  43536. Reviewed by Alp.
  43537. Allow to use SVGPaintServerSolid without RenderObject/RenderStyle. Used later to draw SVG Fonts in HTML.
  43538. * svg/graphics/SVGPaintServer.cpp:
  43539. (WebCore::SVGPaintServer::sharedSolidPaintServer):
  43540. * svg/graphics/SVGPaintServer.h:
  43541. * svg/graphics/cg/SVGPaintServerCg.cpp:
  43542. (WebCore::SVGPaintServer::renderPath):
  43543. (WebCore::SVGPaintServer::fillPath):
  43544. (WebCore::SVGPaintServer::clipToFillPath):
  43545. * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
  43546. (WebCore::SVGPaintServerSolid::setup):
  43547. 2008-01-22 Nikolas Zimmermann <zimmermann@kde.org>
  43548. Reviewed by Alp.
  43549. Initialize missing variables, m_lineGap / m_lineSpacing.
  43550. Only noticeable when trying to render HTML text using SVG Fonts (which is not possible with trunk, but with my local version).
  43551. * platform/graphics/SimpleFontData.cpp:
  43552. (WebCore::SimpleFontData::SimpleFontData):
  43553. 2008-01-22 Alp Toker <alp@atoker.com>
  43554. Reviewed by Nikolas.
  43555. Fix Cairo SVG fonts following changes in r29700.
  43556. Set the font description's details as needed in FontPlatformData and
  43557. eliminate GraphicsContext::setPlatformFont() since it was redundant
  43558. and assumed all fonts were Cairo fonts.
  43559. * platform/graphics/GraphicsContext.cpp:
  43560. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  43561. * platform/graphics/gtk/FontPlatformDataGtk.cpp:
  43562. (WebCore::FontPlatformData::FontPlatformData):
  43563. 2008-01-22 Dan Bernstein <mitz@apple.com>
  43564. Reviewed by Eric.
  43565. - fix http://bugs.webkit.org/show_bug.cgi?id=16967
  43566. <rdar://problem/5699344> Reproducible crash when navigating back to a page using SVG fonts
  43567. Test: svg/custom/font-platformDestroy-crash.svg
  43568. * platform/graphics/SimpleFontData.cpp:
  43569. (WebCore::SimpleFontData::~SimpleFontData): Changed to call
  43570. platformDestroy() only if platformInit() was called from the
  43571. constructor.
  43572. 2008-01-22 Lars Knoll <lars@trolltech.com>
  43573. Reviewed by Simon.
  43574. cleanup the CookieJarQt implementation and implement cookiesEnabled.
  43575. * platform/qt/CookieJarQt.cpp:
  43576. (WebCore::cookieJar):
  43577. (WebCore::setCookies):
  43578. (WebCore::cookies):
  43579. (WebCore::cookiesEnabled):
  43580. 2008-01-22 Lars Knoll <lars@trolltech.com>
  43581. Reviewed by Simon.
  43582. Ported the font implementation to use the new QFont features of Qt 4.4.
  43583. * platform/graphics/Font.h:
  43584. (WebCore::Font::setWordSpacing):
  43585. (WebCore::Font::setLetterSpacing):
  43586. (WebCore::Font::font):
  43587. (WebCore::Font::):
  43588. * platform/graphics/qt/FontQt.cpp:
  43589. (WebCore::Font::Font):
  43590. (WebCore::Font::setWordSpacing):
  43591. (WebCore::Font::setLetterSpacing):
  43592. (WebCore::qstring):
  43593. (WebCore::setupLayout):
  43594. (WebCore::Font::drawText):
  43595. (WebCore::Font::width):
  43596. (WebCore::Font::floatWidth):
  43597. (WebCore::Font::offsetForPosition):
  43598. (WebCore::Font::selectionRectForText):
  43599. (WebCore::generateComponents):
  43600. (WebCore::cursorToX):
  43601. (WebCore::Font::~Font):
  43602. (WebCore::Font::operator=):
  43603. (WebCore::Font::operator==):
  43604. (WebCore::Font::update):
  43605. 2008-01-21 Eric Seidel <eric@webkit.org>
  43606. Reviewed by Nikolas & Oliver.
  43607. Tested by svg/custom/svg-features.html
  43608. * dom/DOMImplementation.cpp:
  43609. (WebCore::isSVG10Feature): use ENABLE(SVG_*) conditionals
  43610. (WebCore::isSVG11Feature): use ENABLE(SVG_*) conditionals
  43611. 2008-01-21 Geoffrey Garen <ggaren@apple.com>
  43612. Reviewed by Maciej Stachowiak.
  43613. Adapted WebCore to the fix for http://bugs.webkit.org/show_bug.cgi?id=16909
  43614. REGRESSION: Amazon.com crash (ActivationImp)
  43615. * bindings/js/kjs_proxy.cpp:
  43616. (WebCore::KJSProxy::~KJSProxy): No convenient way to make this assertion
  43617. anymore. (It wasn't firing for anyone, anyway, so it's no big loss.)
  43618. * bindings/objc/WebScriptObject.mm:
  43619. (+[WebScriptObject throwException:]): Use the ExecState stack, instead
  43620. of currentExec.
  43621. (-[WebScriptObject setException:]): ditto. Also, a slight change in
  43622. behavior: If no ExecStates are active, we no longer throw an exception
  43623. in the global ExecState. The JavaScriptCore ChangeLog explains why.
  43624. This also matches the behavior of +throwException.
  43625. 2008-01-21 Nikolas Zimmermann <zimmermann@kde.org>
  43626. Not reviewed. Try to fix Qt build, after the rmdir() fixes.c
  43627. * platform/graphics/qt/SimpleFontDataQt.cpp:
  43628. (WebCore::SimpleFontData::SimpleFontData):
  43629. 2008-01-21 Nikolas Zimmermann <zimmermann@kde.org>
  43630. Not reviewed. Another Wx build fix.
  43631. * platform/graphics/wx/FontWx.cpp:
  43632. (WebCore::Font::drawGlyphs):
  43633. 2008-01-21 Darin Adler <darin@apple.com>
  43634. - try to fix Qt build
  43635. * platform/qt/FileSystemQt.cpp:
  43636. (WebCore::deleteEmptyDirectory): QDir::root().rmdir() instead of QDir::rmdir().
  43637. 2008-01-21 Nikolas Zimmermann <zimmermann@kde.org>
  43638. Not reviewed. Yet another win/gtk build fix.
  43639. * platform/graphics/gtk/FontPlatformDataGtk.cpp:
  43640. (WebCore::FontPlatformData::FontPlatformData):
  43641. * platform/graphics/win/FontWin.cpp:
  43642. (WebCore::Font::drawGlyphs):
  43643. 2008-01-21 Nikolas Zimmermann <zimmermann@kde.org>
  43644. Not reviewed. Another build fix for Gtk/Linux & Wx/Mac.
  43645. * platform/graphics/SimpleFontData.cpp:
  43646. (WebCore::SimpleFontData::SimpleFontData):
  43647. 2008-01-21 Nikolas Zimmermann <zimmermann@kde.org>
  43648. Not reviewed. Build fix for Qt/Gtk & Wx.
  43649. * css/CSSFontSelector.cpp:
  43650. * platform/graphics/SegmentedFontData.cpp:
  43651. (WebCore::SegmentedFontData::isSVGFont): Remove SVG_FONTS block, it's a pure virtual function in the base class.
  43652. * platform/graphics/SegmentedFontData.h:
  43653. 2008-01-21 Nikolas Zimmermann <zimmermann@kde.org>
  43654. Not reviewed. Build fix for ports that don't build SVG: wx.
  43655. * css/CSSFontFaceSource.h: Wrap include in ENABLE(SVG_FONTS) blocks.
  43656. * css/CSSFontFaceSrcValue.h: Ditto.
  43657. 2008-01-21 Nikolas Zimmermann <zimmermann@kde.org>
  43658. Not reviewed. Build fix for Qt/Gtk.
  43659. * platform/graphics/SimpleFontData.h:
  43660. (WebCore::SimpleFontData::svgFontData):
  43661. (WebCore::SimpleFontData::isSVGFont):
  43662. 2008-01-21 Nikolas Zimmermann <zimmermann@kde.org>
  43663. Reviewed by Eric. Older parts reviewed by Dan.
  43664. Fixes: http://bugs.webkit.org/show_bug.cgi?id=16880 (SVGCSSFontFace should die, instead integrate within the FontCache.)
  43665. Fixes: http://bugs.webkit.org/show_bug.cgi?id=16784 (In-document fonts work only as the first child to font-face-src)
  43666. Proper integration of SVG Fonts within the existing custom font concept, removing the need for a custom SVGCSSFontFace.
  43667. Integrate within the CSSFontFaceSource logic for caching support, as well as the framework for external SVG Fonts.
  43668. Proper handling of missing glyphs, using <missing-glyph> element. If that is not specified in a font, fallback to non-SVG font rendering.
  43669. * GNUmakefile.am:
  43670. * WebCore.pro:
  43671. * WebCore.vcproj/WebCore.vcproj:
  43672. * WebCore.xcodeproj/project.pbxproj:
  43673. * css/CSSFontFaceSource.cpp:
  43674. (WebCore::CSSFontFaceSource::getFontData):
  43675. * css/CSSFontFaceSource.h:
  43676. (WebCore::CSSFontFaceSource::svgFontFaceElement):
  43677. (WebCore::CSSFontFaceSource::setSVGFontFaceElement):
  43678. * css/CSSFontFaceSrcValue.h:
  43679. (WebCore::CSSFontFaceSrcValue::m_isLocal):
  43680. (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue):
  43681. (WebCore::CSSFontFaceSrcValue::svgFontFaceElement):
  43682. (WebCore::CSSFontFaceSrcValue::setSVGFontFaceElement):
  43683. * css/CSSFontSelector.cpp:
  43684. (WebCore::CSSFontSelector::addFontFaceRule):
  43685. * css/SVGCSSFontFace.cpp: Removed.
  43686. * css/SVGCSSFontFace.h: Removed.
  43687. * platform/graphics/Font.cpp:
  43688. (WebCore::Font::ascent):
  43689. (WebCore::Font::descent):
  43690. (WebCore::Font::lineSpacing):
  43691. (WebCore::Font::xHeight):
  43692. (WebCore::Font::fontSelector):
  43693. * platform/graphics/Font.h:
  43694. * platform/graphics/FontData.h:
  43695. * platform/graphics/SegmentedFontData.cpp:
  43696. (WebCore::SegmentedFontData::isSVGFont):
  43697. * platform/graphics/SegmentedFontData.h:
  43698. * platform/graphics/SimpleFontData.cpp:
  43699. (WebCore::SimpleFontData::SimpleFontData):
  43700. * platform/graphics/SimpleFontData.h:
  43701. (WebCore::SimpleFontData::ascent):
  43702. (WebCore::SimpleFontData::descent):
  43703. (WebCore::SimpleFontData::lineSpacing):
  43704. (WebCore::SimpleFontData::lineGap):
  43705. (WebCore::SimpleFontData::xHeight):
  43706. (WebCore::SimpleFontData::isSVGFont):
  43707. (WebCore::SimpleFontData::svgFontData):
  43708. * platform/graphics/gtk/FontPlatformData.h:
  43709. (WebCore::FontPlatformData::size):
  43710. * platform/graphics/gtk/FontPlatformDataGtk.cpp:
  43711. (WebCore::FontPlatformData):
  43712. * platform/graphics/mac/FontPlatformData.h:
  43713. (WebCore::FontPlatformData::FontPlatformData):
  43714. (WebCore::FontPlatformData::size):
  43715. * platform/graphics/win/FontPlatformData.h:
  43716. * platform/graphics/win/FontPlatformDataWin.cpp:
  43717. (WebCore::FontPlatformData::FontPlatformData):
  43718. * rendering/RenderSVGText.cpp:
  43719. (WebCore::RenderSVGText::relativeBBox):
  43720. * svg/SVGFont.cpp:
  43721. (WebCore::convertEmUnitToPixel):
  43722. (WebCore::isCompatibleGlyph):
  43723. (WebCore::svgFontAndFontFaceElementForFontData):
  43724. (WebCore::SVGTextRunWalker::SVGTextRunWalker):
  43725. (WebCore::SVGTextRunWalker::walk):
  43726. (WebCore::floatWidthUsingSVGFontCallback):
  43727. (WebCore::floatWidthMissingGlyphCallback):
  43728. (WebCore::floatWidthOfSubStringUsingSVGFont):
  43729. (WebCore::drawTextUsingSVGFontCallback):
  43730. (WebCore::drawTextMissingGlyphCallback):
  43731. (WebCore::Font::drawTextUsingSVGFont):
  43732. * svg/SVGFontData.cpp: Added.
  43733. (WebCore::SVGFontData::SVGFontData):
  43734. (WebCore::SVGFontData::~SVGFontData):
  43735. * svg/SVGFontData.h: Added.
  43736. (WebCore::SVGFontData::svgFontFaceElement):
  43737. (WebCore::SVGFontData::horizontalOriginX):
  43738. (WebCore::SVGFontData::horizontalOriginY):
  43739. (WebCore::SVGFontData::horizontalAdvanceX):
  43740. (WebCore::SVGFontData::verticalOriginX):
  43741. (WebCore::SVGFontData::verticalOriginY):
  43742. (WebCore::SVGFontData::verticalAdvanceY):
  43743. * svg/SVGFontFaceElement.cpp:
  43744. (WebCore::SVGFontFaceElement::unitsPerEm):
  43745. (WebCore::SVGFontFaceElement::xHeight):
  43746. (WebCore::SVGFontFaceElement::horizontalOriginX):
  43747. (WebCore::SVGFontFaceElement::horizontalOriginY):
  43748. (WebCore::SVGFontFaceElement::horizontalAdvanceX):
  43749. (WebCore::SVGFontFaceElement::verticalOriginX):
  43750. (WebCore::SVGFontFaceElement::verticalOriginY):
  43751. (WebCore::SVGFontFaceElement::verticalAdvanceY):
  43752. (WebCore::SVGFontFaceElement::ascent):
  43753. (WebCore::SVGFontFaceElement::descent):
  43754. (WebCore::SVGFontFaceElement::fontFamily):
  43755. (WebCore::SVGFontFaceElement::associatedFontElement):
  43756. (WebCore::SVGFontFaceElement::rebuildFontFace):
  43757. * svg/SVGFontFaceElement.h:
  43758. * svg/SVGGlyphElement.cpp:
  43759. (WebCore::SVGGlyphElement::inheritUnspecifiedAttributes):
  43760. (WebCore::parseSVGGlyphAttribute):
  43761. (WebCore::SVGGlyphElement::buildGenericGlyphIdentifier):
  43762. (WebCore::SVGGlyphElement::buildGlyphIdentifier):
  43763. * svg/SVGGlyphElement.h:
  43764. * svg/SVGMissingGlyphElement.cpp:
  43765. * svg/svgattrs.in:
  43766. 2008-01-21 Darin Adler <darin@apple.com>
  43767. Reviewed by John Sullivan.
  43768. - fix <rdar://problem/5644324> Delegate-less WebKit clients should have no databases
  43769. - remove the default database quota setting
  43770. - simplify the quota-related client calls by merging the one for a new database with
  43771. the one for an existing database, adding a feature where you can get details about
  43772. a database being created using the same functions that work on the other databases,
  43773. and removing the parameters and return values, instead having clients use a function
  43774. to set the quota
  43775. - fix unsafe multi-thread access to the database tracker's quota map
  43776. - fix bug in deleteAllDatabases where it would iterate a HashMap while modifying it
  43777. The tracker database is now only created when we set the quota for a database origin.
  43778. Thus asking for info about databases won't cause anything to be written to disk.
  43779. * WebCore.base.exp: Updated.
  43780. * bindings/js/GCController.cpp: Added an #if to get rid of an unused function warning.
  43781. * page/Chrome.cpp: Removed database-related functions. There's no problem having the
  43782. code deal directly with the client.
  43783. * page/Chrome.h: Ditto. Also made Chrome inherit from Noncopyable.
  43784. * page/ChromeClient.h: Replaced the two quota-related functions with a single one.
  43785. The details about the state of databases in the origin are now available by asking
  43786. for database details. There's also no need to pass the security origin, since
  43787. it's easy to get that from the frame's document.
  43788. * page/Settings.cpp: Removed the default quota setting.
  43789. * page/Settings.h: Ditto.
  43790. * platform/FileSystem.h: Added deleteEmptyDirectory.
  43791. * platform/gtk/FileSystemGtk.cpp:
  43792. (WebCore::deleteEmptyDirectory): Added.
  43793. * platform/posix/FileSystemPOSIX.cpp:
  43794. (WebCore::deleteEmptyDirectory): Added.
  43795. * platform/qt/FileSystemQt.cpp:
  43796. (WebCore::deleteEmptyDirectory): Added.
  43797. * platform/win/FileSystemWin.cpp:
  43798. (WebCore::deleteEmptyDirectory): Added.
  43799. * platform/wx/FileSystemWx.cpp:
  43800. (WebCore::deleteEmptyDirectory): Added placeholder.
  43801. * storage/DatabaseDetails.h: Removed the isValid() function since its name is
  43802. confusing -- we removed our other isValid() functions. For the few callers that
  43803. need this, it's fine to just check name().isEmpty(). Made the member functions
  43804. all const.
  43805. * storage/DatabaseTracker.cpp:
  43806. (WebCore::DatabaseTracker::DatabaseTracker): Removed m_defaultQuota initialization.
  43807. Added m_proposedDatabase and m_thread.
  43808. (WebCore::DatabaseTracker::setDatabaseDirectoryPath): Got rid of code that would
  43809. open the tracker database here. This might slightly speed up launch time, since
  43810. we won't do the I/O until we have to, and before we were actually creating an SQL
  43811. database in this code that's run when we go to the first webpage.
  43812. (WebCore::DatabaseTracker::trackerDatabasePath): Added.
  43813. (WebCore::DatabaseTracker::openTrackerDatabase): Added a boolean parameter telling
  43814. this function whether to create the database. Made this function safe to call if
  43815. the database is already open. Also made the function fail quietly if the path has
  43816. not been set yet.
  43817. (WebCore::DatabaseTracker::canEstablishDatabase): Got rid of the call to the
  43818. establishEntryForOrigin function. The origin is now put in the tracker database
  43819. when the quota is set to a non-zero value. When judging if there's enough space
  43820. for the new database, require at least one byte even if estimatedSize is 0, and
  43821. check for overflow. Also added code here to populate the origins map, which
  43822. guarantees it will be ready when the database uses it on another thread later.
  43823. Also changed this to call the new ChromeClient function.
  43824. (WebCore::DatabaseTracker::hasEntryForDatabase): Added code to open the
  43825. tracker database, since that's no longer done by setDatabaseDirectoryPath.
  43826. (WebCore::DatabaseTracker::originPath): Added.
  43827. (WebCore::DatabaseTracker::fullPathForDatabase): Added code so that this will
  43828. return a null string for the proposed database if called from within the
  43829. ChromeClient function. Also switched from empty string to null string for the
  43830. error cases.
  43831. (WebCore::DatabaseTracker::populateOrigins): Added code to open the tracker
  43832. database.
  43833. (WebCore::DatabaseTracker::databaseNamesForOrigin): Ditto.
  43834. (WebCore::DatabaseTracker::detailsForNameAndOrigin): Ditto. Also added code that
  43835. will return the details of the proposed database if called from within the
  43836. ChromeClient function. This is how the client can learn of the display name and
  43837. the estimated size of the new database.
  43838. (WebCore::DatabaseTracker::setDatabaseDetails): Added code to open the tracker
  43839. database.
  43840. (WebCore::DatabaseTracker::quotaForOrigin): Made this code OK to call on a non-main
  43841. thread by using m_quotaMapGuard to guard access to the map. Other code runs on the
  43842. main thread only, and only functions that write to the map use the lock.
  43843. (WebCore::DatabaseTracker::setQuota): Changed this function so it can insert the
  43844. initial quota as well as updating an existing quota. Added locking since this
  43845. function modifies the quota map. Added code to open the tracker database. Added
  43846. an early exit if the quota is already correct, which is guarantees that if you
  43847. set a quota to 0 it won't trigger creation of a tracker database.
  43848. (WebCore::DatabaseTracker::addDatabase): Added code to open the tracker database.
  43849. (WebCore::DatabaseTracker::deleteAllDatabases): Made a copy of the quota map before
  43850. iterating it to find all the origins. This fixes a problem with the old code where
  43851. it would modify the map while iterating it, which gives assertions in debug builds
  43852. and unpredictable results.
  43853. (WebCore::DatabaseTracker::deleteOrigin): Replaced deleteDatabasesWithOrigin with
  43854. this function. Added code to open the tracker database if needed. Added code to
  43855. delete the origin from the tracker database, and to close the tracker database
  43856. and delete files and directories as needed if we are deleting the final origin.
  43857. (WebCore::DatabaseTracker::deleteDatabase): Added code to open the tracker database
  43858. if needed.
  43859. * storage/DatabaseTracker.h: Renamed databasePath to databaseDirectoryPath for
  43860. clarity, including the data member, and the getter and setter functions.
  43861. Replaced deleteDatabasesWithOrigin with deleteOrigin. Removed the functions
  43862. dealing with default origin quota. There is no default any more; origins start
  43863. with no quota and the client must set a quota. Added trackerDatabasePath and
  43864. originPath helper functions. Added a boolean parameter to openTrackerDatabase
  43865. to tell it whether to create the database or not. Removed the
  43866. establishEntryForOrigin function. Renamed m_originQuotaMap to just m_quotaMap,
  43867. and added m_quotaMapGuard. Added a QuotaMap typedef. Added m_proposedDatabase,
  43868. which holds the origin and details for the current proposed database during
  43869. the client callback function that must decide whether to grant quota. Added a
  43870. m_thread data member for debugging use to assert if functions that can only
  43871. be called on a single thread are misused.
  43872. * storage/SQLTransaction.cpp:
  43873. (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): Changed to call the
  43874. new exceededDatabaseQuota function instead of the old one.
  43875. * svg/graphics/SVGImageEmptyClients.h: Updated for the change to ChromeClient.
  43876. 2008-01-21 David Hyatt <hyatt@apple.com>
  43877. Fix for http://bugs.webkit.org/show_bug.cgi?id=16935
  43878. Fix a bug in layers where the positioned ancestor was being computed incorrectly (the root should not
  43879. automatically be included).
  43880. Reviewed by olliej
  43881. Added fast/layers/positioned-inside-root-with-margins.html
  43882. * rendering/RenderLayer.cpp:
  43883. (WebCore::RenderLayer::stackingContext):
  43884. (WebCore::RenderLayer::enclosingPositionedAncestor):
  43885. 2008-01-21 Simon Hausmann <hausmann@webkit.org>
  43886. Reviewed by Holger.
  43887. Fix KURL to QUrl conversion.
  43888. Stick to the encoded version of the URL and in addition to KURL we encode the
  43889. characters mentioned in section 2.4.3 of RFC 2396 as QUrl requires these, too.
  43890. This fixes fast/css/import-rule-regression-11590.html,
  43891. fast/css/import-style-update.html, svg/hixie/processing-model/003.xml and
  43892. svg/hixie/processing-model/004.xml.
  43893. * platform/qt/KURLQt.cpp:
  43894. (WebCore::toHex):
  43895. (WebCore::KURL::operator QUrl):
  43896. 2008-01-21 Simon Hausmann <hausmann@webkit.org>
  43897. Reviewed by Holger.
  43898. Fix focus chain handling and cycling through focusable objects (links) using tab/backtab.
  43899. * Fix GraphicsContext::drawFocusRing to also draw single focus rects.
  43900. * Implemented QWebPage::focusNextPrevChild by sending fake tab/shift-tab events
  43901. and make the return value depend on whether we successfully determined a focusable
  43902. node or not.
  43903. * Changed QWebView::focusNextPrevChild() to call the base QWidget implementation correctly
  43904. if we could not handle the focus chain ourselves.
  43905. * Changed the focus policy of QWebView to correctly use WheelFocus instead of ClickFocus.
  43906. * Made ChromeClientQt::canTakeFocus() and takeFocus() dummy method since they are only
  43907. used to control the situation of stepping out of the focus chain inside the page.
  43908. * Made inclusion of links in the focus chain configurable through QWebSettings::LinksIncludedInFocusChain.
  43909. The layout tests expect this to be disabled but for the user it seems sensible to have it
  43910. on by default, hence the default in qwebsettings.cpp
  43911. * platform/graphics/qt/GraphicsContextQt.cpp:
  43912. (WebCore::GraphicsContext::drawFocusRing):
  43913. 2008-01-21 Simon Hausmann <hausmann@webkit.org>
  43914. Reviewed by Holger.
  43915. Fix access key support and fast/forms/legend-access-key.html
  43916. SVN revision 26664 changed the default access key for the non-mac build to Alt
  43917. while this test relies on Ctrl.
  43918. * page/EventHandler.cpp:
  43919. 2008-01-21 Simon Hausmann <hausmann@webkit.org>
  43920. Reviewed by Holger.
  43921. Fix error reporting when parsing X(HT)ML fragments.
  43922. We use the regular XMLTokenizer write()/.../end() sequence to parse those
  43923. fragments, but we should not report any parsing errors inline inside the
  43924. content. Instead we should just return the error and the DOM layer will take
  43925. care of throwing an exception.
  43926. This fixes fast/innerHTML/innerHTML-changing-document-properties.xhtml
  43927. * dom/XMLTokenizer.cpp:
  43928. (WebCore::createXHTMLParserErrorHeader):
  43929. 2008-01-21 Holger Freyther <holger.freyther@trolltech.com>
  43930. Reviewed by Simon.
  43931. Fix some issues with redirections.
  43932. * Ensure that we deliver the response to the ResourceHandleClient only once by
  43933. setting m_responseSent back to false only before calling start() for the
  43934. redirection
  43935. * Added 307 as another HTTP status code that causes a redirection after POST to
  43936. become get, just like in MainResourceLoader::isPostOrRedirectAfterPost
  43937. * Also set the HTTP method on the ResourceRequest to GET before passing it to
  43938. willSendRequest.
  43939. * willSendRequest's newRequest argument is actually an in/out argument and could be
  43940. modified in theory, so set m_request accordingly after the call.
  43941. * platform/network/qt/QNetworkReplyHandler.cpp:
  43942. (WebCore::QNetworkReplyHandler::finish):
  43943. (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
  43944. 2008-01-21 Holger Freyther <holger.freyther@trolltech.com>
  43945. Reviewed by Simon.
  43946. Fixed WebCore::cookies() to return all cookies, not only the first one.
  43947. Fixes login into mail.yahoo.com.
  43948. * platform/qt/CookieJarQt.cpp:
  43949. (WebCore::cookies):
  43950. 2008-01-20 Oliver Hunt <oliver@apple.com>
  43951. Reviewed by Mitz.
  43952. Fix http://bugs.webkit.org/show_bug.cgi?id=16816 , rdar://problem/5682985
  43953. Correctly trigger willPerformDragDestinationAction when a drop causes a
  43954. load to occur. The logic that originally did this was lost during the
  43955. great drag migration of '07.
  43956. * page/DragController.cpp:
  43957. (WebCore::DragController::performDrag):
  43958. 2008-01-20 Dan Bernstein <mitz@apple.com>
  43959. Reviewed by Darin Adler.
  43960. - fix http://bugs.webkit.org/show_bug.cgi?id=16951
  43961. Assertion failure in FrameView::scheduleRelayout (!m_frame->document() || !m_frame->document()->inPageCache()) when going back from a page with a focused popup
  43962. * dom/Document.cpp:
  43963. (WebCore::Document::setFocusedNode): Bail out if the document is in the
  43964. page cache. Documents in the back/forward cache are "frozen" and should
  43965. not change state.
  43966. 2008-01-20 Collin Jackson <webkit@collinjackson.com>
  43967. Reviewed by Sam Weinig.
  43968. Fix for http://bugs.webkit.org/show_bug.cgi?id=16775
  43969. We now use frame()->loader()->url() for postMessage, preventing a
  43970. malicious sender from overwriting the uri property (using a <base> tag,
  43971. for example). Also, use frame->loader()->url().host() instead of
  43972. instead of document()->SecurityOrigin()->domain() to reflect a recent
  43973. clarification in the HTML5 spec.
  43974. Tests: http/tests/security/postMessage/domain-affected-by-document-domain.html
  43975. http/tests/security/postMessage/domain-and-uri-unaffected-by-base-tag.html
  43976. http/tests/security/postMessage/javascript-page-still-sends-domain.html
  43977. * bindings/js/JSDOMWindowCustom.cpp:
  43978. (WebCore::JSDOMWindow::postMessage):
  43979. 2008-01-20 Antti Koivisto <antti@apple.com>
  43980. Reviewed by Adele.
  43981. Fix <rdar://problem/5695451>
  43982. Middle part of the media timeline missing on Windows if load failed
  43983. Add some null checking to avoid getting garbage results from the functions.
  43984. * platform/graphics/MediaPlayer.cpp:
  43985. * platform/graphics/win/QTMovieWin.cpp:
  43986. (QTMovieWin::duration):
  43987. (QTMovieWin::currentTime):
  43988. (QTMovieWin::setCurrentTime):
  43989. (QTMovieWin::maxTimeLoaded):
  43990. 2008-01-19 Alp Toker <alp@atoker.com>
  43991. Reviewed by Mark Rowe.
  43992. http://bugs.webkit.org/show_bug.cgi?id=16944
  43993. Use of GST_PLUGIN_DEFINE_STATIC results in a module-level constructor
  43994. http://bugzilla.gnome.org/show_bug.cgi?id=510547
  43995. Epiphany/Webkit fails to start due to initializing threads twice
  43996. Don't call GST_PLUGIN_DEFINE_STATIC() as it performs g_thread_init()
  43997. in the global initializer, breaking subsequent calls to
  43998. g_thread_init() in applications.
  43999. * platform/graphics/gtk/VideoSinkGStreamer.cpp:
  44000. 2008-01-19 Alp Toker <alp@atoker.com>
  44001. Reviewed by Mark Rowe.
  44002. Remove any fragment part from the URL to be requested just before
  44003. passing it to curl, otherwise curl sends it as part of the HTTP/local
  44004. file request, causing page loads to fail.
  44005. * platform/network/curl/ResourceHandleManager.cpp:
  44006. (WebCore::ResourceHandleManager::startJob):
  44007. 2008-01-19 Jan Michael Alonzo <jmalonzo@unpluggable.com>
  44008. Reviewed by Alp Toker.
  44009. Add svg foreign object and svg experimental to the GTK+/autotools
  44010. build system.
  44011. * GNUmakefile.am:
  44012. 2008-01-19 Dan Bernstein <mitz@apple.com>
  44013. Reviewed by Maciej Stachowiak.
  44014. - fix <rdar://problem/5645813> CrashTracer: [USER] 6 crashes in Safari at com.apple.WebCore: WebCore::RenderBox::destroy + 116
  44015. Test: editing/selection/inconsistent-in-removeChildNode.html
  44016. * editing/SelectionController.cpp:
  44017. (WebCore::SelectionController::nodeWillBeRemoved): If the selection
  44018. base or extent are not visible any more, adjust the selection.
  44019. 2008-01-19 Oliver Hunt <oliver@apple.com>
  44020. Reviewed by Eric Seidel.
  44021. Build fix for --svg-foreign-object path
  44022. * svg/SVGForeignObjectElement.idl:
  44023. 2008-01-18 Stephanie <slewis@apple.com>
  44024. Reviewed by Oliver.
  44025. Workaround for <rdar://problem/5695848>. Set mime_type for local files based on file extension.
  44026. * platform/network/cf/ResourceResponseCFNet.cpp:
  44027. (WebCore::ResourceResponse::doUpdateResourceResponse):
  44028. 2008-01-18 Ada Chan <adachan@apple.com>
  44029. <rdar://problem/5682340> REGRESSION (r28188): Context menu appears at wrong place when clicking in iframe whose parent is scrolled (16827)
  44030. Calling absolutePosition() in EventHandler::hitTestResultAtPoint() is extremely inefficient and passing in
  44031. true as fixed before was wrong. Use HitTestResult::localPoint() instead, and take into account border and padding widths.
  44032. Reviewed by Hyatt and Darin.
  44033. * page/EventHandler.cpp:
  44034. (WebCore::EventHandler::hitTestResultAtPoint):
  44035. * rendering/HitTestResult.cpp:
  44036. (WebCore::HitTestResult::operator=):
  44037. 2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  44038. Reviewed by Darin, landed by Beth.
  44039. - fixed http://bugs.webkit.org/show_bug.cgi?id=15765
  44040. The call to HTMLTokenizer::write might result in a call to ::end which will invoke
  44041. HTMLParser::finished() or Document::finishedParsing(). HTMLParser::finished() will eventually
  44042. call Document::finishedParsing. The Document will delete the calling HTMLTokenizer and from the deleted
  44043. tokenizer we will call into FrameLoader::tokenizerProcessedData.
  44044. -) FrameLoader::tokenizerProcessedData calls FrameLoader::checkCompleted which gets called from the Document::finishedParsing
  44045. (FrameLoader::finishedParsing).
  44046. * html/HTMLTokenizer.cpp:
  44047. (WebCore::HTMLTokenizer::timerFired):
  44048. 2008-01-18 David Hyatt <hyatt@apple.com>
  44049. Don't apply the border/margin/padding check to root line boxes, since their renderers
  44050. are blocks.
  44051. * rendering/InlineFlowBox.cpp:
  44052. (WebCore::InlineFlowBox::computeLogicalBoxHeights):
  44053. (WebCore::InlineFlowBox::placeBoxesVertically):
  44054. 2008-01-18 Geoffrey Garen <ggaren@apple.com>
  44055. Not reviewed: rolling out a previous patch.
  44056. Fixed <rdar://problem/5695439> Crash during GCController destructor on
  44057. quitting browser
  44058. Used svn merge to roll out r29603 because it introduced some crashes
  44059. on quit.
  44060. GC relies on static hash tables, so it's not safe to GC from a static
  44061. destructor, which might run after the static hash tables' destructors.
  44062. * bindings/js/GCController.cpp:
  44063. (WebCore::GCController::garbageCollectNow):
  44064. * bindings/js/GCController.h:
  44065. 2008-01-18 David Hyatt <hyatt@apple.com>
  44066. Fix for http://bugs.webkit.org/show_bug.cgi?id=15665
  44067. Building on Beth's earlier work to start building line boxes for empty inlines, this patch makes more
  44068. empty inline cases work. Empty inlines on lines by themselves now set isLineEmpty to false so that
  44069. bidiReorderLine will get properly called. In addition, the "shrink boxes with no text children" quirk
  44070. needs to be disabled for inlines with padding, margins or borders.
  44071. Reviewed by Beth
  44072. Added fast/inline/inline-padding-disables-text-quirk.html
  44073. * rendering/InlineFlowBox.cpp:
  44074. (WebCore::InlineFlowBox::computeLogicalBoxHeights):
  44075. (WebCore::InlineFlowBox::placeBoxesVertically):
  44076. (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
  44077. * rendering/RenderObject.h:
  44078. (WebCore::RenderObject::hasBordersPaddingOrMargin):
  44079. * rendering/bidi.cpp:
  44080. (WebCore::inlineFlowRequiresLineBox):
  44081. (WebCore::RenderBlock::findNextLineBreak):
  44082. 2008-01-18 David Hyatt <hyatt@apple.com>
  44083. Fix for http://bugs.webkit.org/show_bug.cgi?id=14975
  44084. Computed size of padding is incorrect because we default padding to auto. This is a made-up value that
  44085. was only used to implement cellpadding on tables. We needed this made-up value in order to tell that
  44086. padding wasn't set so that we could then apply cellpadding.
  44087. This patch rewrites cellpadding to be like other browsers. Instead of being a setting on the table
  44088. renderer that applies to all cells (even ones that were not <td>s), cellpadding is now mapped into the
  44089. style of <td>s. With this change it effectively becomes a content model feature and not a rendering
  44090. feature.
  44091. For example, a <td> will pick up cellpadding even when it is not a cell and/or the enclosing <table> is
  44092. not a table. Anonymous cells and CSS-display-type cells will now never pick up cellpadding. This behavior
  44093. is all consistent with other browsers.
  44094. Reviewed by Antti
  44095. Added fast/css/padding-no-renderer.html
  44096. * css/CSSStyleSelector.cpp:
  44097. (WebCore::CSSStyleSelector::canShareStyleWithElement):
  44098. (WebCore::CSSStyleSelector::styleForElement):
  44099. * css/CSSStyleSelector.h:
  44100. * dom/StyledElement.cpp:
  44101. * dom/StyledElement.h:
  44102. (WebCore::StyledElement::canHaveAdditionalAttributeStyleDecls):
  44103. (WebCore::StyledElement::additionalAttributeStyleDecls):
  44104. * html/HTMLTableCellElement.cpp:
  44105. (WebCore::HTMLTableCellElement::additionalAttributeStyleDecls):
  44106. * html/HTMLTableCellElement.h:
  44107. (WebCore::HTMLTableCellElement::canHaveAdditionalAttributeStyleDecls):
  44108. * html/HTMLTableColElement.cpp:
  44109. (WebCore::HTMLTableColElement::additionalAttributeStyleDecls):
  44110. * html/HTMLTableColElement.h:
  44111. (WebCore::HTMLTableColElement::canHaveAdditionalAttributeStyleDecls):
  44112. * html/HTMLTableElement.cpp:
  44113. (WebCore::HTMLTableElement::parseMappedAttribute):
  44114. (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
  44115. (WebCore::HTMLTableElement::addSharedCellDecls):
  44116. (WebCore::HTMLTableElement::addSharedCellBordersDecl):
  44117. (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
  44118. (WebCore::HTMLTableElement::addSharedGroupDecls):
  44119. (WebCore::HTMLTableElement::attach):
  44120. * html/HTMLTableElement.h:
  44121. (WebCore::HTMLTableElement::canHaveAdditionalAttributeStyleDecls):
  44122. * html/HTMLTableSectionElement.cpp:
  44123. (WebCore::HTMLTableSectionElement::additionalAttributeStyleDecls):
  44124. * html/HTMLTableSectionElement.h:
  44125. (WebCore::HTMLTableSectionElement::canHaveAdditionalAttributeStyleDecls):
  44126. * rendering/AutoTableLayout.cpp:
  44127. (WebCore::AutoTableLayout::recalcColumn):
  44128. * rendering/RenderObject.cpp:
  44129. (WebCore::RenderObject::paddingTop):
  44130. (WebCore::RenderObject::paddingBottom):
  44131. (WebCore::RenderObject::paddingLeft):
  44132. (WebCore::RenderObject::paddingRight):
  44133. * rendering/RenderStyle.cpp:
  44134. (WebCore::StyleSurroundData::StyleSurroundData):
  44135. * rendering/RenderStyle.h:
  44136. (WebCore::RenderStyle::initialPadding):
  44137. * rendering/RenderTable.cpp:
  44138. (WebCore::RenderTable::RenderTable):
  44139. * rendering/RenderTable.h:
  44140. 2008-01-18 Dan Bernstein <mitz@apple.com>
  44141. Reviewed by Dave Hyatt.
  44142. - fix <rdar://problem/5615307> Repro crash in WebKit!WebCore::RenderContainer::destroyLeftoverChildren
  44143. Test: fast/table/insert-row-before-form.html
  44144. * rendering/RenderTableRow.cpp:
  44145. (WebCore::RenderTableRow::addChild): Changed to ensure that the
  44146. object a new cell is inserted before is a child of the row, and
  44147. added an assertion that that object is either a cell or a form.
  44148. * rendering/RenderTableSection.cpp:
  44149. (WebCore::RenderTableSection::addChild): Changed to ensure that the
  44150. object a new row is inserted before is a child of the table section, and
  44151. added an assertion that that object is either a table row or a form.
  44152. 2008-01-18 Geoffrey Garen <ggaren@apple.com>
  44153. Reviewed by Brady Eidson.
  44154. Fixed <rdar://problem/5622424> World Leak dialog when closing a page
  44155. that has a Database
  44156. The problem was that each transaction and SQL statement would hold on
  44157. to its callback indefinitely. By design, callbacks often establish
  44158. reference cycles to temporarily protect their execution environments.
  44159. To break the cycle, we need to explicitly release each callback as soon
  44160. as it is no longer needed.
  44161. * storage/SQLStatement.cpp:
  44162. (WebCore::SQLStatement::performCallback): Release our callback objects
  44163. after performing our callback.
  44164. * storage/SQLTransaction.cpp:
  44165. (WebCore::SQLTransaction::postflightAndCommit): Release our callback
  44166. objects after the transaction has terminated.
  44167. (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): ditto.
  44168. 2008-01-18 Adele Peterson <adele@apple.com>
  44169. Reviewed by Antti.
  44170. Fix for <rdar://problem/5679490> media controls fade in and out too jerkily and too slowly
  44171. * rendering/RenderMedia.cpp: Shorten the duration for the fade in/out animation.
  44172. 2008-01-18 Beth Dakin <bdakin@apple.com>
  44173. Reviewed by Oliver.
  44174. Disables SVG foreign object for <rdar://problem/5686989> turn off
  44175. SVG foreignobject because it does not repaint/dirty correctly
  44176. * DerivedSources.make:
  44177. * WebCore.SVG.ForeignObject.exp: Added.
  44178. * WebCore.SVG.exp:
  44179. * bindings/js/JSSVGElementWrapperFactory.cpp:
  44180. (WebCore::createJSSVGWrapper):
  44181. * rendering/RenderForeignObject.cpp:
  44182. * rendering/RenderForeignObject.h:
  44183. * svg/SVGForeignObjectElement.cpp:
  44184. * svg/SVGForeignObjectElement.h:
  44185. * svg/SVGForeignObjectElement.idl:
  44186. * svg/SVGLocatable.cpp:
  44187. (WebCore::SVGLocatable::nearestViewportElement):
  44188. (WebCore::SVGLocatable::farthestViewportElement):
  44189. * svg/SVGUseElement.cpp:
  44190. (WebCore::isDisallowedElement):
  44191. * svg/svgtags.in:
  44192. 2008-01-18 Mark Rowe <mrowe@apple.com>
  44193. Rubber-stamped by Adam Roben.
  44194. Fix mixed line endings in FileSystemWin.cpp and set svn:eol-style to native
  44195. to try and keep them consistent in the future.
  44196. * platform/win/FileSystemWin.cpp:
  44197. (WebCore::fileSize):
  44198. (WebCore::fileExists):
  44199. (WebCore::deleteFile):
  44200. (WebCore::pathByAppendingComponent):
  44201. (WebCore::fileSystemRepresentation):
  44202. (WebCore::makeAllDirectories):
  44203. (WebCore::homeDirectoryPath):
  44204. (WebCore::bundleName):
  44205. (WebCore::storageDirectory):
  44206. (WebCore::cachedStorageDirectory):
  44207. 2008-01-18 Antti Koivisto <antti@apple.com>
  44208. Reviewed by Adam.
  44209. Fix unreachable code warning in RenderVideo on Windows.
  44210. Make switch cases explicit.
  44211. * rendering/RenderImage.cpp:
  44212. (WebCore::RenderImage::isWidthSpecified):
  44213. (WebCore::RenderImage::isHeightSpecified):
  44214. * rendering/RenderVideo.cpp:
  44215. (WebCore::RenderVideo::isWidthSpecified):
  44216. (WebCore::RenderVideo::isHeightSpecified):
  44217. 2008-01-18 Timothy Hatcher <timothy@apple.com>
  44218. Reviewed by Adam Roben.
  44219. <rdar://problem/5693558> REGRESSION (r29581): no form field focus
  44220. rings and inactive text selection after loading a page
  44221. Bug 16910: [GTK] REGRESSION: keyboard cursor doesn't blink
  44222. Bug 16917: REGRESSION (r29581/2): Google Maps search box loses focused appearance
  44223. * page/FocusController.cpp:
  44224. (WebCore::FocusController::setActive): Use focusedOrMainFrame() instead of focusedFrame()
  44225. to call selectionController()->pageActivationChanged() for cases when the focusedFrame()
  44226. has not been set yet.
  44227. 2008-01-18 Alexey Proskuryakov <ap@webkit.org>
  44228. Reviewed by Brady.
  44229. Database origin tracking is broken.
  44230. * storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::populateOrigins):
  44231. Move reading from statement back into the loop (broken in r29386).
  44232. 2008-01-18 Marius Storm-Olsen <marius@trolltech.com>
  44233. Reviewed by Simon Hausmann <hausmann@webkit.org>.
  44234. Add use of precompiled header, when building inside Qt.
  44235. Compiling WebKit was taking forever; 17 minutes on my machine for _one_ build! Adding the PCH at least brings it down to 12 minutes for one build, for me.
  44236. * WebCore.pro:
  44237. 2008-01-18 Simon Hausmann <hausmann@webkit.org>
  44238. Reviewed by Holger.
  44239. Fix fast/forms/button-state-restore.html
  44240. Similar to the fix for fast/forms/form-post-urlencoded.html transform POST
  44241. requests to data urls into GET.
  44242. * platform/network/qt/QNetworkReplyHandler.cpp:
  44243. (WebCore::QNetworkReplyHandler::start):
  44244. 2008-01-18 Simon Hausmann <hausmann@webkit.org>
  44245. Reviewed by Holger.
  44246. Fix LayoutTests/fast/cookies/local-file-can-set-cookies.html
  44247. In WebCore::cookies() don't return the full raw form but only the name=value
  44248. part. This fixes the getter part of the above test. The above test also
  44249. requires a parsing fix in Qt 4.4's QNetworkCookie to fully pass.
  44250. * platform/qt/CookieJarQt.cpp:
  44251. (WebCore::cookies):
  44252. 2008-01-18 Simon Hausmann <hausmann@webkit.org>
  44253. Reviewed by Holger.
  44254. Fix svg/custom/path-getTotalLength.svg
  44255. Path::apply creates a PathElement and its points array on the stack,
  44256. to fill it in from the QPainterPath data and then use the platform
  44257. independent path applier functions to calculate properties such as
  44258. the length. For converting a QPainterPath::CurveToElement we need
  44259. three points in the path element. However we allocated only two
  44260. on the stack and as a result we got memory corruption and the
  44261. failing test.
  44262. * platform/graphics/qt/PathQt.cpp:
  44263. (WebCore::Path::apply):
  44264. 2008-01-18 Simon Hausmann <hausmann@webkit.org>
  44265. Reviewed by Holger.
  44266. Fix LayoutTests/fast/dom/document-attribute-js-null.html
  44267. Don't crash when trying to get/set cookies without a frameloader.
  44268. * platform/qt/CookieJarQt.cpp:
  44269. (WebCore::setCookies):
  44270. (WebCore::cookies):
  44271. 2008-01-18 Simon Hausmann <hausmann@webkit.org>
  44272. Reviewed by Holger.
  44273. Fix fast/dom/xmlhttprequest-get.xhtml
  44274. For local file requests remove the content length and the last-modified
  44275. headers in the response.
  44276. * platform/network/qt/QNetworkReplyHandler.cpp:
  44277. (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
  44278. 2008-01-18 Simon Hausmann <hausmann@webkit.org>
  44279. Reviewed by Holger.
  44280. Fix fast/forms/form-post-urlencoded.html.
  44281. Post requests on files don't really make sense, but for
  44282. fast/forms/form-post-urlencoded.html we still need to retrieve the file,
  44283. which means we map it to a Get instead.
  44284. * platform/network/qt/QNetworkReplyHandler.cpp:
  44285. (WebCore::QNetworkReplyHandler::start):
  44286. 2008-01-18 Simon Hausmann <hausmann@webkit.org>
  44287. Reviewed by Holger.
  44288. Make QNetworkReplyHandler::abort() more robust against multiple invocations.
  44289. During DRT runs I see cancel() being called on the same handle multiple times. Guard
  44290. against this a bit better by setting m_reply to 0 after we called abort() on it.
  44291. * platform/network/qt/QNetworkReplyHandler.cpp:
  44292. (WebCore::QNetworkReplyHandler::abort):
  44293. 2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  44294. Reviewed by Simon.
  44295. * httpBody() can return 0 and other ports (cf/mac) check for this condition
  44296. * Looking at the cf/mac implementation we might need to call setHTTPBody somewhere
  44297. as well.
  44298. WARNING: NO TEST CASES ADDED OR CHANGED
  44299. * platform/network/qt/QNetworkReplyHandler.cpp:
  44300. (WebCore::QNetworkReplyHandler::start):
  44301. 2008-01-18 Prasanth Ullattil <prasanth.ullattil@trolltech.com>
  44302. Reviewed by Simon Hausmann <hausmann@webkit.org>.
  44303. Fix compilation in Win64(3): Due to the size of size_t cast the return value explicitly to double() to make sure the right Value() constructor is called.
  44304. * xml/XPathFunctions.cpp:
  44305. (WebCore::XPath::FunCount::evaluate):
  44306. 2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  44307. Reviewed by Simon.
  44308. * Remove our windowClipRect reimplementation and instead have our own
  44309. Widget::invalidate implementation that is invalidating
  44310. IntRect(0, 0, width(), height()) without trying to clip it (in contrast
  44311. to Widget::invalidateRect)
  44312. * platform/qt/PlatformScrollBar.h:
  44313. * platform/qt/PlatformScrollBarQt.cpp:
  44314. (WebCore::PlatformScrollbar::invalidate):
  44315. 2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  44316. Reviewed by Simon.
  44317. * Change the coordinate transformation in the PlatformMouseEvent handlers
  44318. * We want to convert from coordinates of the containing window to our local
  44319. position on the scrollbar.
  44320. * platform/qt/PlatformScrollBarQt.cpp:
  44321. (WebCore::PlatformScrollbar::handleMouseMoveEvent):
  44322. (WebCore::PlatformScrollbar::handleMousePressEvent):
  44323. 2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  44324. Reviewed by Simon.
  44325. * Make the qDebug more usable. Do not have an additional newline and print
  44326. the untranslated coordinates as well.
  44327. * platform/qt/PlatformScrollBarQt.cpp:
  44328. (WebCore::PlatformScrollbar::handleMouseMoveEvent):
  44329. (WebCore::PlatformScrollbar::handleMousePressEvent):
  44330. 2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  44331. Reviewed by Simon.
  44332. * Dead code, remove it
  44333. * platform/qt/PlatformScrollBarQt.cpp:
  44334. 2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  44335. Reviewed by Simon.
  44336. * Coding-Style fixes.
  44337. * platform/qt/PlatformScrollBarQt.cpp:
  44338. (WebCore::PlatformScrollbar::PlatformScrollbar):
  44339. 2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  44340. Reviewed by Simon.
  44341. * Coding-Style fix
  44342. * platform/graphics/qt/ImageDecoderQt.cpp:
  44343. (WebCore::ImageDecoderQt::ReadContext::ReadContext):
  44344. 2008-01-17 Geoffrey Garen <ggaren@apple.com>
  44345. Reviewed by Darin Adler.
  44346. Fixed: lots of WebCore leaks reported when quitting Safari
  44347. If we're quitting with a GC still scheduled, do the GC before quitting.
  44348. That way, WebCore's leak counters won't count objects that were
  44349. scheduled for GC.
  44350. * bindings/js/GCController.cpp:
  44351. (WebCore::GCController::~GCController):
  44352. (WebCore::GCController::garbageCollectNow):
  44353. * bindings/js/GCController.h:
  44354. 2008-01-17 Alp Toker <alp@atoker.com>
  44355. Reviewed by Oliver Hunt.
  44356. gdk_screen_get_font_options() returns NULL if no default options are
  44357. set so we always have to NULL check to avoid crashes later on since
  44358. Cairo doesn't accept NULL font options.
  44359. * platform/graphics/gtk/FontPlatformDataGtk.cpp:
  44360. (WebCore::FontPlatformData::FontPlatformData):
  44361. 2008-01-17 Antti Koivisto <antti@apple.com>
  44362. Reviewed by Adele.
  44363. Windows fix for <rdar://problem/5605682>
  44364. Disallow streaming protocols for media elements
  44365. and <rdar://problem/5668711>
  44366. Limit the container and codec types that the <video> tag supports
  44367. - Disable unsupported QuickTime tracks types.
  44368. - Disallow streaming protocols (for now).
  44369. * WebCore.vcproj/WebCore.vcproj:
  44370. * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
  44371. (WebCore::MediaPlayerPrivate::updateStates):
  44372. * platform/graphics/win/QTMovieWin.cpp:
  44373. (QTMovieWin::load):
  44374. (QTMovieWin::disableUnsupportedTracks):
  44375. * platform/graphics/win/QTMovieWin.h:
  44376. 2008-01-17 Oliver Hunt <oliver@apple.com>
  44377. Support smart copy and paste during drag and drop
  44378. Reviewed by Alice
  44379. In order for the drag and drop tests in Windows DRT to pass
  44380. we need to support smart cut and paste operations during
  44381. drag and drop on windows.
  44382. There is no layout test as drag and drop is still unsupported
  44383. on windows. Once supported smart drag/drop is tested by existing
  44384. tests
  44385. * platform/win/ClipboardUtilitiesWin.cpp:
  44386. (WebCore::smartPasteFormat):
  44387. * platform/win/ClipboardUtilitiesWin.h:
  44388. * platform/win/ClipboardWin.cpp:
  44389. (WebCore::ClipboardWin::writeRange):
  44390. * platform/win/DragDataWin.cpp:
  44391. 2008-01-17 Oliver Hunt <oliver@apple.com>
  44392. Reviewed by Anders.
  44393. <rdar://problem/5692940> Crash when attempting to get text properties in
  44394. SVG with no renderer
  44395. We use the element renderer to calculate the text element bounds,
  44396. however there was no check against the possibility of the text dimension
  44397. properties being requested on a element with no renderer (eg. unattached,
  44398. display: none).
  44399. Test: svg/text/text-property-with-display-none.html
  44400. * svg/SVGTextContentElement.cpp:
  44401. (WebCore::rootInlineBoxForTextContentElement):
  44402. 2008-01-17 Anders Carlsson <andersca@apple.com>
  44403. Reviewed by Oliver.
  44404. <rdar://problem/5636742>
  44405. CrashTracer: [USER] 1302 crashes in Safari at com.apple.WebCore: WTF::Vector<char, 0ul>::reserveCapacity + 78
  44406. When loading full-frame plug-ins, disable buffering data for the main resource loader. Otherwise, this can cause us
  44407. to crash when loading large files such as movies in the browser. We already do this for embedded plug-ins.
  44408. * WebCore.base.exp:
  44409. * loader/DocumentLoader.h:
  44410. (WebCore::DocumentLoader::mainResourceLoader):
  44411. New accessor method.
  44412. * loader/PluginDocument.cpp:
  44413. (WebCore::PluginTokenizer::writeRawData):
  44414. Disable buffering for the main resource loader.
  44415. * loader/ResourceLoader.cpp:
  44416. (WebCore::ResourceLoader::setShouldBufferData):
  44417. * loader/ResourceLoader.h:
  44418. Have this free the buffer when disabling buffering.
  44419. 2008-01-17 Adam Roben <aroben@apple.com>
  44420. More Qt/GTK+ build fixing.
  44421. * platform/gtk/ScrollViewGtk.cpp:
  44422. * platform/qt/ScrollViewQt.cpp:
  44423. 2008-01-17 Alexey Proskuryakov <ap@webkit.org>
  44424. Reviewed by Darin.
  44425. http://bugs.webkit.org/show_bug.cgi?id=16902
  44426. <rdar://problem/5692566> fast/encoding/mailto-always-utf-8.html fails when run after
  44427. fast/dom/Window/window-property-shadowing.html
  44428. Test: fast/dom/Window/window-property-shadowing_.html
  44429. * loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): Clear the frame name, too.
  44430. 2008-01-17 Adam Roben <aroben@apple.com>
  44431. Qt/GTK+ build fix.
  44432. * platform/gtk/ScrollViewGtk.cpp:
  44433. (WebCore::ScrollView::ScrollViewPrivate::isActive):
  44434. * platform/qt/ScrollViewQt.cpp:
  44435. (WebCore::ScrollView::ScrollViewPrivate::isActive):
  44436. 2008-01-16 Adam Roben <aroben@apple.com>
  44437. Update scroll bars/form controls when FocusController::isActive changes
  44438. Part of <rdar://5006915> Inactive look for Aqua controls
  44439. Reviewed by Darin.
  44440. All tests pass.
  44441. * page/FocusController.cpp:
  44442. (WebCore::FocusController::setActive): Update control tints when the
  44443. active state changes.
  44444. * page/FrameView.cpp:
  44445. (WebCore::FrameView::updateControlTints): On Windows, we have to ask
  44446. ScrollView to paint so that the outermost scroll bars will paint. On
  44447. Mac, the outermost scroll bars are taken care of by NSScroller.
  44448. * platform/PopupMenu.h: Updated for ScrollBarClient changes.
  44449. * platform/ScrollBar.h: Added a new ScrollBarClient method.
  44450. * platform/win/PlatformScrollBarSafari.cpp:
  44451. (WebCore::PlatformScrollbar::paint): Invalidate when updating control
  44452. tints so that we can paint with the new tint later.
  44453. (WebCore::PlatformScrollbar::paintButton): Pass the active state down
  44454. to SafariTheme.
  44455. (WebCore::PlatformScrollbar::paintTrack): Ditto.
  44456. (WebCore::PlatformScrollbar::paintThumb): Ditto.
  44457. * platform/win/ScrollViewWin.cpp:
  44458. (WebCore::ScrollView::ScrollViewPrivate::isActive): Added.
  44459. (WebCore::ScrollView::paint): Pass paint calls on down if we're
  44460. updating control tints so the scroll bars can invalidate.
  44461. * rendering/RenderLayer.cpp:
  44462. (WebCore::RenderLayer::isActive): Added.
  44463. * rendering/RenderLayer.h:
  44464. * rendering/RenderListBox.cpp:
  44465. (WebCore::RenderListBox::isActive): Added.
  44466. * rendering/RenderListBox.h:
  44467. * rendering/RenderTheme.cpp:
  44468. (WebCore::RenderTheme::isActive): Added.
  44469. * rendering/RenderTheme.h:
  44470. * rendering/RenderThemeSafari.cpp:
  44471. (WebCore::RenderThemeSafari::determineState): Pass the active state
  44472. down to SafariTheme.
  44473. 2008-01-16 Adam Roben <aroben@apple.com>
  44474. Move focused/active state from Frame to SelectionController/FocusController
  44475. This is the first part of <rdar://5006915> Inactive look for Aqua
  44476. controls.
  44477. The following methods were moved/renamed:
  44478. - Frame::setIsActive -> FocusController::setActive
  44479. - Frame::isActive -> SelectionController::isActiveAndFocused
  44480. - Frame::setWindowHasFocus -> SelectionController::setFocused
  44481. Active state is now correctly a Page-level concept.
  44482. The Mac parts of this patch were written by Darin.
  44483. Reviewed by Darin.
  44484. All tests pass.
  44485. * WebCore.base.exp: Updated for method renames.
  44486. * css/CSSStyleSelector.cpp:
  44487. (WebCore::CSSStyleSelector::checkOneSelector): Ditto.
  44488. * editing/SelectionController.cpp:
  44489. (WebCore::SelectionController::SelectionController): Initialize new
  44490. member.
  44491. (WebCore::SelectionController::focusedOrActiveStateChanged): New
  44492. private method. Most of this code came from Frame::setIsActive.
  44493. (WebCore::SelectionController::pageActivationChanged): Added.
  44494. (WebCore::SelectionController::setFocused): Added. Replaces
  44495. Frame::setWindowHasFocus.
  44496. (WebCore::SelectionController::isFocusedAndActive): Added. Replaces
  44497. Frame::isActive.
  44498. * editing/SelectionController.h:
  44499. * page/FocusController.cpp:
  44500. (WebCore::FocusController::FocusController): Initialize new member.
  44501. (WebCore::FocusController::setFocusedFrame): Changed to just call
  44502. SelectionController::setFocused, since active state has doesn't change
  44503. when the focused frame changes.
  44504. (WebCore::FocusController::setActive): Added. Replaces
  44505. Frame::setIsActive.
  44506. * page/FocusController.h:
  44507. (WebCore::FocusController::isActive): Added.
  44508. * page/Frame.cpp:
  44509. (WebCore::Frame::setDocument): Updated for method renames.
  44510. (WebCore::Frame::setFocusedNodeIfNeeded): Ditto.
  44511. (WebCore::Frame::updateSecureKeyboardEntryIfActive): Ditto.
  44512. (WebCore::FramePrivate::FramePrivate): Removed initialization of
  44513. removed members.
  44514. * page/Frame.h:
  44515. * page/FramePrivate.h:
  44516. * page/mac/WebCoreFrameBridge.h: Removed -selectionColor.
  44517. * page/mac/WebCoreFrameBridge.mm: Ditto.
  44518. * rendering/RenderListBox.cpp:
  44519. (WebCore::RenderListBox::paintItemForeground): Updated for method
  44520. renames.
  44521. (WebCore::RenderListBox::paintItemBackground): Ditto.
  44522. * rendering/RenderObject.cpp:
  44523. (WebCore::RenderObject::selectionBackgroundColor): Ditto.
  44524. (WebCore::RenderObject::selectionForegroundColor): Ditto.
  44525. * rendering/RenderTextControl.cpp:
  44526. (WebCore::RenderTextControl::capsLockStateMayHaveChanged): Ditto.
  44527. * rendering/RenderTheme.cpp:
  44528. (WebCore::RenderTheme::isFocused): Ditto.
  44529. 2008-01-17 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  44530. Reviewed by Simon.
  44531. * Make the nice 'safari' feature work on our port. When viewing a single image, clicking
  44532. on the image will zoom it.
  44533. * It seems like our platform can only determine the size of the image once it is completely
  44534. loaded. Call m_doc->imageChanged on the last chunk of data as well.
  44535. * loader/ImageDocument.cpp:
  44536. (WebCore::ImageTokenizer::finish):
  44537. 2008-01-17 Simon Hausmann <hausmann@webkit.org>
  44538. Reviewed by Lars.
  44539. Set the library version of QtWebKit to the Qt version.
  44540. * WebCore.pro:
  44541. 2008-01-17 Simon Hausmann <hausmann@webkit.org>
  44542. Reviewed by Holger.
  44543. Re-enable gzip compression as accepted encoding, now that the bug is fixed in Qt 4.4's network module.
  44544. * platform/network/qt/QNetworkReplyHandler.cpp:
  44545. (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
  44546. 2008-01-17 Simon Hausmann <hausmann@webkit.org>
  44547. Another Windows build fix, setCookies accidentially had a const
  44548. Document pointer.
  44549. * platform/network/win/CookieJarWin.cpp:
  44550. 2008-01-17 Simon Hausmann <hausmann@webkit.org>
  44551. MSVC Windows build fix. Forward declaring Document in CookieJar.h
  44552. seems not enough for MSVC.
  44553. * platform/network/win/CookieJarWin.cpp:
  44554. 2008-01-17 Simon Hausmann <hausmann@webkit.org>
  44555. Reviewed by Maciej, Lars, Holger.
  44556. http://bugs.webkit.org/show_bug.cgi?id=16589
  44557. Add a document parameter to WebCore::cookies, setCookies and cookiesEnabled.
  44558. * WebCore.pro:
  44559. * bindings/js/kjs_navigator.cpp:
  44560. (KJS::Navigator::getValueProperty):
  44561. * dom/Document.cpp:
  44562. (WebCore::Document::cookie):
  44563. * platform/CookieJar.h:
  44564. * platform/gtk/CookieJarGtk.cpp:
  44565. (WebCore::setCookies):
  44566. (WebCore::cookies):
  44567. * platform/mac/CookieJar.mm:
  44568. * platform/network/win/CookieJarWin.cpp:
  44569. * platform/qt/CookieJarQt.cpp:
  44570. (WebCore::setCookies):
  44571. (WebCore::cookies):
  44572. (WebCore::cookiesEnabled):
  44573. * platform/wx/TemporaryLinkStubs.cpp:
  44574. 2008-01-17 Simon Hausmann <hausmann@webkit.org>
  44575. Reviewed by Holger.
  44576. Windows build fix. (use localtime_r again instead of _s)
  44577. * loader/FTPDirectoryDocument.cpp:
  44578. (WebCore::processFileDateString):
  44579. 2008-01-17 Frans Englich <fenglich@trolltech.com>
  44580. Reviewed by Simon Hausmann <hausmann@webkit.org>.
  44581. Fix linking on MinGW and at least one MSVC platform by having gmtimeQt in the correct namespace.
  44582. * loader/FTPDirectoryDocument.cpp:
  44583. 2008-01-17 Simon Hausmann <hausmann@webkit.org>
  44584. Reviewed by Holger.
  44585. Don't link QtWebKit against libQtXml when building against Qt 4.4.
  44586. This is not necessary anymore since QXmlStream has been moved into QtCore.
  44587. * WebCore.pro:
  44588. 2008-01-17 Håvard Wall <hwall@trolltech.com>
  44589. Reviewed by Simon Hausmann <hausmann@webkit.org>.
  44590. Fix compilation on arm
  44591. * platform/graphics/qt/GraphicsContextQt.cpp:
  44592. (WebCore::GraphicsContext::endTransparencyLayer):
  44593. 2008-01-17 Simon Hausmann <shausman@trolltech.com>
  44594. Reviewed by Holger.
  44595. Fix compilation against Qt 4.4 without files that are specific for the Qt 4.3 build.
  44596. * WebCore.pro:
  44597. * platform/network/qt/ResourceHandleQt.cpp:
  44598. * platform/qt/MIMETypeRegistryQt.cpp:
  44599. * platform/qt/PlugInInfoStoreQt.cpp:
  44600. 2008-01-17 Frans Englich <fenglich@trolltech.com>
  44601. Reviewed by Simon Hausmann <hausmann@webkit.org>.
  44602. Fixes compilation with MinGW.
  44603. Neither localtime_r nor localtime_s are available on MingW, so instead of
  44604. calling back to the thread-unsafe localtime use QDateTime instead.
  44605. * loader/FTPDirectoryDocument.cpp:
  44606. (WebCore::FTPDirectoryTokenizer::WebCore::processFilesizeString):
  44607. (WebCore::FTPDirectoryTokenizer::WebCore::wasLastDayOfMonth):
  44608. (WebCore::FTPDirectoryTokenizer::WebCore::WebCore::gmtimeQt):
  44609. * loader/FTPDirectoryParser.cpp:
  44610. (WebCore::parseOneFTPLine):
  44611. 2008-01-17 Dan Bernstein <mitz@apple.com>
  44612. Reviewed by Dave Hyatt.
  44613. - fix determinePitch for segmented fonts
  44614. Covered by fast/css/font-face-implicit-local-font.html
  44615. * platform/graphics/FontFallbackList.cpp:
  44616. (WebCore::FontFallbackList::determinePitch): If the primary font is
  44617. segmented, treat as fixed pitch only if it has only one segment
  44618. and that segment is fixed-pitch.
  44619. 2008-01-16 David Hyatt <hyatt@apple.com>
  44620. Fix for http://bugs.webkit.org/show_bug.cgi?id=16611
  44621. Make sure vertical-align length values are offset from their parents rather than being absolute to the
  44622. line.
  44623. Reviewed by olliej
  44624. Added fast/css/vertical-align-lengths.html
  44625. * rendering/RenderObject.cpp:
  44626. (WebCore::RenderObject::getVerticalPosition):
  44627. 2008-01-16 Dan Bernstein <mitz@apple.com>
  44628. Reviewed by Dave Hyatt.
  44629. - fix for @font-face rules with unicode-range: always use a local font where not
  44630. explicitly overlaid.
  44631. Test: fast/css/font-face-implicit-local-font.html
  44632. * css/CSSFontSelector.cpp:
  44633. (WebCore::CSSFontSelector::addFontFaceRule): Changed to insert an implicit
  44634. @font-face rule with the local font the matches the family and description before
  44635. any explicit @font-face rules that overlay specific ranges of the same font.
  44636. * css/CSSSegmentedFontFace.h:
  44637. (WebCore::CSSSegmentedFontFace::numRanges): Addded.
  44638. 2008-01-16 Antti Koivisto <antti@apple.com>
  44639. Fix Tiger build.
  44640. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  44641. (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
  44642. 2008-01-16 Antti Koivisto <antti@apple.com>
  44643. Reviewed by Adele.
  44644. OS X fix for <rdar://problem/5605682>
  44645. Disallow streaming protocols for media elements
  44646. and <rdar://problem/5668711>
  44647. Limit the container and codec types that the <video> tag supports
  44648. - Disable unsupported QuickTime tracks types.
  44649. - Disallow streaming protocols (for now).
  44650. - Set QTMovie QTMoviePreventExternalURLLinksAttribute and QTSecurityPolicyNoCrossSiteAttribute
  44651. to limit QuickTime's access to external resources.
  44652. Windows patch coming up.
  44653. Tests: media/broken-video.html
  44654. media/unsupported-rtsp.html
  44655. media/unsupported-tracks.html
  44656. * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  44657. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  44658. (WebCore::MediaPlayerPrivate::createQTMovie):
  44659. (WebCore::MediaPlayerPrivate::updateStates):
  44660. (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
  44661. 2008-01-16 Rodney Dawes <dobey@wayofthemonkey.com>
  44662. Reviewed by Alp Toker.
  44663. http://bugs.webkit.org/show_bug.cgi?id=16897
  44664. Add shared plugins directory to INCLUDE path
  44665. Add the plugins directory to INCLUDEPATH
  44666. * GNUmakefile.am:
  44667. * WebCore.pro:
  44668. 2008-01-16 Geoffrey Garen <ggaren@apple.com>
  44669. Reviewed by Sam Weinig.
  44670. Added a debug counter for SQL transactions. This helped me debug an SQL
  44671. leak.
  44672. * bindings/js/JSCustomSQLTransactionCallback.cpp:
  44673. (WebCore::JSCustomSQLTransactionCallbackCounter::~JSCustomSQLTransactionCallbackCounter):
  44674. (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
  44675. (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
  44676. * bindings/js/JSCustomSQLTransactionCallback.h:
  44677. * bindings/js/kjs_window.cpp: Removed a silly comment.
  44678. 2008-01-16 David Hyatt <hyatt@apple.com>
  44679. Fix for http://bugs.webkit.org/show_bug.cgi?id=14846, cell padding can't be changed dynamically.
  44680. Reviewed by Eric Seidel
  44681. Added fast/table/dynamic-cellpadding.html
  44682. * html/HTMLTableElement.cpp:
  44683. (WebCore::HTMLTableElement::parseMappedAttribute):
  44684. * rendering/RenderTable.cpp:
  44685. (WebCore::RenderTable::setCellPadding):
  44686. * rendering/RenderTable.h:
  44687. 2008-01-16 David Hyatt <hyatt@apple.com>
  44688. Fix for <rdar://problem/5681647> Item pages on http://www.stendmarsofa.com/ hang Safari
  44689. This regression was caused by an attempt to implement a WinIE quirk in RenderBlock::calcInlinePrefWidths.
  44690. The original patch introduced pathological O(n^2) behavior into this function even when the quirk didn't need
  44691. to apply. In addition the quirk was only partially implemented (the full quirk did not care what was adjacent
  44692. to images and also needed bidi.cpp patched, since the quirk applies both when computing pref widths and when
  44693. laying out).
  44694. This new patch rewrites the quirk to be complete. The original test case attached to the bug that tested a variety
  44695. of image/text combinations now fully matches WinIE.
  44696. Reviewed by Beth
  44697. Added fast/table/unbreakable-images-quirk.html
  44698. * rendering/RenderBlock.cpp:
  44699. (WebCore::RenderBlock::calcInlinePrefWidths):
  44700. * rendering/bidi.cpp:
  44701. (WebCore::RenderBlock::findNextLineBreak):
  44702. 2008-01-16 Rodney Dawes <dobey@wayofthemonkey.com>
  44703. Reviewed by Jon Honeycutt
  44704. Move isPluginBlacklisted to PluginPackageWin.cpp, to avoid
  44705. a circular dependency on PluginDatabaseWin
  44706. Remove the getFileVersion method, and just check the versions directly
  44707. in isPluginBlacklisted, as it was the only caller
  44708. http://bugs.webkit.org/show_bug.cgi?id=16884
  44709. * plugins/win/PluginDatabaseWin.cpp:
  44710. * plugins/win/PluginDatabaseWin.h:
  44711. * plugins/win/PluginPackageWin.cpp:
  44712. * plugins/win/PluginPackageWin.h:
  44713. 2008-01-16 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  44714. Reviewed by Lars.
  44715. * Set the cursor on the containingWindow() instead of the
  44716. nativeWidget()
  44717. * This should be safe even with plugins as the cursor is set
  44718. on the mouse events.
  44719. * platform/qt/WidgetQt.cpp:
  44720. (WebCore::Widget::setCursor):
  44721. 2008-01-16 Brad Hughes <bhughes@trolltech.com>
  44722. Reviewed by Lars.
  44723. Improve the sqlite3 dependency when building WebKit inside Qt.
  44724. Build sqlite3 into QtWebKit if a system sqlite3 development package
  44725. can't be found.
  44726. * WebCore.pro:
  44727. 2008-01-16 Lars Knoll <lars@trolltech.com>
  44728. Reviewed by Simon Hausmann <simon.hausmann@trolltech.com>.
  44729. Implement GraphicsContext::clipOut and fix transparency layers.
  44730. Transparency layers where broken in two ways: It always used the
  44731. complete device rect as the size of the layer pixmap and the pixmaps
  44732. where not correctly initialized to transparent.
  44733. This fixes the worst drawing errors in the Inspector and makes drawing it
  44734. 10 times faster.
  44735. * platform/graphics/qt/GraphicsContextQt.cpp:
  44736. (WebCore::toQtLineJoin):
  44737. (WebCore::TransparencyLayer::TransparencyLayer):
  44738. (WebCore::GraphicsContextPlatformPrivate::p):
  44739. (WebCore::GraphicsContext::platformContext):
  44740. (WebCore::GraphicsContext::savePlatformState):
  44741. (WebCore::GraphicsContext::restorePlatformState):
  44742. (WebCore::GraphicsContext::drawRect):
  44743. (WebCore::GraphicsContext::drawLine):
  44744. (WebCore::GraphicsContext::drawEllipse):
  44745. (WebCore::GraphicsContext::strokeArc):
  44746. (WebCore::GraphicsContext::drawConvexPolygon):
  44747. (WebCore::GraphicsContext::fillRect):
  44748. (WebCore::GraphicsContext::fillRoundedRect):
  44749. (WebCore::GraphicsContext::clip):
  44750. (WebCore::GraphicsContext::drawFocusRing):
  44751. (WebCore::GraphicsContext::beginTransparencyLayer):
  44752. (WebCore::GraphicsContext::endTransparencyLayer):
  44753. (WebCore::GraphicsContext::clearRect):
  44754. (WebCore::GraphicsContext::strokeRect):
  44755. (WebCore::GraphicsContext::setLineCap):
  44756. (WebCore::GraphicsContext::setLineJoin):
  44757. (WebCore::GraphicsContext::setMiterLimit):
  44758. (WebCore::GraphicsContext::setAlpha):
  44759. (WebCore::GraphicsContext::setCompositeOperation):
  44760. (WebCore::GraphicsContext::clipOut):
  44761. (WebCore::GraphicsContext::translate):
  44762. (WebCore::GraphicsContext::origin):
  44763. (WebCore::GraphicsContext::rotate):
  44764. (WebCore::GraphicsContext::scale):
  44765. (WebCore::GraphicsContext::clipOutEllipseInRect):
  44766. (WebCore::GraphicsContext::addInnerRoundedRectClip):
  44767. (WebCore::GraphicsContext::setPlatformStrokeStyle):
  44768. (WebCore::GraphicsContext::setPlatformStrokeThickness):
  44769. (WebCore::GraphicsContext::setPlatformFillColor):
  44770. (WebCore::GraphicsContext::setUseAntialiasing):
  44771. 2008-01-16 Lars Knoll <lars@trolltech.com>
  44772. Reviewed by Simon Hausmann <simon.hausmann@trolltech.com>.
  44773. Trivially implement the themed search field by mapping it to a text field
  44774. Also add a bunch of notImplemented warnings for other places where we don't
  44775. have an implementatin in RenderTheme.
  44776. * platform/qt/RenderThemeQt.cpp:
  44777. (WebCore::RenderThemeQt::paintTextField):
  44778. (WebCore::RenderThemeQt::paintMenuListButton):
  44779. (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
  44780. (WebCore::RenderThemeQt::paintSliderTrack):
  44781. (WebCore::RenderThemeQt::paintSliderThumb):
  44782. (WebCore::RenderThemeQt::paintSearchField):
  44783. (WebCore::RenderThemeQt::adjustSearchFieldStyle):
  44784. (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
  44785. (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
  44786. (WebCore::RenderThemeQt::adjustSearchFieldDecorationStyle):
  44787. (WebCore::RenderThemeQt::paintSearchFieldDecoration):
  44788. (WebCore::RenderThemeQt::adjustSearchFieldResultsDecorationStyle):
  44789. (WebCore::RenderThemeQt::paintSearchFieldResultsDecoration):
  44790. 2008-01-16 Holger Freyther <holger.freyther@trolltech.com>
  44791. Reviewed by Simon.
  44792. * Follow the EventHandlerWin.cpp and always return true in the handlers.
  44793. * Match the windows implementation more closely as well.
  44794. * This is fixing "selection" bugs with the Web Inspector
  44795. * page/qt/EventHandlerQt.cpp:
  44796. (WebCore::EventHandler::focusDocumentView):
  44797. (WebCore::EventHandler::passMousePressEventToSubframe):
  44798. (WebCore::EventHandler::passMouseMoveEventToSubframe):
  44799. (WebCore::EventHandler::passMouseReleaseEventToSubframe):
  44800. (WebCore::EventHandler::passMousePressEventToScrollbar):
  44801. 2008-01-16 Simon Hausmann <hausmann@webkit.org>
  44802. Reviewed by Lars Knoll <lars@trolltech.com>.
  44803. Fix crashes in the new networking code.
  44804. When the ResourceLoader cancels the handle we have to make sure not to access
  44805. the resource handle afterwards again.
  44806. * platform/network/qt/QNetworkReplyHandler.cpp:
  44807. (WebCore::QNetworkReplyHandler::finish):
  44808. (WebCore::QNetworkReplyHandler::forwardData):
  44809. 2008-01-16 Lars Knoll <lars@trolltech.com>
  44810. Reviewed by Simon.
  44811. add conversion methods from and to QUrl to KURL.
  44812. Use them in the places I found at the moment. Fixes a bug
  44813. where form data was encoded twice.
  44814. Also fix QWebSettings to take a QUrl for the user style sheet
  44815. location.
  44816. * WebCore.pro:
  44817. * platform/KURL.h:
  44818. * platform/network/qt/QNetworkReplyHandler.cpp:
  44819. (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
  44820. * platform/network/qt/ResourceRequestQt.cpp:
  44821. (WebCore::ResourceRequest::toNetworkRequest):
  44822. * platform/qt/KURLQt.cpp: Added.
  44823. (WebCore::KURL::KURL):
  44824. (WebCore::KURL::operator QUrl):
  44825. 2008-01-15 Darin Adler <darin@apple.com>
  44826. Rubber-stamped by Maciej Stachowiak and Oliver Hunt.
  44827. - fix <rdar://problem/5689748> REGRESSION: Cannot redirect to protocols handled by external applications
  44828. Put navigation policy delegate calls back for redirects.
  44829. Just rolled out the change where I took them out.
  44830. * loader/MainResourceLoader.cpp:
  44831. (WebCore::MainResourceLoader::callContinueAfterNavigationPolicy):
  44832. (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
  44833. (WebCore::MainResourceLoader::willSendRequest):
  44834. * loader/MainResourceLoader.h:
  44835. 2008-01-15 Adele Peterson <adele@apple.com>
  44836. Reviewed by Sam.
  44837. Remove unused variable for old media control background drawing code.
  44838. * rendering/RenderThemeMac.h:
  44839. * rendering/RenderThemeMac.mm:
  44840. (WebCore::RenderThemeMac::RenderThemeMac):
  44841. (WebCore::RenderThemeMac::~RenderThemeMac):
  44842. 2008-01-15 Sam Weinig <sam@webkit.org>
  44843. Reviewed by Geoffrey Garen.
  44844. Fix <rdar://problem/5595552> r27608 introduced a 20% increase in JS binary size, 4% increase in WebCore binary size
  44845. - Update JS Function implementations to use a static function based method. This decreases
  44846. the binary size of an Intel only build by 1013.5K.
  44847. * WebCore.xcodeproj/project.pbxproj:
  44848. * bindings/js/JSDOMWindowCustom.cpp:
  44849. (WebCore::JSDOMWindow::customGetOwnPropertySlot):
  44850. * bindings/js/JSEventTargetBase.cpp:
  44851. (WebCore::jsEventTargetAddEventListener):
  44852. (WebCore::jsEventTargetRemoveEventListener):
  44853. (WebCore::jsEventTargetDispatchEvent):
  44854. (WebCore::retrieveEventTargetAndCorrespondingNode):
  44855. * bindings/js/JSEventTargetBase.h:
  44856. * bindings/js/JSHTMLInputElementBase.cpp:
  44857. (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
  44858. (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
  44859. * bindings/js/JSHTMLInputElementBase.h:
  44860. * bindings/js/JSLocation.cpp:
  44861. (WebCore::JSLocation::getOwnPropertySlot):
  44862. (WebCore::jsLocationProtoFuncReplace):
  44863. (WebCore::jsLocationProtoFuncReload):
  44864. (WebCore::jsLocationProtoFuncAssign):
  44865. (WebCore::jsLocationProtoFuncToString):
  44866. * bindings/js/JSLocation.h:
  44867. * bindings/js/JSXMLHttpRequest.cpp:
  44868. (KJS::jsXMLHttpRequestPrototypeFunctionAbort):
  44869. (KJS::jsXMLHttpRequestPrototypeFunctionGetAllResponseHeaders):
  44870. (KJS::jsXMLHttpRequestPrototypeFunctionGetResponseHeader):
  44871. (KJS::jsXMLHttpRequestPrototypeFunctionOpen):
  44872. (KJS::jsXMLHttpRequestPrototypeFunctionSend):
  44873. (KJS::jsXMLHttpRequestPrototypeFunctionSetRequestHeader):
  44874. (KJS::jsXMLHttpRequestPrototypeFunctionOverrideMIMEType):
  44875. (KJS::jsXMLHttpRequestPrototypeFunctionAddEventListener):
  44876. (KJS::jsXMLHttpRequestPrototypeFunctionRemoveEventListener):
  44877. (KJS::jsXMLHttpRequestPrototypeFunctionDispatchEvent):
  44878. * bindings/js/JSXMLHttpRequest.h:
  44879. * bindings/js/JSXSLTProcessor.cpp:
  44880. (KJS::jsXSLTProcessorPrototypeFunctionImportStylesheet):
  44881. (KJS::jsXSLTProcessorPrototypeFunctionTransformToFragment):
  44882. (KJS::jsXSLTProcessorPrototypeFunctionTransformToDocument):
  44883. (KJS::jsXSLTProcessorPrototypeFunctionSetParameter):
  44884. (KJS::jsXSLTProcessorPrototypeFunctionGetParameter):
  44885. (KJS::jsXSLTProcessorPrototypeFunctionRemoveParameter):
  44886. (KJS::jsXSLTProcessorPrototypeFunctionClearParameters):
  44887. (KJS::jsXSLTProcessorPrototypeFunctionReset):
  44888. * bindings/js/JSXSLTProcessor.h:
  44889. * bindings/js/kjs_events.cpp:
  44890. (WebCore::jsClipboardPrototypeFunctionClearData):
  44891. (WebCore::jsClipboardPrototypeFunctionGetData):
  44892. (WebCore::jsClipboardPrototypeFunctionSetData):
  44893. (WebCore::jsClipboardPrototypeFunctionSetDragImage):
  44894. * bindings/js/kjs_events.h:
  44895. * bindings/js/kjs_navigator.cpp:
  44896. (KJS::pluginsFunctionRefresh):
  44897. (KJS::navigatorProtoFuncJavaEnabled):
  44898. * bindings/js/kjs_navigator.h:
  44899. * bindings/js/kjs_window.cpp:
  44900. (KJS::Window::getOwnPropertySlot):
  44901. (KJS::windowProtoFuncAToB):
  44902. (KJS::windowProtoFuncBToA):
  44903. (KJS::windowProtoFuncOpen):
  44904. (KJS::windowProtoFuncSetTimeout):
  44905. (KJS::windowProtoFuncClearTimeout):
  44906. (KJS::windowProtoFuncSetInterval):
  44907. (KJS::windowProtoFuncAddEventListener):
  44908. (KJS::windowProtoFuncRemoveEventListener):
  44909. (KJS::windowProtoFuncShowModalDialog):
  44910. (KJS::windowProtoFuncNotImplemented):
  44911. * bindings/js/kjs_window.h:
  44912. * bindings/scripts/CodeGenerator.pm:
  44913. * bindings/scripts/CodeGeneratorJS.pm:
  44914. 2008-01-15 Adele Peterson <adele@apple.com>
  44915. Reviewed by Dan.
  44916. Fix for <rdar://problem/5682492> With the <video> element, the audio is heard when forwarding or rewinding a movie while it's playing
  44917. * rendering/MediaControlElements.cpp: (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
  44918. Instead of pausing the media when you stop seeking on mouse up, pause the video when you first start seeking on mouse down.
  44919. 2008-01-15 Alp Toker <alp@atoker.com>
  44920. Rubber-stamped by Anders.
  44921. Make the HTTP backend configurable in the GTK+ port. curl is currently
  44922. the only option.
  44923. * GNUmakefile.am:
  44924. 2008-01-15 Adele Peterson <adele@apple.com>
  44925. Build fix.
  44926. * rendering/RenderThemeSafari.cpp: Removing MediaBackgroundAppearance.
  44927. 2008-01-14 Samuel Weinig <sam@webkit.org>
  44928. Reviewed by Darin.
  44929. Fix for <rdar://problem/5671040>
  44930. REGRESSION: 6% HTML iBench regression from r28722 (getElementsByClassName)
  44931. On my most consistent tests, this brings the HTML iBench from 1.46 -> 1.41,
  44932. which does not completely make up reported regression, but I was not able to
  44933. reproduce those findings either.
  44934. * css/CSSStyleSelector.cpp:
  44935. (WebCore::CSSStyleSelector::matchRules):
  44936. (WebCore::CSSStyleSelector::checkOneSelector):
  44937. * dom/ClassNames.cpp:
  44938. (WebCore::ClassNames::parseClassAttribute):
  44939. * dom/ClassNames.h:
  44940. (WebCore::ClassNames::contains):
  44941. (WebCore::ClassNames::operator[]):
  44942. 2008-01-15 Adele Peterson <adele@apple.com>
  44943. Build fix. This time for real.
  44944. * rendering/RenderThemeSafari.cpp:
  44945. 2008-01-15 Adele Peterson <adele@apple.com>
  44946. Build fix.
  44947. * rendering/RenderThemeSafari.cpp:
  44948. 2008-01-15 Dan Bernstein <mitz@apple.com>
  44949. Reviewed by Darin Adler.
  44950. - fix <rdar://problem/5666926> svg/custom/use-css-no-effect-on-shadow-tree.svg is failing
  44951. * svg/SVGPreserveAspectRatio.cpp:
  44952. (WebCore::SVGPreserveAspectRatio::getCTM): Changed the arguments' type
  44953. from float to double in order to make the values passed to scale() and
  44954. translate() on Mac OS X and on Windows the same.
  44955. * svg/SVGPreserveAspectRatio.h:
  44956. 2008-01-15 Alexey Proskuryakov <ap@webkit.org>
  44957. Reviewed by Darin.
  44958. <rdar://problem/5342813> REGRESSION: Safari encodes mailto URLs incorrectly
  44959. Test: fast/encoding/mailto-always-utf-8.html
  44960. * platform/KURL.cpp: (WebCore::encodeRelativeString): Always use UTF-8 for mailto URLs.
  44961. 2008-01-15 Adele Peterson <adele@apple.com>
  44962. Reviewed by Adam and Antti.
  44963. WebCore part of fix for <rdar://problem/5619062> Add load progress indicator to video controls
  44964. * WebCore.base.exp: Removed symbol for wkGetMediaControlBackgroundImageData. Added symbol for wkDrawMediaSliderTrack.
  44965. * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Removed case for MediaBackgroundAppearance.
  44966. * css/html4.css: Removed -webkit-appearance: media-background rule for the media panel element. Removed unnecessary margin for slider.
  44967. * rendering/RenderStyle.h: (WebCore::): Removed MediaBackgroundAppearance.
  44968. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
  44969. Call updateMediaPlayer more frequently so the load progress control gets updated appropriately.
  44970. * platform/mac/WebCoreSystemInterface.h: Removed wkGetMediaControlBackgroundImageData. Added wkDrawMediaSliderTrack.
  44971. * platform/mac/WebCoreSystemInterface.mm: ditto.
  44972. * rendering/RenderTheme.h: Removed paintMediaBackground. Added paintMediaSliderTrack.
  44973. * rendering/RenderTheme.cpp: (WebCore::RenderTheme::paint): Call paintMediaSliderTrack for elements with MediaSliderAppearance.
  44974. * rendering/RenderThemeMac.h: Removed paintMediaBackground. Added paintMediaSliderTrack.
  44975. * rendering/RenderThemeMac.mm:
  44976. (WebCore::RenderThemeMac::adjustSliderThumbSize): Added different sizes for the media slider thumb.
  44977. (WebCore::RenderThemeMac::paintMediaSliderTrack): Added. Calls wkDrawMediaSliderTrack with the percentage the media has loaded.
  44978. * rendering/RenderThemeSafari.cpp: ditto.
  44979. (WebCore::RenderThemeSafari::adjustSliderThumbSize):
  44980. (WebCore::RenderThemeSafari::paintMediaSliderTrack):
  44981. * rendering/RenderThemeSafari.h:
  44982. 2008-01-15 Alexey Proskuryakov <ap@webkit.org>
  44983. Reviewed by Mark Rowe.
  44984. Some logging channels weren't initialized from user defaults.
  44985. * platform/mac/LoggingMac.mm: (WebCore::InitializeLoggingChannelsIfNecessary):
  44986. Initialize LogPlatformLeaks, LogStorageAPI, LogMedia, LogPlugin.
  44987. 2008-01-14 Steve Falkenburg <sfalken@apple.com>
  44988. Use shared vsprops for most vcproj properties.
  44989. Reviewed by Darin.
  44990. * WebCore.vcproj/QTMovieWin.vcproj:
  44991. * WebCore.vcproj/WebCore.vcproj:
  44992. * platform/graphics/win/QTMovieWin.cpp:
  44993. (QTMovieWin::initializeQuickTime): Fix compiler warning.
  44994. 2008-01-14 Eric Seidel <eric@webkit.org>
  44995. Reviewed by mjs.
  44996. Remove a couple more uses of DeprecatedString
  44997. No functional changes, thus no test case.
  44998. * dom/Document.cpp:
  44999. (WebCore::Document::write):
  45000. (WebCore::Document::writeln):
  45001. (WebCore::Document::recalcStyleSelector):
  45002. * dom/Document.h:
  45003. 2008-01-14 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>
  45004. Reviewed by Alp Toker.
  45005. Build fix: missing symbols when compiling WebKit/Gtk+ with --enable-svg-filters
  45006. http://bugs.webkit.org/show_bug.cgi?id=16874
  45007. * GNUmakefile.am:
  45008. * svg/graphics/cairo/SVGResourceFilterCairo.cpp: Added.
  45009. (WebCore::SVGResourceFilter::createPlatformData):
  45010. (WebCore::SVGResourceFilter::prepareFilter):
  45011. (WebCore::SVGResourceFilter::applyFilter):
  45012. 2008-01-14 Finnur Thorarinsson <finnur.webkit@gmail.com>
  45013. Reviewed by hyatt & eseidel.
  45014. - fix http://bugs.webkit.org/show_bug.cgi?id=16844
  45015. RenderText::addLineBoxRects erroneously includes last char for boundingBox
  45016. This patch fixes an issue with addLineBoxRects not correctly calculating the
  45017. rects due to an off-by-one error in using box->end(). We were assuming that
  45018. end() gives the index past the last character, when in fact it gives the
  45019. index _of_ the last character.
  45020. Eric Seidel and I could not find a way to test this via DRT. This method is
  45021. only used by WebKit or Safari for displaying selection rects AFAICT.
  45022. * rendering/RenderText.cpp:
  45023. (WebCore::RenderText::addLineBoxRects):
  45024. 2008-01-14 Darin Adler <darin@apple.com>
  45025. Reviewed by Geoff.
  45026. - fix crash seen in layout tests
  45027. * html/HTMLFrameSetElement.cpp:
  45028. (WebCore::HTMLFrameSetElement::attach):
  45029. Remove incorrect cast to HTMLElement* for parentNode(). The parent is either an
  45030. HTMLElement or a Document, not necessarily an HTMLElement.
  45031. 2008-01-14 Darin Adler <darin@apple.com>
  45032. Reviewed by Sam.
  45033. - fix mistakes Sam noticed in my re-speed-up patch
  45034. * dom/Element.cpp:
  45035. (WebCore::Element::virtualHasTagName): Moved out of header file. No reason to make
  45036. this inline.
  45037. * dom/Element.h: Moved virtualHasTagName out of header file.
  45038. * dom/Node.cpp:
  45039. (WebCore::Node::virtualHasTagName): Moved out of header file. No reason to make
  45040. this inline.
  45041. * dom/Node.h: Removed incorrect "virtual" on hasTagName and moved virtualHasTagName
  45042. out of header file.
  45043. * platform/text/StringBuffer.h: Added. Has just the new StringBuffer class.
  45044. * platform/text/StringImpl.h: Removed StringBuffer class.
  45045. * loader/DocumentLoader.cpp: Added StringBuffer.h include.
  45046. * platform/text/String.cpp: Ditto.
  45047. * platform/text/StringImpl.cpp: Ditto.
  45048. * platform/text/TextCodecLatin1.cpp: Ditto.
  45049. * platform/text/TextCodecUTF16.cpp: Ditto.
  45050. * platform/text/TextCodecUserDefined.cpp: Ditto.
  45051. * WebCore.vcproj/WebCore.vcproj: Added StringBuffer.h.
  45052. * WebCore.xcodeproj/project.pbxproj: Ditto.
  45053. 2008-01-14 Dave Hyatt <hyatt@apple.com>
  45054. Clean up all the misplaced graphics files after the recent file moves. Clean up the project to
  45055. accurately reflect the location of all the graphics files.
  45056. Reviewed by Adam
  45057. * WebCore.vcproj/WebCore.vcproj:
  45058. * platform/graphics/win/GraphicsContextWin.cpp: Copied from platform/win/GraphicsContextWin.cpp.
  45059. * platform/graphics/win/UniscribeController.cpp: Copied from platform/win/UniscribeController.cpp.
  45060. * platform/graphics/win/UniscribeController.h: Copied from platform/win/UniscribeController.h.
  45061. * platform/win/GraphicsContextWin.cpp: Removed.
  45062. * platform/win/UniscribeController.cpp: Removed.
  45063. * platform/win/UniscribeController.h: Removed.
  45064. 2008-01-14 Geoffrey Garen <ggaren@apple.com>
  45065. Reviewed by Sam Weinig.
  45066. Some cleanup to my last patch.
  45067. Removed one unused setter declaration and one unused setter definition.
  45068. Renamed DoNotCheckDomainSecurityOnRead to DoNotCheckDomainSecurityOnGet
  45069. because "get" is all over the IDL files, and "read" is not.
  45070. * bindings/scripts/CodeGeneratorJS.pm:
  45071. * page/DOMWindow.h:
  45072. (WebCore::DOMWindow::defaultstatus):
  45073. * page/DOMWindow.idl:
  45074. 2008-01-14 Dan Bernstein <mitz@apple.com>
  45075. Rubber-stamped by Alice Liu.
  45076. - remove reference to nonexistent file
  45077. * WebCore.vcproj/WebCore.vcproj: Removed reference to SVGFont.h.
  45078. 2008-01-14 Darin Adler <darin@apple.com>
  45079. Reviewed by Adam.
  45080. - re-speed-up the page load test (my StringImpl change slowed it down)
  45081. <rdar://problem/5677241> 1.5% PLT regression from r29098
  45082. To reverse the slowdown I caused by changing StringImpl, I tightened it up,
  45083. and also did a little optimization in the HTML tokenizer and in other clients
  45084. of Vector.
  45085. * WebCore.base.exp: Removed export of a now-inline function.
  45086. * css/CSSParser.cpp:
  45087. (WebCore::CSSParser::parseTransitionProperty): Removed use of DeprecatedString
  45088. to get property ID. This could be sped up even more by writing a fast path
  45089. to use a local Vector<char> rather than allocating a string.
  45090. (WebCore::convertASCIIToFloat): Added. Allows numeric conversion without
  45091. allocating a string object to hold the number.
  45092. (WebCore::CSSParser::lex): Changed to call convertASCIIToFloat instead of
  45093. DeprecatedString::toFloat.
  45094. * dom/Element.h:
  45095. (WebCore::Element::hasTagName): Made this non-virtual and inline if you have
  45096. an Element*. It's still virtual if you have a Node*.
  45097. (WebCore::Element::virtualHasTagName): Virtual version that makes the Node*
  45098. case work.
  45099. * dom/Node.h:
  45100. (WebCore::Node::hasTagName): Made this non-virtual and inline so that Element
  45101. can override it with an inline. This is the same technique we use for
  45102. firstChild and lastChild.
  45103. (WebCore::Node::virtualHasTagName): This is the private virtual that Element
  45104. overrides.
  45105. * dom/Text.cpp:
  45106. (WebCore::Text::splitText): Clean up by using a RefPtr here instead of a
  45107. PassRefPtr.
  45108. * html/HTMLTokenizer.cpp:
  45109. (WebCore::HTMLTokenizer::parseSpecial): Use the new advancePastNonNewline(),
  45110. which is more efficient in cases where we know the character is not a newline
  45111. and hence we don't have to update the line number.
  45112. (WebCore::HTMLTokenizer::parseComment): Ditto.
  45113. (WebCore::HTMLTokenizer::parseServer): Ditto.
  45114. (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto.
  45115. (WebCore::HTMLTokenizer::parseText): Ditto.
  45116. (WebCore::HTMLTokenizer::parseEntity): Ditto.
  45117. (WebCore::HTMLTokenizer::parseTag): Ditto. Also streamline the QuotedValue case
  45118. so there's one less branch taken for non-punctuation characters since this
  45119. code path is *so* hot.
  45120. (WebCore::HTMLTokenizer::write): More of the same.
  45121. * loader/Cache.cpp:
  45122. (WebCore::Cache::lruListFor): Use Vector::grow instead of resize.
  45123. * loader/DocumentLoader.cpp:
  45124. (WebCore::canonicalizedTitle): Use StringBuffer instead of Vector<UChar>.
  45125. * loader/TextResourceDecoder.cpp:
  45126. (WebCore::TextResourceDecoder::checkForCSSCharset): Use Vector::grow instead of resize.
  45127. (WebCore::TextResourceDecoder::checkForHeadCharset): Ditto.
  45128. (WebCore::TextResourceDecoder::decode): Use Vector::grow and shrink instead of resize.
  45129. (WebCore::TextResourceDecoder::flush): Use Vector::shrink instead of resize.
  45130. * platform/KURL.cpp:
  45131. (WebCore::KURL::decode_string): Use Vector::grow instead of resize.
  45132. * platform/SharedBuffer.cpp:
  45133. (WebCore::SharedBuffer::clear): Use Vector::shrink instead of resize.
  45134. * platform/graphics/BitmapImage.cpp:
  45135. (WebCore::BitmapImage::cacheFrame): Use Vector::grow instead of resize.
  45136. * platform/network/FormData.cpp:
  45137. (WebCore::FormData::appendData): Use Vector::grow instead of resize.
  45138. (WebCore::FormData::flatten): Ditto.
  45139. * platform/text/AtomicString.cpp:
  45140. (WebCore::CStringTranslator::translate): Use a new StringImpl constructor made just
  45141. for use by AtomicString. Avoids setting fields twice, and also preserves reference
  45142. count behavior (which I changed for the other constructors, since they're entirely
  45143. private and used only inside the class).
  45144. (WebCore::UCharBufferTranslator::translate): Ditto.
  45145. * platform/text/Base64.cpp:
  45146. (WebCore::base64Encode): Use Vector::grow instead of resize.
  45147. (WebCore::base64Decode): Use Vector::grow and shrink instead of resize.
  45148. * platform/text/PlatformString.h:
  45149. (WebCore::String::adopt): Added an overload for the new StringBuffer class. Also
  45150. made both versions inline.
  45151. * platform/text/SegmentedString.h:
  45152. (WebCore::SegmentedString::advancePastNewline): Added. One less branch for case
  45153. where the character is known to be a newline.
  45154. (WebCore::SegmentedString::advancePastNonNewline): Added. Less code for case where
  45155. the character is known not to be a newline.
  45156. * platform/text/String.cpp:
  45157. (WebCore::String::append): Use StringBuffer instead of Vector<UChar>.
  45158. (WebCore::String::insert): Ditto.
  45159. (WebCore::String::truncate): Ditto.
  45160. (WebCore::String::remove): Ditto.
  45161. (WebCore::String::format): Use Vector::grow instead of resize.
  45162. * platform/text/StringImpl.cpp:
  45163. (WebCore::StringImpl::StringImpl): Changed constructors to start with a refCount
  45164. of 1 instead of 0, and made them all inline. Eliminates the WithOneRef constructor
  45165. since they all behave this way now. The only exceptions are the constructors for
  45166. AtomicString, which retain the old behavior.
  45167. (WebCore::StringImpl::empty): Simplified, since we no longer need to use the
  45168. special WithOneRef constructor.
  45169. (WebCore::StringImpl::toCoordsArray): Use StringBuffer instead of Vector<UChar>.
  45170. (WebCore::StringImpl::lower): Ditto.
  45171. (WebCore::StringImpl::upper): Ditto.
  45172. (WebCore::StringImpl::secure): Ditto.
  45173. (WebCore::StringImpl::foldCase): Ditto.
  45174. (WebCore::StringImpl::simplifyWhiteSpace): Ditto. Also change to use Vector::shrink
  45175. instead of resize (since half of the function uses Vector<UChar>).
  45176. (WebCore::StringImpl::capitalize): Use StringBuffer instead of Vector<UChar>.
  45177. (WebCore::StringImpl::replace): Ditto.
  45178. (WebCore::StringImpl::ascii): Streamlined a bit.
  45179. (WebCore::StringImpl::createStrippingNullCharacters): Use StringBuffer insetad of
  45180. Vector<UChar>. Took out checks for null characters and 0 length that aren't needed.
  45181. Coded the check for null characters in a slightly more efficient way. Since this
  45182. is so hot, didn't call adopt at all, putting the code right in here, including
  45183. the call to the StringImpl constructor and adoptRef (for the fast case).
  45184. (WebCore::StringImpl::adopt): Added a version for the new StringBuffer class.
  45185. Removed the attempt to resize the buffer at the time we adopt based on measuring
  45186. actual use and realizing that it's just a character here or there and not worth
  45187. a call to fastRealloc. Changed to use adoptRef since the constructor now starts
  45188. with a refCount of 1.
  45189. (WebCore::StringImpl::create): Changed to use adoptRef since the constructor now
  45190. starts with a refCount of 1.
  45191. (WebCore::StringImpl::createWithTerminatingNullCharacter): Ditto.
  45192. (WebCore::StringImpl::copy): Ditto. Also made non-inline since the constructor
  45193. itself is now inline.
  45194. * platform/text/StringImpl.h: Added a StringBuffer class that's useful for
  45195. putting characters into a buffer before creating an immutable string. Not good
  45196. at resizing the way Vector<UChar> is, so only useful for things that rarely need
  45197. to be resized. Added a new AdoptBuffer constructor and empty constructor, but
  45198. made all constructors private so they can be inlined and only used inside the
  45199. StringImpl class. Added two new constructors for AtomicString. Made copy()
  45200. no longer inline. Changed the type of the [] operator to unsigned instead of
  45201. int and added an assertion. Made the hash functions inline.
  45202. * platform/text/TextCodecICU.cpp:
  45203. (WebCore::TextCodecICU::encode): Use Vector::grow instead of resize.
  45204. * platform/text/TextCodecLatin1.cpp:
  45205. (WebCore::TextCodecLatin1::decode): Use StringBuffer instead of Vector<UChar>.
  45206. (WebCore::encodeComplexWindowsLatin1): Use Vector::grow instead of resize.
  45207. * platform/text/TextCodecUTF16.cpp:
  45208. (WebCore::TextCodecUTF16::decode): Use StringBuffer instead of Vector<UChar>.
  45209. * platform/text/TextCodecUserDefined.cpp:
  45210. (WebCore::TextCodecUserDefined::decode): Use StringBuffer instead of Vector<UChar>.
  45211. (WebCore::encodeComplexUserDefined): Use Vector::grow instead of resize.
  45212. * platform/text/TextEncoding.cpp:
  45213. (WebCore::TextEncoding::encode): Use Vector::grow instead of resize.
  45214. * platform/text/TextStream.cpp:
  45215. (WebCore::TextStream::operator<<): Use Vector::grow instead of resize.
  45216. * platform/text/mac/TextCodecMac.cpp:
  45217. (WebCore::TextCodecMac::encode): Use Vector::grow instead of resize.
  45218. * rendering/AutoTableLayout.cpp:
  45219. (WebCore::AutoTableLayout::insertSpanCell): Use Vector::grow instead of resize.
  45220. * rendering/RenderFrameSet.h:
  45221. (WebCore::FrameEdgeInfo::FrameEdgeInfo): Allocate vectors with the correct initial
  45222. size instead of calling resize on them after allocating empty.
  45223. * rendering/RenderListMarker.cpp:
  45224. (WebCore::RenderListMarker::paint): Use Vector::grow instead of resize.
  45225. * rendering/RenderStyle.cpp: Removed CursorList::operator==.
  45226. * rendering/RenderStyle.h:
  45227. (WebCore::CursorList::operator==): Implemented using the Vector ==.
  45228. (WebCore::CursorList::operator!=): Ditto.
  45229. * rendering/RenderTable.cpp:
  45230. (WebCore::RenderTable::splitColumn): Use Vector::grow instead of resize.
  45231. (WebCore::RenderTable::appendColumn): Ditto.
  45232. * rendering/RenderTableSection.cpp:
  45233. (WebCore::RenderTableSection::ensureRows): Use Vector::grow instead of resize.
  45234. * rendering/bidi.cpp:
  45235. (WebCore::addMidpoint): Use Vector::grow instead of resize.
  45236. * xml/XPathNodeSet.h:
  45237. (WebCore::XPath::NodeSet::clear): Use Vector::shrink instead of resize.
  45238. 2008-01-13 Steve Falkenburg <sfalken@apple.com>
  45239. Share common files across projects.
  45240. Unify vsprops files
  45241. Debug: common.vsprops, debug.vsprops
  45242. Debug_Internal: common.vsprops, debug.vsprops, debug_internal.vsprops
  45243. Release: common.vsprops, release.vsprops
  45244. Shared properties can go into common.vsprops, shared debug settings can go into debug.vsprops.
  45245. debug_internal.vsprops will be mostly empty except for file path prefix modifiers.
  45246. Pull auto-version.sh, VERSION, and PRODUCTVERSION from tools.
  45247. Reviewed by Adam Roben.
  45248. * WebCore.vcproj/PRODUCTVERSION: Removed.
  45249. * WebCore.vcproj/QTMovieWin.vcproj:
  45250. * WebCore.vcproj/VERSION: Removed.
  45251. * WebCore.vcproj/WebCore.vcproj:
  45252. * WebCore.vcproj/auto-version.sh: Removed.
  45253. * WebCore.vcproj/debug.vsprops: Removed.
  45254. * WebCore.vcproj/debug_internal.vsprops: Removed.
  45255. * WebCore.vcproj/release.vsprops: Removed.
  45256. 2008-01-13 Dan Bernstein <mitz@apple.com>
  45257. Reviewed by Darin Adler.
  45258. - fix http://bugs.webkit.org/show_bug.cgi?id=16865
  45259. fast/layers/resize-layer-deletion-crash.html crashes under GuardMalloc
  45260. * rendering/RenderBox.cpp:
  45261. (WebCore::RenderBox::destroy): Removed the call to
  45262. RenderLayer::destroy() from here, because ~RenderLayer() calls
  45263. RenderObject() methods.
  45264. * rendering/RenderObject.cpp:
  45265. (WebCore::RenderObject::destroy): Added the call to
  45266. RenderLayer::destroy() here.
  45267. 2008-01-13 Eric Seidel <eric@webkit.org>
  45268. Reviewed by darin.
  45269. Range.insertNode does not update endContainer endIndex correctly
  45270. in the case where it had to split a text node.
  45271. http://bugs.webkit.org/show_bug.cgi?id=16765
  45272. Darin pointed out during review that we still don't handle the dynamic
  45273. range case (where the dom tree changes not using range methods)
  45274. Thus this code will get ripped out when we add that. The test cases
  45275. are still valid and useful however, so I'm landing this as-is.
  45276. Tests: fast/dom/Range/range-insertNode-separate-endContainer.html
  45277. fast/dom/Range/range-insertNode-splittext.html
  45278. * dom/Range.cpp:
  45279. (WebCore::Range::insertNode): handle the splitText case correctly.
  45280. 2008-01-13 Darin Adler <darin@apple.com>
  45281. Reviewed by Eric.
  45282. - http://bugs.webkit.org/show_bug.cgi?id=16861
  45283. get rid of unnecessary string copying
  45284. * dom/Document.cpp:
  45285. (WebCore::Document::setDomain): Removed unneeded call to copy.
  45286. (WebCore::Document::parseQualifiedName): Removed unneeded call to copy, and
  45287. unneeded length argument to substring, which stops at the end of the string
  45288. if you don't specify a length.
  45289. (WebCore::Document::createAttributeNS): Replaced code that was calling copy
  45290. with more-efficient code using the substring function.
  45291. * dom/StyledElement.cpp:
  45292. (WebCore::StyledElement::addCSSColor): Removed unneeded call to copy.
  45293. * editing/InsertIntoTextNodeCommand.cpp:
  45294. (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): Removed
  45295. unneeded copy and also initialized text instead of assigning to it.
  45296. (WebCore::InsertIntoTextNodeCommand::doApply): Removed redundant assertions.
  45297. (WebCore::InsertIntoTextNodeCommand::doUnapply): Ditto.
  45298. * editing/htmlediting.cpp:
  45299. (WebCore::stringWithRebalancedWhitespace): Removed unneeded call to copy.
  45300. This one was particularly bad since we just turned around and copied it again!
  45301. * editing/markup.cpp:
  45302. (WebCore::stringValueForRange): Removed unneeded call to copy.
  45303. * loader/icon/IconDatabase.cpp:
  45304. (WebCore::IconDatabase::performOpenInitialization): Changed logging code to not
  45305. get the path from the database object. This was the only reason the database
  45306. had to keep its path around.
  45307. * platform/sql/SQLiteDatabase.cpp:
  45308. (WebCore::SQLiteDatabase::open): Use a local variable instead of a data member to
  45309. convert the string to a null-terminated one.
  45310. (WebCore::SQLiteDatabase::close): Removed the code to clear out m_path.
  45311. * platform/sql/SQLiteDatabase.h: Removed the m_path data member and the path
  45312. functio member. Also tweaked formatting and comments a bit. Removed the unused
  45313. escapeSQLString function.
  45314. * platform/text/String.cpp: (WebCore::operator+): Removed uneeded calls to copy.
  45315. 2008-01-13 Oliver Hunt <oliver@apple.com>
  45316. Attempt to fix QT build
  45317. * html/CanvasRenderingContext2D.cpp:
  45318. (WebCore::CanvasRenderingContext2D::willDraw):
  45319. 2008-01-13 Oliver Hunt <oliver@apple.com>
  45320. Reviewed by Mark Rowe.
  45321. Avoid repainting the entire canvas element when possible.
  45322. http://bugs.webkit.org/show_bug.cgi?id=16859
  45323. We now only register the dirty regions of a canvas for repainting, rather
  45324. than the entire element (though repaint coalescing may choose to combine
  45325. these regions). This doesn't cause a measurable regression in the worst
  45326. case (clearing the canvas repeatedly), but is a moderate-large win if only
  45327. a minor update has occurred. If there is any CSS scaling applied to the
  45328. canvas almost any update short of clearing the entire element is substantially
  45329. faster.
  45330. * html/CanvasRenderingContext2D.cpp:
  45331. (WebCore::CanvasRenderingContext2D::willDraw):
  45332. * html/HTMLCanvasElement.cpp:
  45333. (WebCore::HTMLCanvasElement::willDraw):
  45334. 2008-01-13 Michael Goddard <michael.goddard@trolltech.com>
  45335. Reviewed by Anders Carlsson.
  45336. Move RuntimeObjectImp creations into Instance.
  45337. Make the ctor protected, and Instance a friend class, so
  45338. that all creation of RuntimeObjectImps goes through
  45339. one place.
  45340. * bindings/js/kjs_dom.cpp:
  45341. (WebCore::getRuntimeObject):
  45342. 2008-01-12 Rodney Dawes <dobey@wayofthemonkey.com>
  45343. Gtk debug build fix. Reviewed by Mark Rowe.
  45344. Add plugin logging channel, and use it rather than Win32-specific debugging methods _RPTF1 _RPTF2 and _CRT_WARN.
  45345. * WebCore.pro: Add plugins directory to DEPENDPATH so dependencies are correctly tracked.
  45346. * platform/Logging.cpp:
  45347. * platform/Logging.h:
  45348. * plugins/PluginDebug.h:
  45349. 2008-01-12 Adam Barth <hk9565@gmail.com>
  45350. Reviewed by Maciej (and also tweaked a little bit).
  45351. - more thorough fix for some crashing tests
  45352. http://bugs.webkit.org/show_bug.cgi?id=16782
  45353. * loader/FrameLoader.cpp:
  45354. (WebCore::FrameLoader::urlSelected):
  45355. (WebCore::FrameLoader::submitForm):
  45356. (WebCore::FrameLoader::executeIfJavaScriptURL):
  45357. * loader/FrameLoader.h:
  45358. 2008-01-12 Maciej Stachowiak <mjs@apple.com>
  45359. Reviewed by Sam.
  45360. - fixed <rdar://problem/5556374> REGRESSION: cross-domain error when one URL uses an explicit port number and another doesn't
  45361. * platform/SecurityOrigin.cpp:
  45362. (WebCore::isDefaultPortForProtocol):
  45363. (WebCore::SecurityOrigin::SecurityOrigin):
  45364. 2008-01-11 Geoffrey Garen <ggaren@apple.com>
  45365. Reviewed by Oliver Hunt.
  45366. Fixed <rdar://problem/5665251> REGRESSION (r28880-r28886): Global
  45367. variable access (16644)
  45368. Removed the ReadOnly bit from some properties, to match Firefox. Also
  45369. removed status-related setters, to allow using their names as variable
  45370. names.
  45371. * bindings/scripts/CodeGeneratorJS.pm: Added support for properties that
  45372. are one-way across domain boundaries, to match Firefox.
  45373. * bindings/js/kjs_window.cpp: Changed ReadOnly declarations to match FF.
  45374. * bindings/scripts/CodeGeneratorJS.pm: Don't use JSObject:: because
  45375. we don't know that JSObject is our base class.
  45376. * page/DOMWindow.idl: Replaced lots of readonly declarations with
  45377. [Replaceable] declarations.
  45378. * page/DOMWindow.h: Removed interfaces for setting status text via the
  45379. DOM. (They were getting in the way of, e.g., "var status"
  45380. declarations.) By default, IE 7 and FF disable these interfaces in order
  45381. to defend against phishing attacks that try to spoof domain names in the
  45382. statusbar.
  45383. * page/DOMWindow.cpp:
  45384. 2008-01-11 Anyang Ren <anyang.ren@gmail.com>
  45385. Reviewed by Darin Adler.
  45386. http://bugs.webkit.org/show_bug.cgi?id=15960
  45387. The view source mode should skip an empty attribute value only if
  45388. the attribute name is not followed by an equal sign (=).
  45389. Test: fast/frames/viewsource-empty-attribute-value.html
  45390. * html/HTMLViewSourceDocument.cpp:
  45391. (WebCore::HTMLViewSourceDocument::addViewSourceToken):
  45392. 2008-01-11 Sylvain Pasche <sylvain.pasche@gmail.com>
  45393. Reviewed by Alp Toker.
  45394. [Gtk] Uneven glyph spacing with subpixel antialiasing
  45395. http://bugs.webkit.org/show_bug.cgi?id=16715
  45396. Use cairo font options from the default GDK screen when creating a
  45397. scaled font.
  45398. * platform/graphics/gtk/FontPlatformDataGtk.cpp:
  45399. (WebCore::FontPlatformData::FontPlatformData):
  45400. 2008-01-11 Cameron Zwarich <cwzwarich@uwaterloo.ca>
  45401. Reviewed by Maciej.
  45402. Added a new forwarding header, because Activation.h has been separated
  45403. from function.h
  45404. * ForwardingHeaders/kjs/Activation.h: Added.
  45405. 2008-01-11 Luca Bruno <lethalman88@gmail.com>
  45406. Reviewed by Alp Toker.
  45407. http://bugs.webkit.org/show_bug.cgi?id=16729
  45408. [cURL] Allow multiple files for upload
  45409. * platform/network/ResourceHandleInternal.h:
  45410. (WebCore::ResourceHandleInternal::ResourceHandleInternal):
  45411. * platform/network/curl/ResourceHandleCurl.cpp:
  45412. (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
  45413. * platform/network/curl/ResourceHandleManager.cpp:
  45414. (WebCore::readCallback): added
  45415. (WebCore::ResourceHandleManager::setupPOST): setup for streaming the POST
  45416. (WebCore::ResourceHandleManager::startJob):
  45417. (WebCore::ResourceHandleManager::cancel): revert the previous patch for regression
  45418. * platform/network/curl/ResourceHandleManager.h:
  45419. 2008-01-11 Christian Dywan <christian@imendio.com>
  45420. Reviewed by Alp Toker.
  45421. [Gtk] Menu items need underscores
  45422. http://bugs.webkit.org/show_bug.cgi?id=16817
  45423. Add underscores to appropriate menu labels.
  45424. Also adjust strings slightly.
  45425. * platform/gtk/ContextMenuItemGtk.cpp:
  45426. (WebCore::ContextMenuItem::createNativeMenuItem):
  45427. * platform/gtk/LocalizedStringsGtk.cpp:
  45428. (WebCore::searchableIndexIntroduction):
  45429. (WebCore::fileButtonChooseFileLabel):
  45430. (WebCore::fileButtonNoFileSelectedLabel):
  45431. (WebCore::contextMenuItemTagOpenLinkInNewWindow):
  45432. (WebCore::contextMenuItemTagDownloadLinkToDisk):
  45433. (WebCore::contextMenuItemTagCopyLinkToClipboard):
  45434. (WebCore::contextMenuItemTagOpenImageInNewWindow):
  45435. (WebCore::contextMenuItemTagDownloadImageToDisk):
  45436. (WebCore::contextMenuItemTagCopyImageToClipboard):
  45437. (WebCore::contextMenuItemTagOpenFrameInNewWindow):
  45438. (WebCore::contextMenuItemTagCopy):
  45439. (WebCore::contextMenuItemTagGoBack):
  45440. (WebCore::contextMenuItemTagGoForward):
  45441. (WebCore::contextMenuItemTagStop):
  45442. (WebCore::contextMenuItemTagReload):
  45443. (WebCore::contextMenuItemTagCut):
  45444. (WebCore::contextMenuItemTagPaste):
  45445. (WebCore::contextMenuItemTagIgnoreSpelling):
  45446. (WebCore::contextMenuItemTagLearnSpelling):
  45447. (WebCore::contextMenuItemTagSearchWeb):
  45448. (WebCore::contextMenuItemTagLookUpInDictionary):
  45449. (WebCore::contextMenuItemTagOpenLink):
  45450. (WebCore::contextMenuItemTagIgnoreGrammar):
  45451. (WebCore::contextMenuItemTagSpellingMenu):
  45452. (WebCore::contextMenuItemTagShowSpellingPanel):
  45453. (WebCore::contextMenuItemTagCheckSpelling):
  45454. (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
  45455. (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
  45456. (WebCore::contextMenuItemTagFontMenu):
  45457. (WebCore::contextMenuItemTagBold):
  45458. (WebCore::contextMenuItemTagItalic):
  45459. (WebCore::contextMenuItemTagUnderline):
  45460. (WebCore::contextMenuItemTagOutline):
  45461. (WebCore::contextMenuItemTagWritingDirectionMenu):
  45462. (WebCore::contextMenuItemTagDefaultDirection):
  45463. (WebCore::contextMenuItemTagLeftToRight):
  45464. (WebCore::contextMenuItemTagRightToLeft):
  45465. (WebCore::contextMenuItemTagInspectElement):
  45466. (WebCore::searchMenuClearRecentSearchesText):
  45467. 2008-01-11 Ada Chan <adachan@apple.com>
  45468. <rdar://problem/5681557> On Windows Safari, mouse events are ignored after clicking on link that triggers download
  45469. Moved the call to cache page from provisionalLoadStarted() to commitProvisionalLoad(), since
  45470. provisionalLoadStarted() can be called for cases that do not result in a page navigation, for example,
  45471. when a link to download a file has been clicked.
  45472. Reviewed by John and Anders.
  45473. * loader/FrameLoader.cpp:
  45474. (WebCore::FrameLoader::provisionalLoadStarted):
  45475. (WebCore::FrameLoader::commitProvisionalLoad):
  45476. 2008-01-11 Jon Honeycutt <jhoneycutt@apple.com>
  45477. Reviewed by Anders.
  45478. <rdar://problem/5683529> plugins/embed-inside-object.html is timing
  45479. out/failing
  45480. Revert to using FrameTree::find() so that frame aliases like "_self" and
  45481. "_current" are interpreted properly
  45482. * plugins/win/PluginViewWin.cpp:
  45483. (WebCore::PluginViewWin::performRequest):
  45484. (WebCore::PluginViewWin::load):
  45485. 2008-01-11 Alp Toker <alp@atoker.com>
  45486. Reviewed by Dave Hyatt and Mark Rowe.
  45487. http://bugs.webkit.org/show_bug.cgi?id=16089
  45488. [GTK] Support custom fonts, CachedFont::platformDataFromCustomData()
  45489. Add support for CSS2 @font-face custom/downloadable fonts to the GTK+
  45490. port.
  45491. * GNUmakefile.am:
  45492. * WebCore.pro:
  45493. * loader/CachedFont.cpp:
  45494. (WebCore::CachedFont::~CachedFont):
  45495. (WebCore::CachedFont::ensureCustomFontData):
  45496. (WebCore::CachedFont::platformDataFromCustomData):
  45497. (WebCore::CachedFont::allReferencesRemoved):
  45498. * platform/graphics/gtk/FontCustomPlatformData.cpp: Added.
  45499. (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
  45500. (WebCore::FontCustomPlatformData::fontPlatformData):
  45501. (WebCore::releaseData):
  45502. (WebCore::createFontCustomPlatformData):
  45503. * platform/graphics/gtk/FontCustomPlatformData.h: Added.
  45504. (WebCore::FontCustomPlatformData::FontCustomPlatformData):
  45505. * platform/graphics/gtk/FontPlatformData.h:
  45506. * platform/graphics/gtk/FontPlatformDataGtk.cpp:
  45507. (WebCore::FontPlatformData::FontPlatformData):
  45508. (WebCore::FontPlatformData::init):
  45509. (WebCore::FontPlatformData::isFixedPitch):
  45510. * platform/graphics/gtk/SimpleFontDataGtk.cpp:
  45511. (WebCore::SimpleFontData::platformDestroy):
  45512. 2008-01-11 Adam Roben <aroben@apple.com>
  45513. Remove FrameLoader::committedFirstRealDocumentLoad
  45514. This method no longer has any callers.
  45515. Reviewed by Hyatt.
  45516. * loader/FrameLoader.h:
  45517. 2008-01-11 Antti Koivisto <antti@apple.com>
  45518. Add a standalone version of the blog post video player as a manual test.
  45519. * manual-tests/resources/touch-poster.png: Added.
  45520. * manual-tests/video-player.html: Added.
  45521. 2008-01-10 Antti Koivisto <antti@apple.com>
  45522. Reviewed by Adam.
  45523. Fix <rdar://problem/5682767>
  45524. Video does not show up in http://webkit.org/blog/140/html5-media-support/ on Windows
  45525. Take care that GWorld is created and deletes when needed as size or visibility changes.
  45526. * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
  45527. (WebCore::MediaPlayerPrivate::load):
  45528. * platform/graphics/win/QTMovieWin.cpp:
  45529. (QTMovieWinPrivate::QTMovieWinPrivate):
  45530. (QTMovieWinPrivate::updateGWorld):
  45531. (QTMovieWinPrivate::setSize):
  45532. (QTMovieWin::setVisible):
  45533. (QTMovieWin::initializeQuickTime):
  45534. 2008-01-11 David Hyatt <hyatt@apple.com>
  45535. Fix for bug 11188, setting hspace on a table overrides align=center. Fix align=center to be done using
  45536. mapped attributes so that it does not get overridden by hspace all the time.
  45537. Reviewed by mitz
  45538. Added fast/table/table-hspace-align-center.html
  45539. * css/html4.css:
  45540. * html/HTMLTableElement.cpp:
  45541. (WebCore::HTMLTableElement::parseMappedAttribute):
  45542. 2008-01-11 Mark Rowe <mrowe@apple.com>
  45543. Qt build fix.
  45544. * platform/qt/TemporaryLinkStubs.cpp: Include CString.h.
  45545. 2008-01-11 Mark Rowe <mrowe@apple.com>
  45546. Qt build fix. Add link stubs for the new FileSystem.h functions introduced
  45547. in r29399.
  45548. * platform/qt/TemporaryLinkStubs.cpp:
  45549. (WebCore::openTemporaryFile):
  45550. 2008-01-11 Rodney Dawes <dobey@wayofthemonkey.com>
  45551. Reviewed by Anders Carlsson.
  45552. Bug 16779: Make the PluginStream implementation be shared across platforms
  45553. http://bugs.webkit.org/show_bug.cgi?id=16779
  45554. Add the new shared PluginStream files to the GTK+ and Win32 builds.
  45555. Add PluginStreamClient class for the streamDidFinishLoading method.
  45556. Add open/close/write methods to FileSystem for temporary file handling.
  45557. Add PluginDebug.h and npfunctions.h for shared PluginStream.
  45558. Add shared PluginStream.
  45559. Remove PluginStreamWin.
  45560. Update PluginViewWin to use shared PluginStream and PluginStreamClass.
  45561. * GNUmakefile.am:
  45562. * WebCore.pro:
  45563. * WebCore.vcproj/WebCore.vcproj:
  45564. * platform/FileSystem.h:
  45565. * platform/gtk/FileSystemGtk.cpp:
  45566. * platform/win/FileSystemWin.cpp:
  45567. * plugins/PluginDebug.h:
  45568. * plugins/PluginStream.cpp:
  45569. * plugins/PluginStream.h:
  45570. * plugins/npfunctions.h:
  45571. * plugins/win/PluginDebug: Moved to PluginDebug.h.
  45572. * plugins/win/PluginStreamWin.cpp: Moved to PluginStream.cpp.
  45573. * plugins/win/PluginStreamWin.h: Moved to PluginStream.h
  45574. * plugins/win/PluginViewWin.cpp:
  45575. * plugins/win/PluginViewWin.h:
  45576. * plugins/win/npfunctions.h: Moved to npfunctions.h
  45577. 2008-01-11 Geoffrey Garen <ggaren@apple.com>
  45578. Try to fix Mac build: Edit the right .exp file.
  45579. * WebCore.base.exp:
  45580. 2008-01-11 Geoffrey Garen <ggaren@apple.com>
  45581. Try to fix Qt build: don't use pthreads if they're not available.
  45582. * bindings/js/GCController.cpp:
  45583. 2008-01-10 Geoffrey Garen <ggaren@apple.com>
  45584. Reviewed by John Sullivan.
  45585. Fixed some world leak reports:
  45586. * <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript
  45587. Interpreter after running cvs-base suite
  45588. * <rdar://problem/5669423> PLT complains about world leak if browser
  45589. window is open when PLT starts
  45590. These were both bugs in the reporting mechanism, so I took the
  45591. opportunity to do some house cleaning there.
  45592. Stupid class, I kill you:
  45593. * bridge/JavaScriptStatistics.cpp: Removed.
  45594. * bridge/JavaScriptStatistics.h: Removed.
  45595. * bindings/js/GCController.h: Adopted the only useful features of
  45596. JavaScriptStatistics, since they were GC-related.
  45597. * bindings/js/GCController.cpp:
  45598. 2008-01-10 Eric Seidel <eric@webkit.org>
  45599. Reviewed by Adele.
  45600. No functional changes, only code cleanup.
  45601. * css/MediaQueryEvaluator.cpp:
  45602. (WebCore::compareValue): renamed from cmpvalue
  45603. (WebCore::colorMediaFeatureEval):
  45604. (WebCore::device_aspect_ratioMediaFeatureEval):
  45605. (WebCore::device_pixel_ratioMediaFeatureEval):
  45606. (WebCore::gridMediaFeatureEval):
  45607. (WebCore::device_heightMediaFeatureEval):
  45608. (WebCore::device_widthMediaFeatureEval):
  45609. (WebCore::heightMediaFeatureEval):
  45610. (WebCore::widthMediaFeatureEval):
  45611. 2008-01-10 Dan Bernstein <mitz@apple.com>
  45612. Reviewed by Anders Carlsson.
  45613. - fix a crash when calling alert() from a repeating timer
  45614. On non-Mac platforms, the PageGroupLoadDeferrer pauses DOM timers during
  45615. alert() and other similar functions, which deletes the actual
  45616. DOMWindowTimer objects and replaces them with new objects when resuming.
  45617. * bindings/js/kjs_window.cpp:
  45618. (KJS::Window::timerFired): Re-fetch the timer object from the map in
  45619. case it has been deleted or replaced.
  45620. 2008-01-10 Maciej Stachowiak <mjs@apple.com>
  45621. Reviewed by Sam.
  45622. - remove SecurityOriginData and fold its functionality into SecurityOrigin
  45623. * GNUmakefile.am:
  45624. * WebCore.base.exp:
  45625. * WebCore.pro:
  45626. * WebCore.vcproj/WebCore.vcproj:
  45627. * WebCore.xcodeproj/project.pbxproj:
  45628. * WebCoreSources.bkl:
  45629. * bindings/js/JSDOMWindowCustom.cpp:
  45630. (WebCore::JSDOMWindow::postMessage):
  45631. * dom/Document.cpp:
  45632. (WebCore::Document::domain):
  45633. * page/Chrome.cpp:
  45634. (WebCore::Chrome::requestQuotaIncreaseForNewDatabase):
  45635. (WebCore::Chrome::requestQuotaIncreaseForDatabaseOperation):
  45636. * page/Chrome.h:
  45637. * page/ChromeClient.h:
  45638. * platform/SecurityOrigin.cpp:
  45639. (WebCore::SecurityOrigin::copy):
  45640. (WebCore::SecurityOrigin::createFromIdentifier):
  45641. (WebCore::SecurityOrigin::stringIdentifier):
  45642. * platform/SecurityOrigin.h:
  45643. (WebCore::SecurityOrigin::host):
  45644. (WebCore::SecurityOrigin::protocol):
  45645. (WebCore::SecurityOrigin::port):
  45646. (WebCore::SecurityOrigin::equal):
  45647. * platform/SecurityOriginData.cpp: Removed.
  45648. * platform/SecurityOriginData.h: Removed.
  45649. * storage/Database.cpp:
  45650. (WebCore::Database::openDatabase):
  45651. (WebCore::Database::Database):
  45652. (WebCore::Database::securityOriginCopy):
  45653. * storage/Database.h:
  45654. * storage/DatabaseTracker.cpp:
  45655. (WebCore::SecurityOriginHash::hash):
  45656. (WebCore::SecurityOriginHash::equal):
  45657. (WebCore::SecurityOriginTraits::deletedValue):
  45658. (WebCore::SecurityOriginTraits::emptyValue):
  45659. (WebCore::DatabaseTracker::canEstablishDatabase):
  45660. (WebCore::DatabaseTracker::hasEntryForOrigin):
  45661. (WebCore::DatabaseTracker::hasEntryForDatabase):
  45662. (WebCore::DatabaseTracker::establishEntryForOrigin):
  45663. (WebCore::DatabaseTracker::fullPathForDatabase):
  45664. (WebCore::DatabaseTracker::populateOrigins):
  45665. (WebCore::DatabaseTracker::origins):
  45666. (WebCore::DatabaseTracker::databaseNamesForOrigin):
  45667. (WebCore::DatabaseTracker::detailsForNameAndOrigin):
  45668. (WebCore::DatabaseTracker::setDatabaseDetails):
  45669. (WebCore::DatabaseTracker::usageForDatabase):
  45670. (WebCore::DatabaseTracker::usageForOrigin):
  45671. (WebCore::DatabaseTracker::quotaForOrigin):
  45672. (WebCore::DatabaseTracker::setQuota):
  45673. (WebCore::DatabaseTracker::addDatabase):
  45674. (WebCore::DatabaseTracker::deleteAllDatabases):
  45675. (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
  45676. (WebCore::DatabaseTracker::deleteDatabase):
  45677. (WebCore::DatabaseTracker::deleteDatabaseFile):
  45678. (WebCore::notificationQueue):
  45679. (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
  45680. (WebCore::DatabaseTracker::notifyDatabasesChanged):
  45681. * storage/DatabaseTracker.h:
  45682. * storage/DatabaseTrackerClient.h:
  45683. * storage/SQLTransaction.cpp:
  45684. (WebCore::SQLTransaction::openTransactionAndPreflight):
  45685. (WebCore::SQLTransaction::runStatements):
  45686. (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
  45687. (WebCore::SQLTransaction::postflightAndCommit):
  45688. (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
  45689. * svg/graphics/SVGImageEmptyClients.h:
  45690. (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForNewDatabase):
  45691. (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForDatabaseOperation):
  45692. 2008-01-10 Anders Carlsson <andersca@apple.com>
  45693. Reviewed by Sam.
  45694. Use the correct frame loader load method. Using the old method would not cause a
  45695. new window to be open if the frame navigation was not allowed.
  45696. * plugins/win/PluginViewWin.cpp:
  45697. (WebCore::PluginViewWin::performRequest):
  45698. 2008-01-10 Alp Toker <alp@atoker.com>
  45699. SVG font build fix for GTK+/autotools.
  45700. * GNUmakefile.am:
  45701. 2008-01-10 Adam Barth <hk9565@gmail.com>
  45702. Reviewed by Sam Weinig and Anders Carlsson.
  45703. Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522
  45704. <rdar://problem/5657355>
  45705. This patch makes two changes:
  45706. 1) Java calls FrameLoader::load in a slightly different way than
  45707. JavaScript, which previously let a malicious web site bypass the
  45708. shouldAllowNavigation check. This patch adds that check to that
  45709. code path.
  45710. 2) FrameLoader now wraps calls to m_frame->tree()->find(name) with
  45711. findFrameForNavigation, which calls shouldAllowNavigation. This
  45712. treats disallowed frame navigations as if the named frame did not
  45713. exist, resulting in a popup window when appropriate.
  45714. Tests: http/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html
  45715. http/tests/security/frameNavigation/xss-DENIED-targeted-link-navigation.html
  45716. * WebCore.base.exp:
  45717. * bindings/js/kjs_window.cpp:
  45718. (KJS::WindowProtoFuncOpen::callAsFunction):
  45719. * loader/FrameLoader.cpp:
  45720. (WebCore::FrameLoader::createWindow):
  45721. (WebCore::FrameLoader::load):
  45722. (WebCore::FrameLoader::post):
  45723. (WebCore::FrameLoader::findFrameForNavigation):
  45724. * loader/FrameLoader.h:
  45725. 2008-01-10 John Sullivan <sullivan@apple.com>
  45726. Written by Hyatt, reviewed by me
  45727. - fixed <rdar://problem/5654297> Mail crashes occurs at WebCore::FontFallbackList::fontDataAt() when attempting to display
  45728. a <video> element that uses controls attribute
  45729. * rendering/MediaControlElements.cpp:
  45730. (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
  45731. force the render style to inherit from the media element's style; Hyatt filed 5682383 to cover cleaning
  45732. up this architecture, but this one-line fix will prevent the crash in the meantime
  45733. 2008-01-10 Ada Chan <adachan@apple.com>
  45734. Fix fast/forms/input-radio-checked-tab.html
  45735. Meta key is not the same as Alt key on windows.
  45736. Reviewed by Darin.
  45737. * platform/win/KeyEventWin.cpp:
  45738. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
  45739. 2008-01-10 Anders Carlsson <andersca@apple.com>
  45740. Reviewed by Jon.
  45741. Fix an assert that would happen when a plug-in tries to load a URL while a provisional load is going.
  45742. * plugins/win/PluginViewWin.cpp:
  45743. (WebCore::PluginViewWin::performRequest):
  45744. Move document loader check here since we don't start loading until here and a new document load could have started in the meantime.
  45745. (WebCore::PluginViewWin::requestTimerFired):
  45746. Don't leak the plugin requests.
  45747. (WebCore::PluginViewWin::load):
  45748. 2008-01-10 Anders Carlsson <andersca@apple.com>
  45749. Reviewed by John Sullivan.
  45750. <rdar://problem/5455889>
  45751. REGRESSION: BumperCar crashes when attempting to load a long invalid URL
  45752. Make sure to call FrameLoader::receivedMainResourceError before calling
  45753. FrameLoader::didFailToLoad. The call to receivedMainResourceError takes care of
  45754. clearing out the provisional document loader so that we won't call the didFail
  45755. ResourceLoadDelegate method twice. This also makes us call the FrameLoadDelegate method
  45756. didFailPrivisionalLoad before calling the ResourceLoadDelegate method, which Safari 2.0 does.
  45757. * loader/MainResourceLoader.cpp:
  45758. (WebCore::MainResourceLoader::receivedError):
  45759. 2008-01-10 Antti Koivisto <antti@apple.com>
  45760. Reviewed by Adele.
  45761. Fix <rdar://problem/5658048>
  45762. After <video> has finished playing, dragging the scroller on different location of controller starts to play movie
  45763. - Move to paused state if the playback had ended and the controller is used to seek to earlier time
  45764. - Pause video playback during drag so the knob does not constantly try to escape from the mouse pointer
  45765. * html/HTMLMediaElement.cpp:
  45766. (WebCore::HTMLMediaElement::HTMLMediaElement):
  45767. (WebCore::HTMLMediaElement::updateMediaPlayer):
  45768. (WebCore::HTMLMediaElement::setPausedInternal):
  45769. * html/HTMLMediaElement.h:
  45770. * rendering/MediaControlElements.cpp:
  45771. (WebCore::MediaControlTimelineElement::defaultEventHandler):
  45772. 2008-01-10 Alexey Proskuryakov <ap@webkit.org>
  45773. Reviewed by Adam Roben.
  45774. <rdar://problem/5667003> fast/dom/xmlhttprequest-html-response-encoding.html is failing
  45775. * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Do not disable sniffing for file://
  45776. requests, as CFNetwork doesn't perform extension to MIME type mapping then.
  45777. 2008-01-10 Adam Roben <aroben@apple.com>
  45778. Fixes to allow multiple FrameViews on Windows
  45779. Reviewed by Hyatt.
  45780. * page/FrameView.cpp:
  45781. (WebCore::FrameView::FrameView): Added a new constructor that takes an
  45782. IntSize to specify the FrameView's initial size.
  45783. (WebCore::FrameView::scheduleRelayout): Added an assertion that our
  45784. Document is not in the page cache.
  45785. * page/FrameView.h:
  45786. * platform/gtk/WidgetGtk.cpp:
  45787. (WebCore::Widget::~Widget): Add a warm, fuzzy ASSERT.
  45788. * platform/qt/WidgetQt.cpp:
  45789. (WebCore::Widget::~Widget): Ditto.
  45790. * rendering/RenderWidget.cpp:
  45791. (WebCore::RenderWidget::setWidget): Make sure to remove any existing
  45792. Widget from the Widget hierarchy before deleting it. One instance
  45793. where this is needed is when setWidget is called during FrameView
  45794. creation on Windows.
  45795. 2008-01-10 Alp Toker <alp@atoker.com>
  45796. Include math.h to get ceilf(). Part of the SVG font GTK+ build fix.
  45797. * svg/SVGFontFaceElement.cpp:
  45798. 2008-01-10 Justin Garcia <justin.garcia@apple.com>
  45799. Reviewed by Alice Liu.
  45800. <rdar://problem/5658603> Crash in InsertNodeBefore::doUnapply() on Undo in Yahoo Mail
  45801. <rdar://problem/5658709> Crash in RenderView::setSelection on Undo in Yahoo Mail
  45802. Make sure we have an updated layout before we perform any editing work.
  45803. * editing/EditCommand.cpp:
  45804. (WebCore::EditCommand::apply):
  45805. (WebCore::EditCommand::unapply):
  45806. (WebCore::EditCommand::reapply):
  45807. 2008-01-10 Luca Bruno <lethalman88@gmail.com>
  45808. Reviewed by Alp Toker.
  45809. Back out r29206 which was causing regressions in curl http job
  45810. cancellation.
  45811. * platform/network/curl/ResourceHandleManager.cpp
  45812. (ResourceHandleManager::cancel):
  45813. 2008-01-10 Kevin McCullough <kmccullough@apple.com>
  45814. Reviewed by Darin, Sam, and Adam.
  45815. - <rdar://problem/5654486> REGRESSION (Safari 3.0.4-TOT): clicking on
  45816. - link in gmail message displays JavaScript alert falsely complaining
  45817. about pop-up blocking
  45818. - When trying to open a new window, we now see if the user gesture
  45819. occurred in the global dynamic object instead of the frame since that is
  45820. the only place an event can occur.
  45821. * bindings/js/kjs_window.cpp: - Check the dynamic global object instead
  45822. of the frame.
  45823. (KJS::allowPopUp):
  45824. (KJS::showModalDialog):
  45825. (KJS::WindowProtoFuncOpen::callAsFunction):
  45826. 2008-01-10 David Hyatt <hyatt@apple.com>
  45827. Fix for bug 16247, visibility:hidden not honored when hit testing inline replaced elements.
  45828. Reviewed by adele
  45829. Added fast/css/visibility-hit-test.html test case.
  45830. * rendering/RenderBox.cpp:
  45831. (WebCore::RenderBox::nodeAtPoint):
  45832. 2008-01-10 Lars Knoll <lars@trolltech.com>
  45833. Reviewed by Simon.
  45834. rename QWebPageHistory to QWebHistory.
  45835. * WebCore.pro:
  45836. 2008-01-10 Lars Knoll <lars@trolltech.com>
  45837. Reviewed by Simon.
  45838. fix the drawing errors that where introduced due to refactoring.
  45839. Correctly clip to the rectangle we want to draw in ScrollView::paint().
  45840. * platform/qt/ScrollViewQt.cpp:
  45841. (WebCore::ScrollView::paint):
  45842. 2008-01-10 Simon Hausmann <hausmann@webkit.org>
  45843. Reviewed by Lars.
  45844. Temporarily disable gzip decompression in qhttp due to a bug.
  45845. * platform/network/qt/QNetworkReplyHandler.cpp:
  45846. (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
  45847. 2008-01-10 Simon Hausmann <hausmann@webkit.org>
  45848. Reviewed by Lars.
  45849. http://bugs.webkit.org/show_bug.cgi?id=16588
  45850. Added a (last) Frame argument to ResourceHandle::loadResourceSynchronously.
  45851. This allows implementing the synchronous loading correctly for the Qt port where the networking
  45852. backend is bound to the page.
  45853. * loader/FrameLoader.cpp:
  45854. (WebCore::FrameLoader::loadResourceSynchronously):
  45855. * platform/network/ResourceHandle.h:
  45856. * platform/network/cf/ResourceHandleCFNet.cpp:
  45857. * platform/network/curl/ResourceHandleCurl.cpp:
  45858. * platform/network/mac/ResourceHandleMac.mm:
  45859. * platform/network/qt/ResourceHandleQt.cpp:
  45860. (WebCore::ResourceHandle::loadResourceSynchronously):
  45861. 2008-01-10 Kevin Ollivier <kevino@theolliviers.com>
  45862. wx build fix for changes in r29328
  45863. * WebCoreSources.bkl:
  45864. 2008-01-09 Maciej Stachowiak <mjs@apple.com>
  45865. Reviewed by Sam.
  45866. - refactor SecurityOrigin in preparation for merging with SecurityOriginData
  45867. * platform/SecurityOrigin.cpp:
  45868. (WebCore::SecurityOrigin::SecurityOrigin):
  45869. (WebCore::SecurityOrigin::create):
  45870. (WebCore::SecurityOrigin::createForFrame):
  45871. * platform/SecurityOrigin.h:
  45872. 2008-01-09 Ada Chan <adachan@apple.com>
  45873. Tabs with ctrl, meta, or altgraph modifier key down should not advance focus.
  45874. Reviewed by Darin.
  45875. Test: fast/forms/tabs-with-modifiers.html
  45876. * page/EventHandler.cpp:
  45877. (WebCore::EventHandler::defaultKeyboardEventHandler):
  45878. (WebCore::EventHandler::defaultTabEventHandler): bail if ctrl, meta, or altgraph key is down.
  45879. Clean up the code a bit.
  45880. * page/EventHandler.h:
  45881. * page/FocusController.cpp: Remove the advanceFocus() that takes in a KeyboardEvent. It was
  45882. only called in EventHandler::defaultTabEventHandler() but we have cleaned up the code there and
  45883. no longer needs it.
  45884. * page/FocusController.h:
  45885. 2008-01-09 Antti Koivisto <antti@apple.com>
  45886. Reviewed by Mitz.
  45887. Fix http://bugs.webkit.org/show_bug.cgi?id=16376
  45888. <rdar://problem/5665206>
  45889. <video> element fails to play frames when navigating back to page (16376)
  45890. Don't make MediaPlayer visible when it is actually in page cache.
  45891. * rendering/RenderVideo.cpp:
  45892. (WebCore::RenderVideo::updatePlayer):
  45893. 2008-01-09 Anders Carlsson <andersca@apple.com>
  45894. Reviewed by Darin.
  45895. <rdar://problem/5532361>
  45896. CrashTracer: 9840 crashes in Safari at com.apple.JavaScriptCore: KJS::Bindings::CInstance::~CInstance [in-charge deleting] + 35
  45897. Clear the frame's plugin root objects so that they don't outlive the plugin bundle.
  45898. * page/Frame.cpp:
  45899. (WebCore::Frame::pageDestroyed):
  45900. 2008-01-09 John Sullivan <sullivan@apple.com>
  45901. Reviewed by Adam Roben and Anders Carlsson
  45902. - fixed <rdar://problem/5469398> Repro assertion failure in context menu code due to
  45903. missing-but-expected Reload item
  45904. * platform/ContextMenu.cpp:
  45905. (WebCore::ContextMenu::populate):
  45906. use isLoadingInAPISense when deciding whether to include Stop or Reload in context
  45907. menu, to match the WebKit API
  45908. 2008-01-09 Mark Rowe <mrowe@apple.com>
  45909. Fix Windows debug build for opensource developers.
  45910. * WebCore.vcproj/QTMovieWin.vcproj: Use the correct library suffix.
  45911. 2007-10-01 Allan Sandfeld Jensen <sandfeld@kde.org>
  45912. Reworked by Eric, Reviewed by Hyatt.
  45913. - fix http://bugs.webkit.org/show_bug.cgi?id=9454
  45914. Add support for :lang inheritance and xml:lang support.
  45915. Tests: fast/selectors/lang-inheritance.html
  45916. fast/selectors/lang-inheritance2.html
  45917. fast/selectors/lang-vs-xml-lang.html
  45918. fast/selectors/lang-vs-xml-lang-xhtml.xhtml
  45919. * css/CSSStyleSelector.cpp:
  45920. (WebCore::CSSStyleSelector::canShareStyleWithElement): Do not share style between elements with
  45921. different LANG-attribute.
  45922. (WebCore::CSSStyleSelector::checkOneSelector): Change :lang() to recursively check the LANG attribute
  45923. for all the elements parents and the content-language of the document.
  45924. * dom/Document.cpp:
  45925. (WebCore::Document::processHttpEquiv): Parse MIME Content-Language
  45926. * dom/Document.h:
  45927. (WebCore::Document::contentLanguage):
  45928. (WebCore::Document::setContentLanguage):
  45929. 2008-01-08 Timothy Hatcher <timothy@apple.com>
  45930. Reviewed by Brady.
  45931. Bug 16678: Unreproducible crash in KJS::JSObject::inherits() after using Web Inspector
  45932. http://bugs.webkit.org/show_bug.cgi?id=16678
  45933. Add a NULL check for controller before calling JSObjectSetPrivate.
  45934. * page/InspectorController.cpp:
  45935. (WebCore::InspectorController::~InspectorController):
  45936. 2008-01-08 Xan Lopez <xan@gnome.org>
  45937. Reviewed by Alp Toker.
  45938. http://bugs.webkit.org/show_bug.cgi?id=15610
  45939. [GTK] Text rendering using Pango
  45940. Use Pango to render Complex path text.
  45941. * platform/graphics/gtk/FontGtk.cpp:
  45942. (WebCore::utf16_to_utf8):
  45943. (WebCore::convertUniCharToUTF8):
  45944. (WebCore::setPangoAttributes):
  45945. (WebCore::Font::drawGlyphs):
  45946. (WebCore::Font::drawComplexText):
  45947. (WebCore::Font::floatWidthForComplexText):
  45948. (WebCore::Font::offsetForPositionForComplexText):
  45949. 2008-01-08 Timothy Hatcher <timothy@apple.com>
  45950. Reviewed by Darin Adler.
  45951. <rdar://problem/5665860> With the web inspector displayed, a crash occurs
  45952. at WebCore::Frame::document() when navigating back to previous page
  45953. This fixes the crash, but the inspector was totally broken with back/forward.
  45954. So this also fixes back/forward navigation so the right main resource shows
  45955. up in the inspector.
  45956. * page/InspectorController.cpp:
  45957. (WebCore::addSourceToFrame): Add some null checks for the frame when
  45958. getting the textEncoding. This was the crash.
  45959. (WebCore::InspectorController::addScriptResource): Create a script object
  45960. only if needed, and always add it by calling addResource.
  45961. (WebCore::InspectorController::didCommitLoad): Check if the loader is
  45962. loading from the page cache, and clear m_mainResource. If the load is
  45963. normal, then call addAndUpdateScriptResource with the main resource.
  45964. (WebCore::InspectorController::identifierForInitialRequest): If the load
  45965. is from the page cache and the resource is the main resource call
  45966. addAndUpdateScriptResource since didCommitLoad did not do it.
  45967. 2008-01-08 Alp Toker <alp@atoker.com>
  45968. Back out VIDEO by default in the GTK+ qmake build. The build bot
  45969. doesn't have the necessary libraries installed.
  45970. * WebCore.pro:
  45971. 2008-01-08 Alp Toker <alp@atoker.com>
  45972. Win build fix for breakage introduced in r29328.
  45973. * WebCore.vcproj/WebCore.vcproj:
  45974. 2008-01-08 Alp Toker <alp@atoker.com>
  45975. Rubber-stamped by Mark Rowe.
  45976. Enable VIDEO by default in the GTK+ qmake build.
  45977. * WebCore.pro:
  45978. 2008-01-08 Alp Toker <alp@atoker.com>
  45979. GTK+ VIDEO build fix for breakage introduced in r29328.
  45980. Issue noticed by Ori_B.
  45981. * GNUmakefile.am:
  45982. * WebCore.pro:
  45983. 2008-01-08 Antti Koivisto <antti@apple.com>
  45984. Reviewed by Darin.
  45985. HTMLAudioElement needs generated constructor. Otherwise video instanceof HTMLAudioElement is true which is
  45986. bit strange.
  45987. Renamed custom constructor JSHTMLAudioElementConstructor to JSAudioConstructor to avoid name clashes.
  45988. Test: media/constructors.html
  45989. * WebCore.xcodeproj/project.pbxproj:
  45990. * bindings/js/JSAudioConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLAudioElementConstructor.cpp.
  45991. (WebCore::JSAudioConstructor::JSAudioConstructor):
  45992. (WebCore::JSAudioConstructor::implementsConstruct):
  45993. (WebCore::JSAudioConstructor::construct):
  45994. * bindings/js/JSAudioConstructor.h: Copied from WebCore/bindings/js/JSHTMLAudioElementConstructor.h.
  45995. * bindings/js/JSHTMLAudioElementConstructor.cpp: Removed.
  45996. * bindings/js/JSHTMLAudioElementConstructor.h: Removed.
  45997. * bindings/js/kjs_window.cpp:
  45998. (KJS::Window::getValueProperty):
  45999. * html/HTMLAudioElement.idl:
  46000. 2008-01-08 Anders Carlsson <andersca@apple.com>
  46001. Reviewed by Mitz.
  46002. Don't add the applet widget to the view, that's done later by RenderApplet.
  46003. * loader/FrameLoader.cpp:
  46004. (WebCore::FrameLoader::createJavaAppletWidget):
  46005. 2008-01-08 Antti Koivisto <antti@apple.com>
  46006. Reviewed by Weinig.
  46007. Add security check for Audio constructor.
  46008. * bindings/js/kjs_window.cpp:
  46009. (KJS::Window::getValueProperty):
  46010. 2008-01-08 Timothy Hatcher <timothy@apple.com>
  46011. Reviewed by Adam Roben.
  46012. <rdar://problem/5676515> List of scripts and images missing when opening Web Inspector from new window (16567)
  46013. InspectorController::didLoadResourceFromMemoryCache was not being called for
  46014. resources that loaded from the memory cache that the FrameLoader's client
  46015. has already been notified about. This fix always calls the InspectorController
  46016. when loading a memory cached resource. No test possible for the Web Inspector.
  46017. * loader/DocLoader.cpp:
  46018. (WebCore::DocLoader::checkCacheObjectStatus): Moved most of the logic to
  46019. FrameLoader::loadedResourceFromMemoryCache so the InspectorController can always be notified.
  46020. * loader/FrameLoader.cpp:
  46021. (WebCore::FrameLoader::didTellClientAboutLoad): Renamed from didTellBridgeAboutLoad.
  46022. (WebCore::FrameLoader::haveToldClientAboutLoad): Renamed from haveToldBridgeAboutLoad.
  46023. (WebCore::FrameLoader::loadResourceSynchronously): Call the renamed didTellClientAboutLoad.
  46024. (WebCore::FrameLoader::loadedResourceFromMemoryCache): Only takes a CachedResource now.
  46025. Always call InspectorController. If the resource's sendResourceLoadCallbacks is false or
  46026. didTellClientAboutLoad is true, do an early return. Otherwise call the client and call
  46027. didTellClientAboutLoad.
  46028. (WebCore::FrameLoader::dispatchDidLoadResourceFromMemoryCache): Removed, work now done
  46029. in FrameLoader::loadedResourceFromMemoryCache.
  46030. * loader/FrameLoader.h: Renamed {didTell,haveTold}BridgeAboutLoad to {didTell,haveTold}ClientAboutLoad.
  46031. Made loadedResourceFromMemoryCache only take a CachedResource. Renamed m_urlsBridgeKnowsAbout to
  46032. m_urlsClientKnowsAbout.
  46033. * loader/SubresourceLoader.cpp:
  46034. (WebCore::SubresourceLoader::load): Call the renamed didTellClientAboutLoad.
  46035. 2008-01-08 Dan Bernstein <mitz@apple.com>
  46036. Rubber-stamped by Sam Weinig.
  46037. - prefix all member variables in CSSStyleSelector with m_
  46038. * css/CSSStyleSelector.cpp:
  46039. (WebCore::CSSStyleSelector::CSSStyleSelector):
  46040. (WebCore::CSSStyleSelector::init):
  46041. (WebCore::CSSStyleSelector::setEncodedURL):
  46042. (WebCore::CSSStyleSelector::loadDefaultStyle):
  46043. (WebCore::CSSStyleSelector::matchRules):
  46044. (WebCore::CSSStyleSelector::matchRulesForList):
  46045. (WebCore::CSSStyleSelector::initElementAndPseudoState):
  46046. (WebCore::CSSStyleSelector::initForStyleResolve):
  46047. (WebCore::CSSStyleSelector::canShareStyleWithElement):
  46048. (WebCore::CSSStyleSelector::locateSharedStyle):
  46049. (WebCore::CSSStyleSelector::matchUARules):
  46050. (WebCore::CSSStyleSelector::styleForElement):
  46051. (WebCore::CSSStyleSelector::pseudoStyleForElement):
  46052. (WebCore::CSSStyleSelector::updateFont):
  46053. (WebCore::CSSStyleSelector::cacheBorderAndBackground):
  46054. (WebCore::CSSStyleSelector::checkSelector):
  46055. (WebCore::CSSStyleSelector::checkOneSelector):
  46056. (WebCore::CSSStyleSelector::applyProperty):
  46057. (WebCore::CSSStyleSelector::mapBackgroundImage):
  46058. (WebCore::CSSStyleSelector::mapBackgroundSize):
  46059. (WebCore::CSSStyleSelector::mapBackgroundXPosition):
  46060. (WebCore::CSSStyleSelector::mapBackgroundYPosition):
  46061. (WebCore::CSSStyleSelector::checkForTextSizeAdjust):
  46062. (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
  46063. * css/CSSStyleSelector.h:
  46064. (WebCore::CSSStyleSelector::):
  46065. (WebCore::CSSRuleData::CSSRuleData):
  46066. (WebCore::CSSRuleDataList::CSSRuleDataList):
  46067. (WebCore::CSSRuleDataList::append):
  46068. * css/SVGCSSStyleSelector.cpp:
  46069. (WebCore::CSSStyleSelector::applySVGProperty):
  46070. * rendering/RenderStyle.cpp:
  46071. (WebCore::RenderStyle::isStyleAvailable):
  46072. 2008-01-08 David D. Kilzer <ddkilzer@apple.com>
  46073. Removed unnecessary files from Copy Bundle Resources build phase.
  46074. Reviewed by Sam.
  46075. * WebCore.xcodeproj/project.pbxproj: Files removed from build phase:
  46076. DOMCoreException.idl
  46077. EventException.idl
  46078. MessageEvent.idl
  46079. SVGAElement.idl
  46080. SVGAngle.idl
  46081. SVGAnimateColorElement.idl
  46082. SVGAnimateElement.idl
  46083. SVGAnimateTransformElement.idl
  46084. SVGAnimatedAngle.idl
  46085. SVGAnimatedBoolean.idl
  46086. SVGAnimatedEnumeration.idl
  46087. SVGAnimatedInteger.idl
  46088. SVGAnimatedLength.idl
  46089. SVGAnimatedLengthList.idl
  46090. SVGAnimatedNumber.idl
  46091. SVGAnimatedNumberList.idl
  46092. SVGAnimatedPathData.idl
  46093. SVGAnimatedPoints.idl
  46094. SVGAnimatedPreserveAspectRatio.idl
  46095. SVGAnimatedRect.idl
  46096. SVGAnimatedString.idl
  46097. SVGAnimatedTransformList.idl
  46098. SVGAnimationElement.idl
  46099. SVGCSSPropertyNames.in
  46100. SVGCSSValueKeywords.in
  46101. SVGCircleElement.idl
  46102. SVGClipPathElement.idl
  46103. SVGColor.idl
  46104. SVGComponentTransferFunctionElement.idl
  46105. SVGCursorElement.idl
  46106. SVGDefinitionSrcElement.idl
  46107. SVGDefsElement.idl
  46108. SVGDescElement.idl
  46109. SVGDocument.idl
  46110. SVGElement.idl
  46111. SVGElementInstance.idl
  46112. SVGElementInstanceList.idl
  46113. SVGEllipseElement.idl
  46114. SVGException.idl
  46115. SVGExternalResourcesRequired.idl
  46116. SVGFEBlendElement.idl
  46117. SVGFEColorMatrixElement.idl
  46118. SVGFEComponentTransferElement.idl
  46119. SVGFECompositeElement.idl
  46120. SVGFEDiffuseLightingElement.idl
  46121. SVGFEDisplacementMapElement.idl
  46122. SVGFEDistantLightElement.idl
  46123. SVGFEFloodElement.idl
  46124. SVGFEFuncAElement.idl
  46125. SVGFEFuncBElement.idl
  46126. SVGFEFuncGElement.idl
  46127. SVGFEFuncRElement.idl
  46128. SVGFEGaussianBlurElement.idl
  46129. SVGFEImageElement.idl
  46130. SVGFEMergeElement.idl
  46131. SVGFEMergeNodeElement.idl
  46132. SVGFEOffsetElement.idl
  46133. SVGFEPointLightElement.idl
  46134. SVGFESpecularLightingElement.idl
  46135. SVGFESpotLightElement.idl
  46136. SVGFETileElement.idl
  46137. SVGFETurbulenceElement.idl
  46138. SVGFilterElement.idl
  46139. SVGFilterPrimitiveStandardAttributes.idl
  46140. SVGFitToViewBox.idl
  46141. SVGFontElement.idl
  46142. SVGFontFaceElement.idl
  46143. SVGFontFaceFormatElement.idl
  46144. SVGFontFaceNameElement.idl
  46145. SVGFontFaceSrcElement.idl
  46146. SVGFontFaceUriElement.idl
  46147. SVGForeignObjectElement.idl
  46148. SVGGElement.idl
  46149. SVGGlyphElement.idl
  46150. SVGGradientElement.idl
  46151. SVGImageElement.idl
  46152. SVGLangSpace.idl
  46153. SVGLength.idl
  46154. SVGLengthList.idl
  46155. SVGLineElement.idl
  46156. SVGLinearGradientElement.idl
  46157. SVGLocatable.idl
  46158. SVGMarkerElement.idl
  46159. SVGMaskElement.idl
  46160. SVGMatrix.idl
  46161. SVGMetadataElement.idl
  46162. SVGMissingGlyphElement.idl
  46163. SVGNumber.idl
  46164. SVGNumberList.idl
  46165. SVGPaint.idl
  46166. SVGPathElement.idl
  46167. SVGPathSeg.idl
  46168. SVGPathSegArcAbs.idl
  46169. SVGPathSegArcRel.idl
  46170. SVGPathSegClosePath.idl
  46171. SVGPathSegCurvetoCubicAbs.idl
  46172. SVGPathSegCurvetoCubicRel.idl
  46173. SVGPathSegCurvetoCubicSmoothAbs.idl
  46174. SVGPathSegCurvetoCubicSmoothRel.idl
  46175. SVGPathSegCurvetoQuadraticAbs.idl
  46176. SVGPathSegCurvetoQuadraticRel.idl
  46177. SVGPathSegCurvetoQuadraticSmoothAbs.idl
  46178. SVGPathSegCurvetoQuadraticSmoothRel.idl
  46179. SVGPathSegLinetoAbs.idl
  46180. SVGPathSegLinetoHorizontalAbs.idl
  46181. SVGPathSegLinetoHorizontalRel.idl
  46182. SVGPathSegLinetoRel.idl
  46183. SVGPathSegLinetoVerticalAbs.idl
  46184. SVGPathSegLinetoVerticalRel.idl
  46185. SVGPathSegList.idl
  46186. SVGPathSegMovetoAbs.idl
  46187. SVGPathSegMovetoRel.idl
  46188. SVGPatternElement.idl
  46189. SVGPoint.idl
  46190. SVGPointList.idl
  46191. SVGPolygonElement.idl
  46192. SVGPolylineElement.idl
  46193. SVGPreserveAspectRatio.idl
  46194. SVGRadialGradientElement.idl
  46195. SVGRect.idl
  46196. SVGRectElement.idl
  46197. SVGRenderingIntent.idl
  46198. SVGSVGElement.idl
  46199. SVGScriptElement.idl
  46200. SVGSetElement.idl
  46201. SVGStopElement.idl
  46202. SVGStringList.idl
  46203. SVGStylable.idl
  46204. SVGStyleElement.idl
  46205. SVGSwitchElement.idl
  46206. SVGSymbolElement.idl
  46207. SVGTRefElement.idl
  46208. SVGTSpanElement.idl
  46209. SVGTests.idl
  46210. SVGTextContentElement.idl
  46211. SVGTextElement.idl
  46212. SVGTextPathElement.idl
  46213. SVGTextPositioningElement.idl
  46214. SVGTitleElement.idl
  46215. SVGTransform.idl
  46216. SVGTransformList.idl
  46217. SVGTransformable.idl
  46218. SVGURIReference.idl
  46219. SVGUnitTypes.idl
  46220. SVGUseElement.idl
  46221. SVGViewElement.idl
  46222. SVGViewSpec.idl
  46223. SVGZoomAndPan.idl
  46224. SVGZoomEvent.idl
  46225. XMLHttpRequestException.idl
  46226. XPathException.idl
  46227. character-sets.txt
  46228. mac-encodings.txt
  46229. make-charset-table.pl
  46230. svgattrs.in
  46231. svgtags.in
  46232. xlinkattrs.in
  46233. 2008-01-08 Luca Bruno <lethalman88@gmail.com>
  46234. Reviewed by Alp Toker.
  46235. Support copying the selected URL to the clipboard.
  46236. * platform/gtk/PasteboardGtk.cpp:
  46237. (WebCore::Pasteboard::writeURL): implemented
  46238. 2008-01-08 David D. Kilzer <ddkilzer@webkit.org>
  46239. Renamed CharacterData::m_str to m_data
  46240. Rubber-stamped by Adam again.
  46241. No test cases added since there is no change in behavior.
  46242. * dom/CDATASection.cpp:
  46243. * dom/CharacterData.cpp:
  46244. (WebCore::CharacterData::CharacterData):
  46245. (WebCore::CharacterData::setData):
  46246. (WebCore::CharacterData::substringData):
  46247. (WebCore::CharacterData::appendData):
  46248. (WebCore::CharacterData::insertData):
  46249. (WebCore::CharacterData::deleteData):
  46250. (WebCore::CharacterData::replaceData):
  46251. (WebCore::CharacterData::nodeValue):
  46252. (WebCore::CharacterData::containsOnlyWhitespace):
  46253. (WebCore::CharacterData::dispatchModifiedEvent):
  46254. (WebCore::CharacterData::checkCharDataOperation):
  46255. (WebCore::CharacterData::dump):
  46256. * dom/CharacterData.h:
  46257. * dom/Comment.cpp:
  46258. * dom/Text.cpp:
  46259. (WebCore::Text::splitText):
  46260. (WebCore::Text::createRenderer):
  46261. (WebCore::Text::recalcStyle):
  46262. 2008-01-08 Steve Falkenburg <sfalken@apple.com>
  46263. Fix a couple of compiler warnings.
  46264. Reviewed by Mitz.
  46265. * platform/win/ThreadingWin.cpp:
  46266. * platform/win/UniscribeController.cpp: Remove unused function.
  46267. (WebCore::UniscribeController::advance): Fix bogus warning about un-initialized variable.
  46268. 2008-01-08 Adele Peterson <adele@apple.com>
  46269. Reviewed by Darin.
  46270. Fix for <rdar://problem/5674667> fast/forms/slider-mouse-events.html is broken by media control checkin 29257
  46271. * rendering/RenderSlider.cpp: (WebCore::HTMLSliderThumbElement::defaultEventHandler):
  46272. After fixing a bug in EventHandler to make sure events always go to the capturing node, this bug was exposed.
  46273. MouseMove and MouseUp events were going to the thumb element, but not to the slider input element.
  46274. This change makes the input element the capturing node, and then the input element forwards the mouse events to the thumb element.
  46275. I also added a missing call to setDefaultHandled for the mousemove event.
  46276. 2008-01-08 Adele Peterson <adele@apple.com>
  46277. Reviewed by Adam.
  46278. * rendering/RenderThemeSafari.cpp: Use the SafariTheme version number to decide whether or not to
  46279. paint the media controls in RenderThemeSafari.
  46280. 2008-01-08 Oliver Hunt <oliver@apple.com>
  46281. Reviewed by Adele and John.
  46282. Fix <rdar://problem/5652740> Crash occurs at WebCore::Widget::getView() after
  46283. dragging file into window that contains web page ( http://www.econocraft.com/flood_arch.htm )
  46284. We hit this crash if the page reloads between DragController::dragUpdated
  46285. and DragController::performDrag, meaning that m_document starts pointing to
  46286. a now viewless document. This is picked up by an assertion in performDrag
  46287. which I have now replaced with an assignment given that the assertion is
  46288. invalid -- it is possible for m_document to be changed between dragUpdated
  46289. performDrag
  46290. * page/DragController.cpp:
  46291. (WebCore::DragController::performDrag):
  46292. 2008-01-08 Alexey Proskuryakov <ap@webkit.org>
  46293. Reviewed by Darin.
  46294. <rdar://problem/5659812> CrashTracer: 462 crashes in Safari at com.apple.WebCore:
  46295. WebCore::Node::setChanged + 96
  46296. Test: fast/dom/cssTarget-crash.html
  46297. * dom/Node.cpp: (WebCore::Node::removedFromDocument):
  46298. Check to see if the node being removed is currently set as the Document's cssTarget.
  46299. If it is, clear the cssTarget to prevent a hanging reference to it.
  46300. 2008-01-08 Adam Roben <aroben@apple.com>
  46301. * bindings/scripts/CodeGeneratorJS.pm: Touch this so the bindings will
  46302. rebuild on Windows now that the media elements are enabled.
  46303. 2008-01-08 Adam Roben <aroben@apple.com>
  46304. * svg/svgtags.in: Touch this again for the sake of the Windows bots.
  46305. 2008-01-08 Timothy Hatcher <timothy@apple.com>
  46306. Reviewed by Adam Roben.
  46307. Use JSRetainPtr in the Web Inspector everywhere we own a JSStringRef.
  46308. Also added some #pragma marks to help find places in the file.
  46309. * page/InspectorController.cpp:
  46310. (WebCore::callSimpleFunction): Use JSRetainPtr<JSStringRef>.
  46311. And return the result of JSObjectCallAsFunction.
  46312. (WebCore::search): Use JSRetainPtr<JSStringRef>.
  46313. (WebCore::databaseTableNames): Ditto.
  46314. (WebCore::localizedStrings): Ditto.
  46315. (WebCore::InspectorController::~InspectorController): Ditto.
  46316. (WebCore::InspectorController::focusNode): Ditto.
  46317. (WebCore::InspectorController::windowScriptObjectAvailable): Ditto.
  46318. (WebCore::InspectorController::scriptObjectReady): Ditto.
  46319. (WebCore::addHeaders): Ditto.
  46320. (WebCore::InspectorController::addScriptResource): Ditto.
  46321. (WebCore::InspectorController::removeScriptResource): Ditto.
  46322. (WebCore::InspectorController::updateScriptResourceRequest): Ditto.
  46323. (WebCore::InspectorController::updateScriptResourceResponse): Ditto.
  46324. (WebCore::InspectorController::updateScriptResource): Ditto.
  46325. (WebCore::InspectorController::addDatabaseScriptResource): Ditto.
  46326. (WebCore::InspectorController::removeDatabaseScriptResource): Ditto.
  46327. (WebCore::InspectorController::addScriptConsoleMessage): Ditto.
  46328. 2008-01-08 Dan Bernstein <mitz@apple.com>
  46329. Rubber-stamped by Sam Weinig.
  46330. - rename FontDataBaseClass.{cpp,h} back to FontData.{cpp,h}
  46331. * GNUmakefile.am:
  46332. * WebCore.pro:
  46333. * WebCore.vcproj/WebCore.vcproj:
  46334. * WebCore.xcodeproj/project.pbxproj:
  46335. * WebCoreSources.bkl:
  46336. * editing/Editor.cpp:
  46337. * platform/graphics/FontData.cpp: Copied from WebCore/platform/graphics/FontDataBaseClass.cpp.
  46338. * platform/graphics/FontData.h: Copied from WebCore/platform/graphics/FontDataBaseClass.h.
  46339. * platform/graphics/FontDataBaseClass.cpp: Removed.
  46340. * platform/graphics/FontDataBaseClass.h: Removed.
  46341. * platform/graphics/SegmentedFontData.h:
  46342. * platform/graphics/SimpleFontData.h:
  46343. 2008-01-08 Dan Bernstein <mitz@apple.com>
  46344. Fix a Wx build error.
  46345. * platform/graphics/wx/GlyphMapWx.cpp:
  46346. (WebCore::GlyphPage::fill):
  46347. 2008-01-08 Dan Bernstein <mitz@apple.com>
  46348. Fix a Qt build error.
  46349. * platform/graphics/qt/SimpleFontDataQt.cpp:
  46350. (WebCore::SimpleFontData::containsCharacters):
  46351. (WebCore::SimpleFontData::fontDataForCharacter):
  46352. (WebCore::SimpleFontData::isSegmented):
  46353. 2008-01-08 Adam Roben <aroben@apple.com>
  46354. Windows build fix.
  46355. Touch config.h to force a rebuild (apparently changing preprocessor
  46356. definitions in the .vcproj doesn't force a rebuild).
  46357. * config.h:
  46358. 2008-01-08 Dan Bernstein <mitz@apple.com>
  46359. Fix a Wx build failure.
  46360. * webcore-wx.bkl:
  46361. 2008-01-08 Dan Bernstein <mitz@apple.com>
  46362. Fix a Qt build failure.
  46363. * WebCore.pro:
  46364. 2008-01-08 John Sullivan <sullivan@apple.com>
  46365. Reviewed by Adam Roben
  46366. - fixed <rdar://problem/5671668> REGRESSION (r28711-r28730): With caret in an empty form field,
  46367. Delete menu item is enabled but shouldn't be
  46368. The enabled logic was incorrect for the Delete menu item. To fix this, I added an EditorCommandSource
  46369. parameter to the enabled functions so that they can have parallel logic to the execute functions.
  46370. * editing/EditorCommand.cpp:
  46371. added EditorCommandSource parameter to isEnabled function prototype
  46372. (WebCore::enabled):
  46373. added unused EditorCommandSource parameter to these isEnabled functions:
  46374. (WebCore::enabledAnySelection):
  46375. (WebCore::enabledAnySelectionAndMark):
  46376. (WebCore::enableCaretInEditableText):
  46377. (WebCore::enabledCopy):
  46378. (WebCore::enabledCut):
  46379. (WebCore::enabledDelete):
  46380. new function, uses logic previously used by Delete command for DOM sources; uses logic in enabledCut
  46381. for menu source
  46382. added unused EditorCommandSource parameter to these isEnabled functions:
  46383. (WebCore::enabledInEditableText):
  46384. (WebCore::enabledInRichlyEditableText):
  46385. (WebCore::enabledPaste):
  46386. (WebCore::enabledRangeInEditableText):
  46387. (WebCore::enabledRangeInRichlyEditableText):
  46388. (WebCore::enabledRedo):
  46389. (WebCore::enabledUndo):
  46390. (WebCore::CommandEntry::):
  46391. wire up new enabledDelete function as delete function for Delete command
  46392. (WebCore::Editor::Command::isEnabled):
  46393. pass EditorCommandSource parameter to isEnabled function
  46394. 2008-01-08 Adam Roben <aroben@apple.com>
  46395. Visual C++ Express build fix
  46396. * WebCore.vcproj/QTMovieWin.vcproj: Explicitly link against user32.lib
  46397. and advapi32.lib. VS implicitly links against these, VC++ Express
  46398. doesn't.
  46399. 2008-01-08 Dan Bernstein <mitz@apple.com>
  46400. - add bug number
  46401. * platform/graphics/mac/FontCustomPlatformData.cpp:
  46402. (WebCore::createFontCustomPlatformData):
  46403. 2008-01-08 Dan Bernstein <mitz@apple.com>
  46404. Try to fix the Qt build.
  46405. * WebCore.pro:
  46406. 2008-01-08 Nikolas Zimmermann <zimmermann@kde.org>
  46407. Not reviewed. Try to fix Qt builds after Timothy's inspector changes.
  46408. * page/inspector/WebKit.qrc:
  46409. 2008-01-08 Maciej Stachowiak <mjs@apple.com>
  46410. Reviewed by Mark.
  46411. - remove duplicate definition of getElementById from HTMLDocument IDL (and ObjC bindings)
  46412. * bindings/objc/PublicDOMInterfaces.h:
  46413. * html/HTMLDocument.idl:
  46414. 2008-01-08 David D. Kilzer <ddkilzer@webkit.org>
  46415. Renamed CharacterData::str to m_str to match coding style
  46416. Rubber-stamped by Adam.
  46417. No test cases added since there is no change in behavior.
  46418. * dom/CDATASection.cpp:
  46419. * dom/CharacterData.cpp:
  46420. (WebCore::CharacterData::CharacterData):
  46421. (WebCore::CharacterData::setData):
  46422. (WebCore::CharacterData::substringData):
  46423. (WebCore::CharacterData::appendData):
  46424. (WebCore::CharacterData::insertData):
  46425. (WebCore::CharacterData::deleteData):
  46426. (WebCore::CharacterData::replaceData):
  46427. (WebCore::CharacterData::nodeValue):
  46428. (WebCore::CharacterData::containsOnlyWhitespace):
  46429. (WebCore::CharacterData::dispatchModifiedEvent):
  46430. (WebCore::CharacterData::checkCharDataOperation):
  46431. (WebCore::CharacterData::dump):
  46432. * dom/CharacterData.h:
  46433. * dom/Comment.cpp:
  46434. * dom/Text.cpp:
  46435. (WebCore::Text::splitText):
  46436. (WebCore::Text::createRenderer):
  46437. (WebCore::Text::recalcStyle):
  46438. 2008-01-08 Oliver Hunt <oliver@apple.com>
  46439. Set the ENABLE_SVG_FONTS flag in Windows build, now builds,
  46440. I'm not sure if it just caused the right files to regenerate,
  46441. or if there's some configuration weirdness in the non-SVG-fonts
  46442. build.
  46443. * WebCore.vcproj/WebCore.vcproj:
  46444. 2008-01-07 Maciej Stachowiak <mjs@apple.com>
  46445. Reviewed by Brady.
  46446. - fixed <rdar://problem/5644300> Back/Forward Cache should not include pages with databases
  46447. Track whether a document has ever opened a database; if so, exclude it from b/f caching (for now)
  46448. * dom/Document.cpp:
  46449. (WebCore::Document::Document):
  46450. * dom/Document.h:
  46451. (WebCore::Document::setHasOpenDatabases):
  46452. (WebCore::Document::hasOpenDatabases):
  46453. * loader/FrameLoader.cpp:
  46454. (WebCore::FrameLoader::canCachePage):
  46455. * storage/Database.cpp:
  46456. (WebCore::Database::openDatabase):
  46457. 2008-01-07 Dan Bernstein <mitz@apple.com>
  46458. Reviewed by Oliver Hunt.
  46459. - fix leaks seen on the build bot
  46460. * css/CSSFontSelector.cpp:
  46461. (WebCore::CSSFontSelector::addFontFaceRule): Avoid creating a
  46462. CSSFontFaceSource for SVG font-face elements going into an
  46463. SVGCSSFontFace because it just leaks them. Avoid adding SVG font-
  46464. face elements to a CSSFontFace because it will not work as expected.
  46465. 2008-01-07 Mark Rowe <mrowe@apple.com>
  46466. Tiger build fix.
  46467. * platform/graphics/mac/FontCustomPlatformData.cpp:
  46468. (WebCore::createFontCustomPlatformData): Only include this code on Leopard.
  46469. It's not needed on Tiger, and breaks the build.
  46470. 2008-01-07 Antti Koivisto <antti@apple.com>
  46471. Reviewed by Steve.
  46472. Re-enable media support in Windows build.
  46473. * WebCore.vcproj/QTMovieWin.vcproj:
  46474. * WebCore.vcproj/WebCore.vcproj:
  46475. * WebCore.vcproj/build-generated-files.sh:
  46476. 2008-01-07 Steve Falkenburg <sfalken@apple.com>
  46477. Add version resource to QTMovieWin.dll
  46478. Reviewed by Adam.
  46479. * WebCore.vcproj/PRODUCTVERSION: Copied from ../WebKit/win/WebKit.vcproj/PRODUCTVERSION.
  46480. * WebCore.vcproj/QTMovieWin.rc: Added.
  46481. * WebCore.vcproj/QTMovieWin.vcproj:
  46482. * WebCore.vcproj/VERSION: Copied from ../WebKit/win/WebKit.vcproj/VERSION.
  46483. * WebCore.vcproj/auto-version.sh: Copied from ../WebKit/win/WebKit.vcproj/auto-version.sh.
  46484. 2008-01-07 Dan Bernstein <mitz@apple.com>
  46485. Build fix.
  46486. * platform/graphics/qt/FontCustomPlatformData.cpp:
  46487. (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added.
  46488. Calls QFontDatabase::removeApplicationFont().
  46489. * platform/graphics/qt/FontCustomPlatformData.h:
  46490. * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
  46491. (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): Removed the
  46492. implementation because Qt does not use the WebCore glyph cache.
  46493. 2008-01-07 Dan Bernstein <mitz@apple.com>
  46494. Reviewed by Oliver Hunt.
  46495. - fix an assertion failure in svg/W3C-SVG-1.1/fonts-elem-03-b.svg on
  46496. Tiger and multiple SVG layout test failures on Leopard.
  46497. * css/CSSSegmentedFontFace.cpp:
  46498. (WebCore::CSSSegmentedFontFace::getFontData): Avoid returning an
  46499. empty SegmentedFontData.
  46500. * platform/graphics/mac/FontCustomPlatformData.cpp:
  46501. (WebCore::createFontCustomPlatformData): Avoid creating a font that
  46502. contains no glyphs. On Leopard, ATS might create such a font given
  46503. data in an unsupported format (such as SVG).
  46504. 2008-01-07 Steve Falkenburg <sfalken@apple.com>
  46505. Build fix.
  46506. * WebCore.vcproj/WebCore.sln:
  46507. * WebCore.vcproj/WebCore.submit.sln:
  46508. 2008-01-07 Oliver Hunt <oliver@apple.com>
  46509. Reviewed by Niko.
  46510. Fix painting of SVG <image> when the image must be scaled to retain aspect ratio
  46511. Test: svg/custom/image-with-aspect-ratio-stretch.svg
  46512. * rendering/RenderSVGImage.cpp:
  46513. (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
  46514. 2008-01-07 Dan Bernstein <mitz@apple.com>
  46515. Build fix.
  46516. * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
  46517. (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
  46518. 2008-01-07 Adele Peterson <adele@apple.com>
  46519. Add missing newline.
  46520. * rendering/MediaControlElements.cpp:
  46521. 2008-01-07 Jon Honeycutt <jhoneycutt@apple.com>
  46522. Reviewed by Hyatt.
  46523. <rdar://problem/5673489> Safari does not render windowless plugins in an
  46524. iframe when opacity < 1.0
  46525. Plugins in transparency layers handle their own world transforms, so
  46526. only apply the horizontal/vertical transform if we are not in a
  46527. transparency layer.
  46528. * platform/graphics/GraphicsContext.h: Add a Windows-platform-only
  46529. inTransparencyLayer() function
  46530. * platform/win/GraphicsContextWin.cpp:
  46531. (WebCore::GraphicsContext::getWindowsContext): Use inTransparencyLayer()
  46532. (WebCore::GraphicsContext::inTransparencyLayer):
  46533. (WebCore::GraphicsContext::releaseWindowsContext): Use
  46534. inTransparencyLayer()
  46535. * plugins/win/PluginViewWin.cpp:
  46536. (WebCore::PluginViewWin::paint): When retrieving the HDC, use the rect
  46537. relative to the window. Pass m_isTransparent to
  46538. get/releaseWindowsContext(). Only set the world transform if we are not
  46539. in a transparency layer.
  46540. 2008-01-07 Adele Peterson <adele@apple.com>
  46541. Build fix. Need to wrap these classes in #if ENABLE(VIDEO)
  46542. * rendering/MediaControlElements.cpp:
  46543. * rendering/MediaControlElements.h:
  46544. 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
  46545. Reviewed by Mark.
  46546. Enable SVG_FONTS by default.
  46547. * Configurations/WebCore.xcconfig:
  46548. * WebCore.vcproj/build-generated-files.sh:
  46549. 2008-01-07 Dan Bernstein <mitz@apple.com>
  46550. Build fix.
  46551. * platform/graphics/qt/SimpleFontDataQt.cpp:
  46552. (WebCore::SimpleFontData::SimpleFontData):
  46553. (WebCore::SimpleFontData::~SimpleFontData):
  46554. 2008-01-07 Adam Barth <hk9565@gmail.com>
  46555. Reviewed by Sam Weinig
  46556. Fixes: http://bugs.webkit.org/show_bug.cgi?id=16523
  46557. <rdar://problem/5657447>
  46558. When a frame is created with the URL "about:blank" or "", it should
  46559. inherit its SecurityOrigin from its opener. However, once it has
  46560. decided on that SecurityOrigin, it should not change its mind.
  46561. Prior to this patch, several events could induce the frame to change
  46562. its SecurityOrigin, permitting an attacker to inject script into an
  46563. arbitrary SecurityOrigin.
  46564. This patch makes several changes:
  46565. 1) Documents refuse to change from one SecurityOrigin to another
  46566. unless explicitly instructed to do so.
  46567. 2) Navigating to a JavaScript URL that produces a value
  46568. preserves the current SecurityOrigin explicitly instead of
  46569. relying on the URL to preserve the origin (which fails for
  46570. about:blank URLs and SecurityOrigins with document.domain set).
  46571. Ideally, we should not preserve the URL at all. Instead, the
  46572. frame's URL should be the JavaScript URL, as in Firefox, but this
  46573. would require changes that are too risky for this patch. I'll
  46574. file this as a separate issue.
  46575. 3) Various methods of navigating to JavaScript URLs were not
  46576. properly handling JavaScript that returned a value (and should
  46577. therefore replace the current document). This patch unifies
  46578. those code paths with the path that works.
  46579. There are still a handful of bugs relating to the handling of
  46580. JavaScript URLs, but I'll file those as separate issues.
  46581. Tests: http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write.html
  46582. http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url.html
  46583. http/tests/security/aboutBlank/xss-DENIED-set-opener.html
  46584. * dom/Document.cpp:
  46585. (WebCore::Document::initSecurityOrigin):
  46586. * dom/Document.h:
  46587. (WebCore::Document::setSecurityOrigin):
  46588. * loader/FrameLoader.cpp:
  46589. (WebCore::FrameLoader::changeLocation):
  46590. (WebCore::FrameLoader::urlSelected):
  46591. (WebCore::FrameLoader::requestFrame):
  46592. (WebCore::FrameLoader::submitForm):
  46593. (WebCore::FrameLoader::executeIfJavaScriptURL):
  46594. (WebCore::FrameLoader::begin):
  46595. * loader/FrameLoader.h:
  46596. * platform/SecurityOrigin.cpp:
  46597. (WebCore::SecurityOrigin::setForURL):
  46598. (WebCore::SecurityOrigin::createForFrame):
  46599. * platform/SecurityOrigin.h:
  46600. 2008-01-07 Adele Peterson <adele@apple.com>
  46601. Forgot to check in these changes in my last checkin.
  46602. * rendering/RenderThemeSafari.cpp:
  46603. 2008-01-07 Dan Bernstein <mitz@apple.com>
  46604. Build fixes.
  46605. * WebCore.pro:
  46606. * platform/graphics/qt/FontCacheQt.cpp:
  46607. (WebCore::FontCache::getCachedFontData):
  46608. 2008-01-07 Timothy Hatcher <timothy@apple.com>
  46609. Reviewed by John Sullivan.
  46610. <rdar://problem/5674119> Make the Web Inspector toolbar the normal size when not docked
  46611. * page/inspector/inspector.css: Changed CSS rules to have the toolbar and buttons be
  46612. normal height when not docked, and small when docked. Also added some cursor properties
  46613. prevent showing the text cursor over areas that are not selectable.
  46614. * page/inspector/Images: A few images added and old ones removed or renamed.
  46615. 2008-01-07 Alp Toker <alp@atoker.com>
  46616. Prospective GTK+ autotools/qmake VIDEO build fix for breakage
  46617. introduced in r29257.
  46618. * GNUmakefile.am:
  46619. * WebCore.pro:
  46620. 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
  46621. Reviewed by Oliver.
  46622. Build fix affecting all builds - again related to the unicode-range addition.
  46623. * css/CSSFontSelector.cpp:
  46624. (WebCore::CSSFontSelector::addFontFaceRule):
  46625. * css/SVGCSSFontFace.cpp:
  46626. (WebCore::SVGCSSFontFace::SVGCSSFontFace):
  46627. * css/SVGCSSFontFace.h:
  46628. * rendering/RenderSVGText.cpp:
  46629. * svg/SVGFont.cpp:
  46630. (WebCore::svgFontAndFontFaceElementForFontData):
  46631. (WebCore::floatWidthMissingGlyphCallback):
  46632. (WebCore::drawTextMissingGlyphCallback):
  46633. * svg/SVGFontFaceElement.cpp:
  46634. 2008-01-07 Adele Peterson <adele@apple.com>
  46635. Reviewed by Antti, Adam, and Mitz.
  46636. WebCore part of fix for
  46637. <rdar://problem/5619073> Updated look for <video> controls
  46638. <rdar://problem/5619057> Add volume control to video controls
  46639. * WebCore.base.exp: Added symbols for WebKitSystemInterface drawing methods.
  46640. * WebCore.xcodeproj/project.pbxproj: Added MediaControlElements.h/cpp
  46641. * WebCore.vcproj/WebCore.vcproj: ditto.
  46642. * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added cases for new appearances.
  46643. * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added cases for new types.
  46644. * css/CSSSelector.h: (WebCore::CSSSelector::): Added new pseudo elements.
  46645. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::checkOneSelector): ditto.
  46646. * css/CSSValueKeywords.in: Added keywords for new control appearance styles.
  46647. * css/html4.css: Added new styles for new controls.
  46648. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::canPlay): Added. Takes loading state into account.
  46649. * html/HTMLMediaElement.h:
  46650. * page/EventHandler.cpp: (WebCore::EventHandler::updateMouseEventTargetNode): Make sure the events always go to the capturing node, if there is one.
  46651. * platform/mac/WebCoreSystemInterface.h: Added drawing methods for controls.
  46652. * platform/mac/WebCoreSystemInterface.mm: ditto.
  46653. * rendering/MediaControlElements.cpp: Added.
  46654. (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): Moved from RenderMedia. Made this relatively positioned, instead of absolute.
  46655. (WebCore::MediaControlInputElement::MediaControlInputElement): Moved from RenderMedia. Removed call to updateFromElement,
  46656. since its too early to do this here, and causes crashes for the slider.
  46657. (WebCore::MediaControlInputElement::attachToParent): Moved from RenderMedia.
  46658. (WebCore::MediaControlInputElement::update): ditto.
  46659. (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Added.
  46660. (WebCore::MediaControlMuteButtonElement::defaultEventHandler): ditto.
  46661. (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Moved from RenderMedia.
  46662. (WebCore::MediaControlPlayButtonElement::defaultEventHandler): ditto.
  46663. (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Added.
  46664. (WebCore::MediaControlSeekButtonElement::defaultEventHandler): ditto.
  46665. (WebCore::MediaControlSeekButtonElement::seekTimerFired): ditto.
  46666. (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Moved from RenderMedia.
  46667. (WebCore::MediaControlTimelineElement::defaultEventHandler): ditto.
  46668. (WebCore::MediaControlTimelineElement::update): ditto.
  46669. (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Added.
  46670. (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): ditto.
  46671. * rendering/MediaControlElements.h: Added. Moved from RenderMedia.
  46672. (WebCore::MediaControlShadowRootElement::isShadowNode):
  46673. (WebCore::MediaControlShadowRootElement::shadowParentNode):
  46674. (WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot):
  46675. (WebCore::RenderMediaControlShadowRoot::setParent):
  46676. * rendering/RenderMedia.cpp: Moved control element classes to MediaControlElements files.
  46677. (WebCore::RenderMedia::RenderMedia): No need to initialize RefPtrs.
  46678. (WebCore::RenderMedia::layout): Set the position for the controlsRenderer.
  46679. (WebCore::RenderMedia::createPanel): Added nil check for the renderer.
  46680. (WebCore::RenderMedia::createMuteButton): Added.
  46681. (WebCore::RenderMedia::createSeekBackButton): ditto.
  46682. (WebCore::RenderMedia::createSeekForwardButton): ditto.
  46683. (WebCore::RenderMedia::createTimeDisplay): Added nil check for the renderer.
  46684. (WebCore::RenderMedia::createFullscreenButton): Added.
  46685. (WebCore::RenderMedia::updateControls): Create, delete, and update new controls when appropriate.
  46686. (WebCore::RenderMedia::updateControlVisibility): Don't fade controls for audio controls.
  46687. (WebCore::RenderMedia::forwardEvent): Forward events for new controls.
  46688. * rendering/RenderMedia.h: Added new methods for creating new controls.
  46689. * rendering/RenderObject.cpp: (WebCore::RenderObject::containingBlock): Updated special case for media elements, which are replaced elements,
  46690. but also can contain children (the controls' container) that may need to look for the containing block.
  46691. * rendering/RenderSlider.cpp: (WebCore::RenderSlider::createThumbStyle): Added case for MediaSliderAppearance.
  46692. * rendering/RenderStyle.h: Added appearance constants and pseudo ids for new controls.
  46693. (WebCore::RenderStyle::):
  46694. * rendering/RenderTheme.cpp:
  46695. (WebCore::RenderTheme::adjustStyle): Added cases for new appearances.
  46696. (WebCore::RenderTheme::paint): ditto.
  46697. * rendering/RenderTheme.h: Added new methods for painting new appearances.
  46698. (WebCore::RenderTheme::paintMediaBackground):
  46699. (WebCore::RenderTheme::paintMediaFullscreenButton):
  46700. (WebCore::RenderTheme::paintMediaPlayButton):
  46701. (WebCore::RenderTheme::paintMediaMuteButton):
  46702. (WebCore::RenderTheme::paintMediaSeekBackButton):
  46703. (WebCore::RenderTheme::paintMediaSeekForwardButton):
  46704. (WebCore::RenderTheme::paintMediaSliderThumb):
  46705. * rendering/RenderThemeMac.h:
  46706. * rendering/RenderThemeMac.mm:
  46707. (WebCore::RenderThemeMac::RenderThemeMac): Initialize m_mediaControlBackgroundImage.
  46708. (WebCore::RenderThemeMac::~RenderThemeMac): Delete m_mediaControlBackgroundImage.
  46709. (WebCore::RenderThemeMac::paintCapsLockIndicator): Use LocalCurrentGraphicsContext here too, since we use it in all other painting methods.
  46710. (WebCore::RenderThemeMac::paintSliderTrack): Added case for MediaSliderAppearance.
  46711. (WebCore::RenderThemeMac::adjustSliderThumbSize): Added case for MediaSliderThumbAppearance.
  46712. (WebCore::RenderThemeMac::paintMediaBackground): Draws the new artwork for the controls.
  46713. (WebCore::RenderThemeMac::paintMediaFullscreenButton): ditto.
  46714. (WebCore::RenderThemeMac::paintMediaMuteButton): ditto.
  46715. (WebCore::RenderThemeMac::paintMediaPlayButton): ditto.
  46716. (WebCore::RenderThemeMac::paintMediaSeekBackButton): ditto.
  46717. (WebCore::RenderThemeMac::paintMediaSeekForwardButton): ditto.
  46718. (WebCore::RenderThemeMac::paintMediaSliderThumb): ditto.
  46719. * rendering/RenderThemeSafari.cpp: Draws the new artwork on Windows.
  46720. (WebCore::RenderThemeSafari::paintSliderTrack):
  46721. (WebCore::RenderThemeSafari::adjustSliderThumbSize):
  46722. (WebCore::RenderThemeSafari::paintMediaBackground):
  46723. (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
  46724. (WebCore::RenderThemeSafari::paintMediaMuteButton):
  46725. (WebCore::RenderThemeSafari::paintMediaPlayButton):
  46726. (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
  46727. (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
  46728. (WebCore::RenderThemeSafari::paintMediaSliderThumb):
  46729. * rendering/RenderThemeSafari.h:
  46730. 2008-01-07 Timothy Hatcher <timothy@apple.com>
  46731. Reviewed by Darin Adler.
  46732. Fix ASSERTION FAILED: dstOffset + srcSegmentLength == static_cast<int>(data.size())
  46733. when the replacment string is a different length.
  46734. * platform/text/StringImpl.cpp:
  46735. (WebCore::StringImpl::replace): Move the parenthesis to be around only the subtraction in
  46736. the Vector size calculation, correcting the order of math operations.
  46737. 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
  46738. Reviewed by Eric. Hopefully fix build with mac tiger after the unicode-range addition. NSInteger not available there.
  46739. * platform/graphics/mac/FontCacheMac.mm:
  46740. 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
  46741. Reviewed by Oliver. Fix build error introduced by Dan's unicode-range support patch & enabling SVG_FONTS by default.
  46742. * css/CSSFontSelector.cpp:
  46743. (WebCore::CSSFontSelector::getFontData):
  46744. 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
  46745. Not reviewed. Next try to fix wx/mac leopard build.
  46746. * css/CSSFontSelector.cpp: Need to wrap a SVG* include in ENABLE(SVG) blocks, as this port doesn't build this generated file.
  46747. * svg/SVGFontFaceElement.cpp:
  46748. (WebCore::SVGFontFaceElement::createFontData): Fix double<->float conversion issue.
  46749. * webcore-base.bkl: Undo svg/ include.
  46750. 2008-01-07 Dan Bernstein <mitz@apple.com>
  46751. Reviewed by Dave Hyatt.
  46752. - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
  46753. * GNUmakefile.am:
  46754. * WebCore.pro:
  46755. * WebCore.vcproj/WebCore.vcproj:
  46756. * WebCore.xcodeproj/project.pbxproj:
  46757. * WebCoreSources.bkl:
  46758. * bindings/objc/DOM.mm:
  46759. * bridge/mac/WebCoreAXObject.mm:
  46760. * css/CSSComputedStyleDeclaration.cpp:
  46761. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  46762. * css/CSSFontFace.cpp:
  46763. (WebCore::CSSFontFace::fontLoaded): Changed to call the owning segmented
  46764. font face.
  46765. (WebCore::CSSFontFace::getFontData):
  46766. * css/CSSFontFace.h:
  46767. (WebCore::CSSFontFace::CSSFontFace):
  46768. (WebCore::CSSFontFace::setSegmentedFontFace):
  46769. * css/CSSFontFaceSource.cpp:
  46770. (WebCore::CSSFontFaceSource::pruneTable): Removed the calls to
  46771. GlyphPageTreeNode::pruneTreeCustomFontData because the fonts in the
  46772. font table are not exposed in the glyph page tree. Only the segmented
  46773. font is, and that is taken care of by the segmented font face.
  46774. (WebCore::CSSFontFaceSource::getFontData):
  46775. * css/CSSFontFaceSource.h:
  46776. * css/CSSFontSelector.cpp:
  46777. (WebCore::CSSFontSelector::addFontFaceRule): Changed to collect
  46778. @font-face rules with the same family and traits into a single
  46779. segmented font face, instead of just retaining the most recent one.
  46780. (WebCore::CSSFontSelector::fontLoaded):
  46781. (WebCore::CSSFontSelector::getFontData):
  46782. * css/CSSFontSelector.h:
  46783. * css/CSSGrammar.y:
  46784. * css/CSSParser.cpp:
  46785. (WebCore::CSSParser::parseValue):
  46786. (WebCore::CSSParser::parseFontFaceUnicodeRange): Added. Parses a unicode
  46787. range value.
  46788. * css/CSSParser.h:
  46789. * css/CSSPrimitiveValue.h:
  46790. (WebCore::CSSPrimitiveValue::):
  46791. * css/CSSPropertyNames.in:
  46792. * css/CSSSegmentedFontFace.cpp: Added.
  46793. (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace):
  46794. (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace):
  46795. (WebCore::CSSSegmentedFontFace::pruneTable):
  46796. (WebCore::CSSSegmentedFontFace::isLoaded):
  46797. (WebCore::CSSSegmentedFontFace::isValid):
  46798. (WebCore::CSSSegmentedFontFace::fontLoaded):
  46799. (WebCore::CSSSegmentedFontFace::overlayRange):
  46800. (WebCore::CSSSegmentedFontFace::getFontData):
  46801. * css/CSSSegmentedFontFace.h: Added.
  46802. (WebCore::FontFaceRange::FontFaceRange):
  46803. (WebCore::FontFaceRange::from):
  46804. (WebCore::FontFaceRange::to):
  46805. (WebCore::FontFaceRange::fontFace):
  46806. (WebCore::CSSSegmentedFontFace::fontSelector):
  46807. * css/CSSStyleSelector.cpp:
  46808. (WebCore::CSSStyleSelector::applyProperty):
  46809. * css/CSSUnicodeRangeValue.cpp: Added.
  46810. (WebCore::CSSUnicodeRangeValue::~CSSUnicodeRangeValue):
  46811. (WebCore::CSSUnicodeRangeValue::cssText):
  46812. * css/CSSUnicodeRangeValue.h: Added.
  46813. (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
  46814. (WebCore::CSSUnicodeRangeValue::from):
  46815. (WebCore::CSSUnicodeRangeValue::to):
  46816. * css/SVGCSSFontFace.cpp:
  46817. (WebCore::SVGCSSFontFace::getFontData):
  46818. * css/SVGCSSFontFace.h:
  46819. * editing/Editor.cpp:
  46820. (WebCore::Editor::fontForSelection):
  46821. * editing/Editor.h:
  46822. * page/mac/FrameMac.mm:
  46823. * page/mac/WebCoreFrameBridge.mm:
  46824. (-[WebCoreFrameBridge fontForSelection:]):
  46825. * platform/graphics/Font.cpp:
  46826. (WebCore::WidthIterator::advance):
  46827. (WebCore::Font::glyphDataForCharacter):
  46828. (WebCore::Font::primaryFont): Changed to return the simple font data
  46829. used for the space character.
  46830. (WebCore::Font::fontDataAt):
  46831. (WebCore::Font::fontDataForCharacters):
  46832. (WebCore::Font::drawGlyphBuffer):
  46833. * platform/graphics/Font.h:
  46834. * platform/graphics/FontCache.cpp:
  46835. (WebCore::FontCache::getCachedFontData):
  46836. (WebCore::FontCache::getFontData):
  46837. * platform/graphics/FontCache.h:
  46838. * platform/graphics/FontData.cpp: Renamed to SimpleFontData.cpp
  46839. * platform/graphics/FontData.h: Renamed to SimpleFontData.cpp.
  46840. * platform/graphics/FontDataBaseClass.cpp: Added. This will be renamed
  46841. FontData.cpp.
  46842. (WebCore::FontData::~FontData):
  46843. * platform/graphics/FontDataBaseClass.h: Added. This will be renamed
  46844. FontData.h.
  46845. * platform/graphics/FontFallbackList.cpp:
  46846. (WebCore::FontFallbackList::determinePitch):
  46847. (WebCore::FontFallbackList::fontDataAt):
  46848. (WebCore::FontFallbackList::fontDataForCharacters):
  46849. * platform/graphics/FontFallbackList.h:
  46850. (WebCore::FontFallbackList::primaryFont):
  46851. * platform/graphics/FontSelector.h:
  46852. * platform/graphics/GlyphBuffer.h:
  46853. (WebCore::GlyphBuffer::fontDataAt):
  46854. (WebCore::GlyphBuffer::swap):
  46855. (WebCore::GlyphBuffer::add):
  46856. * platform/graphics/GlyphPageTreeNode.cpp:
  46857. (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
  46858. (WebCore::GlyphPageTreeNode::initializePage): Added code to initialize
  46859. pages for segmented font data.
  46860. (WebCore::GlyphPageTreeNode::getChild):
  46861. (WebCore::GlyphPageTreeNode::pruneCustomFontData):
  46862. * platform/graphics/GlyphPageTreeNode.h:
  46863. (WebCore::GlyphPage::setGlyphDataForCharacter):
  46864. (WebCore::GlyphPage::setGlyphDataForIndex):
  46865. (WebCore::GlyphPageTreeNode::getRootChild):
  46866. * platform/graphics/SegmentedFontData.cpp: Added.
  46867. (WebCore::SegmentedFontData::~SegmentedFontData):
  46868. (WebCore::SegmentedFontData::fontDataForCharacter):
  46869. (WebCore::SegmentedFontData::containsCharacters):
  46870. (WebCore::SegmentedFontData::isCustomFont):
  46871. (WebCore::SegmentedFontData::isLoading):
  46872. (WebCore::SegmentedFontData::isSegmented):
  46873. * platform/graphics/SegmentedFontData.h: Added.
  46874. (WebCore::FontDataRange::FontDataRange):
  46875. (WebCore::FontDataRange::from):
  46876. (WebCore::FontDataRange::to):
  46877. (WebCore::FontDataRange::fontData):
  46878. (WebCore::SegmentedFontData::appendRange):
  46879. (WebCore::SegmentedFontData::numRanges):
  46880. (WebCore::SegmentedFontData::rangeAt):
  46881. * platform/graphics/SimpleFontData.cpp: Copied from WebCore/platform/graphics/FontData.cpp.
  46882. (WebCore::SimpleFontData::SimpleFontData):
  46883. (WebCore::SimpleFontData::~SimpleFontData):
  46884. (WebCore::SimpleFontData::ascent):
  46885. (WebCore::SimpleFontData::descent):
  46886. (WebCore::SimpleFontData::widthForGlyph):
  46887. (WebCore::SimpleFontData::fontDataForCharacter):
  46888. (WebCore::SimpleFontData::isSegmented):
  46889. * platform/graphics/SimpleFontData.h: Copied from WebCore/platform/graphics/FontData.h.
  46890. (WebCore::SimpleFontData::isCustomFont):
  46891. (WebCore::SimpleFontData::isLoading):
  46892. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  46893. (WebCore::GraphicsContext::setPlatformFont):
  46894. * platform/graphics/gtk/FontCacheGtk.cpp:
  46895. (WebCore::FontCache::getFontDataForCharacters):
  46896. * platform/graphics/gtk/FontDataGtk.cpp: Renamed to
  46897. SimpleFontDataGtk.cpp.
  46898. * platform/graphics/gtk/FontGtk.cpp:
  46899. (WebCore::Font::drawGlyphs):
  46900. * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp:
  46901. (WebCore::GlyphPage::fill):
  46902. * platform/graphics/gtk/SimpleFontDataGtk.cpp: Copied from WebCore/platform/graphics/gtk/FontDataGtk.cpp.
  46903. (WebCore::SimpleFontData::platformInit):
  46904. (WebCore::SimpleFontData::platformDestroy):
  46905. (WebCore::SimpleFontData::smallCapsFontData):
  46906. (WebCore::SimpleFontData::containsCharacters):
  46907. (WebCore::SimpleFontData::determinePitch):
  46908. (WebCore::SimpleFontData::platformWidthForGlyph):
  46909. (WebCore::SimpleFontData::setFont):
  46910. * platform/graphics/mac/FontCacheMac.mm:
  46911. (WebCore::FontCache::getFontDataForCharacters):
  46912. * platform/graphics/mac/FontDataMac.mm: Renamed to SimpleFontDataMac.mm.
  46913. * platform/graphics/mac/FontMac.mm:
  46914. (WebCore::initializeATSUStyle):
  46915. (WebCore::overrideLayoutOperation):
  46916. (WebCore::ATSULayoutParameters::initialize):
  46917. (WebCore::Font::drawGlyphs):
  46918. * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
  46919. (WebCore::GlyphPage::fill):
  46920. * platform/graphics/mac/SimpleFontDataMac.mm: Copied from WebCore/platform/graphics/mac/FontDataMac.mm.
  46921. (WebCore::initFontData):
  46922. (WebCore::SimpleFontData::platformInit):
  46923. (WebCore::SimpleFontData::platformDestroy):
  46924. (WebCore::SimpleFontData::smallCapsFontData):
  46925. (WebCore::SimpleFontData::containsCharacters):
  46926. (WebCore::SimpleFontData::determinePitch):
  46927. (WebCore::SimpleFontData::platformWidthForGlyph):
  46928. (WebCore::SimpleFontData::checkShapesArabic):
  46929. * platform/graphics/qt/FontDataQt.cpp: Renamed to SimpleFontDataQt.cpp.
  46930. * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
  46931. (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
  46932. * platform/graphics/qt/SimpleFontDataQt.cpp: Copied from WebCore/platform/graphics/qt/FontDataQt.cpp.
  46933. * platform/graphics/win/FontCacheWin.cpp:
  46934. (WebCore::FontCache::getFontDataForCharacters):
  46935. * platform/graphics/win/FontDataWin.cpp: Renamed to
  46936. SimpleFontDataWin.cpp.
  46937. * platform/graphics/win/FontWin.cpp:
  46938. (WebCore::Font::drawGlyphs):
  46939. * platform/graphics/win/GlyphPageTreeNodeWin.cpp:
  46940. (WebCore::GlyphPage::fill):
  46941. * platform/graphics/win/SimpleFontDataWin.cpp: Copied from WebCore/platform/graphics/win/FontDataWin.cpp.
  46942. (WebCore::SimpleFontData::setShouldApplyMacAscentHack):
  46943. (WebCore::SimpleFontData::platformInit):
  46944. (WebCore::SimpleFontData::platformDestroy):
  46945. (WebCore::SimpleFontData::smallCapsFontData):
  46946. (WebCore::SimpleFontData::containsCharacters):
  46947. (WebCore::SimpleFontData::determinePitch):
  46948. (WebCore::SimpleFontData::platformWidthForGlyph):
  46949. (WebCore::SimpleFontData::scriptFontProperties):
  46950. * platform/graphics/wx/FontCacheWx.cpp:
  46951. (WebCore::FontCache::getFontDataForCharacters):
  46952. * platform/graphics/wx/FontDataWx.cpp: Renamed to SimpleFontDataWx.cpp.
  46953. * platform/graphics/wx/FontWx.cpp:
  46954. (WebCore::Font::drawGlyphs):
  46955. * platform/graphics/wx/GlyphMapWx.cpp:
  46956. (WebCore::GlyphPage::fill):
  46957. * platform/graphics/wx/SimpleFontDataWx.cpp: Copied from WebCore/platform/graphics/wx/FontDataWx.cpp.
  46958. (WebCore::SimpleFontData::platformInit):
  46959. (WebCore::SimpleFontData::platformDestroy):
  46960. (WebCore::SimpleFontData::smallCapsFontData):
  46961. (WebCore::SimpleFontData::containsCharacters):
  46962. (WebCore::SimpleFontData::determinePitch):
  46963. (WebCore::SimpleFontData::platformWidthForGlyph):
  46964. * platform/mac/FileChooserMac.mm:
  46965. * platform/mac/PopupMenuMac.mm:
  46966. * platform/mac/WebCoreTextRenderer.mm:
  46967. * platform/win/PopupMenuWin.cpp:
  46968. * platform/win/UniscribeController.cpp:
  46969. (WebCore::UniscribeController::advance):
  46970. (WebCore::UniscribeController::itemizeShapeAndPlace):
  46971. (WebCore::UniscribeController::shapeAndPlaceItem):
  46972. (WebCore::UniscribeController::shape):
  46973. * platform/win/UniscribeController.h:
  46974. * svg/SVGFont.cpp:
  46975. (WebCore::Font::drawGlyphsWithSVGFont):
  46976. * svg/SVGFontElement.cpp:
  46977. (WebCore::SVGFontElement::collectGlyphs):
  46978. * svg/SVGFontFaceElement.cpp:
  46979. (WebCore::SVGFontFaceElement::createFontData):
  46980. * svg/SVGFontFaceElement.h:
  46981. * svg/SVGGlyphElement.cpp:
  46982. 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
  46983. Not reviewed. Try to fix mac build by forcing SVGNames regeneration.
  46984. * svg/svgtags.in:
  46985. 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
  46986. Not reviewed. Proposed build fix for wx.
  46987. * webcore-base.bkl:
  46988. 2008-01-07 Dan Bernstein <mitz@apple.com>
  46989. 64-bit build fix
  46990. * platform/graphics/mac/FontCustomPlatformData.cpp:
  46991. (WebCore::FontCustomPlatformData::fontPlatformData): Have to use a
  46992. cast here since FMGetFontFromATSFontRef() is not available on 64-bit.
  46993. 2008-01-06 Nikolas Zimmermann <zimmermann@kde.org>
  46994. Reviewed by Oliver. Parts reviewed by Eric, David Hyatt & Dan & Alexey.
  46995. Fixes: http://bugs.webkit.org/show_bug.cgi?id=15741 (REGRESSION: svg/W3C-SVG-1.1/fonts-elem-03-b.svg shows worse behavior on TOT)
  46996. Display SVG Fonts, fill svg/SVGFont.cpp with life by adding all needed code to
  46997. measure & render glyphs contained in SVG Fonts, including ligature lookup support.
  46998. Implement floatWidth/selectionRectForText for SVG Fonts, fixing text selection.
  46999. Support horiz-origin-x/y, horiz-adv-x, vert-adv-y, vert-origin-x/y & arabic-form.
  47000. Implement simple algorithm to determine the arabic forms for a string (initial, isolated, medial, terminal).
  47001. Removed drawGlyphsWithSVGFont - create a new function drawTextWithSVGFont instead.
  47002. This doesn't involve creating/using a 'GlyphBuffer' object anymore, which is not
  47003. required for SVG Fonts anyway (we already know all our offsets/advances/etc..)
  47004. Don't call it from drawSimpleText anymore, but directly in drawText - as Dan suggested.
  47005. <glyph> elements now register themselves in the SVGFontElement's glyph cache.
  47006. (insertedIntoDocument / removedFromDocument take care of this)
  47007. The cache is built once now, and is kept updated - it's not rebuild anymore
  47008. on painting (!) - which was a crude hack for testing.
  47009. W3C testcase which include SVG Fonts:
  47010. svg/W3C-SVG-1.1/animate-elem-03-t.svg (Fixed, of course not the anim itself, but it's SVG Fonts usage)
  47011. svg/W3C-SVG-1.1/animate-elem-24-t.svg (Ditto)
  47012. svg/W3C-SVG-1.1/animate-elem-36-t.svg (Ditto)
  47013. svg/W3C-SVG-1.1/animate-elem-40-t.svg (Ditto)
  47014. svg/W3C-SVG-1.1/fonts-kern-01-t.svg (missing <vkern>/<hkern> support)
  47015. svg/W3C-SVG-1.1/fonts-desc-02-t.svg (Fixed, tests CSS font matching based on font-variant attribute)
  47016. svg/W3C-SVG-1.1/fonts-elem-01-t.svg (Fixed, basic SVG font test)
  47017. svg/W3C-SVG-1.1/fonts-elem-02-t.svg (Fixed, accuracy test for embedded SVG font)
  47018. svg/W3C-SVG-1.1/fonts-elem-05-t.svg (Fixed, checks horiz-origin-x support, note: W3C reference image is wrong)
  47019. svg/W3C-SVG-1.1/fonts-elem-06-t.svg (Fixed, checks horiz-adv-x support)
  47020. svg/W3C-SVG-1.1/fonts-glyph-02-t.svg (Fixed, checks arabic-form support)
  47021. svg/W3C-SVG-1.1/fonts-glyph-03-t.svg (Fixed, checks glyph matching based on xml:lang)
  47022. svg/W3C-SVG-1.1/masking-mask-01-b.svg (Fixed, SVG Fonts & masking)
  47023. svg/W3C-SVG-1.1/pservers-grad-08-b.svg (Fixed, SVG Fonts & gradient on fill/stroke)
  47024. svg/W3C-SVG-1.1/render-elems-06-t.svg (Fixed, simple 'fill' property test)
  47025. svg/W3C-SVG-1.1/render-elems-07-t.svg (Fixed, simple 'stroke' property test - shows SVG Font interprets stroke-width in glyph coordinate system, as demanded by spec)
  47026. svg/W3C-SVG-1.1/render-elems-08-t.svg (Fixed, simple 'fill' & 'stroke' property test)
  47027. svg/W3C-SVG-1.1/render-groups-01-b.svg (missing <vkern>/<hkern> support)
  47028. svg/W3C-SVG-1.1/render-groups-03-t.svg (Ditto)
  47029. svg/W3C-SVG-1.1/text-altglyph-01-b.svg (no <altGlyph> support yet)
  47030. svg/W3C-SVG-1.1/text-text-04-t.svg (Fixed, absolute placing of characters pixel perfect now)
  47031. svg/W3C-SVG-1.1/text-text-05-t.svg (FIXME: problem with text-anchor)
  47032. svg/W3C-SVG-1.1/text-text-06-t.svg (highlights problem with ligatures & absolute positioned characters)
  47033. Questionable testcases:
  47034. svg/W3C-SVG-1.1/fonts-glyph-04-t.svg (tests that glyph selection is done in the order in the definition of the font element.)
  47035. I am not sure why this behaviour is desired, no comment given in spec - doesn't make much sense to me, ignoring it for now.
  47036. Several other batik testcases fixed, which use SVG Fonts in combination with gradients & filters.
  47037. * css/CSSFontSelector.cpp:
  47038. (WebCore::CSSFontSelector::addFontFaceRule):
  47039. (WebCore::CSSFontSelector::getFontData):
  47040. * platform/graphics/Font.cpp:
  47041. (WebCore::Font::lineSpacing):
  47042. (WebCore::Font::xHeight):
  47043. (WebCore::Font::canUseGlyphCache):
  47044. (WebCore::Font::drawGlyphBuffer):
  47045. (WebCore::Font::drawText):
  47046. (WebCore::Font::floatWidth):
  47047. (WebCore::Font::selectionRectForText):
  47048. * platform/graphics/Font.h:
  47049. (WebCore::TextRun::TextRun):
  47050. (WebCore::TextRun::activePaintServer):
  47051. (WebCore::TextRun::setActivePaintServer):
  47052. * platform/graphics/FontData.cpp:
  47053. (WebCore::FontData::lineSpacing):
  47054. (WebCore::FontData::lineGap):
  47055. (WebCore::FontData::xHeight):
  47056. * platform/graphics/FontData.h:
  47057. * platform/graphics/win/FontWin.cpp:
  47058. (WebCore::Font::drawGlyphs):
  47059. * rendering/RenderSVGText.cpp:
  47060. (WebCore::RenderSVGText::relativeBBox):
  47061. * rendering/SVGInlineTextBox.cpp:
  47062. (WebCore::SVGInlineTextBox::paintCharacters):
  47063. * rendering/SVGInlineTextBox.h:
  47064. * rendering/SVGRootInlineBox.cpp:
  47065. (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
  47066. * svg/SVGFont.cpp:
  47067. (WebCore::processArabicFormDetection):
  47068. (WebCore::charactersWithArabicForm):
  47069. (WebCore::isCompatibleArabicForm):
  47070. (WebCore::isCompatibleGlyph):
  47071. (WebCore::svgFontAndFontFaceElementForFontData):
  47072. (WebCore::SVGTextRunWalker::SVGTextRunWalker):
  47073. (WebCore::SVGTextRunWalker::walk):
  47074. (WebCore::floatWidthUsingSVGFontCallback):
  47075. (WebCore::floatWidthMissingGlyphCallback):
  47076. (WebCore::floatWidthOfSubStringUsingSVGFont):
  47077. (WebCore::Font::floatWidthUsingSVGFont):
  47078. (WebCore::drawTextUsingSVGFontCallback):
  47079. (WebCore::drawTextMissingGlyphCallback):
  47080. (WebCore::Font::drawTextUsingSVGFont):
  47081. (WebCore::Font::selectionRectForTextUsingSVGFont):
  47082. * svg/SVGFontElement.cpp:
  47083. (WebCore::SVGFontElement::SVGFontElement):
  47084. (WebCore::SVGFontElement::addGlyphToCache):
  47085. (WebCore::SVGFontElement::removeGlyphFromCache):
  47086. (WebCore::SVGFontElement::firstMissingGlyphElement):
  47087. (WebCore::SVGFontElement::glyphIdentifiersForString):
  47088. * svg/SVGFontElement.h:
  47089. (WebCore::SVGFontElement::maximumHashKeyLength):
  47090. * svg/SVGFontFaceElement.cpp:
  47091. (WebCore::SVGFontFaceElement::createFontData):
  47092. (WebCore::SVGFontFaceElement::rebuildFontFace):
  47093. (WebCore::SVGFontFaceElement::associatedFontElement):
  47094. * svg/SVGFontFaceElement.h:
  47095. * svg/SVGGlyphElement.cpp:
  47096. (WebCore::SVGGlyphElement::insertedIntoDocument):
  47097. (WebCore::SVGGlyphElement::removedFromDocument):
  47098. (WebCore::parseArabicForm):
  47099. (WebCore::SVGGlyphElement::inheritUnspecifiedAttributes):
  47100. (WebCore::SVGGlyphElement::buildGlyphIdentifier):
  47101. * svg/SVGGlyphElement.h:
  47102. (WebCore::SVGGlyphIdentifier::):
  47103. (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
  47104. (WebCore::SVGGlyphIdentifier::inheritedValue):
  47105. (WebCore::SVGGlyphIdentifier::operator==):
  47106. (WebCore::SVGGlyphElement::~SVGGlyphElement):
  47107. 2008-01-07 David Hyatt <hyatt@apple.com>
  47108. Fix for bug 13095, CSS3 multiple backgrounds don't work on table cells.
  47109. Reviewed by Dan
  47110. * rendering/RenderBox.h:
  47111. * rendering/RenderTableCell.cpp:
  47112. (WebCore::RenderTableCell::paintBackgroundsBehindCell):
  47113. 2008-01-07 Holger Freyther <zecke@selfish.org>
  47114. Reviewed by Alp Toker.
  47115. * Fix indention
  47116. * platform/gtk/ContextMenuGtk.cpp:
  47117. (WebCore::ContextMenu::~ContextMenu):
  47118. 2008-01-07 Holger Freyther <zecke@selfish.org>
  47119. Reviewed by Alp Toker.
  47120. * The ContextMenuController is going to live longer than the ContextMenu. It is
  47121. going to live as long as the WebCore::Page is around where the ContextMenu, specially
  47122. in the case of a SubMenu, is gone before we popup the menu.
  47123. * platform/gtk/ContextMenuGtk.cpp:
  47124. (WebCore::menuItemActivated):
  47125. (WebCore::ContextMenu::appendItem):
  47126. 2008-01-07 Holger Freyther <zecke@selfish.org>
  47127. Reviewed by Alp Toker.
  47128. * Fix SubMenu handling
  47129. * Do not connect to the activated signal if we are a separator or submenu
  47130. * Change our type from ActionType to SubMenuType when we have a submenu
  47131. * Initialize the SubMenu
  47132. * platform/gtk/ContextMenuGtk.cpp:
  47133. (WebCore::ContextMenu::appendItem):
  47134. * platform/gtk/ContextMenuItemGtk.cpp:
  47135. (WebCore::ContextMenuItem::ContextMenuItem):
  47136. (WebCore::ContextMenuItem::createNativeMenuItem):
  47137. (WebCore::ContextMenuItem::setSubMenu):
  47138. 2008-01-07 Holger Freyther <zecke@selfish.org>
  47139. Reviewed by Alp Toker.
  47140. * Qt and Gtk must know if a ContextMenuItem is checkable. Add a new ContextMenuItemType for checkable
  47141. actions.
  47142. * Use this information in the Gtk platform to create a GtkCheckMenuItem when needed.
  47143. * Update the ContextMenuController to accept CheckableActionTypes as well.
  47144. * Change ContextMenu.cpp to use the CheckableActionType. The information if a item is checkable
  47145. was extracted from ContextMenu::checkOrEnableIfNeeded.
  47146. * Update the Qt and Windows port.
  47147. * page/ContextMenuController.cpp:
  47148. * platform/ContextMenu.cpp:
  47149. (WebCore::createAndAppendFontSubMenu):
  47150. (WebCore::createAndAppendSpellingAndGrammarSubMenu):
  47151. (WebCore::createAndAppendSpellingSubMenu):
  47152. (WebCore::createAndAppendWritingDirectionSubMenu):
  47153. * platform/ContextMenuItem.h:
  47154. * platform/gtk/ContextMenuItemGtk.cpp:
  47155. (WebCore::ContextMenuItem::ContextMenuItem):
  47156. (WebCore::ContextMenuItem::createNativeMenuItem):
  47157. 2008-01-07 Luca Bruno <lethalman88@gmail.com>
  47158. Reviewed by Alp Toker.
  47159. http://bugs.webkit.org/show_bug.cgi?id=16745
  47160. [GTK] Context menu doesn't feel or look native - no icons
  47161. Use GTK+ stock icons for menu items where possible.
  47162. * platform/gtk/ContextMenuItemGtk.cpp:
  47163. (WebCore::gtkStockIDFromContextMenuAction):
  47164. (WebCore::ContextMenuItem::createNativeMenuItem):
  47165. (WebCore::ContextMenuItem::setAction):
  47166. 2008-01-07 Dan Bernstein <mitz@apple.com>
  47167. Reviewed by John Sullivan.
  47168. - make the ATSUI code path work with custom fonts rather than crash
  47169. * platform/graphics/mac/FontCustomPlatformData.cpp:
  47170. (WebCore::FontCustomPlatformData::fontPlatformData):
  47171. * platform/graphics/mac/FontMac.mm:
  47172. (WebCore::initializeATSUStyle):
  47173. 2008-01-07 Thiago Macieira <thiago.macieira@trolltech.com>
  47174. Reviewed by Simon.
  47175. abort() now emits the signals, so disconnect them before you abort()
  47176. * platform/network/qt/QNetworkReplyHandler.cpp:
  47177. (WebCore::QNetworkReplyHandler::abort):
  47178. 2008-01-07 Simon Hausmann <hausmann@webkit.org>
  47179. Reviewed by Lars.
  47180. Use a faster and safer way of flattening the form data.
  47181. * platform/network/qt/QNetworkReplyHandler.cpp:
  47182. (WebCore::QNetworkReplyHandler::start):
  47183. 2008-01-07 Simon Hausmann <hausmann@webkit.org>
  47184. Reviewed by Lars.
  47185. Ported of the network backend of the Qt platform to Qt 4.4's new networking API.
  47186. * WebCore.pro:
  47187. * platform/network/ResourceHandleInternal.h:
  47188. * platform/network/qt/QNetworkReplyHandler.cpp: Added.
  47189. (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
  47190. (WebCore::QNetworkReplyHandler::abort):
  47191. (WebCore::QNetworkReplyHandler::finish):
  47192. (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
  47193. (WebCore::QNetworkReplyHandler::forwardData):
  47194. (WebCore::QNetworkReplyHandler::start):
  47195. * platform/network/qt/QNetworkReplyHandler.h: Added.
  47196. (WebCore::QNetworkReplyHandler::reply):
  47197. * platform/network/qt/ResourceHandleQt.cpp:
  47198. (WebCore::ResourceHandle::start):
  47199. (WebCore::ResourceHandle::cancel):
  47200. (WebCore::ResourceHandle::loadResourceSynchronously):
  47201. * platform/network/qt/ResourceRequest.h:
  47202. (WebCore::ResourceRequest::ResourceRequest):
  47203. * platform/network/qt/ResourceRequestQt.cpp: Added.
  47204. (WebCore::ResourceRequest::toNetworkRequest):
  47205. * platform/qt/MIMETypeRegistryQt.cpp:
  47206. (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
  47207. * platform/qt/PlugInInfoStoreQt.cpp:
  47208. (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
  47209. (WebCore::PlugInInfoStore::pluginCount):
  47210. (WebCore::PlugInInfoStore::pluginNameForMIMEType):
  47211. 2008-01-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  47212. Reviewed by Lars.
  47213. * Remove m_dirtyRegion as it is not used as we pass every dirty region
  47214. directly to the ChromeClient
  47215. * platform/qt/ScrollViewQt.cpp:
  47216. (WebCore::ScrollView::paint):
  47217. 2008-01-06 Nikolas Zimmermann <zimmermann@kde.org>
  47218. Reviewed by Oliver.
  47219. Small CG paint server cleanups - use more GraphicsContext method where possible.
  47220. * svg/graphics/cg/CgSupport.cpp:
  47221. (WebCore::applyStrokeStyleToContext):
  47222. (WebCore::strokeBoundingBox):
  47223. * svg/graphics/cg/CgSupport.h:
  47224. * svg/graphics/cg/RenderPathCg.cpp:
  47225. (WebCore::RenderPath::strokeContains):
  47226. * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
  47227. (WebCore::SVGPaintServerGradient::setup):
  47228. * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
  47229. (WebCore::SVGPaintServerPattern::setup):
  47230. * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
  47231. (WebCore::SVGPaintServerSolid::setup):
  47232. 2008-01-06 Nikolas Zimmermann <zimmermann@kde.org>
  47233. Reviewed by Dan.
  47234. Use new helper function isArabicChar() - which also calls ublock_getCode() == UBLOCK_ARABIC on mac.
  47235. * platform/graphics/mac/FontMac.mm:
  47236. (WebCore::ATSULayoutParameters::initialize):
  47237. 2008-01-06 Andrew Wellington <proton@wiretapped.net>
  47238. Reviewed by Darin.
  47239. DOMRange doesn't correctly re-size when inserting items (Acid3)
  47240. http://bugs.webkit.org/show_bug.cgi?id=16764
  47241. Update the offset for the range when inserting items into the range.
  47242. Test: fast/dom/Range/range-modifycontents.html
  47243. * dom/Range.cpp:
  47244. (WebCore::Range::insertNode):
  47245. 2008-01-06 Alexey Proskuryakov <ap@webkit.org>
  47246. Reviewed by Darin.
  47247. http://bugs.webkit.org/show_bug.cgi?id=16731
  47248. Incorrect node type for whitespace when setting innerHTML in an XHTML document
  47249. Test: fast/dom/xhtml-fragment-whitespace.xhtml
  47250. * dom/XMLTokenizer.cpp: (WebCore::parseXMLDocumentFragment):
  47251. Use balancedCharactersHandler for ignorable whitespace.
  47252. 2008-01-06 Alexey Proskuryakov <ap@webkit.org>
  47253. Reviewed by Darin.
  47254. http://bugs.webkit.org/show_bug.cgi?id=16701
  47255. <rdar://problem/5666580> REGRESSION: URL-encoded space (%20) in livejournal url
  47256. causes page load error
  47257. Test: http/tests/misc/location-with-space.php
  47258. * platform/network/cf/ResourceRequestCFNet.cpp:
  47259. (WebCore::ResourceRequest::doUpdatePlatformRequest): Do update its URL, too.
  47260. 2008-01-06 Andrew Wellington <proton@wiretapped.net>
  47261. Reviewed by Darin.
  47262. DOMRange.cloneContents does not work (Acid3 bug)
  47263. http://bugs.webkit.org/show_bug.cgi?id=16748
  47264. When cloning an empty range, return an empty DocmentFragment instead of
  47265. null or undefined.
  47266. Test: fast/dom/Range/range-clone-empty.html
  47267. * dom/Range.cpp:
  47268. (WebCore::Range::processContents):
  47269. 2008-01-06 Luca Bruno <lethalman88@gmail.com>
  47270. Reviewed by Alp Toker.
  47271. Remove curl handles immediately if the timer is not running.
  47272. * platform/network/curl/ResourceHandleManager.cpp:
  47273. (WebCore::ResourceHandleManager::cancel):
  47274. 2008-01-06 Alp Toker <alp@atoker.com>
  47275. Reviewed by Eric.
  47276. Cairo canvas refcounting fix. Reference the surface in the constructor
  47277. to match its destruction in the destructor.
  47278. Fixes a crash triggered by leaving this page:
  47279. http://philip.html5.org/tests/canvas/misc/globalalpha-pattern.html
  47280. * html/CanvasPattern.cpp:
  47281. (WebCore::CanvasPattern::CanvasPattern):
  47282. 2008-01-06 Eric Seidel <eric@webkit.org>
  47283. Reviewed by darin.
  47284. Make attr selectors case-insensitive for certain HTML attributes
  47285. http://bugs.webkit.org/show_bug.cgi?id=15470
  47286. Test: fast/css/html-attr-case-sensitivity.html
  47287. * css/CSSStyleSelector.cpp:
  47288. (WebCore::addLocalNameToSet):
  47289. (WebCore::createHtmlCaseInsensitiveAttributesSet):
  47290. (WebCore::htmlAttributeHasCaseInsensitiveValue):
  47291. (WebCore::CSSStyleSelector::checkOneSelector):
  47292. 2008-01-06 Eric Seidel <eric@webkit.org>
  47293. Reviewed by Sam.
  47294. Fix :checked matching type='text' and add test case
  47295. http://bugs.webkit.org/show_bug.cgi?id=16750
  47296. Test: fast/dom/HTMLInputElement/checked-pseudo-selector.html
  47297. * html/HTMLInputElement.h: isChecked() can only be true for RADIO or CHECKBOX
  47298. 2008-01-05 Sam Weinig <sam@webkit.org>
  47299. Reviewed by Eric Seidel.
  47300. Patch for http://bugs.webkit.org/show_bug.cgi?id=16758
  47301. ASSERT when using TreeWalker methods for a current node outside of the root (Acid3)
  47302. - Ensure that returned nodes are within the root node, or return 0, in adherence with the spec.
  47303. Test: fast/dom/TreeWalker/TreeWalker-currentNode.html
  47304. * dom/TreeWalker.cpp:
  47305. (WebCore::TreeWalker::parentNode):
  47306. (WebCore::TreeWalker::firstChild):
  47307. (WebCore::TreeWalker::lastChild):
  47308. (WebCore::TreeWalker::previousSibling):
  47309. (WebCore::TreeWalker::nextSibling):
  47310. (WebCore::TreeWalker::previousNode):
  47311. (WebCore::TreeWalker::nextNode):
  47312. 2008-01-04 Oliver Hunt <oliver@apple.com>
  47313. Reviewed by Beth Dakin.
  47314. Fix bounds computation bugs responsible for http://bugs.webkit.org/show_bug.cgi?id=16015
  47315. and other image repaint bugs.
  47316. We now cache the full local bounds for the <image> element, as otherwise certain
  47317. combinations of attribute changes could result in incorrect dirty rects.
  47318. Additionally we no longer use any of the integer bounds fields on RenderObject for
  47319. determining repaint bounds (this was the principle cause of bug #16015).
  47320. I also removed the outline painting code as it was both wrong, and not correctly
  47321. repainted. I feel safe doing this as no other browser or viewer supports outline
  47322. properties on svg elements.
  47323. I was unable to make a testcase for this unfortunately, despite seemingly deterministic
  47324. behaviour :(
  47325. * rendering/RenderSVGImage.cpp:
  47326. (WebCore::RenderSVGImage::layout):
  47327. (WebCore::RenderSVGImage::paint):
  47328. (WebCore::RenderSVGImage::nodeAtPoint):
  47329. (WebCore::RenderSVGImage::calculateAbsoluteBounds):
  47330. * rendering/RenderSVGImage.h:
  47331. 2008-01-04 Beth Dakin <bdakin@apple.com>
  47332. Reviewed by Oliver.
  47333. Fix for http://bugs.webkit.org/show_bug.cgi?id=16704 input with
  47334. type="hidden" matches :enabled/:disabled (Acid3 bug)
  47335. Prevent :enabled and :disabled from applying to input type="hidden"
  47336. * css/CSSStyleSelector.cpp:
  47337. (WebCore::CSSStyleSelector::checkOneSelector): Rather than
  47338. allowing :enabled and :disabled to apply to all controls, only
  47339. allow it to apply to non-"hidden" controls
  47340. * dom/Element.h:
  47341. (WebCore::Element::isInputTypeHidden):
  47342. * html/HTMLInputElement.h:
  47343. (WebCore::HTMLInputElement::isInputTypeHidden):
  47344. 2008-01-04 Sam Weinig <sam@webkit.org>
  47345. Reviewed by Oliver Hunt.
  47346. - Match the spec when calling getFloatValue, getStringValue, getCounterValue,
  47347. getRectValue and getRGBColorValue of CSSPrimitiveValue by throwing exceptions
  47348. if the type of the CSSPrimitiveValue is not the same as the type requested.
  47349. - Fix the intermittent assertion failure seen in svg/css/glyph-orientation-rounding-test.xhtml
  47350. Test: fast/css/CSSPrimitiveValue-exceptions.html
  47351. * css/CSSPrimitiveValue.cpp:
  47352. (WebCore::CSSPrimitiveValue::getDoubleValue):
  47353. (WebCore::CSSPrimitiveValue::getStringValue):
  47354. (WebCore::CSSPrimitiveValue::getCounterValue):
  47355. (WebCore::CSSPrimitiveValue::getRectValue):
  47356. (WebCore::CSSPrimitiveValue::getRGBColorValue):
  47357. (WebCore::CSSPrimitiveValue::getPairValue):
  47358. * css/CSSPrimitiveValue.h:
  47359. (WebCore::CSSPrimitiveValue::getFloatValue):
  47360. (WebCore::CSSPrimitiveValue::getIntValue):
  47361. (WebCore::CSSPrimitiveValue::getCounterValue):
  47362. (WebCore::CSSPrimitiveValue::getRectValue):
  47363. (WebCore::CSSPrimitiveValue::getDashboardRegionValue):
  47364. * css/CSSPrimitiveValue.idl:
  47365. 2008-01-04 Antti Koivisto <antti@apple.com>
  47366. Reviewed by Darin.
  47367. Windows part of <rdar://problem/5647034>
  47368. Media tests crash if an old version of QuickTime is installed
  47369. Check QuickTime version on Windows too.
  47370. * platform/graphics/MediaPlayer.cpp:
  47371. (WebCore::MediaPlayer::isAvailable):
  47372. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
  47373. (WebCore::MediaPlayerPrivate::isAvailable):
  47374. * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
  47375. (WebCore::MediaPlayerPrivate::isAvailable):
  47376. * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
  47377. * platform/graphics/win/QTMovieWin.cpp:
  47378. (QTMovieWin::initializeQuickTime):
  47379. 2008-01-04 Darin Adler <darin@apple.com>
  47380. Reviewed by Maciej and Alice.
  47381. - fix <rdar://problem/4404302> Borders where there should be none (canadasmountains.com)
  47382. Test: fast/images/border.html
  47383. * html/HTMLImageElement.cpp:
  47384. (WebCore::HTMLImageElement::parseMappedAttribute): Change the code that handles cases
  47385. where the border value is not a number to use the value "0" for the border width instead
  47386. of not setting the border width and style at all. This matches other browsers, and makes
  47387. more sense.
  47388. 2008-01-04 Antti Koivisto <antti@apple.com>
  47389. Try to fix 64-bit build
  47390. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  47391. (WebCore::MediaPlayerPrivate::isAvailable):
  47392. 2008-01-04 Stephanie <slewis@apple.com>
  47393. Reviewed by Oliver.
  47394. WARNING: NO TEST CASES ADDED OR CHANGED
  47395. Fix another stringImpl leak.
  47396. * platform/text/StringImpl.cpp: remove an extra allocation
  47397. (WebCore::StringImpl::StringImpl):
  47398. 2008-01-04 Alice Liu <alice.liu@apple.com>
  47399. Reviewed by Mitz.
  47400. * platform/graphics/win/FontCacheWin.cpp:
  47401. fix loop condition that was causing crash
  47402. 2008-01-04 Timothy Hatcher <timothy@apple.com>
  47403. Reviewed by Adam Roben.
  47404. <rdar://problem/5671059> Always show the Timeline and Console buttons in the Inspector
  47405. * page/inspector/inspector.css: Remove styles related to the toggle button
  47406. and make the area always visible.
  47407. * page/inspector/inspector.html: Remove the toggle button.
  47408. * page/inspector/inspector.js: Remove code to toggle the status area.
  47409. 2008-01-04 Alexey Proskuryakov <ap@webkit.org>
  47410. Reviewed by Adam Roben.
  47411. Temporarily restore BackwardDelete for Windows nightlies to work correctly.
  47412. * editing/EditorCommand.cpp: (WebCore::CommandEntry::):
  47413. 2008-01-04 Alexey Proskuryakov <ap@webkit.org>
  47414. Reviewed by Darin.
  47415. <rdar://problem/5611712> xsl:sort does not use a case folding sort, and the 'case-order' attribute is ignored (16077)
  47416. Enable the fix on Windows.
  47417. * xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::transformToString):
  47418. Always set a custom sort function, even if it doesn't implement proper collation on the platform.
  47419. * xml/XSLTUnicodeSort.cpp:
  47420. (WebCore::xsltUnicodeSortFunction):
  47421. * xml/XSLTUnicodeSort.h:
  47422. If the platform does not use ICU, or ICU has collation support disabled, fall back to binary comparison.
  47423. 2008-01-04 Antti Koivisto <antti@apple.com>
  47424. Fix build.
  47425. * bindings/js/JSHTMLElementWrapperFactory.cpp:
  47426. 2008-01-04 Antti Koivisto <antti@apple.com>
  47427. Reviewed by Darin.
  47428. Partial fix for <rdar://problem/5647034>
  47429. Media tests crash if an old version of QuickTime is installed
  47430. Disable media support if QuickTime is not current enough (>=7.3).
  47431. Windows patch coming soon.
  47432. * bindings/js/JSHTMLElementWrapperFactory.cpp:
  47433. (WebCore::createJSHTMLWrapper):
  47434. * bindings/js/kjs_window.cpp:
  47435. (KJS::Window::getValueProperty):
  47436. * html/HTMLElementFactory.cpp:
  47437. (WebCore::audioConstructor):
  47438. (WebCore::videoConstructor):
  47439. (WebCore::sourceConstructor):
  47440. * platform/graphics/MediaPlayer.cpp:
  47441. (WebCore::MediaPlayer::isAvailable):
  47442. * platform/graphics/MediaPlayer.h:
  47443. * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  47444. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  47445. (WebCore::MediaPlayerPrivate::isAvailable):
  47446. 2008-01-04 Timothy Hatcher <timothy@apple.com>
  47447. Reviewed by Darin Adler.
  47448. <rdar://problem/5604409> JavaScript privilege escalation when Web Inspector accesses page unsafely (16011)
  47449. Check if the property is a getter before asking for the value.
  47450. If the property is a getter, we no longer show the value.
  47451. * page/inspector/PropertiesSidebarPane.js:
  47452. * page/inspector/inspector.css:
  47453. 2008-01-04 Dan Bernstein <mitz@apple.com>
  47454. Reviewed by Darin Adler.
  47455. - fix synthetic bold and italic on Windows
  47456. Covered by an existing test.
  47457. * platform/graphics/win/FontPlatformDataWin.cpp:
  47458. (WebCore::FontPlatformData::FontPlatformData):
  47459. 2008-01-04 Alp Toker <alp@atoker.com>
  47460. GTK+ autotools build fix. Terminate empty rules.
  47461. * GNUmakefile.am:
  47462. 2008-01-04 Lars Knoll <lars@trolltech.com>
  47463. Reviewed by Simon.
  47464. Remove most dependencies of Widget/ScrollView onto native QWidgets.
  47465. This also brings the code closer in line with the Windows code. Seems
  47466. to work nicely on first try :)
  47467. * page/qt/FrameQt.cpp:
  47468. (WebCore::Frame::createScriptInstanceForWidget):
  47469. * platform/Widget.h:
  47470. * platform/qt/PlatformScreenQt.cpp:
  47471. (WebCore::screenDepth):
  47472. (WebCore::screenDepthPerComponent):
  47473. (WebCore::screenIsMonochrome):
  47474. (WebCore::screenRect):
  47475. * platform/qt/PlatformScrollBarQt.cpp:
  47476. (WebCore::PlatformScrollbar::thumbPosition):
  47477. (WebCore::PlatformScrollbar::handleMouseMoveEvent):
  47478. * platform/qt/ScrollViewQt.cpp:
  47479. (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
  47480. (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
  47481. (WebCore::ScrollView::updateContents):
  47482. (WebCore::ScrollView::update):
  47483. (WebCore::ScrollView::scrollRectIntoViewRecursively):
  47484. (WebCore::ScrollView::updateScrollbars):
  47485. (WebCore::ScrollView::addChild):
  47486. (WebCore::ScrollView::removeChild):
  47487. (WebCore::ScrollView::paint):
  47488. * platform/qt/WidgetQt.cpp:
  47489. (WebCore::WidgetPrivate::WidgetPrivate):
  47490. (WebCore::WidgetPrivate::~WidgetPrivate):
  47491. (WebCore::Widget::frameGeometry):
  47492. (WebCore::Widget::setFrameGeometry):
  47493. (WebCore::Widget::setCursor):
  47494. (WebCore::Widget::show):
  47495. (WebCore::Widget::hide):
  47496. (WebCore::Widget::nativeWidget):
  47497. (WebCore::Widget::setNativeWidget):
  47498. (WebCore::Widget::suppressInvalidation):
  47499. (WebCore::Widget::setSuppressInvalidation):
  47500. (WebCore::Widget::invalidateRect):
  47501. (WebCore::Widget::topLevel):
  47502. (WebCore::Widget::containingWindow):
  47503. 2008-01-04 Lars Knoll <lars@trolltech.com>
  47504. Reviewed by Simon.
  47505. make QWebPage a QObject and get things to compile.
  47506. Nothing works currently though.
  47507. * platform/qt/ScrollViewQt.cpp:
  47508. (WebCore::ScrollView::updateContents):
  47509. (WebCore::ScrollView::update):
  47510. * platform/qt/WidgetQt.cpp:
  47511. (WebCore::Widget::qwidget):
  47512. (WebCore::Widget::invalidateRect):
  47513. 2008-01-04 Alp Toker <alp@atoker.com>
  47514. Reviewed by Mark Rowe.
  47515. http://bugs.webkit.org/show_bug.cgi?id=16667
  47516. make -j is failing with the autotools based system
  47517. Support parallel code generation. Nearly every use of explicit
  47518. multiple targets was a potential concurrency bug, though in practice
  47519. the bison rules were the first to be noticed because they took longer
  47520. to complete and broke the build immediately.
  47521. * GNUmakefile.am:
  47522. 2008-01-04 Alp Toker <alp@atoker.com>
  47523. Reviewed by Mark Rowe.
  47524. Re-use a single static dummy surface rather than creating and
  47525. destroying a surface for each CairoPath.
  47526. * platform/graphics/cairo/CairoPath.h:
  47527. (WebCore::CairoPath::CairoPath):
  47528. 2008-01-04 Mark Rowe <mrowe@apple.com>
  47529. Tiger build fix.
  47530. * platform/Threading.h: The OSAtomic functions take non-volatile pointers on Tiger.
  47531. 2008-01-03 Mark Rowe <mrowe@apple.com>
  47532. Reviewed by Maciej Stachowiak.
  47533. Use platform-provided atomic operations in place of inline assembly to
  47534. increase portability.
  47535. * platform/Threading.h:
  47536. (WebCore::atomicIncrement):
  47537. (WebCore::atomicDecrement):
  47538. 2008-01-03 Oliver Hunt <oliver@apple.com>
  47539. Reviewed by Maciej.
  47540. Fix <rdar://problem/5668517> REGRESSION: Major under painting issues in SVG (carto.net dock example)
  47541. We need to cache the absolute bounds of the <image>,
  47542. as there's no reliable way to recompute the old bounding
  47543. box one we have started layout.
  47544. * rendering/RenderSVGImage.cpp:
  47545. (WebCore::RenderSVGImage::layout):
  47546. (WebCore::RenderSVGImage::calculateAbsoluteBounds):
  47547. * rendering/RenderSVGImage.h:
  47548. 2008-01-03 Alp Toker <alp@atoker.com>
  47549. Reviewed by Mark Rowe.
  47550. Support building in Scratchbox, which has a version of make that fails
  47551. on wildcard syntax. Use a vpath to match IDL files instead.
  47552. * GNUmakefile.am:
  47553. 2008-01-03 Jon Honeycutt <jhoneycutt@apple.com>
  47554. Reviewed by Darin.
  47555. <rdar://problem/5504775> PDF page will not load first time after Adobe
  47556. Reader install, unless browser is relaunched
  47557. Refresh and re-search the plugin database if the MIME type is not
  47558. registered.
  47559. * plugins/win/PluginDatabaseWin.cpp:
  47560. (WebCore::PluginDatabaseWin::isMIMETypeRegistered):
  47561. * plugins/win/PluginDatabaseWin.h:
  47562. 2008-01-03 Dan Bernstein <mitz@apple.com>
  47563. Reviewed by Darin Adler.
  47564. - fix http://bugs.webkit.org/show_bug.cgi?id=16548
  47565. <rdar://problem/5659452> REGRESSION(r28810): Font style and sizes are weird for Japanese text
  47566. * platform/graphics/win/FontCacheWin.cpp:
  47567. (WebCore::linkedFontEnumProc): Added. This callback is used to fetch
  47568. a valid LOGFONT for a given family.
  47569. (WebCore::getLinkedFonts): Added. Returns a vector of font families
  47570. linked to the given font family by the Windows registry key
  47571. HKLM\Software\...\FontLink\SystemLink. The registry values typically
  47572. differ based on the installed language version of Windows.
  47573. (WebCore::FontCache::getFontDataForCharacters): Changed to not use MLang
  47574. font mapping, which is Windows code page based, except for characters in
  47575. the range U+2000..U+200F. Instead, this function gets the font Uniscribe
  47576. would use for the character. However, that font might not actually
  47577. contain the character, in which case GDI font linking would substitute a
  47578. different font. Therefore, this function walks the linked font list
  47579. until it finds a font that actually contains the character.
  47580. 2008-01-03 Darin Adler <darin@apple.com>
  47581. Reviewed by Mitz.
  47582. - fix http://bugs.webkit.org/show_bug.cgi?id=16723
  47583. tables/mozilla/bugs/bug30418.html test failing due to problems updating dynamic border rules
  47584. Test: fast/table/border-changes.html
  47585. * html/HTMLTableElement.h:
  47586. * html/HTMLTableElement.cpp:
  47587. (WebCore::HTMLTableElement::parseMappedAttribute): Check the border type before and after
  47588. parsing attributes, rather than doing this only for the rules attribute.
  47589. (WebCore::HTMLTableElement::cellBorders): Added.
  47590. (WebCore::HTMLTableElement::getSharedCellDecl): Changed to use cellBorders to factor out the
  47591. rule about what type of borders to use.
  47592. 2008-01-02 Sam Weinig <sam@webkit.org>
  47593. Reviewed by Darin.
  47594. Pass the prototype of WebCore JS objects up the constructor chain
  47595. rather than explicitly setting using setPrototype. This removes many
  47596. redundant settings of the prototype on construction. To avoid a CG
  47597. hazard, the prototype must be constructed before calling the
  47598. constructor of the JS object.
  47599. - JS objects that inherit from DOMObject, which all bindings objects
  47600. (except Window) do, now can't implicitly have a jsNull prototype, but
  47601. must explicitly pass it up the construction chain.
  47602. * bindings/js/JSCSSRuleCustom.cpp:
  47603. (WebCore::toJS):
  47604. * bindings/js/JSCSSValueCustom.cpp:
  47605. (WebCore::toJS):
  47606. * bindings/js/JSDocumentCustom.cpp:
  47607. (WebCore::toJS):
  47608. * bindings/js/JSEventCustom.cpp:
  47609. (WebCore::toJS):
  47610. * bindings/js/JSEventTargetNode.cpp:
  47611. (WebCore::JSEventTargetNode::JSEventTargetNode):
  47612. * bindings/js/JSEventTargetNode.h:
  47613. * bindings/js/JSHTMLAllCollection.h:
  47614. (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
  47615. * bindings/js/JSHTMLAudioElementConstructor.cpp:
  47616. (WebCore::JSHTMLAudioElementConstructor::JSHTMLAudioElementConstructor):
  47617. * bindings/js/JSHTMLCollectionCustom.cpp:
  47618. (WebCore::getNamedItems):
  47619. (WebCore::toJS):
  47620. * bindings/js/JSHTMLElementWrapperFactory.cpp:
  47621. (WebCore::createJSHTMLWrapper):
  47622. * bindings/js/JSHTMLFormElementCustom.cpp:
  47623. (WebCore::JSHTMLFormElement::nameGetter):
  47624. * bindings/js/JSHTMLInputElementBase.cpp:
  47625. (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
  47626. * bindings/js/JSHTMLInputElementBase.h:
  47627. * bindings/js/JSHTMLOptionElementConstructor.cpp:
  47628. (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
  47629. * bindings/js/JSLocation.cpp:
  47630. (WebCore::JSLocation::JSLocation):
  47631. * bindings/js/JSLocation.h:
  47632. * bindings/js/JSNamedNodesCollection.cpp:
  47633. (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
  47634. * bindings/js/JSNamedNodesCollection.h:
  47635. * bindings/js/JSNodeCustom.cpp:
  47636. (WebCore::toJS):
  47637. * bindings/js/JSSVGElementWrapperFactory.cpp:
  47638. (WebCore::createJSSVGWrapper):
  47639. * bindings/js/JSSVGPathSegCustom.cpp:
  47640. (WebCore::toJS):
  47641. * bindings/js/JSStyleSheetCustom.cpp:
  47642. (WebCore::toJS):
  47643. * bindings/js/JSXMLHttpRequest.cpp:
  47644. (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp):
  47645. (KJS::JSXMLHttpRequestConstructorImp::construct):
  47646. (KJS::JSXMLHttpRequest::JSXMLHttpRequest):
  47647. * bindings/js/JSXMLHttpRequest.h:
  47648. * bindings/js/JSXSLTProcessor.cpp:
  47649. (KJS::JSXSLTProcessor::JSXSLTProcessor):
  47650. (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp):
  47651. (KJS::XSLTProcessorConstructorImp::implementsConstruct):
  47652. (KJS::XSLTProcessorConstructorImp::construct):
  47653. * bindings/js/JSXSLTProcessor.h:
  47654. * bindings/js/kjs_binding.h:
  47655. (KJS::DOMObject::DOMObject):
  47656. (KJS::cacheDOMObject):
  47657. (KJS::cacheSVGDOMObject):
  47658. * bindings/js/kjs_css.cpp:
  47659. (WebCore::JSRGBColor::JSRGBColor):
  47660. (WebCore::getJSRGBColor):
  47661. * bindings/js/kjs_css.h:
  47662. * bindings/js/kjs_events.cpp:
  47663. (WebCore::JSClipboard::JSClipboard):
  47664. (WebCore::toJS):
  47665. * bindings/js/kjs_events.h:
  47666. * bindings/js/kjs_html.cpp:
  47667. (WebCore::ImageConstructorImp::ImageConstructorImp):
  47668. * bindings/js/kjs_navigator.cpp:
  47669. (KJS::Navigator::Navigator):
  47670. (KJS::PluginBase::PluginBase):
  47671. * bindings/js/kjs_navigator.h:
  47672. * bindings/js/kjs_window.cpp:
  47673. (KJS::Window::Window):
  47674. (KJS::Window::location):
  47675. (KJS::Window::getValueProperty):
  47676. * bindings/js/kjs_window.h:
  47677. * bindings/scripts/CodeGeneratorJS.pm:
  47678. 2008-01-03 Holger Hans Peter Freyther <zecke@selfish.org>
  47679. Reviewed by Alp.
  47680. -This is from http://bugs.webkit.org/show_bug.cgi?id=16115
  47681. Change the Gtk ContextMenuItem code to generate the GtkMenuItem
  47682. or GtkCheckMenuItem on the fly. Currently we will create a
  47683. GtkCheckMenuItem if the ContextMenuItem has been checked. What needs
  47684. to be done is to change WebCore to tell the platform code if an item
  47685. is checkable or not.
  47686. * platform/ContextMenuItem.h:
  47687. (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
  47688. * platform/gtk/ContextMenuGtk.cpp:
  47689. (WebCore::ContextMenu::appendItem):
  47690. * platform/gtk/ContextMenuItemGtk.cpp:
  47691. (WebCore::ContextMenuItem::ContextMenuItem):
  47692. (WebCore::ContextMenuItem::~ContextMenuItem):
  47693. (WebCore::ContextMenuItem::createNativeMenuItem):
  47694. (WebCore::ContextMenuItem::releasePlatformDescription):
  47695. (WebCore::ContextMenuItem::type):
  47696. (WebCore::ContextMenuItem::setType):
  47697. (WebCore::ContextMenuItem::action):
  47698. (WebCore::ContextMenuItem::setAction):
  47699. (WebCore::ContextMenuItem::platformSubMenu):
  47700. (WebCore::ContextMenuItem::setSubMenu):
  47701. (WebCore::ContextMenuItem::setChecked):
  47702. 2008-01-03 Dan Bernstein <mitz@apple.com>
  47703. Rubber-stamped by Adam Roben.
  47704. - update the project hierarchy to match the on-disk organization of
  47705. the platform directory.
  47706. * WebCore.vcproj/WebCore.vcproj:
  47707. 2008-01-03 Adam Roben <aroben@apple.com>
  47708. Fix a buffer overrun and a leak introduced in r29098
  47709. Reviewed by Mark.
  47710. * platform/text/StringImpl.cpp:
  47711. (WebCore::StringImpl::StringImpl): Only allocate one buffer, and make
  47712. it be big enough to hold the string contents plus the null terminator.
  47713. 2008-01-03 Simon Hausmann <hausmann@webkit.org>
  47714. Reviewed by Lars.
  47715. Added the first revision of QWebView and started moving functionality from QWebPave over to QWebView and QWebFrame.
  47716. * WebCore.pro:
  47717. 2008-01-03 Alp Toker <alp@atoker.com>
  47718. Suggested by Mark Rowe.
  47719. Fix indentation and remove trailing whitespace.
  47720. * platform/network/curl/ResourceHandleManager.cpp:
  47721. 2008-01-03 Luca Bruno <lethalman88@gmail.com>
  47722. Reviewed by Alp Toker.
  47723. Fix HTTP POST-based logins to sites like Facebook, GMail by ensuring
  47724. that the two POST methods don't conflict.
  47725. * platform/network/curl/ResourceHandleManager.cpp:
  47726. (WebCore::ResourceHandleManager::setupPOST):
  47727. 2008-01-02 Darin Adler <darin@apple.com>
  47728. - touched some files to try to get the Windows buildbot building again
  47729. 2008-01-02 Dan Bernstein <mitz@apple.com>
  47730. Reviewed by Sam Weinig.
  47731. - fix small caps rendering
  47732. Covered by an existing test.
  47733. * platform/graphics/win/FontDataWin.cpp:
  47734. (WebCore::FontData::smallCapsFontData):
  47735. 2008-01-02 Antti Koivisto <antti@apple.com>
  47736. Reviewed by Oliver.
  47737. Calculate video position and size within the renderer box in WebCore. This
  47738. way the aspect ratio calculation is not needed in each MediaPlayer implementation.
  47739. This fixes video aspect ratio on Windows.
  47740. Covered by an existing pixel test.
  47741. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  47742. (WebCore::MediaPlayerPrivate::createQTMovieView):
  47743. * rendering/RenderVideo.cpp:
  47744. (WebCore::RenderVideo::videoBox):
  47745. (WebCore::RenderVideo::paintReplaced):
  47746. (WebCore::RenderVideo::updatePlayer):
  47747. * rendering/RenderVideo.h:
  47748. 2008-01-02 Ada Chan <adachan@apple.com>
  47749. Fix windows build.
  47750. * WebCore.vcproj/WebCore.vcproj:
  47751. 2008-01-02 John Sullivan <sullivan@apple.com>
  47752. Reviewed by Dan Bernstein
  47753. - fixed <rdar://problem/5579010> REGRESSION: Safari inserts newlines in tab names when U+2028 is present
  47754. * loader/DocumentLoader.cpp:
  47755. (WebCore::canonicalizedTitle):
  47756. in the code that replaces control characters with white space, also replace the unicode line separator
  47757. and paragraph separator characters
  47758. 2008-01-02 Darin Adler <darin@apple.com>
  47759. - fix buffer overruns seen on buildbot
  47760. * platform/text/StringImpl.cpp:
  47761. (WebCore::countCharacter): Added this.
  47762. (WebCore::StringImpl::toCoordsArray): Use countCharacter instead of incorrect find expression.
  47763. (WebCore::StringImpl::toLengthArray): Ditto.
  47764. (WebCore::StringImpl::replace): Added assertions.
  47765. 2008-01-02 Darin Adler <darin@apple.com>
  47766. Reviewed by Maciej.
  47767. - fix http://bugs.webkit.org/show_bug.cgi?id=16657
  47768. Acid3 failure since table.caption and table.thead do not work for nodes added by appendChild
  47769. - fix http://bugs.webkit.org/show_bug.cgi?id=16659
  47770. Acid3 expects HTMLTableElement.rows to include a <tr> element that is an immediate child of the <table>
  47771. Tests: dom/html/level2/html/HTMLCollection07.html
  47772. dom/html/level2/html/HTMLCollection08.html
  47773. dom/html/level2/xhtml/HTMLCollection07.xhtml
  47774. dom/html/level2/xhtml/HTMLCollection08.xhtml
  47775. fast/dom/HTMLTableElement/early-acid3-65-excerpt.html
  47776. fast/dom/HTMLTableElement/early-acid3-66-excerpt.html
  47777. * GNUmakefile.am: Added HTMLTableRowsCollection.
  47778. * WebCore.pro: Ditto.
  47779. * WebCore.vcproj/WebCore.vcproj: Ditto.
  47780. * WebCore.xcodeproj/project.pbxproj: Ditto.
  47781. * WebCoreSources.bkl: Ditto.
  47782. * dom/XMLTokenizer.cpp: Took out stray include.
  47783. * html/HTMLCollection.cpp:
  47784. (WebCore::HTMLCollection::itemAfter): Removed all the table rows code, since we now use
  47785. a separate class for that collection. Also got rid of the distinct types for custom collections
  47786. that don't need them (use Other for both).
  47787. * html/HTMLCollection.h: Also made firstItem non-virtual because it doesn't need to be virtual.
  47788. * html/HTMLFormCollection.cpp:
  47789. (WebCore::HTMLFormCollection::HTMLFormCollection): Use Other instead of FormElements
  47790. for the HTMLCollection type.
  47791. * html/HTMLTableElement.cpp:
  47792. (WebCore::HTMLTableElement::HTMLTableElement): Eliminated m_head, m_foot, m_firstBody, and m_caption.
  47793. (WebCore::HTMLTableElement::caption): Added non-inline version. Finds the caption rather than
  47794. keeping a pointer to it.
  47795. (WebCore::HTMLTableElement::setCaption): Rewrote.
  47796. (WebCore::HTMLTableElement::tHead): Ditto.
  47797. (WebCore::HTMLTableElement::setTHead): Ditto.
  47798. (WebCore::HTMLTableElement::tFoot): Ditto.
  47799. (WebCore::HTMLTableElement::setTFoot): Ditto.
  47800. (WebCore::HTMLTableElement::createTHead): Ditto.
  47801. (WebCore::HTMLTableElement::deleteTHead): Ditto.
  47802. (WebCore::HTMLTableElement::createTFoot): Ditto.
  47803. (WebCore::HTMLTableElement::deleteTFoot): Ditto.
  47804. (WebCore::HTMLTableElement::createCaption): Ditto.
  47805. (WebCore::HTMLTableElement::deleteCaption): Ditto.
  47806. (WebCore::HTMLTableElement::lastBody): Added.
  47807. (WebCore::HTMLTableElement::insertRow): Rewrote to use a loop based on code in HTMLTableRowsCollection.
  47808. This is different from the old code mainly in how it handles rows outside any section.
  47809. (WebCore::HTMLTableElement::deleteRow): Ditto.
  47810. (WebCore::HTMLTableElement::addChild): Removed code to set the various members. Keeping pointers to
  47811. these was a possible source of serious bugs too, including crashes with stale pointers, although I
  47812. didn't write any test cases to prove those bugs existed.
  47813. (WebCore::HTMLTableElement::parseMappedAttribute): Changed the rules code to visit all cells, not
  47814. just the cells of the first body. I believe this fixed rendering on some table tests. I think the code
  47815. visits too many cells and also the use of recursion is overkill, but I didn't try to fix that.
  47816. (WebCore::HTMLTableElement::rows): Changed to use the new HTMLTableRowsCollection.
  47817. * html/HTMLTableElement.h: Changed functions to return PassRefPtr, which can be important if strange
  47818. things like DOM mutation events take things ot of the tree before they are safely referenced by
  47819. JavaScript wrappers. Also changed functions to take PassRefPtr and added exceptions. Removed unneeded
  47820. firstTBody and setTBody functions and childrenChanged function override, as well as unused Rules and
  47821. Frame enums. Removed m_head, m_foot, m_firstBody, and m_caption, and added lastBody function. Removed
  47822. unneeded friend declaration for HTMLTableCellElement.
  47823. * html/HTMLTableElement.idl: Allow the setteres for caption, tHead, and tFoot to raise exceptions.
  47824. * html/HTMLTableRowsCollection.cpp: Added. Implements the HTML 5 rule for which rows are in the
  47825. collection in which order.
  47826. * html/HTMLTableRowsCollection.h: Added.
  47827. * loader/FTPDirectoryDocument.cpp:
  47828. (WebCore::FTPDirectoryTokenizer::appendEntry): Use the standard insertRow function instead of
  47829. coming up with our own way of inserting a row. Simplifies things -- we can remove the code to
  47830. create a tbody element.
  47831. 2008-01-02 Darin Adler <darin@apple.com>
  47832. Reviewed by Alice and Tim.
  47833. - try to fix GTK and Qt builds
  47834. * platform/win/ScrollViewWin.cpp:
  47835. (WebCore::ScrollView::scroll): Improve logic slightly for the case of
  47836. vertical scrolling when there's no vertical scroll bar.
  47837. * platform/gtk/ScrollViewGtk.cpp:
  47838. (WebCore::ScrollView::scroll): Copy the code from Windows. Maybe this
  47839. should be factored differently.
  47840. * platform/qt/ScrollViewQt.cpp:
  47841. (WebCore::ScrollView::scroll): Ditto.
  47842. 2008-01-02 Darin Adler <darin@apple.com>
  47843. Reviewed by Anders.
  47844. - http://bugs.webkit.org/show_bug.cgi?id=16712
  47845. change StringImpl to take and return PassRefPtr instead of raw pointers
  47846. Also eliminated use of const StringImpl. Since StringImpl is immutable there
  47847. is no distinction between a const and non-const one at the moment.
  47848. * WebCore.base.exp: Updated.
  47849. * css/CSSHelper.cpp:
  47850. (WebCore::parseURL): Make String directly, not by making a StringImpl.
  47851. * dom/Attr.cpp:
  47852. (WebCore::Attr::createTextChild): Convert AtomicString to String with domString,
  47853. not via StringImpl.
  47854. (WebCore::Attr::setValue): Remove unneed call to impl() when passing a String
  47855. to a function that takes a String.
  47856. * dom/CDATASection.cpp: Removed unused constructor.
  47857. (WebCore::CDATASection::cloneNode): Added a now-needed .get().
  47858. (WebCore::CDATASection::createNew): Changed function to take a PassRefPtr.
  47859. * dom/CDATASection.h:
  47860. * dom/CharacterData.cpp:
  47861. (WebCore::CharacterData::CharacterData): Removed unneeded initialization and
  47862. ref() now that the string is a RefPtr. Also updated to not call "new StringImpl".
  47863. (WebCore::CharacterData::~CharacterData): Removed unneeded deref() since it's
  47864. a RefPtr.
  47865. (WebCore::CharacterData::setData): More of that.
  47866. (WebCore::CharacterData::substringData): Ditto.
  47867. (WebCore::CharacterData::appendData): Ditto.
  47868. (WebCore::CharacterData::insertData): Ditto.
  47869. (WebCore::CharacterData::deleteData): Ditto.
  47870. (WebCore::CharacterData::replaceData): Ditto.
  47871. (WebCore::CharacterData::nodeValue): Ditto.
  47872. (WebCore::CharacterData::dispatchModifiedEvent): Ditto.
  47873. (WebCore::CharacterData::dump): Ditto.
  47874. * dom/CharacterData.h: Changed to use a RefPtr. I could have used a String
  47875. instead, but since String adds extra branches to handle 0, I figured it was
  47876. more conservative to just use RefPtr. Later it would be good to figure out
  47877. which is preferred style and be more consistent. Maybe we'll phase out
  47878. StringImpl, or maybe we'll go the other way and use it more since it can be
  47879. more efficient.
  47880. * dom/DOMImplementation.cpp:
  47881. (WebCore::addString): Changed set to use String rather than StringImpl.
  47882. (WebCore::isSVG10Feature): Ditto.
  47883. (WebCore::isSVG11Feature): Ditto.
  47884. (WebCore::DOMImplementation::createDocument): Replaced custom code to
  47885. find a colon with a call to String::find.
  47886. * dom/Range.cpp:
  47887. (WebCore::Range::insertNode): Updated since the result of splitText is now
  47888. a PassRefPtr.
  47889. * dom/Text.cpp:
  47890. (WebCore::Text::splitText): Updated since str is now a RefPtr. Also made the
  47891. result of this function be a PassRefPtr.
  47892. (WebCore::Text::createRenderer): Ditto.
  47893. (WebCore::Text::createNew): Made the parameter and result both be PassRefPtr.
  47894. * dom/Text.h:
  47895. * html/HTMLElement.cpp:
  47896. (WebCore::HTMLElement::nodeName): Use String::upper.
  47897. * html/HTMLInputElement.cpp:
  47898. (WebCore::numGraphemeClusters): Remove now-unneeded const.
  47899. (WebCore::numCharactersInGraphemeClusters): Ditto.
  47900. * html/HTMLTokenizer.cpp:
  47901. (WebCore::HTMLTokenizer::processToken): Updated for function name change.
  47902. * platform/text/AtomicString.cpp:
  47903. (WebCore::CStringTranslator::translate): Updated since there is no longer
  47904. a constructor that takes a string.
  47905. * platform/text/PlatformString.h: Added new constructors that take
  47906. PassRefPtr and RefPtr. Removed misleading comment.
  47907. * platform/text/String.cpp:
  47908. (WebCore::String::String): Changed to use StringImpl::create, which handles
  47909. the empty string automatically.
  47910. (WebCore::String::append): Ditto.
  47911. (WebCore::String::charactersWithNullTermination): Similar.
  47912. (WebCore::String::format): Ditto.
  47913. * platform/text/StringHash.h: Took out unneeded const.
  47914. * platform/text/StringImpl.cpp:
  47915. (WebCore::deleteUCharVector): Changed to take a const pointer since the
  47916. buffers are now const UChar buffers.
  47917. (WebCore::StringImpl::StringImpl): Removed some constructors. Got rid of the
  47918. separate init functions. The constructors are now private and used only in
  47919. the create functions and one or two other places.
  47920. (WebCore::StringImpl::containsOnlyWhitespace): Removed now-meaningless const.
  47921. (WebCore::StringImpl::substring): Ditto. Also changed return value to be a
  47922. PassRefPtr.
  47923. (WebCore::StringImpl::characterStartingAt): Ditto.
  47924. (WebCore::StringImpl::toLength): Ditto.
  47925. (WebCore::StringImpl::toCoordsArray): Ditto.
  47926. (WebCore::StringImpl::toLengthArray): Ditto.
  47927. (WebCore::StringImpl::isLower): Ditto.
  47928. (WebCore::StringImpl::lower): Ditto. Changed to use Vector and adopt so we
  47929. don't have to use new directly here. Makes empty string handling more consistent.
  47930. (WebCore::StringImpl::upper): Ditto.
  47931. (WebCore::StringImpl::secure): Ditto.
  47932. (WebCore::StringImpl::foldCase): Ditto.
  47933. (WebCore::StringImpl::stripWhiteSpace): Ditto.
  47934. (WebCore::StringImpl::simplifyWhiteSpace): Ditto.
  47935. (WebCore::StringImpl::capitalize): Ditto.
  47936. (WebCore::StringImpl::toInt): Removed now-meaningless const.
  47937. (WebCore::StringImpl::toInt64): Ditto.
  47938. (WebCore::StringImpl::toUInt64): Ditto.
  47939. (WebCore::StringImpl::toDouble): Ditto.
  47940. (WebCore::StringImpl::toFloat): Ditto.
  47941. (WebCore::StringImpl::find): Ditto.
  47942. (WebCore::StringImpl::reverseFind): Ditto.
  47943. (WebCore::StringImpl::endsWith): Ditto.
  47944. (WebCore::StringImpl::replace): Ditto.
  47945. (WebCore::equal): Ditto.
  47946. (WebCore::equalIgnoringCase): Ditto.
  47947. (WebCore::StringImpl::ascii): Ditto.
  47948. (WebCore::StringImpl::defaultWritingDirection): Ditto.
  47949. (WebCore::StringImpl::createStrippingNullCharacters): Ditto.
  47950. (WebCore::StringImpl::adopt): Added special case so this uses the shared
  47951. empty string like other functions. Also optimized the common case where the
  47952. vector happens to already have the right size so we don't do a fastRealloc
  47953. at all in those cases.
  47954. (WebCore::StringImpl::create): Added. These are now the public functions for
  47955. creating new StringImpl objects. They all implement the shared empty string.
  47956. (WebCore::StringImpl::createWithTerminatingNullCharacter):
  47957. * platform/text/StringImpl.h:
  47958. * platform/text/cf/StringCF.cpp:
  47959. (WebCore::String::String): Use StringImpl::create instead of new StringImpl.
  47960. * platform/text/cf/StringImplCF.cpp:
  47961. (WebCore::StringImpl::createCFString): Removed now-obsolete const.
  47962. * platform/text/mac/StringImplMac.mm:
  47963. (WebCore::StringImpl::operator NSString *): Ditto.
  47964. * platform/text/mac/StringMac.mm:
  47965. (WebCore::String::String): Use StringImpl::create instead of new StringImpl.
  47966. * platform/text/qt/StringQt.cpp:
  47967. (WebCore::String::String): Ditto.
  47968. * platform/text/wx/StringWx.cpp:
  47969. (WebCore::String::String): Ditto.
  47970. * rendering/RenderBR.cpp:
  47971. (WebCore::RenderBR::RenderBR): Ditto.
  47972. * rendering/RenderSVGInlineText.cpp:
  47973. (WebCore::RenderSVGInlineText::RenderSVGInlineText): Use PassRefPtr.
  47974. * rendering/RenderSVGInlineText.h:
  47975. * rendering/RenderText.cpp:
  47976. (WebCore::charactersAreAllASCII): Removed now-unneeded const.
  47977. * rendering/RenderTextFragment.cpp:
  47978. (WebCore::RenderTextFragment::originalText): Use RefPtr.
  47979. 2008-01-02 Timothy Hatcher <timothy@apple.com>
  47980. Reviewed by Oliver Hunt.
  47981. <rdar://problem/5618086> WebInspector does not expand the DOM tree after being closed
  47982. Closing the Web Inspector causes the DOM tree outline to be torn down, clearing the
  47983. internal element lookup tables. The represented DOM node object still holds the identifier
  47984. it was assigned, and a later call to findTreeElement will use that original identifier
  47985. against a cleared lookup table. In that case we need to fallback on DOM ancestor lookup.
  47986. * page/inspector/treeoutline.js:
  47987. (TreeOutline.prototype.findTreeElement): If the DOM node already had a __treeElementIdentifier,
  47988. but the TreeOutline no longer has the element in the _knownTreeElements list do an ancestor lookup
  47989. instead of an early return.
  47990. 2008-01-02 Alice Liu <alice.liu@apple.com>
  47991. Reviewed by Maciej.
  47992. Fixed <rdar://5283861> (problems scrolling in gmail message content area)
  47993. * platform/ScrollView.h:
  47994. * platform/win/ScrollViewWin.cpp:
  47995. (WebCore::ScrollView::scroll):
  47996. Changed return value to bool to reflect success of scroll attempt
  47997. 2008-01-02 Alexey Proskuryakov <ap@webkit.org>
  47998. Fixed a typo (pointed out in review, but I somehow missed it at first).
  47999. * editing/EditorCommand.cpp: (WebCore::executeDelete):
  48000. 2008-01-02 Alexey Proskuryakov <ap@webkit.org>
  48001. Reviewed by Darin.
  48002. Resolved several FIXMEs in EditorCommand.
  48003. Made recently added commands hidden from JS again.
  48004. Removed BackwardDelete implementation, which used to be dead code, but got exposed now.
  48005. Tests: editing/execCommand/delete-no-scroll.html
  48006. editing/execCommand/forward-delete-no-scroll.html
  48007. editing/execCommand/insert-line-break-no-scroll.html
  48008. * editing/EditorCommand.cpp:
  48009. (WebCore::executeDelete):
  48010. (WebCore::executeForwardDelete):
  48011. (WebCore::executeInsertLineBreak):
  48012. (WebCore::supportedFromMenuOrKeyBinding):
  48013. (WebCore::CommandEntry::):
  48014. 2008-01-02 Alexey Proskuryakov <ap@webkit.org>
  48015. Reviewed by Darin.
  48016. http://bugs.webkit.org/show_bug.cgi?id=14555
  48017. action=mailto + method=get - The generated mailto URI is incorrect and the hvalues are encoded twice
  48018. http://bugs.webkit.org/show_bug.cgi?id=14774
  48019. Submitted data only includes first input item
  48020. Reworked encoding of mailto URLs to match other browsers.
  48021. Moved most of related logic from FrameLoader::submitForm() to HTMLFormElement::submit().
  48022. Tests: fast/forms/mailto/advanced-get.html
  48023. fast/forms/mailto/advanced-put.html
  48024. fast/forms/mailto/get-multiple-items-text-plain.html
  48025. fast/forms/mailto/get-multiple-items-x-www-form-urlencoded.html
  48026. fast/forms/mailto/get-multiple-items.html
  48027. fast/forms/mailto/get-non-ascii.html
  48028. fast/forms/mailto/get-non-ascii-text-plain.html
  48029. fast/forms/mailto/get-overwrite-query.html
  48030. fast/forms/mailto/post-append-query.html
  48031. fast/forms/mailto/post-multiple-items-multipart-form-data.html
  48032. fast/forms/mailto/post-multiple-items-text-plain.html
  48033. fast/forms/mailto/post-multiple-items-x-www-form-urlencoded.html
  48034. fast/forms/mailto/post-multiple-items.html
  48035. * html/HTMLFormElement.cpp:
  48036. (WebCore::HTMLFormElement::submit):
  48037. * loader/FrameLoader.cpp:
  48038. (WebCore::FrameLoader::submitForm):
  48039. 2008-01-02 Mark Rowe <mrowe@apple.com>
  48040. Autotools build fix.
  48041. * GNUmakefile.am: Remove files before generating them, not after.
  48042. 2008-01-02 Mark Rowe <mrowe@apple.com>
  48043. Rubber-stamped by Alp Toker.
  48044. Add missing dependencies to some GNUmakefile.am rules.
  48045. * GNUmakefile.am:
  48046. 2008-01-02 Mark Rowe <mrowe@apple.com>
  48047. Reviewed by Alp Toker.
  48048. Autotools build fix. Make can expand $@ to any of the targets for the rule,
  48049. while we always want to use the name of the .cpp file as the output file.
  48050. * GNUmakefile.am:
  48051. 2008-01-02 Luca Bruno <lethalman88@gmail.com>
  48052. Reviewed by Alp Toker.
  48053. http://bugs.webkit.org/show_bug.cgi?id=16115
  48054. [GTK] ContextMenu and ContextMenuItem lacks an implementation
  48055. Add context menu support.
  48056. Based on a patch by Holger Freyther.
  48057. * platform/gtk/ContextMenuGtk.cpp:
  48058. (WebCore::menuItemActivated):
  48059. (WebCore::ContextMenu::ContextMenu):
  48060. (WebCore::ContextMenu::~ContextMenu):
  48061. (WebCore::ContextMenu::appendItem):
  48062. (WebCore::ContextMenu::setPlatformDescription):
  48063. (WebCore::ContextMenu::releasePlatformDescription):
  48064. * platform/gtk/ContextMenuItemGtk.cpp:
  48065. (WebCore::ContextMenuItem::ContextMenuItem):
  48066. (WebCore::ContextMenuItem::~ContextMenuItem):
  48067. (WebCore::ContextMenuItem::releasePlatformDescription):
  48068. (WebCore::ContextMenuItem::type):
  48069. (WebCore::ContextMenuItem::action):
  48070. (WebCore::ContextMenuItem::setAction):
  48071. (WebCore::ContextMenuItem::platformSubMenu):
  48072. (WebCore::ContextMenuItem::setSubMenu):
  48073. (WebCore::ContextMenuItem::setChecked):
  48074. (WebCore::ContextMenuItem::setEnabled):
  48075. 2008-01-02 Alp Toker <alp@atoker.com>
  48076. GTK+ autotools build fix. Track changes in r29073.
  48077. * GNUmakefile.am:
  48078. 2008-01-01 Darin Adler <darin@apple.com>
  48079. - fix release build
  48080. * bindings/js/kjs_binding.cpp:
  48081. (KJS::setDOMException): Initialize to avoid uninitialized variable warning.
  48082. Removed default so we get a warning if there's a missing case.
  48083. 2008-01-01 David D. Kilzer <ddkilzer@webkit.org>
  48084. Scripting MIME Types application/ecmascript, application/javascript not viewable
  48085. <http://bugs.webkit.org/show_bug.cgi?id=11063>
  48086. Reviewed by Darin.
  48087. This patch consolidates the list of acceptable MIME types for JavaScript
  48088. source into the MIMETypeRegistry class, and replaces checks for these
  48089. types with a call to MIMETypeRegistry::isSupportedJavaScriptMIMEType().
  48090. No tests added since viewing JavaScript source is not testable.
  48091. * dom/DOMImplementation.cpp:
  48092. (WebCore::DOMImplementation::isTextMIMEType): Use
  48093. MIMETypeRegistry::isSupportedJavaScriptMIMEType() instead of a single
  48094. hard-coded MIME type, "application/x-javascript".
  48095. * html/HTMLScriptElement.cpp:
  48096. (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript): Moved list of
  48097. JavaScript MIME types from here to
  48098. MIMETypeRegistry::initialiseSupportedJavaScriptMIMETypes().
  48099. * platform/MIMETypeRegistry.cpp:
  48100. (WebCore::initialiseSupportedJavaScriptMIMETypes): Added. List of
  48101. MIME types came from HTMLScriptElement::shouldExecuteAsJavaScript().
  48102. (WebCore::initialiseSupportedNonImageMimeTypes): Remove single
  48103. hard-coded MIME type, "application/x-javascript", from the list.
  48104. (WebCore::initialiseMIMETypeRegistry): Initialise
  48105. supportedJavaScriptMIMETypes, then pre-populate supportedNonImageMIMETypes
  48106. with values in supportedJavaScriptMIMETypes.
  48107. (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): Added.
  48108. * platform/MIMETypeRegistry.h: Added isSupportedJavaScriptMIMEType().
  48109. 2008-01-01 Sam Weinig <sam@webkit.org>
  48110. Reviewed by Darin.
  48111. Patch for http://bugs.webkit.org/show_bug.cgi?id=16691
  48112. Use real JS objects for the rest of the DOMExceptions (EventException, RangeException, etc)
  48113. - Create JS objects for all the different types of exceptions, each with there own prototype and constructor.
  48114. - Abstract all the logic and storage for exception classes in to an ExceptionBase class.
  48115. - Move specialized ExceptionCodes into the exception classes. (ie. the EventExceptionCode enum is now in EventException).
  48116. Tests: fast/dom/DOMException/EventException.html
  48117. fast/dom/DOMException/RangeException.html
  48118. fast/dom/DOMException/XPathException.html
  48119. http/tests/xmlhttprequest/XMLHttpRequestException.html
  48120. svg/custom/SVGException.html
  48121. * DerivedSources.make:
  48122. * WebCore.pro:
  48123. * WebCore.vcproj/WebCore.vcproj:
  48124. * WebCore.xcodeproj/project.pbxproj:
  48125. * WebCoreSources.bkl:
  48126. * bindings/js/JSSVGMatrixCustom.cpp:
  48127. (WebCore::JSSVGMatrix::inverse):
  48128. (WebCore::JSSVGMatrix::rotateFromVector):
  48129. * bindings/js/kjs_binding.cpp:
  48130. (KJS::setDOMException):
  48131. * bindings/scripts/CodeGeneratorJS.pm: Use the constant values defined
  48132. in the IDL as the ObjC bindings do.
  48133. * bindings/scripts/CodeGeneratorObjC.pm:
  48134. * dom/DOMCoreException.cpp: Removed.
  48135. * dom/DOMCoreException.h:
  48136. (WebCore::DOMCoreException::DOMCoreException):
  48137. * dom/DOMCoreException.idl:
  48138. * dom/Event.h:
  48139. * dom/EventException.h: Copied from WebCore/dom/DOMCoreException.h.
  48140. (WebCore::EventException::EventException):
  48141. (WebCore::EventException::):
  48142. * dom/EventException.idl: Copied from WebCore/dom/DOMCoreException.idl.
  48143. * dom/EventTargetNode.cpp:
  48144. (WebCore::EventTargetNode::dispatchEvent):
  48145. * dom/ExceptionBase.cpp: Copied from WebCore/dom/DOMCoreException.cpp.
  48146. (WebCore::ExceptionBase::ExceptionBase):
  48147. (WebCore::ExceptionBase::toString):
  48148. * dom/ExceptionBase.h: Copied from WebCore/dom/DOMCoreException.h.
  48149. (WebCore::ExceptionBase::code):
  48150. * dom/ExceptionCode.cpp:
  48151. (WebCore::getExceptionCodeDescription):
  48152. * dom/ExceptionCode.h:
  48153. * dom/Range.cpp:
  48154. (WebCore::Range::insertNode):
  48155. (WebCore::Range::checkNodeWOffset):
  48156. (WebCore::Range::checkNodeBA):
  48157. (WebCore::Range::selectNode):
  48158. (WebCore::Range::selectNodeContents):
  48159. (WebCore::Range::surroundContents):
  48160. * dom/RangeException.h:
  48161. (WebCore::RangeException::RangeException):
  48162. (WebCore::RangeException::):
  48163. * dom/RangeException.idl:
  48164. * page/DOMWindow.idl:
  48165. * svg/SVGColor.cpp:
  48166. (WebCore::SVGColor::setRGBColor):
  48167. * svg/SVGException.h:
  48168. (WebCore::SVGException::SVGException):
  48169. (WebCore::SVGException::):
  48170. * svg/SVGException.idl:
  48171. * svg/SVGLocatable.cpp:
  48172. (WebCore::SVGLocatable::getTransformToElement):
  48173. * xml/XMLHttpRequest.cpp:
  48174. (WebCore::XMLHttpRequest::dispatchEvent):
  48175. (WebCore::XMLHttpRequest::open):
  48176. (WebCore::XMLHttpRequest::send):
  48177. * xml/XMLHttpRequest.h:
  48178. * xml/XMLHttpRequestException.h: Copied from WebCore/dom/DOMCoreException.h.
  48179. (WebCore::XMLHttpRequestException::XMLHttpRequestException):
  48180. (WebCore::XMLHttpRequestException::):
  48181. * xml/XMLHttpRequestException.idl: Copied from WebCore/dom/DOMCoreException.idl.
  48182. * xml/XPathEvaluator.h:
  48183. * xml/XPathException.h: Copied from WebCore/dom/DOMCoreException.h.
  48184. (WebCore::XPathException::XPathException):
  48185. (WebCore::XPathException::):
  48186. * xml/XPathException.idl: Copied from WebCore/dom/DOMCoreException.idl.
  48187. * xml/XPathParser.cpp:
  48188. (WebCore::XPath::Parser::parseStatement):
  48189. * xml/XPathResult.cpp:
  48190. (WebCore::XPathResult::convertTo):
  48191. (WebCore::XPathResult::numberValue):
  48192. (WebCore::XPathResult::stringValue):
  48193. (WebCore::XPathResult::booleanValue):
  48194. (WebCore::XPathResult::singleNodeValue):
  48195. (WebCore::XPathResult::snapshotLength):
  48196. (WebCore::XPathResult::iterateNext):
  48197. (WebCore::XPathResult::snapshotItem):
  48198. 2008-01-01 Sam Weinig <sam@webkit.org>
  48199. Remove JSDomExceptionConstructor.lut.h from clean step
  48200. as it no longer exists.
  48201. * GNUmakefile.am:
  48202. 2008-01-01 Dan Bernstein <mitz@apple.com>
  48203. - Windows build fix
  48204. * WebCore.vcproj/WebCore.vcproj:
  48205. 2008-01-01 Sam Weinig <sam@webkit.org>
  48206. Try again to fix the builds
  48207. * DerivedSources.make:
  48208. 2008-01-01 Sam Weinig <sam@webkit.org>
  48209. Fix non-mac builds.
  48210. * WebCore.pro:
  48211. * WebCore.vcproj/WebCore.vcproj:
  48212. * WebCoreSources.bkl:
  48213. 2008-01-01 Eric Seidel <eric@webkit.org>
  48214. Reviewed by Alexey.
  48215. Don't replace \ with / in data: urls
  48216. http://bugs.webkit.org/show_bug.cgi?id=16692
  48217. Test: fast/loader/url-data-replace-backslash.html
  48218. * platform/KURL.cpp:
  48219. (WebCore::KURL::init):
  48220. 2008-01-01 Alp Toker <alp@atoker.com>
  48221. GTK+ autotools build fix. Track changes in r29051, r29058 and pass the
  48222. correct parameter to AM_INIT_AUTOMAKE.
  48223. * GNUmakefile.am:
  48224. 2007-12-31 Sam Weinig <sam@webkit.org>
  48225. Reviewed by Darin.
  48226. Patch for http://bugs.webkit.org/show_bug.cgi?id=16637
  48227. Acid3 expects ExeceptionCode constants to be defined on DOMException objects
  48228. - Make DOMException a real JS object.
  48229. Test: fast/dom/DOMException/prototype-object.html
  48230. * DerivedSources.make:
  48231. * WebCore.xcodeproj/project.pbxproj:
  48232. This is no longer needed as the autogenerated classes now includes the
  48233. constructor.
  48234. * bindings/js/JSDOMExceptionConstructor.cpp: Removed.
  48235. * bindings/js/JSDOMExceptionConstructor.h: Removed.
  48236. Create on demand and use the new class for DOMExceptions.
  48237. * bindings/js/kjs_binding.cpp:
  48238. (KJS::setDOMException):
  48239. Remove no longer needed custom constructor getter.
  48240. * bindings/js/kjs_window.cpp:
  48241. (KJS::Window::getValueProperty):
  48242. Don't expose DOMCoreException as the name of class by special casing
  48243. the user visible class name to be DOMException.
  48244. * bindings/scripts/CodeGeneratorJS.pm:
  48245. The DOMException class/file needs to be named DOMCoreException because there is
  48246. name conflict with one of the Objective-C bindings classes. It should be renamed
  48247. to DOMException when the Objective-C bindings are moved into WebKit.
  48248. * dom/DOMCoreException.cpp: Added.
  48249. (WebCore::DOMCoreException::DOMCoreException):
  48250. (WebCore::DOMCoreException::toString):
  48251. * dom/DOMCoreException.h: Added.
  48252. (WebCore::DOMCoreException::):
  48253. (WebCore::DOMCoreException::code):
  48254. (WebCore::DOMCoreException::name):
  48255. (WebCore::DOMCoreException::message):
  48256. * dom/DOMCoreException.idl: Added.
  48257. * page/DOMWindow.idl:
  48258. 2007-12-31 Sam Weinig <sam@webkit.org>
  48259. Re-enable querySelector and querySelectorAll and touch the necessary files to not
  48260. kill the windows build.
  48261. * WebCore.vcproj/build-generated-files.sh:
  48262. * bindings/scripts/CodeGeneratorCOM.pm:
  48263. * dom/Document.idl:
  48264. * dom/Element.idl:
  48265. 2007-12-31 Darin Adler <darin@apple.com>
  48266. - fix Windows build
  48267. * dom/Document.idl: Temporarily disable querySelector and querySelectorAll, since they are showing
  48268. up as pure virtual functions. Sam can fix this later.
  48269. * dom/Element.idl: Ditto.
  48270. 2007-12-31 Dan Bernstein <mitz@apple.com>
  48271. Reviewed by Darin Adler.
  48272. - fix http://bugs.webkit.org/show_bug.cgi?id=14134
  48273. <rdar://problem/5655160> REGRESSION (r25353): Whitespace nodes ignored between inline list items
  48274. Test: fast/dynamic/create-renderer-for-whitespace-only-text.html
  48275. * dom/Node.cpp:
  48276. (WebCore::Node::attach): Added code to check if this node's renderer
  48277. has become the "previous renderer" of any sibling text node, and if so,
  48278. ensure that that node gets a renderer if it now needs one.
  48279. (WebCore::Node::createRendererIfNeeded): Removed the assertion that the
  48280. node is not attached.
  48281. 2007-12-31 Darin Adler <darin@apple.com>
  48282. Reviewed by Mitz.
  48283. - fix http://bugs.webkit.org/show_bug.cgi?id=16641
  48284. Acid3 reveals HTMLFormElement.elements fails to update when element name changes
  48285. Test: fast/dom/HTMLFormElement/elements-not-in-document.html
  48286. This was a bug specific to forms that are not in the document tree.
  48287. The fix was to change the code to increment the document version number to match
  48288. up with other document change tracking. Maybe at some point we can clean these up
  48289. so we don't have so many competing change notification systems.
  48290. * dom/ContainerNode.cpp:
  48291. (WebCore::ContainerNode::replaceChild): Removed bogus comment.
  48292. (WebCore::ContainerNode::addChild): Added an explicit incDOMTreeVersion
  48293. call here, since this code path bypasses the subtree-modified event code.
  48294. * dom/Element.cpp:
  48295. (WebCore::Element::setAttribute): Remove the inDocument() check -- not all HTML
  48296. collections are for things in the document.
  48297. (WebCore::Element::setAttributeMap): Ditto.
  48298. * dom/EventTargetNode.cpp:
  48299. (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent): Added a call to
  48300. incDOMTreeVersion here; covers most cases of tree structure changes.
  48301. * dom/Node.cpp:
  48302. (WebCore::Node::attach): Remove call to incDOMTreeVersion -- creating a renderer
  48303. has nothing to do with changes to the DOM tree!
  48304. (WebCore::Node::detach): Ditto.
  48305. * html/HTMLFormElement.cpp:
  48306. (WebCore::HTMLFormElement::registerFormElement): Remove call to incDOMTreeVersion.
  48307. This is handled at a lower level and doesn't need to be here.
  48308. (WebCore::HTMLFormElement::removeFormElement): Ditto.
  48309. 2007-12-31 Henry Mason <hmason@mac.com>
  48310. Reviewed by Darin.
  48311. Patch for http://bugs.webkit.org/show_bug.cgi?id=14994
  48312. Support for MessageEvent and cross-domain messaging
  48313. Test: http/tests/messaging/cross-domain-message-send.html
  48314. * DerivedSources.make:
  48315. * WebCore.pro:
  48316. * WebCore.vcproj/WebCore.vcproj:
  48317. * WebCore.xcodeproj/project.pbxproj:
  48318. * WebCoreSources.bkl:
  48319. * bindings/js/JSDOMWindowCustom.cpp:
  48320. (WebCore::JSDOMWindow::customGetOwnPropertySlot): Allow cross-domain access to the
  48321. postMessage function.
  48322. (WebCore::JSDOMWindow::postMessage):
  48323. * bindings/js/JSEventCustom.cpp:
  48324. (WebCore::toJS):
  48325. * dom/Event.cpp:
  48326. (WebCore::Event::isMessageEvent):
  48327. * dom/Event.h:
  48328. * dom/EventNames.h: New event name
  48329. * dom/MessageEvent.cpp: Added.
  48330. * dom/MessageEvent.h: Added.
  48331. * dom/MessageEvent.idl: Added.
  48332. * page/DOMWindow.cpp:
  48333. (WebCore::DOMWindow::postMessage): Added.
  48334. * page/DOMWindow.h:
  48335. * page/DOMWindow.idl:
  48336. 2007-12-31 Darin Adler <darin@apple.com>
  48337. Suggested by Antti.
  48338. - turn ENABLE_VIDEO back off for Windows until we can install QuickTime on the build bots
  48339. * WebCore.vcproj/WebCore.vcproj: Removed ENABLE_VIDEO.
  48340. * WebCore.vcproj/build-generated-files.sh: Ditto.
  48341. 2007-12-30 Alp Toker <alp@atoker.com>
  48342. Reviewed by Dan Bernstein.
  48343. Silence warning.
  48344. * dom/NodeList.h:
  48345. 2007-12-30 Sam Weinig <sam@webkit.org>
  48346. Reviewed by Oliver Hunt.
  48347. Fix for http://bugs.webkit.org/show_bug.cgi?id=16387
  48348. Variable names can be enumerated across domains
  48349. <rdar://problem/5640454>
  48350. Test: http/tests/security/cross-frame-access-enumeration.html
  48351. * bindings/js/kjs_window.cpp:
  48352. (KJS::Window::getPropertyNames): Override method to test same-origin policy.
  48353. * bindings/js/kjs_window.h:
  48354. 2007-12-30 Sam Weinig <sam@webkit.org>
  48355. Reviewed by Oliver Hunt.
  48356. Patch for http://bugs.webkit.org/show_bug.cgi?id=10686
  48357. event instanceof MouseEvent throws exception
  48358. Add JS constructors for all the Event types.
  48359. Test: fast/events/event-instanceof.html
  48360. * WebCore.xcodeproj/project.pbxproj:
  48361. * dom/KeyboardEvent.idl:
  48362. * dom/MouseEvent.idl:
  48363. * dom/MutationEvent.idl:
  48364. * dom/OverflowEvent.idl:
  48365. * dom/ProgressEvent.idl:
  48366. * dom/TextEvent.idl:
  48367. * dom/UIEvent.idl:
  48368. * dom/WheelEvent.idl:
  48369. * page/DOMWindow.idl:
  48370. 2007-12-30 David Kilzer <ddkilzer@webkit.org>
  48371. Reviewed by Darin.
  48372. - fix http://bugs.webkit.org/show_bug.cgi?id=15359
  48373. JPEG image not shown when height is specified as percentage inside a table
  48374. The problem occurs when a replaced element (image, canvas, etc.) with
  48375. a percent-height attribute is contained by a table cell with an auto-
  48376. or percent-height attribute. If there are no other conditions to cause
  48377. the table cell's height to expand, an available height of zero will
  48378. always be returned. In these cases, the intrinsic height of the
  48379. replaced element should be used if it is greater than the available
  48380. height of the table cell.
  48381. Tests: fast/replaced/table-percent-height.html
  48382. tables/mozilla/bugs/bug137388-1.html
  48383. tables/mozilla/bugs/bug137388-2.html
  48384. * rendering/RenderBox.cpp:
  48385. (WebCore::RenderBox::calcReplacedHeightUsing):
  48386. 2007-12-30 Luca Bruno <lethalman88@gmail.com>
  48387. Reviewed by Alp Toker.
  48388. http://bugs.webkit.org/show_bug.cgi?id=16099
  48389. Crash in CURL for empty POST
  48390. We have to set POST even when the data is empty, otherwise cURL will
  48391. hang while waiting for a response.
  48392. * platform/network/curl/ResourceHandleManager.cpp
  48393. (ResourceHandleManager::setupPOST): allow empty POST
  48394. 2007-12-29 Jan Michael Alonzo <jmalonzo@unpluggable.com>
  48395. Reviewed by Alp Toker.
  48396. Move all SVG related stuff inside SVG block. Don't include
  48397. SVGNames, SVGElementFactory, and XLinkNames when SVG is not
  48398. enabled
  48399. * GNUmakefile.am:
  48400. 2007-12-29 Alexey Proskuryakov <ap@webkit.org>
  48401. Reviewed by Darin.
  48402. http://bugs.webkit.org/show_bug.cgi?id=14428
  48403. FCKEditor: Images disappear on drag/drop and copy/paste
  48404. Test: editing/pasteboard/drag-image-in-about-blank-frame.html
  48405. * editing/markup.cpp: (WebCore::createFragmentFromMarkup): Don't use "about:blank" as a
  48406. base URL, just like we don't use an empty one.
  48407. 2007-12-29 Jan Michael Alonzo <jmalonzo@unpluggable.com>
  48408. Reviewed by Alp Toker.
  48409. http://bugs.webkit.org/show_bug.cgi?id=16669
  48410. autotools update and fixes
  48411. Autotools update and database/icon database inclusion guard fixes
  48412. * GNUmakefile.am:
  48413. - Update autotools config as per -r29012 changes
  48414. - Fix CSSGrammar.h/cpp generation (Seo Sanghyeon, sanxiyn)
  48415. * dom/Document.cpp:
  48416. * loader/icon/IconDatabase.h:
  48417. * page/DOMWindow.cpp:
  48418. * page/InspectorController.cpp:
  48419. * page/Settings.cpp:
  48420. * storage/Database.h:
  48421. - Remove ENABLE(DATABASE) inclusion guard. Let the includer add the guard instead.
  48422. 2007-12-29 Nikolas Zimmermann <zimmermann@kde.org>
  48423. Reviewed by Alexey.
  48424. Respect horiz-origin-x / horiz-origin-y / vert-origin-x / vert-origin-y properties when drawing SVG Fonts.
  48425. (Fixes fonts-elem-05-t.svg in a --svg-fonts build)
  48426. * svg/SVGFont.cpp:
  48427. (WebCore::Font::drawGlyphsWithSVGFont):
  48428. 2007-12-29 Nikolas Zimmermann <zimmermann@kde.org>
  48429. Reviewed by Oliver.
  48430. Further SVG Font work. Parse all <glyph> attributes, using SVGGlyphElement::buildGlyphIdentifier.
  48431. SVGFontElement::collectGlyphs() now uses this method. Per character advance values work well now.
  48432. * platform/graphics/FontData.cpp:
  48433. (WebCore::SVGFontData::convertEmUnitToPixel): Add helper function.
  48434. (WebCore::FontData::ascent):
  48435. (WebCore::FontData::descent):
  48436. * platform/graphics/FontData.h:
  48437. * svg/SVGFont.cpp:
  48438. (WebCore::isVerticalWritingMode): Add helper function.
  48439. (WebCore::Font::drawGlyphsWithSVGFont):
  48440. * svg/SVGFontElement.cpp:
  48441. (WebCore::SVGFontElement::collectGlyphs): Simplified implementation - SVGGlyphIdentifier now build by SVGGlyphElement.
  48442. * svg/SVGGlyphElement.cpp:
  48443. (WebCore::parseArabicForm): Helper function.
  48444. (WebCore::parseOrientation): Ditto.
  48445. (WebCore::parsePathData): Ditto.
  48446. (WebCore::SVGGlyphElement::buildGlyphIdentifier):
  48447. * svg/SVGGlyphElement.h:
  48448. (WebCore::SVGGlyphElement::rendererIsNeeded):
  48449. 2007-12-29 Nikolas Zimmermann <zimmermann@kde.org>
  48450. Reviewed by Oliver.
  48451. Refactor SVGAnimationElement::parseValues into a generic function parseDelimitedString.
  48452. SVGAnimationElement needs to parse semicolon-seperated strings, SVGGlyphElement comma-seperated.
  48453. * svg/SVGAnimationElement.cpp:
  48454. (WebCore::SVGAnimationElement::parseMappedAttribute):
  48455. * svg/SVGParserUtilities.cpp:
  48456. (WebCore::parseDelimitedString):
  48457. * svg/SVGParserUtilities.h:
  48458. 2007-12-29 Nikolas Zimmermann <zimmermann@kde.org>
  48459. Reviewed by Maciej.
  48460. Add new helper structure SVGFontData - FontData holds this object as OwnPtr.
  48461. Store several attribute values there (horiz-adv-x, horiz-origin-x etc..)
  48462. To optimize for the common case ('FontData' used for HTML rendering) it feels
  48463. better to hold one OwnPtr in FontData, than several floats.
  48464. Parse all <font> attributes in SVGFontFaceElement::createFontData.
  48465. * platform/graphics/FontData.cpp:
  48466. (WebCore::SVGFontData::SVGFontData):
  48467. (WebCore::FontData::FontData):
  48468. (WebCore::FontData::ascent):
  48469. (WebCore::FontData::descent):
  48470. * platform/graphics/FontData.h:
  48471. (WebCore::FontData::isSVGFont):
  48472. (WebCore::FontData::svgFontData):
  48473. * svg/SVGFont.cpp:
  48474. (WebCore::Font::drawGlyphsWithSVGFont):
  48475. * svg/SVGFontElement.cpp:
  48476. * svg/SVGFontElement.h:
  48477. (WebCore::SVGFontElement::rendererIsNeeded):
  48478. * svg/SVGFontFaceElement.cpp:
  48479. (WebCore::SVGFontFaceElement::unitsPerEm):
  48480. (WebCore::SVGFontFaceElement::createFontData):
  48481. 2007-12-28 Darin Adler <darin@apple.com>
  48482. - try to fix Windows and WX builds (broken by SVG Fonts check-in)
  48483. * platform/graphics/win/FontWin.cpp:
  48484. (WebCore::Font::drawGlyphs): Pass font size to FontData::ascent, now that it requires it.
  48485. I can't see how it can be right to require the font size for ascent and descent,
  48486. but not for other metrics functions in FontData.
  48487. * platform/graphics/wx/FontWx.cpp:
  48488. (WebCore::Font::drawGlyphs): Pass font size to FontData::ascent and FontData::descent.
  48489. 2007-12-28 Dan Bernstein <mitz@apple.com>
  48490. Reviewed by Mark Rowe.
  48491. - fix http://bugs.webkit.org/show_bug.cgi?id=16650
  48492. <rdar://problem/5664872> REGRESSION (r28278-r28314): ATSUI uses LTR writing direction for all text runs
  48493. Covered by existing pixel tests.
  48494. * platform/graphics/mac/FontMac.mm:
  48495. (WebCore::Font::drawComplexText): Corrected to maintain the style
  48496. information in the adjusted text run when passing it to
  48497. ATSUILayoutParameters. Prior to r28298 the style was passed separately.
  48498. 2007-12-29 Nikolas Zimmermann <zimmermann@kde.org>
  48499. Build fix, not reviewed.
  48500. Add wtf/OwnPtr.h include, to fix --svg-fonts build.
  48501. * css/SVGCSSFontFace.h:
  48502. 2007-12-29 Nikolas Zimmermann <zimmermann@kde.org>
  48503. Reviewed by Eric.
  48504. Fixes: http://bugs.webkit.org/show_bug.cgi?id=10649 (WebKit SVG needs SVG Fonts support)
  48505. Begin implementation of SVG Fonts module. Basic documents using SVG Fonts already work.
  48506. Only local, in-document fonts who declare their glyphs using the <glyph d="..."> path syntax
  48507. are supported. (<glyph> containing arbitary SVG content as child elements, not supported yet).
  48508. Limited to single char <-> glyph mapping, no ligatures supported yet.
  48509. (ie. <glyph unicode='A'/> <glyph unicode='AB'/> - it ignores the 'AB' glyph definition for now)
  48510. Mark all SVG Font related classes & usages in ENABLE(SVG_FONTS) blocks.
  48511. No layout test changes for a --no-svg-fonts build, heavy changes if enabled. Because a lot of SVG Font
  48512. attributes are not processed yet, the rendering looks wrong - hence disabled by default.)
  48513. * DerivedSources.make: Add SVGFontElement/SVGGlyphElement/SVGMissingGlyphElement
  48514. * WebCore.pro: Updated build system.
  48515. * WebCore.vcproj/WebCore.vcproj: Ditto.
  48516. * WebCore.xcodeproj/project.pbxproj: Ditto.
  48517. * bindings/js/JSSVGElementWrapperFactory.cpp: Add JSSVGFontElement/JSSVGGlyphElement/JSSVGMissingGlyphElement
  48518. * bindings/objc/DOM.mm: Ditto (for DOMSVG*).
  48519. (WebCore::createElementClassMap):
  48520. * bindings/objc/DOMInternal.h: Ditto.
  48521. * bindings/objc/DOMSVG.h: Ditto.
  48522. * css/CSSFontFace.h: Mark three functions 'virtual', to be overriden by SVGCSSFontFace
  48523. * css/CSSFontFaceSrcValue.h: Add functionality to identify as SVG CSS font face source.
  48524. (WebCore::CSSFontFaceSrcValue::m_fontFaceElement): Hold a pointer to the font face which created it.
  48525. (WebCore::CSSFontFaceSrcValue::svgFontFaceElement):
  48526. (WebCore::CSSFontFaceSrcValue::setSVGFontFaceElement):
  48527. * css/CSSFontSelector.cpp: Build 'SVGCSSFontFace' objects for local, in-document SVG fonts.
  48528. (WebCore::CSSFontSelector::addFontFaceRule):
  48529. * css/SVGCSSFontFace.cpp: Added. (Simplified implementation for SVG Fonts)
  48530. (WebCore::SVGCSSFontFace::SVGCSSFontFace):
  48531. (WebCore::SVGCSSFontFace::~SVGCSSFontFace):
  48532. (WebCore::SVGCSSFontFace::isValid):
  48533. (WebCore::SVGCSSFontFace::addSource):
  48534. (WebCore::SVGCSSFontFace::getFontData):
  48535. * css/SVGCSSFontFace.h: Added.
  48536. * platform/graphics/cg/PathCG.cpp:
  48537. (WebCore::Path::closeSubpath): Silence a CG warning when calling closeSubpath() on empty path.
  48538. * platform/graphics/Font.cpp: Add some logic to call into SVG Font code when operating on SVG Fonts.
  48539. (WebCore::Font::ascent): Pass font size to FontData::ascent() call
  48540. (WebCore::Font::descent): Pass font size to FontData::descent() call
  48541. (WebCore::Font::canUseGlyphCache): Always return true for SVG fonts here.
  48542. (WebCore::Font::drawGlyphBuffer): Call drawGlyphsWithSVGFont (instead of drawGlyphs) if the primary font is a SVG font.
  48543. * platform/graphics/Font.h: Add (SVG-only!) ability to store a RenderObject pointer, to the element which invoked the drawText() call.
  48544. (WebCore::TextRun::TextRun):
  48545. (WebCore::TextRun::referencingRenderObject):
  48546. (WebCore::TextRun::setReferencingRenderObject):
  48547. * platform/graphics/FontData.cpp:
  48548. (WebCore::FontData::FontData):
  48549. (WebCore::FontData::ascent):
  48550. (WebCore::FontData::descent):
  48551. * platform/graphics/FontData.h: Store a pointer to the SVGFontFaceElement, which created this FontData object - needed for drawGlyphsWithSVGFont().
  48552. (WebCore::FontData::isSVGFont): Offer a way to determine wheter this is a FontData object, created by a SVGFontFaceElement.
  48553. (WebCore::FontData::svgFontFace):
  48554. * rendering/SVGInlineTextBox.cpp:
  48555. (WebCore::SVGInlineTextBox::calculateGlyphWidth): Add assertion.
  48556. * rendering/SVGRootInlineBox.cpp:
  48557. (WebCore::svgTextRunForInlineTextBox): Always call 'setReferencingRenderObject(myRenderSVGText)' on the new TextRun
  48558. * svg/SVGFont.cpp: Added.
  48559. (WebCore::Font::drawGlyphsWithSVGFont): Outsourced implementation of SVG Fonts into it's own file.
  48560. * svg/SVGFontElement.cpp: Added. (Note: this holds the GlyphHashMap which associates certain <glyph> objects with unicode values)
  48561. (WebCore::SVGFontElement::SVGFontElement):
  48562. (WebCore::SVGFontElement::~SVGFontElement):
  48563. (WebCore::SVGFontElement::parseMappedAttribute):
  48564. (WebCore::SVGFontElement::collectGlyphs):
  48565. (WebCore::SVGFontElement::glyphIdentifierForGlyphCode):
  48566. * svg/SVGFontElement.h: Added.
  48567. (WebCore::GlyphHash::hash):
  48568. (WebCore::GlyphHash::equal):
  48569. (WebCore::GlyphHashTraits::deletedValue):
  48570. (WebCore::SVGFontElement::rendererIsNeeded):
  48571. (WebCore::SVGFontElement::contextElement):
  48572. * svg/SVGFontElement.idl: Added.
  48573. * svg/SVGFontFaceElement.cpp: Build SVG specific 'FontData' object
  48574. (WebCore::SVGFontFaceElement::unitsPerEm):
  48575. (WebCore::SVGFontFaceElement::fontFamily):
  48576. (WebCore::SVGFontFaceElement::createFontData): Builds SVG specified 'FontData' object with the markup specified ascent/descent values etc..
  48577. (WebCore::SVGFontFaceElement::rebuildFontFace): Construct CSSFontFaceSrc object (marked as 'isSVGFontFaceSrc') to satisfy CSSFontSelector::addFontFaceRule.
  48578. (WebCore::SVGFontFaceElement::insertedIntoDocument): Rebuild font face.
  48579. (WebCore::SVGFontFaceElement::glyphIdentifierForGlyphCode): Allows drawGlyphsWithSVGFont to access the glyph hash map living in the SVGFontElement.
  48580. * svg/SVGFontFaceElement.h: Fixed code formatting issues & wrap in ENABLE(SVG_FONTS) blocks.
  48581. * svg/SVGFontFaceElement.idl: Ditto.
  48582. * svg/SVGFontFaceFormatElement.cpp: Ditto.
  48583. * svg/SVGFontFaceFormatElement.h: Ditto.
  48584. * svg/SVGFontFaceFormatElement.idl: Ditto.
  48585. * svg/SVGFontFaceNameElement.cpp: Ditto.
  48586. * svg/SVGFontFaceNameElement.h: Ditto.
  48587. * svg/SVGFontFaceNameElement.idl: Ditto.
  48588. * svg/SVGFontFaceSrcElement.cpp: Ditto.
  48589. * svg/SVGFontFaceSrcElement.h: Ditto.
  48590. * svg/SVGFontFaceSrcElement.idl: Ditto.
  48591. * svg/SVGFontFaceUriElement.cpp: Ditto.
  48592. * svg/SVGFontFaceUriElement.h: Ditto.
  48593. * svg/SVGFontFaceUriElement.idl: Ditto.
  48594. * svg/SVGDefinitionSrcElement.cpp: Ditto.
  48595. * svg/SVGDefinitionSrcElement.h: Ditto.
  48596. * svg/SVGDefinitionSrcElement.idl: Ditto.
  48597. * svg/SVGGlyphElement.cpp: Added.
  48598. (WebCore::SVGGlyphElement::SVGGlyphElement):
  48599. (WebCore::SVGGlyphElement::parseMappedAttribute):
  48600. (WebCore::SVGGlyphElement::childrenChanged):
  48601. * svg/SVGGlyphElement.h: Added.
  48602. (WebCore::SVGGlyphElement::rendererIsNeeded):
  48603. (WebCore::SVGGlyphIdentifier::): Structure holding all data to represent a SVG glyph (origin, advance, orientation etc..)
  48604. (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
  48605. * svg/SVGGlyphElement.idl: Added.
  48606. * svg/SVGMissingGlyphElement.cpp: Added. (stub implementation)
  48607. (WebCore::SVGMissingGlyphElement::SVGMissingGlyphElement):
  48608. (WebCore::SVGMissingGlyphElement::parseMappedAttribute):
  48609. (WebCore::SVGMissingGlyphElement::childrenChanged):
  48610. * svg/SVGMissingGlyphElement.h: Added.
  48611. (WebCore::SVGMissingGlyphElement::rendererIsNeeded):
  48612. * svg/SVGMissingGlyphElement.idl: Added.
  48613. * svg/svgtags.in: Wrap all SVGFont* elements in ENABLE(SVG_FONTS) block - to assure --no-svg-fonts compilation works (which is the default for now!).
  48614. 2007-12-27 Dan Bernstein <mitz@apple.com>
  48615. Reviewed by Alexey Proskuryakov.
  48616. - fix http://bugs.webkit.org/show_bug.cgi?id=16628
  48617. ASSERTION FAILED: m_resizeLayer (running layout tests)
  48618. * rendering/RenderLayer.cpp:
  48619. (WebCore::RenderLayer::~RenderLayer): Avoid calling
  48620. EventHandler::resizeLayerDestroyed() if the document is being destroyed.
  48621. 2007-12-27 Dan Bernstein <mitz@apple.com>
  48622. Reviewed by Oliver Hunt.
  48623. - fix http://bugs.webkit.org/show_bug.cgi?id=16603
  48624. <rdar://problem/5664199> Crash when resizing text field
  48625. Test: fast/layers/resize-layer-deletion-crash.html
  48626. The event handler has only a weak reference to the layer that is
  48627. currently in resize mode, so it is the layer's responsibility to let
  48628. the event handler know if it has been destroyed while in that mode.
  48629. * page/EventHandler.cpp:
  48630. (WebCore::EventHandler::resizeLayerDestroyed): Added. Resets
  48631. m_resizeLayer to 0.
  48632. * page/EventHandler.h:
  48633. * rendering/RenderLayer.cpp:
  48634. (WebCore::RenderLayer::~RenderLayer): Added a call to
  48635. EventHandler::resizeLayerDestroyed() if the layer is in resize mode.
  48636. 2007-12-27 Collin Jackson <webkit@collinjackson.com>
  48637. Reviewed by Sam Weinig.
  48638. http://bugs.webkit.org/show_bug.cgi?id=16539
  48639. <rdar://problem/5659269>
  48640. The same-origin check was missing in the implementation of
  48641. setTimeout, setInterval, addEventListener, and removeEventListener.
  48642. Suppose <http://www.badguy.com/> contains an iframe to
  48643. <http://www.goodguy.com/>. Now www.badguy.com can steal
  48644. www.goodguy.com cookies by running this code:
  48645. setTimeout.call(frames[0], "alert(document.cookie)", 1000);
  48646. This patch changes the behavior so that setTimeout to does
  48647. nothing and returns an undefined value if the caller is not
  48648. permitted to script the window whose setTimeout method is being
  48649. called. The same applies to setInterval, addEventListener, and
  48650. removeEventListener.
  48651. Tests: http/tests/security/cross-frame-access-call.html
  48652. * bindings/js/kjs_window.cpp:
  48653. (KJS::WindowProtoFuncSetTimeout::callAsFunction)
  48654. (KJS::WindowProtoFuncSetInterval::callAsFunction)
  48655. (KJS::WindowProtoFuncAddEventListener::callAsFunction)
  48656. (KJS::WindowProtoFuncRemoveEventListener::callAsFunction)
  48657. 2007-12-27 Dan Bernstein <mitz@apple.com>
  48658. Reviewed by Dave Hyatt and Sam Weinig.
  48659. - fix <rdar://problem/5605937> Inspector: Disclosure triangle not drawn in node's properties panel until click
  48660. Test: fast/layers/add-layer-with-nested-stacking.html
  48661. Test: fast/layers/remove-layer-with-nested-stacking.html
  48662. * rendering/RenderLayer.cpp:
  48663. (WebCore::RenderLayer::addChild): If the new child is overflow-only
  48664. but has children of its own, dirty the stacking context's z-order lists
  48665. since the grandchildren might need to be in them.
  48666. (WebCore::RenderLayer::removeChild): Similarly for the old child.
  48667. 2007-12-27 Jan Michael Alonzo <jmalonzo@unpluggable.com>
  48668. Reviewed by Alp Toker.
  48669. http://bugs.webkit.org/show_bug.cgi?id=16353
  48670. [GTK] Check for deprecated API use (G_DISABLE_DEPRECATED etc.)
  48671. Added the flags mentioned in the bug only when doing 'debug'
  48672. builds. -DGST_DISABLE_DEPRECATED only added when video is enabled.
  48673. * GNUmakefile.am:
  48674. * WebCore.pro:
  48675. 2007-12-27 Dan Bernstein <mitz@apple.com>
  48676. Reviewed by Eric Seidel.
  48677. - fix http://bugs.webkit.org/show_bug.cgi?id=16490
  48678. ASSERT in ~FrameView while viewing/reloading WICD test case
  48679. Test: fast/dynamic/paused-event-dispatch.html
  48680. * page/FrameView.cpp:
  48681. (WebCore::FrameView::~FrameView):
  48682. (WebCore::FrameView::layout): Changed to always pause event dispatch and
  48683. always resume event dispatch, regardless of whether the post-layout
  48684. task timer is active. However, if it is active, assert that event
  48685. dispatch is still paused.
  48686. 2007-12-27 Alexey Proskuryakov <ap@webkit.org>
  48687. Reviewed by Maciej.
  48688. http://bugs.webkit.org/show_bug.cgi?id=14500
  48689. need to be more generous about charset declaration with meta tag
  48690. http://bugs.webkit.org/show_bug.cgi?id=12526
  48691. <rdar://problem/4867183> Safari ignores encoding description "charset=Shift_JIS" in invalid html
  48692. <rdar://problem/4892428> Unlike other browsers, WebKit ignores <meta> charset definitions outside the head
  48693. <rdar://problem/5643774> REGRESSION: Text is garbled when clicking a link inside an Arabic website
  48694. Tests: fast/encoding/ahram-org-eg.html
  48695. fast/encoding/bandai-co-jp-releases.html
  48696. fast/encoding/floraexpress-ru.html
  48697. fast/encoding/hanarei-blog32-fc2-com.html
  48698. fast/encoding/yahoo-mail.html
  48699. * loader/TextResourceDecoder.cpp:
  48700. (WebCore::TextResourceDecoder::checkForHeadCharset): Don't stop looking for <meta> until we've
  48701. seen at least 512 bytes of input.
  48702. 2007-12-26 Jan Michael Alonzo <jmalonzo@unpluggable.com>
  48703. Reviewed by Alp Toker.
  48704. http://bugs.webkit.org/show_bug.cgi?id=16390
  48705. Use autotools or GNU make as the build system for the GTK port
  48706. * GNUmakefile.am: Added.
  48707. 2007-12-26 Alexey Proskuryakov <ap@webkit.org>
  48708. Reviewed by Sam Weinig.
  48709. http://bugs.webkit.org/show_bug.cgi?id=16609
  48710. Make manual-tests/xmlhttprequest-contenttype-empty.html test automatic
  48711. * manual-tests/xmlhttprequest-contenttype-empty.html: Removed (moved to LayoutTests/http).
  48712. 2007-12-26 Mark Rowe <mrowe@apple.com>
  48713. Windows build fix.
  48714. * platform/Threading.h:
  48715. 2007-12-25 Rob Buis <buis@kde.org>
  48716. Reviewed by Eric.
  48717. http://bugs.webkit.org/show_bug.cgi?id=15514
  48718. <clipPath> with <use> not respected
  48719. http://bugs.webkit.org/show_bug.cgi?id=16557
  48720. SVG circle elements have been clipped away completely, instead of partially.
  48721. Add toClipPath to get clip path data for the clipping paths. Implement it for <use>, thereby allowing clip paths using use.
  48722. * svg/SVGClipPathElement.cpp:
  48723. (WebCore::SVGClipPathElement::canvasResource):
  48724. * svg/SVGStyledTransformableElement.h:
  48725. (WebCore::SVGStyledTransformableElement::toClipPath):
  48726. * svg/SVGUseElement.cpp:
  48727. (WebCore::isDirectReference):
  48728. (WebCore::SVGUseElement::toClipPath):
  48729. * svg/SVGUseElement.h:
  48730. 2007-12-25 Sam Weinig <sam@webkit.org>
  48731. Reviewed by Eric Seidel.
  48732. Clean up the files relating to NodeLists.
  48733. * dom/ChildNodeList.cpp:
  48734. (WebCore::ChildNodeList::ChildNodeList):
  48735. (WebCore::ChildNodeList::length):
  48736. (WebCore::ChildNodeList::item):
  48737. (WebCore::ChildNodeList::nodeMatches):
  48738. * dom/ChildNodeList.h:
  48739. * dom/DynamicNodeList.cpp:
  48740. (WebCore::DynamicNodeList::itemForwardsFromCurrent):
  48741. (WebCore::DynamicNodeList::itemBackwardsFromCurrent):
  48742. (WebCore::DynamicNodeList::itemWithName):
  48743. * dom/DynamicNodeList.h:
  48744. (WebCore::DynamicNodeList::needsNotifications):
  48745. * dom/NameNodeList.cpp:
  48746. (WebCore::NameNodeList::NameNodeList):
  48747. (WebCore::NameNodeList::rootNodeAttributeChanged):
  48748. (WebCore::NameNodeList::nodeMatches):
  48749. * dom/NameNodeList.h:
  48750. * dom/NodeList.h:
  48751. * dom/SelectorNodeList.h:
  48752. 2007-12-25 Sam Weinig <sam@webkit.org>
  48753. Fix non-mac builds.
  48754. * WebCore.pro:
  48755. * WebCore.vcproj/WebCore.vcproj:
  48756. * WebCoreSources.bkl:
  48757. 2007-12-25 Sam Weinig <sam@webkit.org>
  48758. Rubber stamped by Eric Seidel.
  48759. Move TagNodeList into its own file.
  48760. * WebCore.xcodeproj/project.pbxproj:
  48761. * dom/Node.cpp:
  48762. * dom/TagNodeList.cpp: Copied from dom/Node.cpp.
  48763. (WebCore::TagNodeList::TagNodeList):
  48764. * dom/TagNodeList.h: Copied from dom/Node.cpp.
  48765. 2007-12-25 Sam Weinig <sam@webkit.org>
  48766. Reviewed by Eric Seidel.
  48767. Simplify the NodeList architecture.
  48768. - Rename recursiveItem() to item(), since it is not recursive.
  48769. - Make recursiveLength() iterative and rename to length().
  48770. - Remove now unneeded overrides of item() and length() that used
  48771. to call the recursive variants.
  48772. * dom/ClassNodeList.cpp:
  48773. * dom/ClassNodeList.h:
  48774. * dom/DynamicNodeList.cpp:
  48775. (WebCore::DynamicNodeList::length):
  48776. (WebCore::DynamicNodeList::item):
  48777. (WebCore::DynamicNodeList::rootNodeAttributeChanged): Move implementation
  48778. into the .cpp file since virtual methods can't be inlined.
  48779. * dom/DynamicNodeList.h:
  48780. * dom/NameNodeList.cpp:
  48781. * dom/NameNodeList.h:
  48782. * dom/Node.cpp:
  48783. 2007-12-25 Alp Toker <alp@atoker.com>
  48784. More complete GTK+/Qt/Wx/Win build fixes for breakage introduced in
  48785. r28981.
  48786. * WebCore.pro:
  48787. * WebCore.vcproj/WebCore.vcproj:
  48788. * WebCoreSources.bkl:
  48789. 2007-12-25 Alp Toker <alp@atoker.com>
  48790. Win build fix for breakage introduced in r28981.
  48791. * WebCore.vcproj/WebCore.vcproj:
  48792. 2007-12-25 Alp Toker <alp@atoker.com>
  48793. Wx build fix for breakage introduced in r28981.
  48794. * WebCoreSources.bkl:
  48795. 2007-12-25 Alp Toker <alp@atoker.com>
  48796. GTK+/Qt build fix for breakage introduced in r28981.
  48797. * WebCore.pro:
  48798. 2007-12-25 David Smith <catfish.man@gmail.com> and Sam Weinig <sam@webkit.org>
  48799. Reviewed by Oliver.
  48800. - http://bugs.webkit.org/show_bug.cgi?id=16587
  48801. Implement the most useful part of the W3C Selectors API.
  48802. * WebCore.xcodeproj/project.pbxproj:
  48803. * css/CSSStyleSelector.h: Make Node a friend of CSSStyleSelector so it can use checkSelector()
  48804. * dom/ChildNodeList.cpp:
  48805. (WebCore::ChildNodeList::ChildNodeList): Change to being a DynamicNodeList
  48806. * dom/ChildNodeList.h:
  48807. * dom/ClassNodeList.cpp:
  48808. (WebCore::ClassNodeList::ClassNodeList): Change to being a DynamicNodeList
  48809. * dom/ClassNodeList.h:
  48810. * dom/Document.idl: Add the new functions
  48811. * dom/DynamicNodeList.cpp: Copied from WebCore/dom/NodeList.cpp.
  48812. (WebCore::DynamicNodeList::DynamicNodeList): Rename NodeList to DynamicNodeList, to differentiate it from the new StaticNodeList
  48813. (WebCore::DynamicNodeList::~DynamicNodeList):
  48814. (WebCore::DynamicNodeList::recursiveLength):
  48815. (WebCore::DynamicNodeList::itemForwardsFromCurrent):
  48816. (WebCore::DynamicNodeList::itemBackwardsFromCurrent):
  48817. (WebCore::DynamicNodeList::recursiveItem):
  48818. (WebCore::DynamicNodeList::itemWithName):
  48819. (WebCore::DynamicNodeList::rootNodeChildrenChanged):
  48820. (WebCore::DynamicNodeList::Caches::Caches):
  48821. (WebCore::DynamicNodeList::Caches::reset):
  48822. * dom/DynamicNodeList.h: Copied from WebCore/dom/NodeList.h.
  48823. (WebCore::DynamicNodeList::rootNodeAttributeChanged):
  48824. * dom/Element.idl: Add the new functions
  48825. * dom/NameNodeList.cpp: Change to being a DynamicNodeList
  48826. (WebCore::NameNodeList::NameNodeList):
  48827. * dom/NameNodeList.h:
  48828. (WebCore::NameNodeList::rootNodeAttributeChanged):
  48829. * dom/Node.cpp:
  48830. (WebCore::TagNodeList::TagNodeList): Change to being a DynamicNodeList
  48831. (WebCore::Node::registerDynamicNodeList):
  48832. (WebCore::Node::unregisterDynamicNodeList):
  48833. (WebCore::Node::getElementsByName):
  48834. (WebCore::Node::getElementsByClassName):
  48835. (WebCore::Node::querySelector): new
  48836. (WebCore::Node::querySelectorAll): new
  48837. * dom/Node.h:
  48838. * dom/NodeList.cpp: Removed.
  48839. * dom/NodeList.h: This is now an abstract superclass of DynamicNodeList and StaticNodeList
  48840. (WebCore::NodeList::NodeList):
  48841. (WebCore::NodeList::~NodeList):
  48842. * dom/SelectorNodeList.cpp: Added.
  48843. (WebCore::SelectorNodeList::SelectorNodeList): New StaticNodeList subclass that filters elements by CSS selector
  48844. * dom/SelectorNodeList.h: Added.
  48845. * dom/StaticNodeList.cpp: Added.
  48846. (WebCore::StaticNodeList::length):
  48847. (WebCore::StaticNodeList::item):
  48848. (WebCore::StaticNodeList::itemWithName):
  48849. * dom/StaticNodeList.h: Added.
  48850. (WebCore::StaticNodeList::StaticNodeList):
  48851. (WebCore::StaticNodeList::~StaticNodeList):
  48852. 2007-12-25 Mark Rowe <mrowe@apple.com>
  48853. Reviewed by Sam Weinig.
  48854. Implement a lock-free ThreadSafeShared for i386, x86_64, ppc and ppc64.
  48855. http://bugs.webkit.org/show_bug.cgi?id=16596
  48856. This is a 1.7x as fast as the lock-based implementation on x86 for a single-threaded use
  48857. of ThreadSafeShared but is closer to 280x as fast when there is heavy concurrent multi-threaded
  48858. access to a single ThreadSafeShared object.
  48859. The atomic operations are based on those used by the Boost C++ library's shared_ptr implementation.
  48860. * platform/Threading.h:
  48861. (WebCore::atomicIncrement):
  48862. (WebCore::atomicDecrement):
  48863. (WebCore::ThreadSafeShared::ThreadSafeShared):
  48864. (WebCore::ThreadSafeShared::ref): Use lock-free operations if available.
  48865. (WebCore::ThreadSafeShared::deref): Ditto.
  48866. (WebCore::ThreadSafeShared::hasOneRef):
  48867. (WebCore::ThreadSafeShared::refCount):
  48868. (WebCore::ThreadSafeShared::isThreadSafe):
  48869. 2007-12-24 Darin Adler <darin@apple.com>
  48870. * platform/text/PlatformString.h: Removed now-incorrect comment.
  48871. Added a comment about copy().
  48872. * platform/text/StringImpl.h: Added a comment about copy().
  48873. 2007-12-24 Darin Adler <darin@apple.com>
  48874. Reviewed by Maciej.
  48875. - http://bugs.webkit.org/show_bug.cgi?id=16550
  48876. make StringImpl immutable
  48877. I tried to keep the changes to a minimum. In some cases there is
  48878. room for optimization -- I didn't try to add in the "single ref count"
  48879. optimizations and there might be a tiny bit more string copying than
  48880. we had before.
  48881. * WebCore.base.exp: Updated.
  48882. * dom/CharacterData.cpp:
  48883. (WebCore::CharacterData::appendData): Changed to use String since
  48884. StringImpl doesn't have mutating functions any more.
  48885. (WebCore::CharacterData::insertData): Ditto.
  48886. (WebCore::CharacterData::deleteData): Ditto.
  48887. (WebCore::CharacterData::replaceData): Ditto.
  48888. * dom/Text.cpp:
  48889. (WebCore::Text::splitText): Changed to use substring instead of
  48890. remove since StringImpl does't have mutating functions any more.
  48891. * editing/CompositeEditCommand.cpp:
  48892. (WebCore::CompositeEditCommand::deleteInsignificantText): Changed
  48893. to use String instead of StringImpl so we can use remove.
  48894. * platform/text/PlatformString.h: Removed newUninitialized.
  48895. Added append that takes a character pointer and length.
  48896. * platform/text/String.cpp:
  48897. (WebCore::String::insert): Added an implementation that does not
  48898. rely on an underlying StringImpl function.
  48899. (WebCore::String::append): Ditto.
  48900. (WebCore::String::truncate): Ditto.
  48901. (WebCore::String::remove): Ditto.
  48902. (WebCore::String::charactersWithNullTermination): Added an
  48903. implementation that uses the new StringImpl null termination feature,
  48904. which does not require modifying a string.
  48905. * platform/text/StringImpl.cpp:
  48906. (WebCore::isSpace): Fix comment.
  48907. (WebCore::StringImpl::StringImpl): Added a new constructor that makes
  48908. a string with a trailing null character.
  48909. (WebCore::StringImpl::substring): Marked const.
  48910. (WebCore::StringImpl::replace): Marked const; had to add quite a few
  48911. const_cast. Also rewrote one of these to work without modifying the
  48912. existing string.
  48913. * platform/text/StringImpl.h: Fixed a mistake where the empty string had
  48914. m_hasTerminatingNullCharacter uninitialized. Added a type and constructor
  48915. for creating strings that have a trailing null character. Added a
  48916. hasTerminatingNullCharacter function. Removed newUninitialized,
  48917. charactersWithNullTermination, append, insert, truncate, and remove.
  48918. Marked lots of other functions const.
  48919. * platform/text/TextCodecLatin1.cpp:
  48920. (WebCore::TextCodecLatin1::decode): Rewrote to use a Vector instead of
  48921. newUninitialized.
  48922. * platform/text/TextCodecUTF16.cpp:
  48923. (WebCore::TextCodecUTF16::decode): Ditto.
  48924. * platform/text/TextCodecUserDefined.cpp:
  48925. (WebCore::TextCodecUserDefined::decode): Ditto.
  48926. * rendering/RenderStyle.cpp:
  48927. (WebCore::RenderStyle::setContent): Changed to use String since
  48928. StringImpl doesn't have mutating functions any more.
  48929. 2007-12-24 Alexey Proskuryakov <ap@webkit.org>
  48930. Reviewed by Oliver.
  48931. Fix fast/events/arrow-keys-on-body.html, failing on Windows.
  48932. * platform/win/KeyEventWin.cpp:
  48933. (WebCore::isKeypadEvent):
  48934. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
  48935. Use HIWORD() macro instead of shifting the value explicitly (no change in behavior).
  48936. 2007-12-23 Alexey Proskuryakov <ap@webkit.org>
  48937. Fix Debug and Release QTMovieWin bulds.
  48938. * WebCore.vcproj/QTMovieWin.vcproj:
  48939. * WebCore.vcproj/debug.vsprops:
  48940. * WebCore.vcproj/debug_internal.vsprops:
  48941. * WebCore.vcproj/release.vsprops:
  48942. Use LibraryConfigSuffix instead of WebKitConfigSuffix for pthreadVC2.
  48943. Build release import lib into \lib, not \bin.
  48944. 2007-12-23 Alp Toker <alp@atoker.com>
  48945. Reviewed by Holger Freyther.
  48946. http://bugs.webkit.org/show_bug.cgi?id=15382
  48947. [CAIRO] Canvas pattern support
  48948. http://bugs.webkit.org/show_bug.cgi?id=16577
  48949. Merge Cairo enhancements from Apollo project
  48950. Add support for canvas patterns.
  48951. Make Image::nativeImageForCurrentFrame() public.
  48952. Fix some typos along the way.
  48953. The globalAlpha canvas fixes are not included in this patch as
  48954. they're slightly more intrusive and may conflict conceptually with
  48955. GraphicsContext::setAlpha().
  48956. * html/CanvasPattern.cpp:
  48957. (WebCore::CanvasPattern::CanvasPattern):
  48958. (WebCore::CanvasPattern::~CanvasPattern):
  48959. (WebCore::CanvasPattern::createPattern):
  48960. * html/CanvasPattern.h:
  48961. (WebCore::CanvasPattern::platformImage):
  48962. * html/CanvasRenderingContext2D.cpp:
  48963. (WebCore::CanvasRenderingContext2D::setShadow):
  48964. (WebCore::CanvasRenderingContext2D::applyShadow):
  48965. (WebCore::CanvasRenderingContext2D::drawImage):
  48966. (WebCore::CanvasRenderingContext2D::createPattern):
  48967. (WebCore::CanvasRenderingContext2D::applyStrokePattern):
  48968. (WebCore::CanvasRenderingContext2D::applyFillPattern):
  48969. * platform/graphics/Image.h:
  48970. (WebCore::Image::nativeImageForCurrentFrame):
  48971. 2007-12-23 Kevin Ollivier <kevino@theolliviers.com>
  48972. Reviewed by Eric Seidel.
  48973. Remove getWxBitmap as we have nativeImageForCurrentFrame now,
  48974. and don't draw a border in fillRect.
  48975. * platform/graphics/BitmapImage.h:
  48976. * platform/graphics/wx/GraphicsContextWx.cpp:
  48977. (WebCore::GraphicsContext::fillRect):
  48978. * platform/graphics/wx/ImageWx.cpp:
  48979. 2007-12-23 Alp Toker <alp@atoker.com>
  48980. Reviewed by Holger Freyther.
  48981. http://bugs.webkit.org/show_bug.cgi?id=16577
  48982. Merge Cairo enhancements from Apollo project
  48983. This patch is based on initial merging work by Brent Fulgham. Adobe's
  48984. code has been modified in a few places to better suit the existing
  48985. coding style.
  48986. Implement more clipping and drawing functions.
  48987. Save and restore the fill rule manually when clipping.
  48988. Avoid image surface creation when the image buffer has height zero.
  48989. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  48990. (WebCore::GraphicsContext::clip):
  48991. (WebCore::GraphicsContext::addInnerRoundedRectClip):
  48992. (WebCore::GraphicsContext::addPath):
  48993. (WebCore::GraphicsContext::clipOut):
  48994. (WebCore::GraphicsContext::clipOutEllipseInRect):
  48995. (WebCore::GraphicsContext::fillRoundedRect):
  48996. * platform/graphics/cairo/ImageSourceCairo.cpp:
  48997. (WebCore::ImageSource::createFrameAtIndex):
  48998. 2007-12-23 Nikolas Zimmermann <zimmermann@kde.org>
  48999. Reviewed by Mark.
  49000. Fix wrong placed ifdef - wrapping SVGDefsElement, instead of SVGDefinitionSrcElement in SVG_FONTS block.
  49001. * bindings/objc/DOM.mm:
  49002. (WebCore::createElementClassMap):
  49003. 2007-12-22 Alp Toker <alp@atoker.com>
  49004. GTK+ build fix
  49005. GTK_TARGET_OTHER_APP is not available in older GTK+ versions. Pass
  49006. empty target flags for now.
  49007. Check GTK+, not GLib versions, since they are different.
  49008. * platform/gtk/PasteboardGtk.cpp:
  49009. (WebCore::Pasteboard::documentFragment):
  49010. 2007-12-22 Luca Bruno <lethalman88@gmail.com>
  49011. Reviewed by Alp Toker.
  49012. http://bugs.webkit.org/show_bug.cgi?id=16311
  49013. [Gtk] Copy rich text to clipboard as text/plain and text/html.
  49014. Hook into the WebView to get the correct clipboard object on the
  49015. appropriate display. This is necessary because GTK+ does not have
  49016. global clipboards.
  49017. * WebCore.pro:
  49018. * platform/Pasteboard.h:
  49019. (WebCore::Pasteboard::setHelper): added for GTK
  49020. (WebCore::Pasteboard::m_helper): private added for GTK
  49021. * platform/gtk/PasteboardGtk.cpp:
  49022. (WebCore::PasteboardSelectionData): added to support GTK selection data callback
  49023. (WebCore::clipboard_get_contents_cb): added
  49024. (WebCore::clipboard_clear_contents_cb): added
  49025. (WebCore::Pasteboard::~Pasteboard):
  49026. (WebCore::Pasteboard::setHelper):
  49027. (WebCore::Pasteboard::writeSelection): copy rich text
  49028. (WebCore::Pasteboard::documentFragment):
  49029. (WebCore::Pasteboard::plainText):
  49030. * platform/gtk/PasteboardHelper.h: Added.
  49031. 2007-12-22 Nikolas Zimmermann <zimmermann@kde.org>
  49032. Reviewed by Oliver.
  49033. Fixes: http://bugs.webkit.org/show_bug.cgi?id=15966 (Crash in SVGRootInlineBox::walkTextChunks() on mouse hover)
  49034. Add new isSVGRootInlineBox() function to InlineBox to be able to differentiate between RootInlineBox/SVGRootInlineBox.
  49035. SVG assumed it's root inline box (for <text> elements) is always of type SVGRootInlineBox, which is not the case
  49036. for HTML text in <foreignObject>. Text selection doesn't work so far as line box offsets are wrong - which is visible
  49037. in Web Inspector.
  49038. * rendering/InlineBox.h:
  49039. (WebCore::InlineBox::isSVGRootInlineBox):
  49040. * rendering/SVGInlineTextBox.cpp:
  49041. (WebCore::SVGInlineTextBox::svgRootInlineBox):
  49042. (WebCore::SVGInlineTextBox::closestCharacterToPosition):
  49043. (WebCore::SVGInlineTextBox::selectionRect):
  49044. * rendering/SVGRenderTreeAsText.cpp:
  49045. (WebCore::writeSVGInlineTextBox):
  49046. * rendering/SVGRootInlineBox.h:
  49047. (WebCore::SVGRootInlineBox::isSVGRootInlineBox):
  49048. 2007-12-22 Alp Toker <alp@atoker.com>
  49049. LOW_BANDWIDTH_DISPLAY build fix
  49050. Track recent KURL DeprecatedString changes.
  49051. * loader/FrameLoader.cpp:
  49052. (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
  49053. 2007-12-22 Dan Bernstein <mitz@apple.com>
  49054. - Windows build fix
  49055. * WebCore.vcproj/WebCore.vcproj:
  49056. 2007-12-22 Xan Lopez <xan@gnome.org>
  49057. Reviewed by Alp Toker.
  49058. Add missing return 0 to fix a compile warning.
  49059. * page/gtk/FrameGtk.cpp:
  49060. (WebCore::Frame::createScriptInstanceForWidget):
  49061. 2007-12-21 Antti Koivisto <antti@apple.com>
  49062. Reviewed by Darin, Adam and Steve.
  49063. Add media playback support for Windows.
  49064. The implementation uses low level QuickTime API. DLL is
  49065. needed to work around CF use in both WebKit and QuickTime.
  49066. This makes Windows build depend on the QuickTime SDK
  49067. http://developer.apple.com/quicktime/download/
  49068. but not QuickTime itself.
  49069. QTMovieWinTimer contains some copy code from SharedTimerWin. It
  49070. is used in the QuickTime access DLL which can't use WebCore
  49071. SharedTimer due to dependency problems.
  49072. * WebCore.vcproj/QTMovieWin.vcproj: Added.
  49073. * WebCore.vcproj/WebCore.vcproj:
  49074. * WebCore.vcproj/build-generated-files.sh:
  49075. * html/HTMLMediaElement.cpp:
  49076. (WebCore::HTMLMediaElement::setSrc):
  49077. * platform/graphics/MediaPlayer.cpp:
  49078. * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: Added.
  49079. (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
  49080. (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
  49081. (WebCore::MediaPlayerPrivate::load):
  49082. (WebCore::MediaPlayerPrivate::play):
  49083. (WebCore::MediaPlayerPrivate::pause):
  49084. (WebCore::MediaPlayerPrivate::duration):
  49085. (WebCore::MediaPlayerPrivate::currentTime):
  49086. (WebCore::MediaPlayerPrivate::seek):
  49087. (WebCore::MediaPlayerPrivate::doSeek):
  49088. (WebCore::MediaPlayerPrivate::cancelSeek):
  49089. (WebCore::MediaPlayerPrivate::seekTimerFired):
  49090. (WebCore::MediaPlayerPrivate::setEndTime):
  49091. (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
  49092. (WebCore::MediaPlayerPrivate::endPointTimerFired):
  49093. (WebCore::MediaPlayerPrivate::paused):
  49094. (WebCore::MediaPlayerPrivate::seeking):
  49095. (WebCore::MediaPlayerPrivate::naturalSize):
  49096. (WebCore::MediaPlayerPrivate::hasVideo):
  49097. (WebCore::MediaPlayerPrivate::setVolume):
  49098. (WebCore::MediaPlayerPrivate::setMuted):
  49099. (WebCore::MediaPlayerPrivate::setRate):
  49100. (WebCore::MediaPlayerPrivate::dataRate):
  49101. (WebCore::MediaPlayerPrivate::maxTimeBuffered):
  49102. (WebCore::MediaPlayerPrivate::maxTimeSeekable):
  49103. (WebCore::MediaPlayerPrivate::maxTimeLoaded):
  49104. (WebCore::MediaPlayerPrivate::bytesLoaded):
  49105. (WebCore::MediaPlayerPrivate::totalBytesKnown):
  49106. (WebCore::MediaPlayerPrivate::totalBytes):
  49107. (WebCore::MediaPlayerPrivate::cancelLoad):
  49108. (WebCore::MediaPlayerPrivate::updateStates):
  49109. (WebCore::MediaPlayerPrivate::didEnd):
  49110. (WebCore::MediaPlayerPrivate::setRect):
  49111. (WebCore::MediaPlayerPrivate::setVisible):
  49112. (WebCore::MediaPlayerPrivate::paint):
  49113. (WebCore::MediaPlayerPrivate::getSupportedTypes):
  49114. (WebCore::MediaPlayerPrivate::movieEnded):
  49115. (WebCore::MediaPlayerPrivate::movieLoadStateChanged):
  49116. (WebCore::MediaPlayerPrivate::movieTimeChanged):
  49117. (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
  49118. * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: Added.
  49119. (WebCore::MediaPlayerPrivate::networkState):
  49120. (WebCore::MediaPlayerPrivate::readyState):
  49121. * platform/graphics/win/QTMovieWin.cpp: Added.
  49122. (updateTaskTimer):
  49123. (QTMovieWinPrivate::QTMovieWinPrivate):
  49124. (QTMovieWinPrivate::~QTMovieWinPrivate):
  49125. (taskTimerFired):
  49126. (QTMovieWinPrivate::startTask):
  49127. (QTMovieWinPrivate::endTask):
  49128. (QTMovieWinPrivate::task):
  49129. (QTMovieWinPrivate::registerDrawingCallback):
  49130. (QTMovieWinPrivate::drawingComplete):
  49131. (QTMovieWinPrivate::createGWorld):
  49132. (QTMovieWinPrivate::setSize):
  49133. (QTMovieWinPrivate::deleteGWorld):
  49134. (QTMovieWin::QTMovieWin):
  49135. (QTMovieWin::~QTMovieWin):
  49136. (QTMovieWin::play):
  49137. (QTMovieWin::pause):
  49138. (QTMovieWin::rate):
  49139. (QTMovieWin::setRate):
  49140. (QTMovieWin::duration):
  49141. (QTMovieWin::currentTime):
  49142. (QTMovieWin::setCurrentTime):
  49143. (QTMovieWin::setVolume):
  49144. (QTMovieWin::setMuted):
  49145. (QTMovieWin::dataSize):
  49146. (QTMovieWin::maxTimeLoaded):
  49147. (QTMovieWin::loadState):
  49148. (QTMovieWin::getNaturalSize):
  49149. (QTMovieWin::setSize):
  49150. (QTMovieWin::setVisible):
  49151. (QTMovieWin::paint):
  49152. (QTMovieWin::load):
  49153. (movieDrawingCompleteProc):
  49154. (initializeSupportedTypes):
  49155. (QTMovieWin::countSupportedTypes):
  49156. (QTMovieWin::getSupportedType):
  49157. (QTMovieWin::initializeQuickTime):
  49158. (DllMain):
  49159. * platform/graphics/win/QTMovieWin.h: Added.
  49160. * platform/graphics/win/QTMovieWinTimer.cpp: Added.
  49161. (TimerWindowWndProc):
  49162. (initializeOffScreenTimerWindow):
  49163. (setSharedTimerFiredFunction):
  49164. (timerFired):
  49165. (setSharedTimerFireDelay):
  49166. (stopSharedTimer):
  49167. (setSharedTimerInstanceHandle):
  49168. (systemTime):
  49169. * platform/graphics/win/QTMovieWinTimer.h: Added.
  49170. * rendering/RenderMedia.cpp:
  49171. (WebCore::MediaControlPlayButtonElement::update):
  49172. 2007-12-21 Brent Fulgham <bfulgham@gmail.com>
  49173. Reviewed by Alp Toker.
  49174. http://bugs.webkit.org/show_bug.cgi?id=16558
  49175. Cairo WebCore Rendering Fails on arc drawing
  49176. Fix for bug reported (and patched) by Apollo team in which
  49177. arcs were draw in reverse (resulting in inverted images).
  49178. Review of the source found that the 'clockwise' term was
  49179. actually meant to mean 'anticlockwise' so the IDL and
  49180. supporting classes have been changed to match this.
  49181. * html/CanvasRenderingContext2D.cpp:
  49182. (WebCore::CanvasRenderingContext2D::arc):
  49183. * html/CanvasRenderingContext2D.idl:
  49184. * platform/graphics/cairo/PathCairo.cpp:
  49185. (WebCore::Path::addArc):
  49186. (WebCore::Path::addEllipse):
  49187. * platform/graphics/Path.h:
  49188. 2007-12-21 Alexey Proskuryakov <ap@webkit.org>
  49189. Reviewed by Oliver.
  49190. <rdar://problem/5629995> Incorrect display of Danish characters on web site.
  49191. Test: http/tests/xmlhttprequest/response-encoding.html
  49192. * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didReceiveData):
  49193. Default to UTF-8 for HTML, too. It's unfortunate that we have to use different
  49194. rules for main content and XHR responses, but this matches both IE and Firefox.
  49195. 2007-12-20 Jon Honeycutt <jhoneycutt@apple.com>
  49196. Reviewed by Kevin Decker.
  49197. <rdar://problem/5655797> REGRESSION(304-306A10) Safari does not find
  49198. shockwave plugin on freshly installed OS
  49199. Look for Director plugin in its native directory.
  49200. * plugins/win/PluginDatabaseWin.cpp:
  49201. (WebCore::PluginDatabaseWin::getPluginsInPaths): The Director plugin
  49202. doesn't start with "np," so special case its filename.
  49203. (WebCore::addMacromediaPluginPaths): Add Flash and "Shockwave 10"
  49204. directories to the plugin paths.
  49205. (WebCore::PluginDatabaseWin::defaultPluginPaths):
  49206. 2007-12-20 Peter Kasting <pkasting@google.com>
  49207. Reviewed by Alp Toker.
  49208. http://bugs.webkit.org/show_bug.cgi?id=16508
  49209. Fix regression in GIFImageDecoder.cpp: "Haeberli hack" led to wrongly
  49210. decoded transparent areas.
  49211. * platform/image-decoders/gif/GIFImageDecoder.cpp:
  49212. (WebCore::GIFImageDecoder::haveDecodedRow):
  49213. * platform/image-decoders/gif/GIFImageDecoder.h:
  49214. * platform/image-decoders/gif/GIFImageReader.cpp:
  49215. (GIFImageReader::output_row):
  49216. 2007-12-20 Justin Garcia <justin.garcia@apple.com>
  49217. Reviewed by Oliver Hunt.
  49218. <rdar://problem/5543472> GoogleDocs: Safari hangs when creating a list from a particular selection
  49219. Still need to fix similar issues with the other operations that iterate
  49220. over selected paragraphs, like FormatBlock, Indent and Outdent (<rdar://problem/5658933>).
  49221. * editing/IndentOutdentCommand.cpp:
  49222. (WebCore::IndentOutdentCommand::indentRegion): Added a FIXME.
  49223. * editing/IndentOutdentCommand.h: Removed an unused function.
  49224. * editing/InsertListCommand.cpp:
  49225. (WebCore::InsertListCommand::modifyRange):
  49226. Renamed visibleStart to startOfSelection and visibleEnd to endOfSelection.
  49227. Call the new selectionForParagraphIteration, which a) prevents operations like this
  49228. one from being performed on a table that isn't fully selected (where the selection
  49229. starts just before the table and ends inside it), and b) helps prevent paragraph
  49230. iteration from going past the end of the selection.
  49231. Call the new startOfNextParagraph, instead of using endOfParagraph(v).next(),
  49232. since when v is in the last paragraph of the last cell of a table, that expression
  49233. will return the position after the table, not the start of the next paragraph.
  49234. * editing/htmlediting.cpp:
  49235. (WebCore::enclosingListChild): Don't go above a table cell, so that list operations
  49236. take effect inside the table cell where they are performed.
  49237. (WebCore::selectionForParagraphIteration): Added, see above.
  49238. (WebCore::indexForVisiblePosition): Moved from IndentOutdentCommand.cpp.
  49239. * editing/htmlediting.h:
  49240. * editing/visible_units.cpp:
  49241. (WebCore::startOfNextParagraph): Added, see above.
  49242. * editing/visible_units.h:
  49243. * editing/TextIterator.h:
  49244. (WebCore::TextIterator::exitNode): Added a FIXME.
  49245. 2007-12-20 Alp Toker <alp@atoker.com>
  49246. Rubber-stamped by Maciej.
  49247. http://bugs.webkit.org/show_bug.cgi?id=16542
  49248. [GTK] Text is missing with old Pango version
  49249. Back out commits r28880, r28876, r28865, r28864 which added Pango font
  49250. selection support. These changes caused a regression where no text was
  49251. displayed with older Pango versions.
  49252. * platform/graphics/gtk/FontCacheGtk.cpp:
  49253. (WebCore::FontCache::fontExists):
  49254. * platform/graphics/gtk/FontDataGtk.cpp:
  49255. (WebCore::FontData::platformDestroy):
  49256. (WebCore::FontData::containsCharacters):
  49257. * platform/graphics/gtk/FontPlatformData.h:
  49258. (WebCore::FontPlatformData::FontPlatformData):
  49259. (WebCore::FontPlatformData::hash):
  49260. * platform/graphics/gtk/FontPlatformDataGtk.cpp:
  49261. (WebCore::FontPlatformData::FontPlatformData):
  49262. (WebCore::FontPlatformData::init):
  49263. (WebCore::FontPlatformData::~FontPlatformData):
  49264. (WebCore::FontPlatformData::isFixedPitch):
  49265. (WebCore::FontPlatformData::operator==):
  49266. * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp:
  49267. (WebCore::GlyphPage::fill):
  49268. 2007-12-20 Timothy Hatcher <timothy@apple.com>
  49269. Reviewed by Sam Weinig.
  49270. <rdar://problem/5604897> Double-clicking on JavaScript console error
  49271. won't show the line where it occurred
  49272. Make the URLs clickable in the console, since double clicking is used for
  49273. word text selection. Makes the word "line" localizable. Messages that don't
  49274. have a URL will no longer print "undefined". Messages that have a line number
  49275. less than or equal to 0 will no longer be printed.
  49276. * English.lproj/InspectorLocalizedStrings.js: Add "%s (line %d)".
  49277. * page/inspector/ConsolePanel.js: Tweak how the DOM nodes are created
  49278. and change the click handler to look for a link with the
  49279. "console-message-url" class name.
  49280. * page/inspector/SourcePanel.js: Call setupSourceFrameIfNeeded() if a
  49281. line row is needed.
  49282. * page/inspector/inspector.css: Update the look of the URL in the console.
  49283. 2007-12-20 Adam Barth <hk9565@gmail.com>
  49284. Reviewed and landed by Sam Weinig.
  49285. http://bugs.webkit.org/show_bug.cgi?id=15313
  49286. <rdar://problem/5514516>
  49287. The same-origin check was incorrect in two cases (both fixed in this
  49288. patch):
  49289. A) If both the source and the target have set their document.domain
  49290. to the same value, the protocol must also match in order for
  49291. access to be allowed. Without this requirement, the browser is
  49292. vulnerable to the following attack:
  49293. 1) Suppose there is an HTTPS site (www.example.com) that sets
  49294. document.domain = "example.com".
  49295. 2) A network attacker redirects the browser to http://www.example.com/
  49296. a) injects script to set document.domain = "example.com", and
  49297. b) opens a window to https://www.example.com/
  49298. 3) Now the network attacker can inject script into the HTTPS page,
  49299. stealing cookies and issuing banking transactions.
  49300. B) If only one of the source and target has set document.domain, then
  49301. access should be denied. With this behavior, the browser is
  49302. vulnerable to the following attack:
  49303. 1) Suppose http://foo.example.com/ opens an iframe to
  49304. http://foo.example.com/frame.html that
  49305. a) sets document.domain = "example.com", and
  49306. b) opens an iframe to http://bar.example.com/
  49307. This is a common usage of document.domain for cross-domain
  49308. communication, see for example:
  49309. http://www.collinjackson.com/research/papers/fp801-jackson.pdf
  49310. 2) The inner-most iframe, which is from bar.example.com, sets
  49311. document.domain = "example.com".
  49312. 3) Now the inner-most iframe can inject script into the middle
  49313. iframe (say via document.write). This bar.example.com script
  49314. now has access to the outer-most frame (from foo.example.com).
  49315. Both these changes cause WebKit to match the behavior of Firefox 2 and
  49316. IE6 in these cases. This patch includes regression tests for both
  49317. issues.
  49318. Internet Explorer 7 and Opera 9 are more strict in that they require
  49319. the port numbers to match when both pages have document.domain set.
  49320. Opera 9 allows access when only one page has set document.domain, but
  49321. this is a security vulnerability.
  49322. Tests: http/tests/security/cross-frame-access-child-explicit-domain.html
  49323. http/tests/security/cross-frame-access-parent-explicit-domain.html
  49324. * bindings/js/kjs_window.cpp:
  49325. (KJS::createWindow):
  49326. (KJS::Window::allowsAccessFrom):
  49327. * dom/Document.cpp:
  49328. (WebCore::Document::domain):
  49329. (WebCore::Document::setDomain):
  49330. (WebCore::Document::initSecurityOrigin):
  49331. * dom/Document.h:
  49332. (WebCore::Document::securityOrigin):
  49333. * loader/FrameLoader.cpp:
  49334. (WebCore::FrameLoader::begin):
  49335. (WebCore::FrameLoader::checkCallImplicitClose):
  49336. (WebCore::FrameLoader::shouldAllowNavigation):
  49337. * platform/SecurityOrigin.cpp:
  49338. (WebCore::SecurityOrigin::setForURL):
  49339. (WebCore::SecurityOrigin::createForFrame):
  49340. (WebCore::SecurityOrigin::canAccess):
  49341. * platform/SecurityOrigin.h:
  49342. (WebCore::SecurityOrigin::domain):
  49343. * storage/Database.cpp:
  49344. (WebCore::Database::openDatabase):
  49345. (WebCore::Database::Database):
  49346. (WebCore::Database::securityOriginData):
  49347. * storage/Database.h:
  49348. (WebCore::Database::databaseDebugName):
  49349. * storage/DatabaseTracker.cpp:
  49350. (WebCore::DatabaseTracker::canEstablishDatabase):
  49351. * storage/SQLTransaction.cpp:
  49352. (WebCore::SQLTransaction::postflightAndCommit):
  49353. (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
  49354. 2007-12-20 Rodney Dawes <dobey@wayofthemonkey.com>
  49355. Reviewed by Darin Adler.
  49356. Define XP_UNIX when building with plugins on X11.
  49357. Use new npruntime_internal.h instead of npruntime.h.
  49358. http://bugs.webkit.org/show_bug.cgi?id=15669
  49359. * ForwardingHeaders/bindings/npruntime_internal.h
  49360. * WebCore.pro:
  49361. * html/HTMLPlugInElement.h:
  49362. 2007-12-19 johnnyding.webkit <johnnyding.webkit@gmail.com>
  49363. Reviewed by Alexey. Landed by Stephanie.
  49364. - fix http://bugs.webkit.org/show_bug.cgi?id=16179 | <rdar://problem/5619399>
  49365. Any attribute name start with a unicode which like #xx00(x could be any hex number[0-9a-f]) will cause HTMLTokenizer parse error
  49366. Actually any unicode characters which great than 255 in attribute name will cause Webkit parse the attribute name wrong. So after comparing
  49367. the same scenario in IE 6/7, FireFox 2/3, Opera, we should treat those characters as part of attribute name.
  49368. * html/HTMLTokenizer.cpp:
  49369. (WebCore::HTMLTokenizer::parseEntity): Handle Unicode Entity Name by using ASCII version of findEntity.
  49370. (WebCore::HTMLTokenizer::parseTag): Let type of ptr match type of cBuffer.
  49371. * html/HTMLTokenizer.h: Change type of cBuffer from char to UChar.
  49372. 2007-12-20 Eric Seidel <eric@webkit.org>
  49373. Reviewed by Nikolas Zimmermann.
  49374. WebKit claims to support SVG feature strings it shouldn't
  49375. http://bugs.webkit.org/show_bug.cgi?id=15480
  49376. * dom/DOMImplementation.cpp:
  49377. (WebCore::isSVG10Feature):
  49378. (WebCore::isSVG11Feature):
  49379. 2007-12-20 John Sullivan <sullivan@apple.com>
  49380. Reviewed by Oliver and Geoff
  49381. - fix <rdar://problem/5536858> Yellow highlight for find results is sometimes shorter
  49382. than white "hole" behind it
  49383. * rendering/RenderText.cpp:
  49384. (WebCore::RenderText::addLineBoxRects):
  49385. respect useSelectionHeight in all cases; we were only respecting it in one of the two cases
  49386. 2007-12-20 Dan Bernstein <mitz@apple.com>
  49387. Reviewed by Darin Adler.
  49388. - fix <rdar://problem/5656368> REGRESSION(3.0.4-ToT): Acid2 test fails to render anything
  49389. * platform/win/ScrollViewWin.cpp:
  49390. (WebCore::ScrollView::maximumScroll): Changed back to return the maximum
  49391. scroll offsets even if scrolling is not allowed, because navigation and
  49392. scrollTo should still work.
  49393. (WebCore::ScrollView::wheelEvent): Added early return if scrolling is
  49394. not allowed.
  49395. 2007-12-17 Tony Chang <idealisms@gmail.com>
  49396. Reviewed by Darin.
  49397. - Fix for http://bugs.webkit.org/show_bug.cgi?id=16479
  49398. text selection does not always begin at mouse down point
  49399. Reset the m_dragSrc object on mouse down on all platforms.
  49400. Test: fast/text/reset-drag-on-mouse-down.html
  49401. * page/EventHandler.cpp:
  49402. (WebCore::EventHandler::handleMousePressEvent):
  49403. * page/mac/EventHandlerMac.mm:
  49404. (WebCore::EventHandler::mouseDown):
  49405. 2007-12-19 Geoffrey Garen <ggaren@apple.com>
  49406. Reviewed by Oliver Hunt.
  49407. Build support:
  49408. * ForwardingHeaders/kjs/SymbolTable.h: Added.
  49409. * ForwardingHeaders/wtf/VectorTraits.h: Added.
  49410. * bindings/js/JSDOMWindowCustom.cpp:
  49411. (WebCore::JSDOMWindow::customGetOwnPropertySlot): Replaced use of
  49412. getDirectLocation with getOwnPropertySlot. getDirectLocation is no
  49413. longer valid, since global declarations are not stored in the property
  49414. map.
  49415. (WebCore::JSDOMWindow::customPut): Replaced use of JSObject::put with
  49416. JSGlobalObject::put. JSObject::put is no longer valid, since global
  49417. declarations are not stored in the property map.
  49418. * bindings/js/kjs_window.cpp: Replaced JSObject:: calls with Base::
  49419. calls, since JSObject is not our base class. This was always a bug, but
  49420. the bug is even more apparent after some of my changes.
  49421. (KJS::Window::clear): Removed call to clearProperties because
  49422. JSGlobalObject::reset takes care of that now.
  49423. * history/CachedPage.cpp:
  49424. * history/CachedPage.h: Added support for saving a symbol table and
  49425. localStorage to the page cache, and restoring it.
  49426. 2007-12-19 Dan Bernstein <mitz@apple.com>
  49427. Reviewed by Darin Adler and Dave Hyatt.
  49428. - Substitute the user's preferred standard font for an unknown primary
  49429. font before falling back on the platform's last resort font
  49430. Cannot be tested in DumpRenderTree because it sets the standard font to
  49431. Times, which is also the hard-coded last resort font on Mac.
  49432. * css/CSSFontSelector.cpp:
  49433. (WebCore::CSSFontSelector::getFontData): Changed the early bail out
  49434. condition to allow getting generic font families from settings even if
  49435. there are not @font-face rules. Fixed a typo that mapped fantasy to
  49436. cursive. Added a mapping from -webkit-standard to the standard family.
  49437. * css/CSSStyleSelector.cpp:
  49438. (WebCore::CSSStyleSelector::CSSStyleSelector): Changed to always create
  49439. a font selector.
  49440. (WebCore::CSSRuleSet::addRulesFromSheet):
  49441. (WebCore::CSSStyleSelector::applyProperty): Changed to always use the
  49442. font selector.
  49443. * css/CSSStyleSelector.h:
  49444. (WebCore::CSSStyleSelector::fontSelector):
  49445. * platform/graphics/FontCache.cpp:
  49446. (WebCore::FontCache::getFontData): Try the user's preferred standard
  49447. font before the platform's last resort font.
  49448. 2007-12-19 Sven Herzberg <sven@imendio.com>
  49449. Reviewed by Alp Toker.
  49450. Scaled font destruction takes place in FontData::platformDestroy(). No
  49451. need to do it in FontPlatformData::~FontPlatformData().
  49452. Destroying platform data in platformDestroy() is a convention we
  49453. borrow from the Mac and Win ports.
  49454. * platform/graphics/gtk/FontPlatformDataGtk.cpp:
  49455. 2007-12-19 Alice Liu <alice.liu@apple.com>
  49456. build fix (Windows)
  49457. Changed uint to unsigned int. uint caused Windows build breakage
  49458. * page/Page.cpp:
  49459. (WebCore::Page::markAllMatchesForText):
  49460. * page/Page.h:
  49461. 2007-12-19 Christian Dywan <christian@twotoasts.de>
  49462. Reviewed by Alp Toker.
  49463. http://bugs.webkit.org/show_bug.cgi?id=16222
  49464. [GTK] Implement inline search and highlighting of matching strings.
  49465. Implement search and highlighting logic directly in WebCore.
  49466. * page/Page.cpp:
  49467. (WebCore::incrementFrame):
  49468. (WebCore::Page::findString):
  49469. (WebCore::Page::markAllMatchesForText):
  49470. (WebCore::Page::unmarkAllTextMatches):
  49471. * page/Page.h:
  49472. 2007-12-19 Geoffrey Garen <ggaren@apple.com>
  49473. Reviewed by Sam Weinig, Dan Bernstein.
  49474. Tiger build fix: restored some graphics code still needed on Tiger.
  49475. * platform/graphics/GraphicsTypes.h:
  49476. * platform/graphics/cg/GraphicsContextCG.cpp:
  49477. * platform/graphics/mac/GraphicsContextMac.mm:
  49478. (WebCore::GraphicsContext::setCompositeOperation):
  49479. 2007-12-19 Alp Toker <alp@atoker.com>
  49480. Build fix for Pango < 1.18.0 breakage introduced in r28864. Use Fc and
  49481. the Pango backend API in these cases.
  49482. * platform/graphics/gtk/FontPlatformDataGtk.cpp:
  49483. (WebCore::FontPlatformData::FontPlatformData):
  49484. (WebCore::FontPlatformData::~FontPlatformData):
  49485. 2007-12-19 Alice Liu <alice.liu@apple.com>
  49486. Reviewed by Darin.
  49487. Fixed <rdar://problem/5592485> Safari crashed trying to get a motorcycle insurance quote
  49488. on Geico.com WebCore::Document::inPageCache()
  49489. Calling Node::willRemove on the focusedNode would immediately tell the document to remove
  49490. the focused node, and trigger JS events. This means that the document is mutated while
  49491. the engine is trying to tell all child nodes that it's about to removed. To avoid
  49492. crashing, we need to hold off on mutating the document until node traversal is finished.
  49493. * dom/ContainerNode.cpp:
  49494. (WebCore::ContainerNode::removeChild):
  49495. (WebCore::ContainerNode::removeChildren):
  49496. * dom/Node.cpp:
  49497. * dom/Node.h:
  49498. (WebCore::Node::willRemove):
  49499. * loader/FrameLoader.cpp:
  49500. (WebCore::FrameLoader::clear):
  49501. 2007-12-19 Andre Boule <aboule@apple.com>
  49502. Reviewed by Dan Bernstein.
  49503. Test: fast/canvas/canvas-composite.html
  49504. Fix for:
  49505. <rdar://problem/5640059> GraphicsContext::setCompositeOperation should use CGContextSetBlendMode
  49506. This fix makes setCompositeOperation consistent across all platforms that use CG.
  49507. The following compositing modes don't pass however that is covered by another bug:
  49508. source-in
  49509. source-out
  49510. destination-in
  49511. destination-atop
  49512. copy
  49513. <rdar://problem/5651783> Some canvas tag compositing modes don't render correctly
  49514. * platform/graphics/GraphicsTypes.h:
  49515. * platform/graphics/cg/GraphicsContextCG.cpp:
  49516. (WebCore::GraphicsContext::setCompositeOperation):
  49517. * platform/graphics/mac/GraphicsContextMac.mm:
  49518. * platform/win/GraphicsContextWin.cpp:
  49519. 2007-12-19 Dan Bernstein <mitz@apple.com>
  49520. Reviewed by Dave Hyatt.
  49521. - fix <rdar://problem/5650045> REGRESSION: major layout problems in svn r28754 WebKit on Vox.com page
  49522. Test: fast/dynamic/subtree-boundary-percent-height.html
  49523. * rendering/RenderObject.cpp:
  49524. (WebCore::objectIsRelayoutBoundary): Do not allow overflows with
  49525. percent heights because sometimes they compute to 'auto'.
  49526. 2007-12-19 Sam Weinig <sam@webkit.org>
  49527. Reviewed by Maciej.
  49528. http://bugs.webkit.org/show_bug.cgi?id=16511
  49529. Speed up ClassNodeList and NamedNodeList by using the caching mechanism employed by ChildNodeList.
  49530. - This give a ~2.15x speedup on the native test @ http://ejohn.org/apps/classname/
  49531. * dom/ChildNodeList.cpp: Use the caching NodeList constructor to turn on caching.
  49532. (WebCore::ChildNodeList::ChildNodeList):
  49533. * dom/ClassNodeList.cpp:
  49534. (WebCore::ClassNodeList::ClassNodeList):
  49535. * dom/ClassNodeList.h:
  49536. Move getElementsByName and getElementsByClassName to Node so they
  49537. can use easily employ the caching already used by ChildNodeLists. In the case of
  49538. getElementsByClassName, this reduces code duplication in Element as well
  49539. * dom/Document.cpp:
  49540. * dom/Document.h:
  49541. Move getElementsByClassName to Node.
  49542. * dom/Element.cpp:
  49543. * dom/Element.h:
  49544. * dom/NameNodeList.cpp: Use the caching NodeList constructor to turn on caching.
  49545. (WebCore::NameNodeList::NameNodeList):
  49546. (WebCore::NameNodeList::item):
  49547. * dom/NameNodeList.h:
  49548. Add maps of caches for ClassNodeLists and NameNodeList to NodeListsNodeData.
  49549. * dom/Node.cpp:
  49550. (WebCore::TagNodeList::TagNodeList):
  49551. (WebCore::Node::Node):
  49552. (WebCore::Node::~Node):
  49553. (WebCore::Node::childNodes):
  49554. (WebCore::Node::registerNodeList):
  49555. (WebCore::Node::getElementsByName):
  49556. (WebCore::Node::getElementsByClassName):
  49557. * dom/Node.h: Make m_nodeLists an OwnPtr. Moved getElementsByName and getElementsByClassName here
  49558. Allow subclasses to choose whether they want to receive the notifications using a new bit.
  49559. * dom/NodeList.cpp:
  49560. (WebCore::NodeList::NodeList):
  49561. * dom/NodeList.h:
  49562. (WebCore::NodeList::needsNotifications):
  49563. 2007-12-19 Dave Hyatt <hyatt@apple.com>
  49564. Add support for GDI text rendering to WebKit.
  49565. Reviewed by mitz
  49566. * css/CSSStyleSelector.cpp:
  49567. (WebCore::CSSStyleSelector::applyProperty):
  49568. * dom/Document.cpp:
  49569. (WebCore::Document::recalcStyle):
  49570. * page/Settings.cpp:
  49571. (WebCore::Settings::setFontRenderingMode):
  49572. (WebCore::Settings::fontRenderingMode):
  49573. * page/Settings.h:
  49574. * platform/graphics/Font.h:
  49575. (WebCore::Font::renderingMode):
  49576. * platform/graphics/FontCache.cpp:
  49577. (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
  49578. (WebCore::FontPlatformDataCacheKey::operator==):
  49579. (WebCore::computeHash):
  49580. (WebCore::FontCache::getCachedFontPlatformData):
  49581. * platform/graphics/FontDescription.h:
  49582. (WebCore::FontDescription::FontDescription):
  49583. (WebCore::FontDescription::renderingMode):
  49584. (WebCore::FontDescription::setRenderingMode):
  49585. (WebCore::FontDescription::operator==):
  49586. * platform/graphics/GraphicsContext.h:
  49587. * platform/graphics/win/FontCacheWin.cpp:
  49588. (WebCore::FontCache::fontExists):
  49589. (WebCore::FontCache::createFontPlatformData):
  49590. * platform/graphics/win/FontDataWin.cpp:
  49591. (WebCore::FontData::platformInit):
  49592. (WebCore::FontData::smallCapsFontData):
  49593. (WebCore::FontData::containsCharacters):
  49594. (WebCore::FontData::determinePitch):
  49595. (WebCore::FontData::platformWidthForGlyph):
  49596. * platform/graphics/win/FontPlatformData.h:
  49597. (WebCore::FontPlatformData::FontPlatformData):
  49598. (WebCore::FontPlatformData::useGDI):
  49599. (WebCore::FontPlatformData::operator==):
  49600. * platform/graphics/win/FontPlatformDataWin.cpp:
  49601. (WebCore::FontPlatformData::FontPlatformData):
  49602. * platform/graphics/win/FontWin.cpp:
  49603. (WebCore::Font::drawGlyphs):
  49604. * platform/graphics/win/IconWin.cpp:
  49605. (WebCore::Icon::paint):
  49606. * platform/win/GraphicsContextWin.cpp:
  49607. (WebCore::GraphicsContext::getWindowsContext):
  49608. (WebCore::GraphicsContext::releaseWindowsContext):
  49609. * platform/win/UniscribeController.cpp:
  49610. (WebCore::UniscribeController::shapeAndPlaceItem):
  49611. * platform/win/UniscribeController.h:
  49612. * plugins/win/PluginViewWin.cpp:
  49613. (WebCore::PluginViewWin::paint):
  49614. 2007-12-19 Sven Herzberg <sven@imendio.com>
  49615. Reviewed by Alp Toker.
  49616. Replace the fontconfig/freetype based font management with a pango
  49617. based one. Fixes:
  49618. http://bugs.webkit.org/show_bug.cgi?id=15229
  49619. * platform/gtk/FontDataGtk.cpp (FontData::platformDestroy()): updated
  49620. the platform specific destroy code
  49621. (FontData::containsCharacters()): implemented font coverage with pango
  49622. * platform/gtk/FontPlatformData.h: replaced fontconfig specific
  49623. members with pango-specific ones
  49624. * platform/gtk/FontPlatformDataGtk.cpp: added static members for the
  49625. FontPlatformData class
  49626. (FontPlatformData::FontPlatformData()): implemented the font-matching
  49627. with a PangoFontDescription instead of an FcPattern; initialize the
  49628. scaled font by using the API for PangoCairoFont
  49629. (FontPlatformData::init()): initialize the PangoFontMap and set up a
  49630. hash table to translate the font family name into a font family
  49631. (FontPlatformData::isFixedPitch()): implemented by querying the
  49632. PangoFontFamily
  49633. (FontPlatformData::operator==): compare the FontPlatformData by
  49634. comparing the font pointers or the described fonts
  49635. * platform/gtk/GlyphPageTreeNodeGtk.cpp (pango_font_get_glyph()):
  49636. added a function to query a glyph from a PangoFont
  49637. (GlyphPage::fill()): implemented the fill function with Pango instead
  49638. of fontconfig/freetype
  49639. 2007-12-19 Alp Toker <alp@atoker.com>
  49640. Reviewed by Holger Freyther.
  49641. Improve graphics operator approximations
  49642. These changes match Cairo's own CG approximations.
  49643. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  49644. (WebCore::toCairoOperator):
  49645. 2007-12-19 Alp Toker <alp@atoker.com>
  49646. Reviewed by Holger Freyther.
  49647. Check the bounding box before doing a full hit test
  49648. * platform/graphics/cairo/PathCairo.cpp:
  49649. (WebCore::Path::contains):
  49650. 2007-12-18 Sam Weinig <sam@webkit.org>
  49651. Reviewed by Geoff.
  49652. Fix for <rdar://problem/5646478>
  49653. REGRESSION: fast/events/event-view-toString fails on Leopard
  49654. This fixes an issue where we were incorrectly setting the lastInPrototypeChain
  49655. for the JSDOMWindow (the global object) before a call to setPrototype overwrote
  49656. it. This fixes it by passing the prototype up the constructor chain so that it
  49657. is set before any calls can be made.
  49658. * bindings/js/kjs_window.cpp:
  49659. (KJS::Window::Window):
  49660. * bindings/js/kjs_window.h:
  49661. * bindings/scripts/CodeGeneratorJS.pm:
  49662. 2007-12-18 Beth Dakin <bdakin@apple.com>
  49663. Reviewed by Oliver.
  49664. Fix for <rdar://problem/5616982> SVGs with width and height 100%
  49665. fail to render when used as <img> or CSS image (16167)
  49666. This final part of the work fixes the <img> tag.
  49667. This is the real fix.
  49668. * rendering/RenderImage.cpp:
  49669. (WebCore::RenderImage::calcReplacedWidth): Set the container size
  49670. on the image. Setting the container size only actually sticks if
  49671. the values are non-zero, so if the container size really was set,
  49672. use the imageSize that is calculated using the container size. If
  49673. it did not stick but the image does have relative width (meaning
  49674. that the container size is 0), set the width to 0 by hand. We want
  49675. to avoid setting the width before we have a container size or we
  49676. will end up incorrectly using the default size of 300x150.
  49677. (WebCore::RenderImage::calcReplacedHeight): Same as above, but for
  49678. height.
  49679. A few more pieces of information have to be exposed through cached
  49680. image to make this happen.
  49681. * loader/CachedImage.cpp:
  49682. (WebCore::CachedImage::usesImageContainerSize): As mentioned above,
  49683. when setContainerSize() is called, the container size is only
  49684. actually set if the values are non-zero. This call tells you if it
  49685. was set.
  49686. (WebCore::CachedImage::imageHasRelativeWidth):
  49687. (WebCore::CachedImage::imageHasRelativeHeight):
  49688. * loader/CachedImage.h:
  49689. * platform/graphics/Image.h:
  49690. (WebCore::Image::usesContainerSize):
  49691. * svg/graphics/SVGImage.cpp:
  49692. (WebCore::SVGImage::usesContainerSize):
  49693. * svg/graphics/SVGImage.h:
  49694. 2007-12-18 Mark Rowe <mrowe@apple.com>
  49695. Rubber-stamped by Maciej Stachowiak.
  49696. Remove outdated and non-functioning project files for the Apollo port.
  49697. * WebCore.apolloproj: Removed.
  49698. 2007-12-18 Steve Falkenburg <sfalken@apple.com>
  49699. <rdar://problem/5649911> REGRESSION (304-306A9): Typing 'p' in popup menu for type-to-select brings up Safari Help
  49700. Need to translate the char back into a key code for posting our WM_KEYDOWN.
  49701. Reviewed by Ada.
  49702. * platform/win/PopupMenuWin.cpp:
  49703. (WebCore::PopupWndProc):
  49704. 2007-12-18 Steve Falkenburg <sfalken@apple.com>
  49705. <rdar://problem/5651534> REGRESSION(r28764-r28765): GDI leak drawing text when no appropriate font is available
  49706. Our captured metafile from Uniscribe may contain multiple calls to CreateFontIndirect.
  49707. Only create a font with the last one.
  49708. Reviewed by Mitz, Darin.
  49709. * platform/graphics/win/FontCacheWin.cpp:
  49710. (WebCore::metaFileEnumProc):
  49711. (WebCore::FontCache::getFontDataForCharacters):
  49712. 2007-12-17 Brent Fulgham <bfulgham@gmail.com>
  49713. Reviewed by Darin.
  49714. http://bugs.webkit.org/show_bug.cgi?id=16464
  49715. Modify WebCore to use win32 thread primitives
  49716. Updates to support native windows threading primitives
  49717. rather than pthreads emulation library.
  49718. * WebCore.vcproj/WebCore.vcproj:
  49719. * config.h:
  49720. * platform/Threading.h:
  49721. * platform/win/MutexWin.cpp: Added.
  49722. (WebCore::Mutex::Mutex):
  49723. (WebCore::Mutex::~Mutex):
  49724. (WebCore::Mutex::lock):
  49725. (WebCore::Mutex::tryLock):
  49726. (WebCore::Mutex::unlock):
  49727. * platform/win/ThreadConditionWin.cpp: Added.
  49728. (WebCore::ThreadCondition::ThreadCondition):
  49729. (WebCore::ThreadCondition::~ThreadCondition):
  49730. (WebCore::ThreadCondition::wait):
  49731. (WebCore::ThreadCondition::signal):
  49732. (WebCore::ThreadCondition::broadcast):
  49733. * platform/win/ThreadingWin.cpp:
  49734. (WebCore::threadMapMutex):
  49735. (WebCore::threadMap):
  49736. (WebCore::storeThreadHandleByIdentifier):
  49737. (WebCore::identifierByThreadHandle):
  49738. (WebCore::threadHandleForIdentifier):
  49739. (WebCore::clearThreadHandleForIdentifier):
  49740. (WebCore::createThread):
  49741. (WebCore::waitForThreadCompletion):
  49742. (WebCore::detachThread):
  49743. (WebCore::currentThread):
  49744. 2007-12-18 Rodney Dawes <dobey@wayofthemonkey.com>
  49745. Reviewed by Darin Adler.
  49746. Handle EINTR when set by select() and try the select() again
  49747. http://bugs.webkit.org/show_bug.cgi?id=16071
  49748. * platform/network/curl/ResourceHandleManager.cpp:
  49749. (ResourceHandleManager::downloadTimerCallback):
  49750. 2007-12-18 Dan Bernstein <mitz@apple.com>
  49751. Reviewed by Dave Hyatt.
  49752. - avoid the simplified Chinese font linking code for characters that are
  49753. not in any Windows code page
  49754. * platform/graphics/win/FontCacheWin.cpp:
  49755. (WebCore::FontCache::getFontDataForCharacters):
  49756. 2007-12-18 Brady Eidson <beidson@apple.com>
  49757. Reviewed by Adele
  49758. <rdar://problem/5525770> REGRESSION: HTTP Auth protected favicon request results in a password sheet
  49759. Some http-auth protected sites have the main resource(s) unprotected, but many subresources are
  49760. protected by authentication. Occasionally one can view the main page of a site but the favicon
  49761. is behind the iron curtain - in these cases, we should *not* prompt for a username and password
  49762. solely for the favicon.
  49763. * loader/ResourceLoader.h: Make didReceiveAuthenticationChallenge virtual
  49764. * loader/SubresourceLoader.cpp:
  49765. (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge): Now that this method
  49766. is virtual from ResourceLoader, SubresourceLoader can override. First call to the
  49767. SubresourceLoaderClient. If they cancel the resource load, return early. Otherwise, let
  49768. ResourceLoader work its magic (resulting in the auth sheet coming down)
  49769. * loader/SubresourceLoader.h:
  49770. * loader/SubresourceLoaderClient.h:
  49771. (WebCore::SubresourceLoaderClient::didReceiveAuthenticationChallenge):
  49772. * loader/icon/IconLoader.cpp:
  49773. (WebCore::IconLoader::didReceiveAuthenticationChallenge): Cancel the resource load, since we should
  49774. never prompt the user for credentials just for a favicon.
  49775. * loader/icon/IconLoader.h:
  49776. 2007-12-18 John Sullivan <sullivan@apple.com>
  49777. Reviewed by Brady
  49778. - fixed <rdar://problem/5652380> Initial prompt shows "" for databases with no user-visible name
  49779. * storage/DatabaseTracker.cpp:
  49780. (WebCore::DatabaseTracker::canEstablishDatabase):
  49781. pass "name" instead of "displayName" if there's no displayName
  49782. 2007-12-17 Dan Bernstein <mitz@apple.com>
  49783. Reviewed by Maciej Stachowiak.
  49784. - restore ButtonFace and ThreeDFace to their previous values for non-Mac
  49785. platforms. The Mac port also uses the same values for now instead
  49786. of NSColor-based ones.
  49787. * rendering/RenderTheme.cpp:
  49788. (WebCore::RenderTheme::systemColor):
  49789. 2007-12-17 Rodney Dawes <dobey@wayofthemonkey.com>
  49790. Reviewed by Maciej Stachowiak.
  49791. Define WTF_USE_NPOBJECT and WTF_USE_JAVASCRIPTCORE_BINDINGS for GTK+
  49792. Add required Frame::createScriptInstanceForWidget to FrameGtk
  49793. * config.h:
  49794. * page/gtk/FrameGtk.cpp (Frame::createScriptInstanceForWidget):
  49795. 2007-12-17 Alice Liu <alice.liu@apple.com>
  49796. Reviewed by Adam.
  49797. Fixed <rdar://5566435> window with no scrollbars can be scrolled
  49798. * platform/win/ScrollViewWin.cpp:
  49799. (WebCore::ScrollView::maximumScroll):
  49800. corrected maximumScroll() to account for scrolling not allowed.
  49801. (WebCore::ScrollView::wheelEvent):
  49802. 2007-12-14 Juan A. Suarez Romero <jasuarez@igalia.com>
  49803. Reviewed by Alp Toker.
  49804. http://bugs.webkit.org/show_bug.cgi?id=16042
  49805. [GTK] Eliminate webkit_init()
  49806. Move webkit initialization to WebView class init.
  49807. * WebCore.pro:
  49808. 2007-12-17 Jon Honeycutt <jhoneycutt@apple.com>
  49809. Reviewed by Darin.
  49810. <rdar://problem/5651291> REGRESSION: Flash content doesn't display
  49811. (www.adobe.com)
  49812. We were passing NPEvent** instead of NPEvent* to NPP_HandleEvent.
  49813. * plugins/win/PluginViewWin.cpp:
  49814. (WebCore::PluginViewWin::dispatchNPEvent): Changed to take NPEvent&, not
  49815. NPEvent*
  49816. (WebCore::PluginViewWin::paint): Pass NPEvent, not NPEvent*
  49817. (WebCore::PluginViewWin::handleKeyboardEvent): same
  49818. (WebCore::PluginViewWin::handleMouseEvent): same
  49819. * plugins/win/PluginViewWin.h:
  49820. 2007-12-17 Alexey Proskuryakov <ap@webkit.org>
  49821. Reviewed by Darin.
  49822. Live to the promise of never making AppKit special character codes visible via DOM.
  49823. Test: fast/events/arrow-keys-on-body.html
  49824. * page/EventHandler.cpp:
  49825. (WebCore::EventHandler::keyEvent): Check for empty keypress characters after disambiguation,
  49826. to let quirks-aware code strip special charactrers.
  49827. * platform/mac/KeyEventMac.mm:
  49828. (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): If not in keyboard event quirks
  49829. mode, remove the text if it's a special character.
  49830. 2007-12-17 Mark Rowe <mrowe@apple.com>
  49831. Reviewed by Darin Adler.
  49832. Fix incorrect array size and incorrect array index in convertNSColorToColor.
  49833. * rendering/RenderThemeMac.mm:
  49834. (WebCore::convertNSColorToColor):
  49835. 2007-12-17 Darin Adler <darin@apple.com>
  49836. Reviewed by Mark Rowe.
  49837. - fix http://bugs.webkit.org/show_bug.cgi?id=16468
  49838. REGRESSION(r28781): Crash running storage/transaction_callback_exception_crash.html
  49839. * storage/DatabaseThread.cpp:
  49840. (WebCore::DatabaseThread::dispatchNextTaskIdentifier): Use a RefPtr for the database
  49841. because there's no guarantee it won't lose its last reference otherwise.
  49842. 2007-12-17 Dan Bernstein <mitz@apple.com>
  49843. Reviewed by Maciej Stachowiak.
  49844. - fix <rdar://problem/5333260> Some Chinese characters in Text Encoding menu are bold, others are not
  49845. and <rdar://problem/5280188> Chinese text looks worse on Safari for Windows cf. Safari for Mac
  49846. * platform/graphics/win/FontCacheWin.cpp:
  49847. (WebCore::FontCache::getFontDataForCharacters): To ensure that font
  49848. linking gives consistent results for characters that are exclusive to
  49849. the simplified Chinese code page and characters that belong to that
  49850. code page and other code pages, always ask to map to simplified Chinese
  49851. alone first.
  49852. 2007-12-17 Christian Dywan <christian@twotoasts.de>
  49853. Reviewed by Alp Toker.
  49854. http://bugs.webkit.org/show_bug.cgi?id=16378
  49855. Implement Icon for Gtk
  49856. Icon provides a GdkPixbuf containing a themed icon.
  49857. The icon theme is probed for an icon name according to the
  49858. Icon Naming Specification or conventional Gnome icon names respectively.
  49859. See http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
  49860. * platform/graphics/Icon.h:
  49861. * platform/graphics/gtk/IconGtk.cpp:
  49862. (WebCore::Icon::~Icon):
  49863. (WebCore::lookupIconName):
  49864. (WebCore::Icon::newIconForFile):
  49865. (WebCore::Icon::paint):
  49866. 2007-12-16 Sam Weinig <sam@webkit.org>
  49867. Reviewed by Mitz.
  49868. Fix for http://bugs.webkit.org/show_bug.cgi?id=16466
  49869. Move the JS Location object to its own file
  49870. - Move Location into its own file and rename it JSLocation.
  49871. * DerivedSources.make:
  49872. * WebCore.pro:
  49873. * WebCore.vcproj/WebCore.vcproj:
  49874. * WebCore.xcodeproj/project.pbxproj:
  49875. * WebCoreSources.bkl:
  49876. * bindings/js/JSDocumentCustom.cpp:
  49877. * bindings/js/JSLocation.cpp: Copied from WebCore/bindings/js/kjs_window.cpp.
  49878. (WebCore::JSLocation::JSLocation):
  49879. (WebCore::JSLocation::getValueProperty):
  49880. (WebCore::JSLocation::getOwnPropertySlot):
  49881. (WebCore::JSLocation::put):
  49882. (WebCore::JSLocationProtoFuncReplace::callAsFunction):
  49883. (WebCore::JSLocationProtoFuncReload::callAsFunction):
  49884. (WebCore::JSLocationProtoFuncAssign::callAsFunction):
  49885. (WebCore::JSLocationProtoFuncToString::callAsFunction):
  49886. * bindings/js/JSLocation.h: Copied from WebCore/bindings/js/kjs_window.h.
  49887. (WebCore::JSLocation::):
  49888. (WebCore::JSLocation::frame):
  49889. (WebCore::JSLocation::classInfo):
  49890. * bindings/js/kjs_window.cpp:
  49891. (KJS::Window::location):
  49892. * bindings/js/kjs_window.h:
  49893. * history/CachedPage.cpp:
  49894. 2007-12-16 Dan Bernstein <mitz@apple.com>
  49895. Reviewed by Sam Weinig.
  49896. - make 'cursor: copy' and 'cursor: none' work.
  49897. Already covered by manual-tests/cursor.html
  49898. * rendering/RenderStyle.h: Increase the _cursor_style field to 6 bits,
  49899. needed for the 33rd and 34th cursor values.
  49900. 2007-12-16 Mark Rowe <mrowe@apple.com>
  49901. Reviewed by Maciej Stachowiak.
  49902. Refactor Mac plugin stream code to use the shared NetscapePlugInStreamLoader implementation.
  49903. * WebCore.base.exp:
  49904. * WebCore.xcodeproj/project.pbxproj:
  49905. * loader/NetscapePlugInStreamLoader.h:
  49906. * loader/mac/NetscapePlugInStreamLoaderMac.mm: Removed.
  49907. * loader/mac/WebPlugInStreamLoaderDelegate.h: Moved to WebKit.
  49908. 2007-12-16 Sam Weinig <sam@webkit.org>
  49909. Reviewed by Maciej.
  49910. Yet more of http://bugs.webkit.org/show_bug.cgi?id=16385
  49911. Cleanup kjs_window
  49912. - Move ScheduledAction into its own file and put it in the WebCore namespace.
  49913. * WebCore.pro:
  49914. * WebCore.vcproj/WebCore.vcproj:
  49915. * WebCore.xcodeproj/project.pbxproj:
  49916. * WebCoreSources.bkl:
  49917. * bindings/js/PausedTimeouts.cpp:
  49918. * bindings/js/PausedTimeouts.h:
  49919. * bindings/js/ScheduledAction.cpp: Copied from bindings/js/kjs_window.cpp.
  49920. (WebCore::ScheduledAction::ScheduledAction):
  49921. (WebCore::ScheduledAction::execute):
  49922. * bindings/js/ScheduledAction.h: Copied from bindings/js/kjs_window.h.
  49923. (WebCore::ScheduledAction::ScheduledAction):
  49924. * bindings/js/kjs_window.cpp:
  49925. (KJS::DOMWindowTimer::DOMWindowTimer):
  49926. (KJS::DOMWindowTimer::action):
  49927. (KJS::DOMWindowTimer::takeAction):
  49928. (KJS::Window::installTimeout):
  49929. (KJS::Window::timerFired):
  49930. * bindings/js/kjs_window.h:
  49931. 2007-12-16 Alp Toker <alp@atoker.com>
  49932. Reviewed by Maciej.
  49933. http://bugs.webkit.org/show_bug.cgi?id=16356
  49934. [GTK] Integrate GStreamer video with the graphics backend
  49935. Integrate the GStreamer media backend with the Cairo graphics backend.
  49936. There are still some issues: Data is copied more often than necessary,
  49937. and repaint() is not called, causing transformed video not to update
  49938. sometimes.
  49939. * WebCore.pro:
  49940. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
  49941. (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
  49942. (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
  49943. (WebCore::MediaPlayerPrivate::currentTime):
  49944. (WebCore::MediaPlayerPrivate::setEndTime):
  49945. (WebCore::MediaPlayerPrivate::seeking):
  49946. (WebCore::MediaPlayerPrivate::naturalSize):
  49947. (WebCore::MediaPlayerPrivate::setMuted):
  49948. (WebCore::MediaPlayerPrivate::setRect):
  49949. (WebCore::MediaPlayerPrivate::setVisible):
  49950. (WebCore::MediaPlayerPrivate::repaint):
  49951. (WebCore::MediaPlayerPrivate::paint):
  49952. (WebCore::MediaPlayerPrivate::createGSTPlayBin):
  49953. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
  49954. * platform/graphics/gtk/VideoSinkGStreamer.cpp: Added.
  49955. (webkit_video_sink_base_init):
  49956. (webkit_video_sink_init):
  49957. (webkit_video_sink_idle_func):
  49958. (webkit_video_sink_render):
  49959. (webkit_video_sink_set_caps):
  49960. (webkit_video_sink_dispose):
  49961. (webkit_video_sink_finalize):
  49962. (webkit_video_sink_set_property):
  49963. (webkit_video_sink_get_property):
  49964. (webkit_video_sink_stop):
  49965. (webkit_video_sink_class_init):
  49966. (webkit_video_sink_new):
  49967. (webkit_video_sink_set_surface):
  49968. (plugin_init):
  49969. * platform/graphics/gtk/VideoSinkGStreamer.h: Added.
  49970. 2007-12-16 Mark Rowe <mrowe@apple.com>
  49971. Mac build fix.
  49972. * WebCore.xcodeproj/project.pbxproj: Remove NetscapePlugInStreamLoader.cpp from the WebCore target.
  49973. Mac currently has its own implementation in NetscapePlugInStreamLoaderMac.mm which conflicts with the
  49974. new shared implementation.
  49975. 2007-12-16 Rodney Dawes <dobey@wayofthemonkey.com>
  49976. Reviewed by Maciej Stachowiak.
  49977. http://bugs.webkit.org/show_bug.cgi?id=16389
  49978. Bug 16389: Common Implementation of NetscapePlugInStreamLoader
  49979. * WebCore.vcproj/WebCore.vcproj: Remove NetscapePlugInStreamLoaderWin.cpp.
  49980. * loader/NetscapePlugInStreamLoader.cpp: Copy method implementations from NetscapePlugInStreamLoaderWin.cpp.
  49981. * loader/win/NetscapePlugInStreamLoaderWin.cpp: Removed.
  49982. 2007-12-16 Grace Kloba <klobag@gmail.com>
  49983. Reviewed by Darin Adler.
  49984. Fix http://bugs.webkit.org/show_bug.cgi?id=16433.
  49985. Bug 16433: LOW_BANDWIDTH_DISPLAY build is broken
  49986. * dom/Document.cpp:
  49987. (WebCore::Document::Document):
  49988. * loader/FrameLoader.cpp:
  49989. (WebCore::FrameLoader::addLowBandwidthDisplayRequest):
  49990. (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
  49991. 2007-12-16 Darin Adler <darin@apple.com>
  49992. Reviewed by Maciej.
  49993. - fix <rdar://problem/5636065> First form of SQLTransaction.executeSql() fails with TYPE_ERROR dom exception
  49994. Test: storage/execute-sql-args.html
  49995. * bindings/js/JSSQLTransactionCustom.cpp:
  49996. (WebCore::JSSQLTransaction::executeSql): Added exception handling code so that once an
  49997. exception happens, we won't try to do any more argument processing. Changed processing
  49998. of the second argument so that we allow an undefined value or null, and simply omit the
  49999. array. Changed processing of the second argument so that we don't require an actual
  50000. JavaScript array. Instead, as with the JavaScript array operations themselves, we use
  50001. the length property and corresponding numeric properties of the object, allowing other
  50002. objects to act as arrays. Changed processing of the third and fourth arguments to
  50003. allow the undefined value as well as null; we check the value of the argument rather
  50004. than looking at the size of the passed-in arguments list.
  50005. 2007-12-16 Sam Weinig <sam@webkit.org>
  50006. Reviewed by Darin.
  50007. More of http://bugs.webkit.org/show_bug.cgi?id=16385
  50008. Cleanup kjs_window
  50009. - Move PausedTimeouts into its own file and put it in the WebCore namespace.
  50010. * WebCore.pro:
  50011. * WebCore.vcproj/WebCore.vcproj:
  50012. * WebCore.xcodeproj/project.pbxproj:
  50013. * WebCoreSources.bkl:
  50014. * bindings/js/PausedTimeouts.cpp: Copied from bindings/js/kjs_window.cpp.
  50015. * bindings/js/PausedTimeouts.h: Copied from bindings/js/kjs_window.h.
  50016. * bindings/js/kjs_window.cpp:
  50017. (KJS::Window::pauseTimeouts):
  50018. * bindings/js/kjs_window.h:
  50019. * history/CachedPage.cpp:
  50020. * history/CachedPage.h:
  50021. * page/Chrome.cpp:
  50022. 2007-12-16 Beth Dakin <bdakin@apple.com>
  50023. Reviewed by Geoff.
  50024. Make relative-size SVGs work in border-image.
  50025. * rendering/RenderBox.cpp:
  50026. (WebCore::RenderBox::calculateBackgroundSize):
  50027. * rendering/RenderObject.cpp:
  50028. (WebCore::RenderObject::paintBorderImage):
  50029. 2007-12-16 Darin Adler <darin@apple.com>
  50030. - fix Tiger build (my fault it was broken)
  50031. * rendering/RenderThemeMac.mm: Define NSUInteger if on Tiger.
  50032. 2007-12-16 Andrew Wellington <proton@wiretapped.net>
  50033. Reviewed by Darin.
  50034. http://bugs.webkit.org/show_bug.cgi?id=6129
  50035. Incomplete implementation of CSS 2.1 system colors
  50036. Test: fast/css/css2-system-color.html
  50037. Based on original patch by Rob Buis.
  50038. System colors are retrieved from NSColor as appropriate. If the color is a pattern color
  50039. (and therefore NSColor won't let us retrieve a color from it) we draw a 1x1 image of the
  50040. color and sample that to get a solid color.
  50041. * css/CSSStyleSelector.cpp:
  50042. (WebCore::colorForCSSValue):
  50043. * rendering/RenderTheme.cpp:
  50044. (WebCore::RenderTheme::systemColor):
  50045. * rendering/RenderTheme.h:
  50046. * rendering/RenderThemeMac.h:
  50047. * rendering/RenderThemeMac.mm:
  50048. (WebCore::getSystemColor):
  50049. (WebCore::RenderThemeMac::platformColorsDidChange):
  50050. (WebCore::RenderThemeMac::systemColor):
  50051. 2007-12-16 Dan Bernstein <mitz@apple.com>
  50052. Reviewed by Darin Adler.
  50053. - fix http://bugs.webkit.org/show_bug.cgi?id=16426
  50054. Divs with overflow:auto: scrollbars not correctly updated when contents change
  50055. Test: fast/overflow/scrollbar-position-update.html
  50056. * platform/mac/PlatformScrollBarMac.mm:
  50057. (WebCore::PlatformScrollbar::updateThumbProportion): Update the
  50058. NSScroller's value for the new proportions.
  50059. * rendering/RenderLayer.cpp:
  50060. (WebCore::RenderLayer::updateScrollInfoAfterLayout): Removed unnecessary
  50061. repaint(). Scrollbars repaint themselves as needed.
  50062. 2007-12-16 Alexey Proskuryakov <ap@webkit.org>
  50063. Reviewed by Darin.
  50064. http://bugs.webkit.org/show_bug.cgi?id=14140
  50065. <rdar://problem/5270958> REGRESSION: Complex system KeyBindings don't work properly
  50066. * dom/KeyboardEvent.h:
  50067. (WebCore::KeypressCommand::KeypressCommand):
  50068. (WebCore::KeyboardEvent::keypressCommands):
  50069. Change stored command class to preserve complete information about commands.
  50070. * editing/EditorCommand.cpp: (WebCore::CommandEntry::): Mark InsertText as a text insertion
  50071. command, which it is. Previously, we couldn't do it because WebKit didn't really treat insertText:
  50072. as a command.
  50073. * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Copy commands saved while interpreting
  50074. a keydown event into keypress, to avoid losing state when running interpretKeyEvents: again.
  50075. 2007-12-16 Alexey Proskuryakov <ap@webkit.org>
  50076. Reviewed by Darin.
  50077. http://bugs.webkit.org/show_bug.cgi?id=16462
  50078. REGRESSION: access keys broken on Windows
  50079. * page/EventHandler.cpp:
  50080. (WebCore::EventHandler::handleAccessKey):
  50081. (WebCore::EventHandler::keyEvent):
  50082. * page/EventHandler.h:
  50083. Make handleAccessKey a class method; rely on WebKit to call it on Windows and wxWidgets.
  50084. 2007-12-16 Xan Lopez <xan@gnome.org>
  50085. Reviewed by Alexey Proskuryakov.
  50086. http://bugs.webkit.org/show_bug.cgi?id=16454
  50087. [GTK] Text input doesn't work consistently on PPC
  50088. * platform/gtk/KeyEventGtk.cpp:
  50089. (WebCore::singleCharacterString):
  50090. UChar is 2 bytes (UTF-16), so transform accordingly from
  50091. gunichar (UCS-4). Fixes keyboard input on big endian systems.
  50092. 2007-12-15 Darin Adler <darin@apple.com>
  50093. Reviewed by Mark Rowe.
  50094. - better build fix for the problem affecting GTK and some other platforms
  50095. "this time for sure"
  50096. * WebCore.xcodeproj/project.pbxproj:
  50097. * bindings/js/JSEventTargetBase.cpp: Move the include of the .lut.h file here.
  50098. * bindings/js/JSEventTargetBase.h: Instead of including the .lut.h file in the header,
  50099. which won't work, declare the tables that are in the .lut.h file in the header.
  50100. 2007-12-12 Kevin Watters <kevin@dotsyntax.com>
  50101. Reviewed by Darin Adler.
  50102. Fixed the Wx port's FontPlatformData for use in HashTable.
  50103. - FontPlatformData(Deleted) made unequal to FontPlatformData()
  50104. * platform/graphics/wx/FontPlatformData
  50105. 2007-12-15 Dan Bernstein <mitz@apple.com>
  50106. Reviewed by Darin Adler.
  50107. - fix <rdar://problem/5636090> Text in Georgia, Armenian, Inuktitut, Cree, or Cherokee (KA, HY, IU, CR, CHR) draws as all missing glyphs
  50108. * platform/graphics/win/FontCacheWin.cpp:
  50109. (WebCore::metaFileEnumProc): Added. Called during metafile record
  50110. enumeration and extracts the font from the create font record.
  50111. (WebCore::FontCache::getFontDataForCharacters): If font linking fails,
  50112. let Uniscribe draw the characters and see what font it chooses.
  50113. 2007-12-15 Darin Adler <darin@apple.com>
  50114. * WebCore.pro: Roll my last change out. Was wrong and didn't fix the build.
  50115. 2007-12-15 Darin Adler <darin@apple.com>
  50116. Another try at a GTK build fix.
  50117. * WebCore.pro: Add JSEventTargetBase.cpp to LUT_TABLE_FILES instead of LUT_FILES.
  50118. 2007-12-15 Sam Weinig <sam@webkit.org>
  50119. Force windows to regenerate COM DOM bindings.
  50120. * WebCore.vcproj/build-generated-files.sh: Add license.
  50121. * bindings/scripts/CodeGeneratorCOM.pm: Use shared WK_ucfirst.
  50122. 2007-12-15 Sam Weinig <sam@webkit.org>
  50123. Fix Windows and wx builds.
  50124. * WebCore.vcproj/WebCore.vcproj:
  50125. * WebCoreSources.bkl:
  50126. 2007-12-15 Mark Rowe <mrowe@apple.com>
  50127. Gtk build fix. Add JSEventTargetBase.cpp to SOURCES.
  50128. * WebCore.pro:
  50129. 2007-12-15 Sam Weinig <sam@webkit.org>
  50130. Fix wx build.
  50131. * WebCoreSources.bkl:
  50132. 2007-12-15 Nikolas Zimmermann <zimmermann@kde.org>
  50133. Not reviewed. Build fix for Qt/Gtk.
  50134. * WebCore.pro: Include JSEventTargetBase.lut.h in generation
  50135. 2007-12-15 Nikolas Zimmermann <zimmermann@kde.org>
  50136. Reviewed by Eric.
  50137. Fixes: http://bugs.webkit.org/show_bug.cgi?id=16445 (Refactor EventTargetNode & JSEventTargetNode for an upcoming SVG patch)
  50138. Split up JSEventTargetNode in JSEventTargetNode & JSEventTargetBase - where most functionality has been moved down
  50139. in the base class. Applied the same refactorization to EventTargetNode.
  50140. This makes it possible for the upcoming patch implementing the EventTarget interface for SVGElementInstance
  50141. to share as much code as possible with the EventTargetNode classes.
  50142. * DerivedSources.make:
  50143. * WebCore.xcodeproj/project.pbxproj:
  50144. * bindings/js/JSEventTargetBase.cpp: Added.
  50145. (WebCore::retrieveEventTargetAndCorrespondingNode):
  50146. (WebCore::eventNameForPropertyToken):
  50147. * bindings/js/JSEventTargetBase.h: Added.
  50148. (WebCore::JSEventTargetProperties::):
  50149. (WebCore::JSEventTargetPrototypeFunctionBase::JSEventTargetPrototypeFunctionBase):
  50150. (WebCore::JSEventTargetPrototypeFunction::JSEventTargetPrototypeFunction):
  50151. (WebCore::::create):
  50152. (WebCore::JSEventTargetBase::JSEventTargetBase):
  50153. (WebCore::JSEventTargetBase::getValueProperty):
  50154. (WebCore::JSEventTargetBase::putValueProperty):
  50155. (WebCore::JSEventTargetBase::getOwnPropertySlot):
  50156. (WebCore::JSEventTargetBase::put):
  50157. (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
  50158. (WebCore::JSEventTargetPrototype::self):
  50159. (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
  50160. (WebCore::JSEventTargetPrototype::classInfo):
  50161. * bindings/js/JSEventTargetNode.cpp:
  50162. (WebCore::JSEventTargetNode::getOwnPropertySlot):
  50163. (WebCore::JSEventTargetNode::getValueProperty):
  50164. (WebCore::JSEventTargetNode::put):
  50165. (WebCore::JSEventTargetNode::putValueProperty):
  50166. (WebCore::JSEventTargetNode::setListener):
  50167. (WebCore::toEventTargetNode):
  50168. * bindings/js/JSEventTargetNode.h:
  50169. (WebCore::JSEventTargetPrototypeInformation::prototypeClassName):
  50170. (WebCore::JSEventTargetPrototypeInformation::prototypeIdentifier):
  50171. * dom/EventTarget.cpp:
  50172. (WebCore::EventTarget::addEventListener):
  50173. (WebCore::EventTarget::removeEventListener):
  50174. (WebCore::EventTarget::dispatchGenericEvent):
  50175. (WebCore::EventTarget::removeAllEventListeners):
  50176. (WebCore::EventTarget::insertedIntoDocument):
  50177. (WebCore::EventTarget::removedFromDocument):
  50178. (WebCore::EventTarget::handleLocalEvents):
  50179. (WebCore::EventTarget::applySVGEventTargetRules):
  50180. (WebCore::forbidEventDispatch):
  50181. (WebCore::allowEventDispatch):
  50182. (WebCore::eventDispatchForbidden):
  50183. * dom/EventTarget.h:
  50184. (WebCore::EventTarget::preDispatchEventHandler):
  50185. (WebCore::EventTarget::postDispatchEventHandler):
  50186. (WebCore::forbidEventDispatch):
  50187. (WebCore::allowEventDispatch):
  50188. * dom/EventTargetNode.cpp:
  50189. (WebCore::EventTargetNode::~EventTargetNode):
  50190. (WebCore::EventTargetNode::insertedIntoDocument):
  50191. (WebCore::EventTargetNode::removedFromDocument):
  50192. (WebCore::EventTargetNode::addEventListener):
  50193. (WebCore::EventTargetNode::removeEventListener):
  50194. (WebCore::EventTargetNode::removeAllEventListeners):
  50195. (WebCore::EventTargetNode::handleLocalEvents):
  50196. (WebCore::EventTargetNode::dispatchEvent):
  50197. (WebCore::EventTargetNode::dispatchWindowEvent):
  50198. * dom/EventTargetNode.h:
  50199. (WebCore::EventTargetNode::localEventListeners):
  50200. * svg/SVGElement.cpp:
  50201. (WebCore::SVGElement::sendSVGLoadEventIfPossible):
  50202. (WebCore::SVGElement::dispatchEvent):
  50203. 2007-12-15 Eric Seidel <eric@webkit.org>
  50204. Reviewed by Oliver.
  50205. Width of SVG elements not applied to container elements
  50206. http://bugs.webkit.org/show_bug.cgi?id=16305
  50207. Added calcPrefWidths for RenderSVGRoot (copied from RenderReplaced)
  50208. This is caused by poor factoring in the render tree. RenderContainer probably should be a template.
  50209. svg/css/css-box-min-width.html
  50210. * rendering/RenderSVGRoot.cpp:
  50211. (WebCore::RenderSVGRoot::calcPrefWidths): Added.
  50212. * rendering/RenderSVGRoot.h:
  50213. * css/SVGCSSStyleSelector::applySVGProperty: fixed ASSERT in debug builds
  50214. 2007-12-15 David Kilzer <ddkilzer@apple.com>
  50215. Fix comment after isSafeScript() was renamed to allowsAccessFrom().
  50216. * bindings/js/kjs_window.cpp:
  50217. (KJS::createWindow):
  50218. 2007-12-15 Alp Toker <alp@atoker.com>
  50219. Reviewed by Mark Rowe.
  50220. http://bugs.webkit.org/show_bug.cgi?id=16449
  50221. cairo_arc() functions hang or crash when passed inf as radius or start/end angle
  50222. Add checks. This matches a similar workaround for a CG bug in the CG
  50223. graphics backend: <rdar://problem/5189233>
  50224. Fixes:
  50225. fast/canvas/arc-crash.html
  50226. fast/canvas/canvas-with-incorrect-args.html
  50227. * platform/graphics/cairo/PathCairo.cpp:
  50228. (WebCore::Path::addArc):
  50229. 2007-12-15 Alexey Proskuryakov <ap@webkit.org>
  50230. Reviewed by Darin.
  50231. http://bugs.webkit.org/show_bug.cgi?id=16078
  50232. Google Maps zooming via the scroll wheel (almost) always zooms IN only.
  50233. * dom/WheelEvent.cpp: (WebCore::WheelEvent::WheelEvent):
  50234. Ensure that delta is never rounded down to zero - we are getting values less than 1 from
  50235. many mice on OS X, and Google Maps code assumes scrolling up if event.wheelDelta is zero.
  50236. 2007-12-14 Dan Bernstein <mitz@apple.com>
  50237. - Windows build fix
  50238. * WebCore.vcproj/WebCore.vcproj:
  50239. 2007-12-14 Alp Toker <alp@atoker.com>
  50240. GTK+/Qt build fix. Track added files in r28722.
  50241. * WebCore.pro:
  50242. 2007-12-14 Sam Weinig <sam@webkit.org>
  50243. Reviewed by Geoff.
  50244. Speed up getElementByClassName.
  50245. - This makes getElementByClassName 33% faster on the stress test
  50246. linked to at http://bugs.webkit.org/show_bug.cgi?id=15760.
  50247. * platform/text/StringImpl.cpp:
  50248. (WebCore::StringImpl::foldCase): Optimize the case when all the characters are ASCII.
  50249. 2007-12-14 Alp Toker <alp@atoker.com>
  50250. Reviewed by Maciej.
  50251. http://bugs.webkit.org/show_bug.cgi?id=16432
  50252. [GTK] Update license headers
  50253. Consent has been given by the authors of these files to change license
  50254. to the LGPL as outlined in the bug report.
  50255. * platform/gtk/ClipboardGtk.cpp:
  50256. * platform/gtk/ContextMenuGtk.cpp:
  50257. * platform/gtk/ContextMenuItemGtk.cpp:
  50258. * platform/gtk/CookieJarGtk.cpp:
  50259. * platform/gtk/CursorGtk.cpp:
  50260. * platform/gtk/DragDataGtk.cpp:
  50261. * platform/gtk/DragImageGtk.cpp:
  50262. * platform/gtk/PasteboardGtk.cpp:
  50263. * platform/gtk/PlatformScreenGtk.cpp:
  50264. * platform/gtk/PlatformScrollBarGtk.cpp:
  50265. * platform/gtk/SearchPopupMenuGtk.cpp:
  50266. * platform/gtk/WidgetGtk.cpp:
  50267. 2007-12-14 Darin Adler <darin@apple.com>
  50268. Reviewed by Adele.
  50269. - fix http://bugs.webkit.org/show_bug.cgi?id=16442
  50270. navigation policy delegate gets called twice for each load
  50271. * loader/MainResourceLoader.cpp:
  50272. (WebCore::MainResourceLoader::willSendRequest): Removed call to checkNavigationPolicy.
  50273. That's handled by FrameLoader.
  50274. * loader/MainResourceLoader.h: Removed callContinueAfterNavigationPolicy
  50275. and continueAfterNavigationPolicy.
  50276. 2007-12-14 Anders Carlsson <andersca@apple.com>
  50277. Reviewed by Brady.
  50278. Make document.open count as committing a document load, so that -[WebFrame dataSource:] won't
  50279. return nil in that case.
  50280. * loader/FrameLoader.cpp:
  50281. (WebCore::FrameLoader::didExplicitOpen):
  50282. 2007-12-14 David Smith <catfish.man@gmail.com>
  50283. Reviewed by Mitz.
  50284. - fix http://bugs.webkit.org/show_bug.cgi?id=14955
  50285. Implement getElementsByClassName.
  50286. This patch also renames AtomicStringList to ClassNames to better reflect its actual use,
  50287. and takes advantage of admitting that it's class-specific to encapsulate class attribute
  50288. parsing so it can be shared. It also changes the class to use a Vector, rather than a linked
  50289. list to store the class names.
  50290. Tests: fast/dom/getElementsByClassName/001.html
  50291. fast/dom/getElementsByClassName/002.html
  50292. fast/dom/getElementsByClassName/003.html
  50293. fast/dom/getElementsByClassName/004.html
  50294. fast/dom/getElementsByClassName/005.html
  50295. fast/dom/getElementsByClassName/006.html
  50296. fast/dom/getElementsByClassName/007.html
  50297. fast/dom/getElementsByClassName/008.html
  50298. fast/dom/getElementsByClassName/009.html
  50299. fast/dom/getElementsByClassName/010.xml
  50300. fast/dom/getElementsByClassName/011.xml
  50301. fast/dom/getElementsByClassName/012.html
  50302. fast/dom/getElementsByClassName/013.html
  50303. fast/dom/getElementsByClassName/014.html
  50304. fast/dom/getElementsByClassName/array/001.html
  50305. fast/dom/getElementsByClassName/array/002.html
  50306. fast/dom/getElementsByClassName/array/003.html
  50307. fast/dom/getElementsByClassName/array/004.html
  50308. fast/dom/getElementsByClassName/dumpNodeList.html
  50309. * WebCore.xcodeproj/project.pbxproj:
  50310. * css/CSSStyleSelector.cpp:
  50311. (WebCore::CSSStyleSelector::matchRules):
  50312. (WebCore::CSSStyleSelector::checkOneSelector):
  50313. * dom/AtomicStringList.h: Removed.
  50314. * dom/ClassNames.cpp: Added.
  50315. (WebCore::ClassNames::contains):
  50316. (WebCore::ClassNames::parseClassAttribute):
  50317. * dom/ClassNames.h: Copied from WebCore/dom/AtomicStringList.h.
  50318. (WebCore::ClassNames::ClassNames):
  50319. (WebCore::ClassNames::size):
  50320. (WebCore::ClassNames::clear):
  50321. (WebCore::ClassNames::operator[]):
  50322. (WebCore::isClassWhitespace):
  50323. * dom/ClassNodeList.cpp: Added.
  50324. (WebCore::ClassNodeList::ClassNodeList):
  50325. (WebCore::ClassNodeList::length):
  50326. (WebCore::ClassNodeList::item):
  50327. (WebCore::ClassNodeList::nodeMatches):
  50328. * dom/ClassNodeList.h: Added.
  50329. * dom/Document.cpp:
  50330. (WebCore::Document::getElementsByName):
  50331. (WebCore::Document::getElementsByClassName):
  50332. * dom/Document.h:
  50333. * dom/Document.idl:
  50334. * dom/Element.cpp:
  50335. (WebCore::Element::getClassNames):
  50336. (WebCore::Element::getElementsByClassName):
  50337. * dom/Element.h:
  50338. * dom/Element.idl:
  50339. * dom/NameNodeList.cpp:
  50340. (WebCore::NameNodeList::NameNodeList):
  50341. (WebCore::NameNodeList::item):
  50342. (WebCore::NameNodeList::nodeMatches):
  50343. * dom/NameNodeList.h:
  50344. * dom/NamedMappedAttrMap.cpp:
  50345. (WebCore::NamedMappedAttrMap::clearAttributes):
  50346. (WebCore::NamedMappedAttrMap::parseClassAttribute):
  50347. * dom/NamedMappedAttrMap.h:
  50348. (WebCore::NamedMappedAttrMap::getClassNames):
  50349. * dom/StyledElement.cpp:
  50350. (WebCore::StyledElement::getClassNames):
  50351. * dom/StyledElement.h:
  50352. 2007-12-14 Darin Adler <darin@apple.com>
  50353. Reviewed by Sam.
  50354. - fix http://bugs.webkit.org/show_bug.cgi?id=16351
  50355. FontFallbackList.h doesn't include wtf/PassRefPtr.h
  50356. * platform/graphics/FontFallbackList.h: Added include of <wtf/Forward.h>
  50357. * platform/graphics/GlyphPageTreeNode.h: Removed an unneeded include.
  50358. 2007-12-14 Darin Adler <darin@apple.com>
  50359. Reviewed by Alexey.
  50360. - http://bugs.webkit.org/show_bug.cgi?id=16420
  50361. change regression tests to use document.execCommand instead of textInputController.doCommand
  50362. Add a few more operations to document.execCommand.
  50363. Finished up the transition to the new Editor::Command, including removing
  50364. the Editor::execCommand function.
  50365. * WebCore.base.exp: Added Editor::Command::isSupported.
  50366. * editing/Editor.h: Removed execCommand.
  50367. * editing/EditorCommand.cpp:
  50368. (WebCore::expandSelectionToGranularity): Added.
  50369. (WebCore::verticalScrollDistance): Added; replaces canScroll.
  50370. (WebCore::executeDeleteBackward): Added. Moved code here from WebHTMLView.
  50371. (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto.
  50372. (WebCore::executeDeleteForward): Ditto.
  50373. (WebCore::executeDeleteToBeginningOfLine): Ditto.
  50374. (WebCore::executeDeleteToBeginningOfParagraph): Ditto.
  50375. (WebCore::executeDeleteToEndOfLine): Ditto.
  50376. (WebCore::executeDeleteToEndOfParagraph): Ditto.
  50377. (WebCore::executeMovePageDown): Renamed this command to be consistent with all the other
  50378. Move commands. They all modify the caret. Reimplemented to match the Mac OS X version by
  50379. removing the explicit scrolling, and letting it be done automatically by code that makes
  50380. the caret visible. In some cases the old code would scroll twice which was harmless but
  50381. unnecessary.
  50382. (WebCore::executeMovePageDownAndModifySelection): Added. Moved code here from WebHTMLView.
  50383. (WebCore::executeMovePageUp): See MovePageDown above.
  50384. (WebCore::executeMovePageUpAndModifySelection): Added. Moved code here from WebHTMLView.
  50385. (WebCore::executeSelectLine): Ditto.
  50386. (WebCore::executeSelectParagraph): Ditto.
  50387. (WebCore::executeSelectSentence): Ditto.
  50388. (WebCore::executeSelectWord): Ditto.
  50389. (WebCore::executeSwapWithMark): Some small tweaks.
  50390. * page/ContextMenuController.cpp:
  50391. (WebCore::ContextMenuController::contextMenuItemSelected): Changed to use Editor::command()
  50392. instead of Editor::execCommand(). This code could be changed to use Editor::Command quite a
  50393. bit more, but I didn't do that this time.
  50394. - Removed some obsolete unused code.
  50395. * page/mac/EventHandlerMac.mm:
  50396. (WebCore::EventHandler::passMouseDownEventToWidget): Removed the special case code for
  50397. NSTextView. This was left over from when we used NSTextField and NSTextView for form
  50398. elements and is no longer used at all.
  50399. * page/mac/WebCoreFrameBridge.h: Removed 20 unused methods that were still on one side
  50400. of the bridge or another. We really need to find a time to tear down the rest of the
  50401. bridge, but that's not this patch.
  50402. * page/mac/WebCoreFrameBridge.mm:
  50403. (-[WebCoreFrameBridge addData:]): Changed to get at the _shouldCreateRenderers field directly
  50404. instead of using a method.
  50405. (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
  50406. Took out obsolete comment about matching enums (we use a single enum now and have for some
  50407. time).
  50408. (-[WebCoreFrameBridge selectionGranularity]): Ditto.
  50409. 2007-12-14 Justin Garcia <justin.garcia@apple.com>
  50410. Reviewed by Darin Adler.
  50411. <rdar://problem/5575101> GoogleDocs: Hang in SplitElementCommand::doApply when outdenting a list item in a particular list
  50412. * editing/CompositeEditCommand.cpp:
  50413. (WebCore::CompositeEditCommand::splitTreeToNode): Moved here.
  50414. * editing/CompositeEditCommand.h:
  50415. * editing/IndentOutdentCommand.cpp: Moved splitTreeToNode.
  50416. * editing/IndentOutdentCommand.h: Ditto, and removed unimplemented splitTreeTo.
  50417. * editing/InsertListCommand.cpp:
  50418. (WebCore::InsertListCommand::doApply): Split ancestors of listChildNode between
  50419. it and listNode, if they exists, so that moving listChildNode doesn't put it out
  50420. of order. Added a test case to cover each change.
  50421. * editing/SplitElementCommand.cpp:
  50422. (WebCore::SplitElementCommand::doApply): Added an ASSERT to catch code that
  50423. tries to split a container at a bogus child, and an early return to avoid a
  50424. hang in that case.
  50425. 2007-12-14 Anders Carlsson <andersca@apple.com>
  50426. Reviewed by Darin and Geoff.
  50427. <rdar://problem/5619295>
  50428. REGRESSION: 303-304: Embedded YouTube video fails to render- JS errors (16150) (Flash 9)
  50429. _NPN_CreateScriptObject doesn't take an origin root object anymore.
  50430. * html/HTMLPlugInElement.cpp:
  50431. (WebCore::HTMLPlugInElement::createNPObject):
  50432. * page/Frame.cpp:
  50433. (WebCore::Frame::windowScriptNPObject):
  50434. 2007-12-14 Dan Bernstein <mitz@apple.com>
  50435. Reviewed by Darin Adler.
  50436. - fix <rdar://problem/5643663> text-shadow and box-shadow offsets 1px smaller than specified
  50437. which is the root cause of:
  50438. http://bugs.webkit.org/show_bug.cgi?id=12943
  50439. box-shadow: small values don't affect shadow position
  50440. http://bugs.webkit.org/show_bug.cgi?id=14736
  50441. Safari implementation of text-shadow off by 1px
  50442. * platform/graphics/cg/GraphicsContextCG.cpp:
  50443. (WebCore::GraphicsContext::setShadow): Slightly increase the magnitude
  50444. of the offsets passed to CGContextSetShadow* to ensure that the end
  50445. result after truncation is the desired integer offsets.
  50446. 2007-12-13 Alp Toker <alp@atoker.com>
  50447. curl backend build fix for breakage introduced in r28709.
  50448. * platform/network/ResourceHandleInternal.h:
  50449. (WebCore::ResourceHandleInternal::ResourceHandleInternal):
  50450. 2007-12-13 Justin Garcia <justin.garcia@apple.com>
  50451. Reviewed by Oliver Hunt.
  50452. <rdar://problem/5607069> In Mail, a crash occurs at WebCore::AppendNodeCommand() after dragging image into a <FORM> element
  50453. * editing/InsertLineBreakCommand.cpp:
  50454. (WebCore::InsertLineBreakCommand::shouldUseBreakElement): Equip this function to
  50455. handle editing positions, like [input, 0];
  50456. * editing/InsertParagraphSeparatorCommand.cpp:
  50457. (WebCore::InsertParagraphSeparatorCommand::doApply): Pass enclosingBlock a node peeled
  50458. off of a non-editing position, to fix a bug where the enclosing block of [input, 0] was
  50459. the input element itself.
  50460. Insert a <br> when a <form> element is the enclosing block instead of splitting/cloning or
  50461. nesting a <div>.
  50462. 2007-12-13 Alp Toker <alp@atoker.com>
  50463. Reviewed by Oliver Hunt.
  50464. http://bugs.webkit.org/show_bug.cgi?id=16365
  50465. [cURL] Acid2 test segmentation fault
  50466. This patch makes the Acid2 test pass.
  50467. Defer the cleanup of cancelled jobs and halt further transfer as early
  50468. as possible.
  50469. Bug found by and initial patch provided by Luca Bruno.
  50470. * platform/network/curl/ResourceHandleManager.cpp:
  50471. (WebCore::writeCallback):
  50472. (WebCore::headerCallback):
  50473. (WebCore::ResourceHandleManager::downloadTimerCallback):
  50474. (WebCore::ResourceHandleManager::cancel):
  50475. 2007-12-13 Sam Weinig <sam@webkit.org>
  50476. Reviewed by Mark Rowe.
  50477. Fix typos and rename InspectorController::moveByUnrestricted to InspectorController::moveWindowBy.
  50478. * page/InspectorController.cpp:
  50479. (WebCore::moveByUnrestricted):
  50480. (WebCore::InspectorController::windowScriptObjectAvailable):
  50481. (WebCore::InspectorController::moveWindowBy):
  50482. * page/InspectorController.h:
  50483. * page/inspector/inspector.js:
  50484. 2007-12-13 Dan Bernstein <mitz@apple.com>
  50485. Reviewed by Dave Hyatt.
  50486. - fix <rdar://problem/5642426> explicit cubic-bezier curves all treated as "default" for transition-timing-function
  50487. Test: fast/css/transition-timing-function.html
  50488. * css/CSSStyleSelector.cpp: Changed the HANDLE_MULTILAYER_VALUE macro to
  50489. not reject non-primitive non-list values, and instead made sure that the
  50490. mapping functions rejected them if necessary. This allows non-primitive
  50491. timing functions to be mapped.
  50492. (WebCore::CSSStyleSelector::mapBackgroundAttachment):
  50493. (WebCore::CSSStyleSelector::mapBackgroundClip):
  50494. (WebCore::CSSStyleSelector::mapBackgroundComposite):
  50495. (WebCore::CSSStyleSelector::mapBackgroundOrigin):
  50496. (WebCore::CSSStyleSelector::mapBackgroundImage):
  50497. (WebCore::CSSStyleSelector::mapBackgroundRepeat):
  50498. (WebCore::CSSStyleSelector::mapBackgroundXPosition):
  50499. (WebCore::CSSStyleSelector::mapBackgroundYPosition):
  50500. (WebCore::CSSStyleSelector::mapTransitionDuration):
  50501. (WebCore::CSSStyleSelector::mapTransitionRepeatCount):
  50502. (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
  50503. (WebCore::CSSStyleSelector::mapTransitionProperty):
  50504. * css/CSSTimingFunctionValue.cpp:
  50505. (WebCore::CSSTimingFunctionValue::cssText): Implemented for use in the
  50506. regression test.
  50507. * css/CSSTimingFunctionValue.h:
  50508. (WebCore::CSSTimingFunctionValue::isTransitionTimingFunctionValue):
  50509. Added. Returns true.
  50510. * css/CSSValue.h:
  50511. (WebCore::CSSValue::isTransitionTimingFunctionValue): Added. Returns
  50512. false.
  50513. 2007-12-13 Steve Falkenburg <sfalken@apple.com>
  50514. Move source file generation into its own vcproj to fix build dependencies.
  50515. Reviewed by Adam.
  50516. * WebCore.vcproj/WebCore.make:
  50517. * WebCore.vcproj/WebCore.sln:
  50518. * WebCore.vcproj/WebCore.submit.sln:
  50519. * WebCore.vcproj/WebCore.vcproj:
  50520. * WebCore.vcproj/WebCoreGenerated.vcproj: Added.
  50521. 2007-12-13 Justin Garcia <justin.garcia@apple.com>
  50522. Reviewed by Oliver Hunt.
  50523. <rdar://problem/4145786> Undoing a color change of text in a compose window always changes it back to black
  50524. Some of the operations performed in removeHTMLFontStyle were non-undoable.
  50525. I'm having trouble writing a layout test for this because I can't get DRT to
  50526. perform editing operations in separate Undo steps without adding unacceptably long
  50527. wait times between operations. I filed:
  50528. <rdar://problem/5646779> Can't get DRT to perform editing operations in separate Undo steps
  50529. * editing/ApplyStyleCommand.cpp:
  50530. (WebCore::ApplyStyleCommand::removeHTMLFontStyle):
  50531. 2007-12-13 Sam Weinig <sam@webkit.org>
  50532. Reviewed by Anders.
  50533. Fix for http://bugs.webkit.org/show_bug.cgi?id=16352
  50534. Toolbar dragged inspector cannot be moved beyond screen edges
  50535. * page/InspectorController.cpp:
  50536. (WebCore::moveByUnrestricted):
  50537. (WebCore::InspectorController::windowScriptObjectAvailable):
  50538. (WebCore::InspectorController::moveByUnrestricted):
  50539. * page/InspectorController.h:
  50540. * page/inspector/inspector.js:
  50541. 2007-12-13 Adam Roben <aroben@apple.com>
  50542. Fix <rdar://5517707> Crash on wptv.wp.pl when "make bigger" button is clicked
  50543. Windows Media Player has a modal message loop that will deliver
  50544. messages to us at inappropriate times and we will crash if we handle
  50545. them when they are delivered. In PluginViewWin, we add a quirk for
  50546. Media Player to set a flag whenever we give the plugin a chance to
  50547. execute code, and in SharedTimerWin we check if the plugin is
  50548. executing code and repost messages if so.
  50549. Reviewed by Anders.
  50550. * platform/win/SharedTimerWin.cpp:
  50551. (WebCore::TimerWindowWndProc): Repost messages if we're calling a
  50552. plugin.
  50553. * plugins/win/PluginViewWin.cpp: Surround all calls to the plugin with
  50554. setCallingPlugin(true/false).
  50555. (WebCore::PluginViewWin::updateWindow):
  50556. (WebCore::PluginViewWin::dispatchNPEvent):
  50557. (WebCore::PluginViewWin::setNPWindowRect):
  50558. (WebCore::PluginViewWin::start):
  50559. (WebCore::PluginViewWin::stop):
  50560. (WebCore::PluginViewWin::performRequest):
  50561. (WebCore::PluginViewWin::bindingInstance):
  50562. (WebCore::PluginViewWin::determineQuirks):
  50563. (WebCore::PluginViewWin::setCallingPlugin): Added.
  50564. (WebCore::PluginViewWin::isCallingPlugin): Added.
  50565. * plugins/win/PluginViewWin.h: Added a new quirk.
  50566. 2007-12-13 Alp Toker <alp@atoker.com>
  50567. Add a missing DEPENDPATH. Fixes non-clean builds following networking
  50568. header changes.
  50569. * WebCore.pro:
  50570. 2007-12-13 Dan Bernstein <mitz@apple.com>
  50571. Reviewed by Anders Carlsson.
  50572. - fix regression in fast/text/international/bidi-override on Tiger
  50573. * platform/graphics/GlyphPageTreeNode.cpp:
  50574. (WebCore::GlyphPageTreeNode::initializePage): Add bidi overrides here
  50575. too. I forgot to add them when I added them to treatAsZeroWidthSpace in
  50576. an earlier patch.
  50577. 2007-12-13 Justin Garcia <justin.garcia@apple.com>
  50578. Reviewed by Darin Adler.
  50579. <rdar://problem/5601583> GMail Editor: Copied link doesn't paste as a link, just colored text
  50580. The code that checks the selected Range to see if it's inside an anchor
  50581. checks ancestors of the Range's commonAncestor() but not the
  50582. commonAncestor() itself, and so we'd fail to add markup for the enclosing
  50583. anchor to the pasteboard.
  50584. Some enclosing element getters check the node passed to the getter and some
  50585. don't. There were a few places where we incorrectly assumed that enclosing
  50586. element getters check the node passed to the getter, but this is the only
  50587. case that I'm able to write a test case for at the moment.
  50588. In this patch I've:
  50589. Changed enclosingNodeWithType and enclosingNodeWithTag to take in positions,
  50590. like the newer enclosing element getters. This is important because we must
  50591. soon add code to the getters so that they understand that some editing positions
  50592. inside nodes don't actually refer to positions inside those nodes but positions
  50593. before and after them. Like [table, 0].
  50594. Changed enclosingNodeWithType and enclosingNodeWithTag to check nodes starting with
  50595. n where [n, o] is the position passed to the getter, instead of starting the the parent
  50596. of n. This makes all but a few of the enclosing element getters behave consistently.
  50597. Changed enclosingNodeWithType and enclosingNodeWithTag to not return non-editable
  50598. nodes if the input position was editable. This fixes a bug that that the above change
  50599. exposed.
  50600. Changed enclosingTableCell to simply call enclosingNodeWithType. We should do
  50601. this for the rest of the getters, or simply remove them in favor of enclosingNodeWithType
  50602. unless doing so would affect readability, like it would in the case of enclosingTableCell.
  50603. Ditto for enclosingBlock.
  50604. * editing/AppendNodeCommand.cpp:
  50605. (WebCore::AppendNodeCommand::doApply):
  50606. * editing/DeleteButtonController.cpp:
  50607. (WebCore::enclosingDeletableElement):
  50608. * editing/DeleteSelectionCommand.cpp:
  50609. (WebCore::DeleteSelectionCommand::initializePositionData):
  50610. (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor):
  50611. * editing/Editor.cpp:
  50612. (WebCore::Editor::selectionUnorderedListState):
  50613. (WebCore::Editor::selectionOrderedListState):
  50614. * editing/IndentOutdentCommand.cpp:
  50615. (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
  50616. (WebCore::IndentOutdentCommand::outdentParagraph):
  50617. * editing/InsertNodeBeforeCommand.cpp:
  50618. (WebCore::InsertNodeBeforeCommand::doApply):
  50619. * editing/InsertParagraphSeparatorCommand.cpp:
  50620. (WebCore::InsertParagraphSeparatorCommand::doApply):
  50621. * editing/ReplaceSelectionCommand.cpp:
  50622. (WebCore::ReplaceSelectionCommand::shouldMerge):
  50623. (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
  50624. (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
  50625. * editing/TextIterator.cpp:
  50626. * editing/htmlediting.cpp:
  50627. (WebCore::enclosingBlock):
  50628. (WebCore::enclosingNodeWithTag):
  50629. (WebCore::enclosingNodeOfType):
  50630. (WebCore::enclosingTableCell):
  50631. (WebCore::isTableCell):
  50632. * editing/htmlediting.h:
  50633. * editing/markup.cpp:
  50634. (WebCore::appendStartMarkup):
  50635. (WebCore::createMarkup):
  50636. 2007-12-13 Alexey Proskuryakov <ap@webkit.org>
  50637. Reviewed by Darin.
  50638. Turn on keyboard event processing quirks for feed views and old applications on Mac OS X.
  50639. * WebCore.base.exp:
  50640. * dom/KeyboardEvent.cpp:
  50641. (WebCore::KeyboardEvent::charCode):
  50642. * page/EventHandler.cpp:
  50643. (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
  50644. (WebCore::EventHandler::keyEvent):
  50645. * page/EventHandler.h:
  50646. * page/Settings.cpp:
  50647. (WebCore::Settings::Settings):
  50648. (WebCore::Settings::setNeedsKeyboardEventDisambiguationQuirks):
  50649. * page/Settings.h:
  50650. (WebCore::Settings::needsKeyboardEventDisambiguationQuirks):
  50651. * page/mac/EventHandlerMac.mm:
  50652. (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
  50653. * platform/PlatformKeyboardEvent.h:
  50654. * platform/mac/KeyEventMac.mm:
  50655. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
  50656. (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
  50657. 2007-12-13 Dan Bernstein <mitz@apple.com>
  50658. - build fix
  50659. * platform/network/cf/ResourceErrorCF.cpp:
  50660. 2007-12-13 Antti Koivisto <antti@apple.com>
  50661. Reviewed by Tim Hatcher.
  50662. Fix <rdar://problem/5605674>
  50663. Make <video> display WebKit context menu instead of the QTKit one.
  50664. It doesn't really matter where the QTMovieView is.
  50665. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  50666. (WebCore::MediaPlayerPrivate::createQTMovieView):
  50667. (WebCore::MediaPlayerPrivate::setRect):
  50668. 2007-12-13 Dan Bernstein <mitz@apple.com>
  50669. Reviewed by Adam Roben.
  50670. - ensure that Unicode bidi control characters are rendered as zero width
  50671. spaces
  50672. Test: fast/text/international/bidi-control-chars-treated-as-ZWS.html
  50673. * platform/graphics/Font.h:
  50674. (WebCore::Font::treatAsZeroWidthSpace):
  50675. * platform/graphics/GlyphPageTreeNode.cpp:
  50676. (WebCore::GlyphPageTreeNode::initializePage):
  50677. * platform/text/CharacterNames.h:
  50678. 2007-12-13 Brady Eidson <beidson@apple.com>
  50679. Build fix
  50680. * platform/wx/TemporaryLinkStubs.cpp:
  50681. 2007-12-12 Brady Eidson <beidson@apple.com>
  50682. Build fix
  50683. * platform/gtk/TemporaryLinkStubs.cpp:
  50684. 2007-12-12 Brady Eidson <beidson@apple.com>
  50685. Build fix
  50686. * WebCore.pro:
  50687. * history/qt/CachedPageQt.cpp: Removed. Whole purpose for this method being platform-specific has been removed
  50688. 2007-12-12 Brady Eidson <beidson@apple.com>
  50689. Build fix
  50690. * platform/win/TemporaryLinkStubs.cpp:
  50691. 2007-12-12 Brady Eidson <beidson@apple.com>
  50692. Reviewed by Sam Weinig
  50693. Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)
  50694. All back/forward list and page cache related items used to be in WebKit.
  50695. When they were pushed into WebCore, some sloppy compromises were made to keep the Back/Forward cache working on Mac.
  50696. Namely, a WebCore::HistoryItem had to know how to keep a WebDocumentView alive. We accomplished this via some #ifdefs
  50697. in CachedPage and having the Mac-only CachedPageMac.mm
  50698. To get rid of that nastiness and pave the way for adding Back/Forward cache on other platforms, this patch adds the
  50699. concept of "CachedPagePlatformData" which can contain anything the platform API wants.
  50700. I also took the opportunity to do other cleanup and renaming client methods to better fit their new purposes.
  50701. * WebCore.base.exp:
  50702. * WebCore.xcodeproj/project.pbxproj:
  50703. * history/CachedPage.cpp:
  50704. (WebCore::CachedPage::~CachedPage): Combined "close()" and "clear()" to just "clear()" - call it from here.
  50705. (WebCore::CachedPage::clear): Call clear() on the CachedPagePlatformData if it exists. Also delete the CachedPagePlatformData.
  50706. (WebCore::CachedPage::setCachedPagePlatformData):
  50707. (WebCore::CachedPage::cachedPagePlatformData):
  50708. * history/CachedPage.h:
  50709. * history/CachedPagePlatformData.h: Added.
  50710. (WebCore::CachedPagePlatformData::~CachedPagePlatformData): Virtual d'tor.
  50711. (WebCore::CachedPagePlatformData::clear): Virtual method for platforms that need to do cleanup at the same time as CachedPage::clear().
  50712. * history/PageCache.cpp:
  50713. (WebCore::PageCache::releaseAutoreleasedPagesNow): Call "clear()" instead of "close()"
  50714. * history/mac/CachedPageMac.mm: Removed. Functionality replaced with CachedPagePlatformData.
  50715. * loader/FrameLoader.cpp:
  50716. (WebCore::FrameLoader::transitionToCommitted): Call the new client methods. Make some work previously done by WebKitMac cross platform
  50717. (setting the cached DocumentLoader to the Frame).
  50718. (WebCore::FrameLoader::cachePageForHistoryItem): Renamed the client methods
  50719. * loader/FrameLoaderClient.h: The very Mac-centric "makeDocumentView", "setDocumentViewFromCachedPage", and "saveDocumentViewToCachedPage"
  50720. become "transitionToCommittedForNewPage", "transitionToCommittedFromCachedPage", and "savePlatformDataToCachedPage" accordingly
  50721. * svg/graphics/SVGImageEmptyClients.h:
  50722. (WebCore::SVGEmptyFrameLoaderClient::savePlatformDataToCachedPage):
  50723. (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedFromCachedPage):
  50724. (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedForNewPage):
  50725. 2007-12-12 Dan Bernstein <mitz@apple.com>
  50726. Reviewed by Oliver Hunt.
  50727. - fix <rdar://problem/5074620> text with font:initial; fails to appear (causes fast/text/font-initial.html to fail)
  50728. * css/CSSStyleSelector.cpp:
  50729. (WebCore::CSSStyleSelector::applyProperty): When the font property is
  50730. set to 'initial', set the font size to its initial value, 'medium',
  50731. and the font family to the standard family.
  50732. 2007-12-12 Justin Garcia <justin.garcia@apple.com>
  50733. Reviewed by Darin Adler.
  50734. <rdar://problem/5433862> Mail crashes at WebCore::highestAncestor() when deleting a particular selection
  50735. * editing/DeleteSelectionCommand.cpp:
  50736. (WebCore::DeleteSelectionCommand::removePreviouslySelectedEmptyTableRows):
  50737. Don't remove the table row that contained the end of the selection if it is where we are
  50738. about to place the ending selection.
  50739. Don't remove all empty rows after the row that contained the start of the selection,
  50740. they might come after the row that contained the end of the selection.
  50741. 2007-12-12 Sam Weinig <sam@webkit.org>
  50742. Reviewed by Anders Carlsson.
  50743. Add button to clear the Web Inspector's console.
  50744. * English.lproj/InspectorLocalizedStrings.js:
  50745. * page/inspector/ConsolePanel.js:
  50746. * page/inspector/inspector.css:
  50747. 2007-12-12 Anders Carlsson <andersca@apple.com>
  50748. Reviewed by Adam and Jon.
  50749. <rdar://problem/5349282>
  50750. popup blocking is not applied to plugins on Windows.
  50751. Implement popup blocking. If the plug-in supports the new
  50752. NPN_PushPopupsEnabledState/NPN_PopPopupsEnabledState API we just use that
  50753. to determine if a plug-in request can open new windows.
  50754. If a plug-in does not support the new API, we assume that a plug-in can open new windows
  50755. in response to either mouse click or key press events.
  50756. * plugins/win/PluginViewWin.cpp:
  50757. (WebCore::PluginRequestWin::PluginRequestWin):
  50758. (WebCore::PluginRequestWin::shouldAllowPopups):
  50759. Add new shouldAllowPopups member.
  50760. (WebCore::PluginViewWin::popPopupsStateTimerFired):
  50761. Reset the popup state.
  50762. (WebCore::isWindowsMessageUserGesture):
  50763. New function that given a windows message id returns whether it's a user gesture or not.
  50764. (WebCore::PluginViewWin::wndProc):
  50765. Allow popups if the window message is a user gesture.
  50766. (WebCore::PluginViewWin::dispatchNPEvent):
  50767. New method that dispatches an NPEvent, turning on popups if necessary.
  50768. (WebCore::PluginViewWin::paint):
  50769. (WebCore::PluginViewWin::handleKeyboardEvent):
  50770. (WebCore::PluginViewWin::handleMouseEvent):
  50771. Call dispatchNPEvent().
  50772. (WebCore::PluginViewWin::performRequest):
  50773. (WebCore::PluginViewWin::load):
  50774. Add calls to shouldAllowPopups().
  50775. (WebCore::PluginViewWin::pushPopupsEnabledState):
  50776. (WebCore::PluginViewWin::popPopupsEnabledState):
  50777. New methods that maintain the popup state stack.
  50778. (WebCore::PluginViewWin::arePopupsAllowed):
  50779. New method that returns whether popups are allowed.
  50780. (WebCore::PluginViewWin::PluginViewWin):
  50781. * plugins/win/PluginViewWin.h:
  50782. Add new instance variables.
  50783. * plugins/win/npapi.cpp:
  50784. (NPN_PushPopupsEnabledState):
  50785. (NPN_PopPopupsEnabledState):
  50786. Implement these.
  50787. 2007-12-12 Dan Bernstein <mitz@apple.com>
  50788. Reviewed by John Sullivan.
  50789. - fix a bug in debug builds only where selecting an earlier item in
  50790. a popup selects the first item
  50791. Test: fast/forms/menulist-selection-reset.html
  50792. * html/HTMLSelectElement.cpp:
  50793. (WebCore::HTMLSelectElement::recalcListItems): Added an argument that
  50794. tells that function whether it should update the selected state of
  50795. option elements.
  50796. (WebCore::HTMLSelectElement::checkListItems): Changed to pass false
  50797. as the above argument.
  50798. * html/HTMLSelectElement.h:
  50799. 2007-12-12 Adele Peterson <adele@apple.com>
  50800. Reviewed by Geoff.
  50801. Fix for <rdar://problem/5643054> Remove cue point implementation for media elements
  50802. When the specification for cue ranges is more final, we will implement those.
  50803. * html/HTMLMediaElement.cpp:
  50804. (WebCore::HTMLMediaElement::~HTMLMediaElement):
  50805. (WebCore::HTMLMediaElement::load):
  50806. * html/HTMLMediaElement.h:
  50807. * html/HTMLMediaElement.idl:
  50808. * platform/graphics/MediaPlayer.cpp:
  50809. * platform/graphics/MediaPlayer.h:
  50810. (WebCore::MediaPlayerClient::mediaPlayerTimeChanged):
  50811. * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  50812. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  50813. (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
  50814. (WebCore::MediaPlayerPrivate::load):
  50815. (WebCore::MediaPlayerPrivate::play):
  50816. (WebCore::MediaPlayerPrivate::pause):
  50817. (WebCore::MediaPlayerPrivate::setEndTime):
  50818. (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
  50819. (WebCore::MediaPlayerPrivate::endPointTimerFired):
  50820. (WebCore::MediaPlayerPrivate::timeChanged):
  50821. (WebCore::MediaPlayerPrivate::didEnd):
  50822. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
  50823. (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
  50824. (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
  50825. (WebCore::MediaPlayerPrivate::endPointTimerFired):
  50826. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
  50827. 2007-12-12 Darin Fisher <darin@chromium.org>
  50828. Reviewed by Maciej.
  50829. Fixes:
  50830. http://bugs.webkit.org/show_bug.cgi?id=16408
  50831. When navigating back/forward to a http:// link, we should prefer to
  50832. load from cache if possible.
  50833. * loader/FrameLoader.cpp:
  50834. 2007-12-12 Anders Carlsson <andersca@apple.com>
  50835. Reviewed by Sam.
  50836. <rdar://problem/5132003>
  50837. dumpResourceLoadCallbacks is not implemented in DRT on Windows.
  50838. * platform/network/cf/ResourceErrorCF.cpp:
  50839. (WebCore::ResourceError::unpackPlatformError):
  50840. Handle kCFErrorDomainWinSock.
  50841. * platform/network/cf/ResourceHandleCFNet.cpp:
  50842. (WebCore::willSendRequest):
  50843. Ignore willSendRequest calls where the redirect response is null, like we do in
  50844. the Mac version.
  50845. 2007-12-12 Steve Falkenburg <sfalken@apple.com>
  50846. <rdar://problem/5643785> Fix iBench regression caused by mis-placed nested timer check.
  50847. Reviewed by Anders.
  50848. * platform/win/SharedTimerWin.cpp:
  50849. (WebCore::TimerWindowWndProc): Don't set high-resolution timer flag inside non-high-resolution timer proc.
  50850. 2007-12-12 Beth Dakin <bdakin@apple.com>
  50851. Reviewed by Oliver.
  50852. Fix for <rdar://problem/5643770> REGRESSION: Free-standing SVGs
  50853. with width and height 100% clip to 300 x 150
  50854. Though it was correct in an earlier iteration of my patch, it is
  50855. not sufficient in the final, committed version to ask if the
  50856. relativeWidthValue() or relativeHeightValue() is greater than 0
  50857. just to determine if one has been set, for, they are now
  50858. initialized to 300 and 150 respectively! This patch instead adds a
  50859. bool to keep track of whether a container size has been set, and
  50860. only used the relative value if it has.
  50861. * rendering/RenderSVGRoot.cpp:
  50862. (WebCore::RenderSVGRoot::calcViewport):
  50863. * svg/SVGSVGElement.cpp:
  50864. (WebCore::SVGSVGElement::SVGSVGElement):
  50865. * svg/SVGSVGElement.h:
  50866. (WebCore::SVGSVGElement::setContainerSize):
  50867. (WebCore::SVGSVGElement::hasSetContainerSize):
  50868. 2007-12-12 Brady Eidson <beidson@apple.com>
  50869. Reviewed by Steve Falkenburg
  50870. <rdar://problem/5012636> - WebURLProtectionSpace::realm returns the hostname rather than the authentication realm
  50871. * platform/network/ProtectionSpace.cpp:
  50872. (WebCore::ProtectionSpace::ProtectionSpace): Assign the realm to m_realm, instead of the host
  50873. 2007-12-12 Alp Toker <alp@atoker.com>
  50874. Reviewed by Maciej.
  50875. http://bugs.webkit.org/show_bug.cgi?id=16388
  50876. [GTK] Widget::setCursor() gets called frequently
  50877. Cache the current cursor to avoid calling gdk_window_set_cursor() when
  50878. there's no change in cursor.
  50879. * platform/gtk/WidgetGtk.cpp:
  50880. (WebCore::Widget::Widget):
  50881. (WebCore::Widget::cursor):
  50882. (WebCore::Widget::setCursor):
  50883. 2007-12-12 Rodney Dawes <dobey@wayofthemonkey.com>
  50884. Reviewed by Maciej.
  50885. http://bugs.webkit.org/show_bug.cgi?id=16342
  50886. Build Warning and Error fixes in WebCore GTK+
  50887. Use C-style casts for casting function pointers to gpointer
  50888. Use static_cast<int> to cast a float to int to fix a warning
  50889. * platform/gtk/PlatformScrollBarGtk.cpp:
  50890. (PlatformScrollbar::PlatformScrollbar):
  50891. (PlatformScrollbar::~PlatformScrollbar):
  50892. (PlatformScrollbar::gtkValueChanged):
  50893. * platform/gtk/ThreadingGtk.cpp:
  50894. (callFunctionOnMainThread):
  50895. (callOnMainThread):
  50896. 2007-12-12 Dan Bernstein <mitz@apple.com>
  50897. Reviewed by Darin Adler.
  50898. - better fix for a crash when pressing a key that is not associated
  50899. with a command
  50900. * editing/EditorCommand.cpp:
  50901. (WebCore::Editor::command): Return the empty command if the command name
  50902. is empty.
  50903. 2007-12-12 Alexey Proskuryakov <ap@webkit.org>
  50904. Reviewed by Darin.
  50905. http://bugs.webkit.org/show_bug.cgi?id=16410
  50906. Implement isKeypadEvent() on Windows
  50907. Test: platform/win/fast/events/keyLocation-numpad.html
  50908. * platform/win/KeyEventWin.cpp:
  50909. (WebCore::isKeypadEvent): Added.
  50910. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Also fixed a mistake with autorepeat.
  50911. 2007-12-12 Oliver Hunt <oliver@apple.com>
  50912. Reviewed by Maciej.
  50913. <rdar://problem/5071781> window.mouseout events are not sent
  50914. to window when mouse moves out of window
  50915. Make PlatformMouseEvent recognise WM_MOUSELEAVE.
  50916. * platform/win/PlatformMouseEventWin.cpp:
  50917. (WebCore::messageToEventType):
  50918. (WebCore::PlatformMouseEvent::PlatformMouseEvent):
  50919. 2007-12-12 Sam Weinig <sam@webkit.org>
  50920. Fix Mac release build.
  50921. * WebCore.base.exp:
  50922. 2007-12-12 Sam Weinig <sam@webkit.org>
  50923. Build fix for Qt, Gtk, and Wx.
  50924. * css/CSSParser.cpp:
  50925. (WebCore::CSSParser::parseValue):
  50926. * loader/win/FrameLoaderWin.cpp:
  50927. (WebCore::FrameLoader::urlSelected):
  50928. * platform/network/curl/ResourceHandleManager.cpp:
  50929. (WebCore::parseDataUrl):
  50930. (WebCore::ResourceHandleManager::startJob):
  50931. * platform/network/win/CookieJarWin.cpp:
  50932. (WebCore::setCookies):
  50933. (WebCore::cookies):
  50934. * platform/network/win/ResourceHandleWin.cpp:
  50935. (WebCore::ResourceHandle::start):
  50936. * platform/qt/PasteboardQt.cpp:
  50937. (WebCore::Pasteboard::writeURL):
  50938. 2007-12-11 Dan Bernstein <mitz@apple.com>
  50939. Reviewed by Maciej Stachowiak.
  50940. - allow non-integer font sizes on Windows for small caps
  50941. * platform/graphics/win/FontDataWin.cpp:
  50942. (WebCore::FontData::smallCapsFontData):
  50943. * platform/graphics/win/FontPlatformData.h:
  50944. (WebCore::FontPlatformData::size):
  50945. (WebCore::FontPlatformData::setSize):
  50946. * platform/graphics/win/FontPlatformDataWin.cpp:
  50947. (WebCore::FontPlatformData::FontPlatformData):
  50948. 2007-12-11 Sam Weinig <sam@webkit.org>
  50949. Build fix for Qt, Gtk, and Wx.
  50950. * platform/gtk/CookieJarGtk.cpp:
  50951. (WebCore::setCookies):
  50952. (WebCore::cookies):
  50953. * platform/qt/ClipboardQt.cpp:
  50954. (WebCore::ClipboardQt::writeURL):
  50955. * platform/qt/CookieJarQt.cpp:
  50956. (WebCore::setCookies):
  50957. (WebCore::cookies):
  50958. * platform/wx/PasteboardWx.cpp:
  50959. (WebCore::Pasteboard::writeURL):
  50960. 2007-12-11 Sam Weinig <sam@webkit.org>
  50961. Reviewed by Darin Adler.
  50962. Scrub URL out of the tree in preparation for renaming KURL to URL.
  50963. - Renames Document::URL() -> Document::url()
  50964. - Renames DocumentLoader::URL() -> DocumentLoader::url()
  50965. - Renames KURL::url() to KURL::string() and KURL::deprecatedString()
  50966. - Remove FrameLoader::URL()
  50967. - Various variable renames.
  50968. The change from Document::URL() to Document::url() required changes
  50969. to the bindings scripts as well, because URL() is the name of a DOM
  50970. method. The code generation scripts now have code to special case URL()
  50971. to url().
  50972. * WebCore.base.exp:
  50973. * bindings/js/kjs_events.cpp:
  50974. (WebCore::JSLazyEventListener::parseCode):
  50975. * bindings/js/kjs_navigator.cpp:
  50976. (KJS::Navigator::getValueProperty):
  50977. * bindings/js/kjs_proxy.cpp:
  50978. (WebCore::KJSProxy::initScript):
  50979. * bindings/js/kjs_window.cpp:
  50980. (KJS::Window::put):
  50981. (KJS::Window::allowsAccessFrom):
  50982. (KJS::Location::put):
  50983. (KJS::LocationProtoFuncReplace::callAsFunction):
  50984. (KJS::LocationProtoFuncReload::callAsFunction):
  50985. (KJS::LocationProtoFuncAssign::callAsFunction):
  50986. * bindings/scripts/CodeGenerator.pm:
  50987. * bindings/scripts/CodeGeneratorCOM.pm:
  50988. * bindings/scripts/CodeGeneratorJS.pm:
  50989. * bindings/scripts/CodeGeneratorObjC.pm:
  50990. * css/CSSImportRule.cpp:
  50991. (WebCore::CSSImportRule::insertedIntoParent):
  50992. * css/CSSParser.cpp:
  50993. (WebCore::CSSParser::parseValue):
  50994. (WebCore::CSSParser::parseContent):
  50995. (WebCore::CSSParser::parseBackgroundImage):
  50996. (WebCore::CSSParser::parseFontFaceSrc):
  50997. (WebCore::CSSParser::parseBorderImage):
  50998. (WebCore::CSSParser::createImportRule):
  50999. * css/CSSStyleSelector.cpp:
  51000. (WebCore::CSSStyleSelector::setEncodedURL):
  51001. * dom/Document.cpp:
  51002. (WebCore::Document::processHttpEquiv):
  51003. (WebCore::Document::cookie):
  51004. (WebCore::Document::setCookie):
  51005. (WebCore::Document::domain):
  51006. (WebCore::Document::setDomain):
  51007. (WebCore::Document::getImageMap):
  51008. (WebCore::Document::completeURL):
  51009. * dom/Document.h:
  51010. (WebCore::Document::url):
  51011. (WebCore::Document::baseURL):
  51012. * dom/Element.cpp:
  51013. (WebCore::Element::baseURI):
  51014. * dom/ProcessingInstruction.h:
  51015. * dom/StyledElement.cpp:
  51016. (WebCore::StyledElement::addCSSImageProperty):
  51017. * dom/StyledElement.h:
  51018. * dom/XMLTokenizer.cpp:
  51019. (WebCore::XMLTokenizer::endElementNs):
  51020. (WebCore::XMLTokenizer::end):
  51021. * dom/XMLTokenizer.h:
  51022. * editing/Editor.cpp:
  51023. (WebCore::Editor::copy):
  51024. * editing/markup.cpp:
  51025. (WebCore::completeURLs):
  51026. * history/CachedPage.h:
  51027. (WebCore::CachedPage::url):
  51028. * history/HistoryItem.cpp:
  51029. (WebCore::HistoryItem::HistoryItem):
  51030. (WebCore::HistoryItem::setURL):
  51031. (WebCore::HistoryItem::isCurrentDocument):
  51032. * html/HTMLBaseElement.cpp:
  51033. (WebCore::HTMLBaseElement::process):
  51034. * html/HTMLParser.cpp:
  51035. (WebCore::HTMLParser::reportErrorToConsole):
  51036. * html/HTMLScriptElement.cpp:
  51037. (WebCore::HTMLScriptElement::childrenChanged):
  51038. (WebCore::HTMLScriptElement::insertedIntoDocument):
  51039. (WebCore::HTMLScriptElement::evaluateScript):
  51040. * html/HTMLScriptElement.h:
  51041. * html/HTMLTokenizer.cpp:
  51042. (WebCore::HTMLTokenizer::scriptExecution):
  51043. * loader/Cache.cpp:
  51044. (WebCore::createResource):
  51045. (WebCore::Cache::requestResource):
  51046. * loader/CachedCSSStyleSheet.cpp:
  51047. (WebCore::CachedCSSStyleSheet::checkNotify):
  51048. * loader/CachedResource.cpp:
  51049. (WebCore::CachedResource::CachedResource):
  51050. * loader/CachedResource.h:
  51051. (WebCore::CachedResource::):
  51052. * loader/CachedScript.h:
  51053. * loader/DocLoader.cpp:
  51054. (WebCore::DocLoader::checkForReload):
  51055. (WebCore::DocLoader::requestResource):
  51056. * loader/DocumentLoader.cpp:
  51057. (WebCore::DocumentLoader::url):
  51058. (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
  51059. (WebCore::DocumentLoader::setRequest):
  51060. (WebCore::DocumentLoader::startLoadingMainResource):
  51061. * loader/DocumentLoader.h:
  51062. * loader/FrameLoader.cpp:
  51063. (WebCore::FormSubmission::FormSubmission):
  51064. (WebCore::ScheduledRedirection::ScheduledRedirection):
  51065. (WebCore::FrameLoader::changeLocation):
  51066. (WebCore::FrameLoader::urlSelected):
  51067. (WebCore::FrameLoader::requestFrame):
  51068. (WebCore::FrameLoader::loadSubframe):
  51069. (WebCore::FrameLoader::submitFormAgain):
  51070. (WebCore::FrameLoader::submitForm):
  51071. (WebCore::FrameLoader::didExplicitOpen):
  51072. (WebCore::FrameLoader::replaceContentsWithScriptResult):
  51073. (WebCore::FrameLoader::executeScript):
  51074. (WebCore::FrameLoader::receivedFirstData):
  51075. (WebCore::FrameLoader::begin):
  51076. (WebCore::FrameLoader::startIconLoader):
  51077. (WebCore::FrameLoader::commitIconURLToIconDatabase):
  51078. (WebCore::FrameLoader::scheduleRefresh):
  51079. (WebCore::FrameLoader::redirectionTimerFired):
  51080. (WebCore::FrameLoader::loadPlugin):
  51081. (WebCore::FrameLoader::didNotOpenURL):
  51082. (WebCore::FrameLoader::updatePolicyBaseURL):
  51083. (WebCore::FrameLoader::scrollToAnchor):
  51084. (WebCore::FrameLoader::startRedirectionTimer):
  51085. (WebCore::FrameLoader::load):
  51086. (WebCore::FrameLoader::canLoad):
  51087. (WebCore::FrameLoader::shouldHideReferrer):
  51088. (WebCore::FrameLoader::shouldAllowNavigation):
  51089. (WebCore::FrameLoader::commitProvisionalLoad):
  51090. (WebCore::FrameLoader::clientRedirected):
  51091. (WebCore::FrameLoader::open):
  51092. (WebCore::FrameLoader::didTellBridgeAboutLoad):
  51093. (WebCore::FrameLoader::haveToldBridgeAboutLoad):
  51094. (WebCore::FrameLoader::post):
  51095. (WebCore::FrameLoader::loadResourceSynchronously):
  51096. (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
  51097. (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent):
  51098. (WebCore::FrameLoader::createHistoryItem):
  51099. (WebCore::FrameLoader::addBackForwardItemClippedAtTarget):
  51100. (WebCore::FrameLoader::loadItem):
  51101. (WebCore::FrameLoader::urlsMatchItem):
  51102. (WebCore::FrameLoader::recursiveGoToItem):
  51103. (WebCore::FrameLoader::updateHistoryForStandardLoad):
  51104. (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory):
  51105. * loader/FrameLoader.h:
  51106. (WebCore::FrameLoader::url):
  51107. * loader/ImageDocument.cpp:
  51108. (WebCore::ImageDocument::createDocumentStructure):
  51109. * loader/MainResourceLoader.cpp:
  51110. (WebCore::shouldLoadAsEmptyDocument):
  51111. (WebCore::MainResourceLoader::didFinishLoading):
  51112. * loader/NavigationAction.cpp:
  51113. (WebCore::NavigationAction::NavigationAction):
  51114. * loader/NavigationAction.h:
  51115. (WebCore::NavigationAction::url):
  51116. * loader/PluginDocument.cpp:
  51117. (WebCore::PluginTokenizer::createDocumentStructure):
  51118. * loader/SubresourceLoader.cpp:
  51119. (WebCore::SubresourceLoader::load):
  51120. (WebCore::SubresourceLoader::create):
  51121. * loader/icon/IconLoader.cpp:
  51122. (WebCore::IconLoader::startLoading):
  51123. (WebCore::IconLoader::finishLoading):
  51124. * loader/loader.cpp:
  51125. (WebCore::Loader::servePendingRequests):
  51126. * loader/mac/LoaderNSURLExtras.m:
  51127. (urlOriginalData):
  51128. * page/Chrome.cpp:
  51129. (WebCore::Chrome::setToolTip):
  51130. * page/ContextMenuController.cpp:
  51131. (WebCore::ContextMenuController::contextMenuItemSelected):
  51132. * page/Frame.cpp:
  51133. (WebCore::Frame::setUserStyleSheetLocation):
  51134. * page/InspectorController.cpp:
  51135. (WebCore::InspectorResource::type):
  51136. (WebCore::addSourceToFrame):
  51137. (WebCore::InspectorController::addScriptResource):
  51138. (WebCore::InspectorController::updateScriptResourceRequest):
  51139. (WebCore::InspectorController::didCommitLoad):
  51140. * page/mac/WebCoreFrameBridge.mm:
  51141. (-[WebCoreFrameBridge getData:andResponse:forURL:]):
  51142. * platform/KURL.h:
  51143. (WebCore::KURL::string):
  51144. (WebCore::KURL::deprecatedString):
  51145. * platform/mac/ClipboardMac.mm:
  51146. (WebCore::ClipboardMac::getData):
  51147. * platform/mac/CookieJar.mm:
  51148. (WebCore::cookies):
  51149. (WebCore::setCookies):
  51150. * platform/mac/PasteboardMac.mm:
  51151. (WebCore::Pasteboard::writeURL):
  51152. (WebCore::fileWrapperForImage):
  51153. (WebCore::Pasteboard::writeImage):
  51154. (WebCore::Pasteboard::plainText):
  51155. * platform/network/ResourceHandle.cpp:
  51156. (WebCore::ResourceHandle::portAllowed):
  51157. * platform/network/ResourceRequestBase.cpp:
  51158. (WebCore::ResourceRequestBase::isNull):
  51159. * platform/network/cf/ResourceHandleCFNet.cpp:
  51160. (WebCore::willSendRequest):
  51161. (WebCore::didReceiveResponse):
  51162. (WebCore::didReceiveData):
  51163. (WebCore::didFinishLoading):
  51164. (WebCore::didFail):
  51165. (WebCore::didReceiveChallenge):
  51166. (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
  51167. (WebCore::ResourceHandle::~ResourceHandle):
  51168. (WebCore::ResourceHandle::start):
  51169. * platform/win/ClipboardUtilitiesWin.cpp:
  51170. (WebCore::createGlobalData):
  51171. (WebCore::urlToMarkup):
  51172. * platform/win/ClipboardWin.cpp:
  51173. (WebCore::writeURL):
  51174. (WebCore::writeImageToDataObject):
  51175. (WebCore::ClipboardWin::writeURL):
  51176. (WebCore::ClipboardWin::writeRange):
  51177. * platform/win/PasteboardWin.cpp:
  51178. (WebCore::Pasteboard::writeSelection):
  51179. (WebCore::Pasteboard::writeURL):
  51180. * plugins/win/PluginDatabaseWin.cpp:
  51181. (WebCore::PluginDatabaseWin::findPlugin):
  51182. * plugins/win/PluginStreamWin.cpp:
  51183. (WebCore::PluginStreamWin::startStream):
  51184. (WebCore::PluginStreamWin::destroyStream):
  51185. * plugins/win/PluginViewWin.cpp:
  51186. (WebCore::scriptStringIfJavaScriptURL):
  51187. (WebCore::PluginViewWin::performRequest):
  51188. * svg/SVGImageLoader.cpp:
  51189. (WebCore::SVGImageLoader::updateFromElement):
  51190. * xml/XMLHttpRequest.cpp:
  51191. (WebCore::XMLHttpRequest::getResponseXML):
  51192. (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
  51193. * xml/XSLImportRule.cpp:
  51194. (WebCore::XSLImportRule::loadSheet):
  51195. * xml/XSLTProcessor.cpp:
  51196. (WebCore::XSLTProcessor::createDocumentFromSource):
  51197. (WebCore::xsltStylesheetPointer):
  51198. (WebCore::xmlDocPtrFromNode):
  51199. 2007-12-11 Beth Dakin <bdakin@apple.com>
  51200. Reviewed by Darin.
  51201. Fix for <rdar://problem/5641255> SVGs with width and height 100%
  51202. fail to render when used as background images
  51203. CachedImage now has a setImageContainerSize function. It is only
  51204. needed for SVG right now.
  51205. * loader/CachedImage.cpp:
  51206. (WebCore::CachedImage::setImageContainerSize):
  51207. * loader/CachedImage.h:
  51208. Relatively sized SVGs have no intrinsic size. Because this call is
  51209. low-level enough that we cannot pass in the container size and get
  51210. the real size of the SVG, we need to know if it has relative
  51211. dimensions, and if so, we need to get the size from scaledTileSize.
  51212. * platform/graphics/Image.cpp:
  51213. (WebCore::Image::drawTiled):
  51214. * platform/graphics/Image.h:
  51215. (WebCore::Image::setContainerSize):
  51216. (WebCore::Image::hasRelativeWidth):
  51217. (WebCore::Image::hasRelativeHeight):
  51218. Re-factored calculateBackgroundSize a bit so that it returns an
  51219. IntSize. Made it a member function so that it can send m_width and
  51220. m_height along to setImageContainerSize.
  51221. * rendering/RenderBox.cpp:
  51222. (WebCore::RenderBox::calculateBackgroundSize):
  51223. (WebCore::RenderBox::calculateBackgroundImageGeometry):
  51224. * rendering/RenderBox.h:
  51225. Need to account for relatively sized SVGs in calcViewport()
  51226. * rendering/RenderSVGRoot.cpp:
  51227. (WebCore::RenderSVGRoot::calcViewport):
  51228. Added new member variables to store the size of the SVG container.
  51229. relativeWidthValue() and relativeHeightValue() use the stored SVG
  51230. container size to correctly calculate the width and height of a
  51231. relatively sized SVG.
  51232. * svg/SVGSVGElement.cpp:
  51233. (WebCore::SVGSVGElement::SVGSVGElement):
  51234. (WebCore::SVGSVGElement::setContainerSize):
  51235. (WebCore::SVGSVGElement::relativeWidthValue):
  51236. (WebCore::SVGSVGElement::relativeHeightValue):
  51237. * svg/SVGSVGElement.h:
  51238. (WebCore::SVGSVGElement::containerSize):
  51239. Re-factored size calculations to use the size of the container.
  51240. * svg/graphics/SVGImage.cpp:
  51241. (WebCore::SVGImage::setContainerSize):
  51242. (WebCore::SVGImage::size):
  51243. (WebCore::SVGImage::hasRelativeWidth):
  51244. (WebCore::SVGImage::hasRelativeHeight):
  51245. * svg/graphics/SVGImage.h:
  51246. 2007-12-11 Darin Adler <darin@apple.com>
  51247. * editing/Editor.cpp:
  51248. (WebCore::Editor::yankFromKillRing): Try to fix non-Mac builds by adding
  51249. a missing return statement.
  51250. 2007-12-11 Darin Adler <darin@apple.com>
  51251. Reviewed by Geoff.
  51252. - exposed many new commands to the DOM Document executeCommand function by
  51253. merging the JSEditor and Editor executeCommand implementations
  51254. - replaced the execCommand function with a EditorCommand class
  51255. - replaced the WTF::StrHash<> class template with the WebCore::StringHash class
  51256. - replaced the WTF::CaseInsensitiveHash<> class template with the
  51257. WebCore::CaseFoldingHash class
  51258. * WebCore.base.exp: Updated.
  51259. * WebCore.pro: Added EditorCommand.cpp, removed JSEditor.cpp.
  51260. * WebCore.vcproj/WebCore.vcproj: Ditto.
  51261. * WebCore.xcodeproj/project.pbxproj: Ditto.
  51262. * WebCoreSources.bkl: Ditto.
  51263. * dom/Document.cpp:
  51264. (WebCore::Document::Document): Removed code to set up m_jsEditor.
  51265. (WebCore::Document::~Document): Removed code to delete m_jsEditor.
  51266. (WebCore::command): Added. Helper function that gets an Editor::Command.
  51267. (WebCore::Document::executeCommand): Changed to use Editor::Command instead of
  51268. JSEditor.
  51269. (WebCore::Document::queryCommandEnabled): Ditto.
  51270. (WebCore::Document::queryCommandIndeterm):
  51271. (WebCore::Document::queryCommandState): Ditto.
  51272. (WebCore::Document::queryCommandSupported): Ditto.
  51273. (WebCore::Document::queryCommandValue): Ditto.
  51274. * dom/Document.h: Removed JSEditor, jsEditor, m_jsEditor. Changed to
  51275. use CaseFoldingHash.
  51276. * editing/Editor.cpp:
  51277. (WebCore::Editor::selectionForCommand): Renamed from selectionForEvent and
  51278. made into a member function so it is accessible from the new EditorCommand.cpp file.
  51279. Also changed to get the selection from the passed-in frame instead of from the
  51280. page, because this should work on the targeted frame unless the event overrides it.
  51281. (WebCore::Editor::handleKeypress): Updated for selectionForCommand change.
  51282. (WebCore::Editor::handleInputMethodKeypress): Ditto.
  51283. (WebCore::imageElementFromImageDocument): Renamed and changed to return
  51284. a HTMLImageElement instead of a Node*.
  51285. (WebCore::Editor::canCopy): Updated for name change.
  51286. (WebCore::Editor::selectionUnorderedListState): Updated for TriState change.
  51287. (WebCore::Editor::selectionOrderedListState): Ditto.
  51288. (WebCore::Editor::selectionStartHasStyle): Make type of local more specific.
  51289. (WebCore::updateState): Moved here from Frame.
  51290. (WebCore::Editor::selectionHasStyle): Ditto.
  51291. (WebCore::Editor::Editor): Initialize m_shouldStartNewKillRingSequence.
  51292. (WebCore::Editor::insertTextWithoutSendingTextEvent): Updated for
  51293. selectionForCommand change.
  51294. (WebCore::Editor::copy): Updated for imageElementFromImageDocument change.
  51295. (WebCore::Editor::toggleBold): Call the ToggleBold command via the command
  51296. machinery since it's no longer in this file as a local function.
  51297. (WebCore::Editor::toggleUnderline): Call the ToggleUnderline command.
  51298. (WebCore::Editor::setBaseWritingDirection): Change type of argument and of
  51299. local variable.
  51300. (WebCore::Editor::addToKillRing): Moved here from EditorMac. Not useful
  51301. without a kill ring, but it's relatively straightforward to implement one.
  51302. (WebCore::Editor::appendToKillRing): Put default implementation here for
  51303. platforms other than Mac. We should probably put a simple kill ring
  51304. implementation here -- doesn't need to be shared with the OS oh platforms
  51305. other than Mac.
  51306. (WebCore::Editor::prependToKillRing): Ditto.
  51307. (WebCore::Editor::yankFromKillRing): Ditto.
  51308. (WebCore::Editor::startNewKillRingSequence): Ditto.
  51309. (WebCore::Editor::setKillRingToYankedState): Ditto.
  51310. * editing/Editor.h: Moved the TriState enum here instead of inside the
  51311. Frame class. Added EditorCommandSource enum. Moved selectionHasStyle
  51312. here from the Frame class. Added Editor::Command class with five functions
  51313. for the various things you can do with a command (execute it, check if it
  51314. can be used, and its state and value). Changed hte parameter of
  51315. setBaseWritingDirection to be a const String& rather than a String.
  51316. Got rid of the kill-ring-related operations, but added the kill ring
  51317. functions themselves. Made selectedRange() public. Made the
  51318. m_startNewKillRingSequence not Mac-specific and added "should" to its
  51319. name.
  51320. * editing/EditorCommand.cpp: Copied from WebCore/editing/Editor.cpp.
  51321. Retained only the editing commands.
  51322. (WebCore::targetFrame): Moved to the top of the file.
  51323. (WebCore::executeApplyStyle): Added. Helper function for commands
  51324. that need to apply styles.
  51325. (WebCore::executeToggleStyle): Added. Helper function for commands
  51326. that need to toggle styles based on the style of the start of selection.
  51327. (WebCore::executeApplyParagraphStyle): Added. Like executeApplyStyle, but
  51328. for paragraph styles.
  51329. (WebCore::executeInsertFragment): Added. Helper function for commands
  51330. that need to insert a DOM fragment.
  51331. (WebCore::executeInsertNode): Added. Helper function for commands that
  51332. need to insert a tree rooted in a single DOM node.
  51333. (WebCore::stateStyle): Added. Helper function for the state of commands
  51334. that represent style.
  51335. (WebCore::valueStyle): Added. Helper function for the value of commands
  51336. that represent style.
  51337. (WebCore::canScroll): Added. Helper functions for some move and scroll
  51338. commands that need to determine if the renderer they are in can scroll.
  51339. (WebCore::unionDOMRanges): Moved here from EditorMac.
  51340. (WebCore::executeBackColor):
  51341. (WebCore::executeBackwardDelete):
  51342. (WebCore::executeCopy):
  51343. (WebCore::executeCreateLink):
  51344. (WebCore::executeCut):
  51345. (WebCore::executeDelete):
  51346. (WebCore::executeDeleteToMark):
  51347. (WebCore::executeDeleteWordBackward):
  51348. (WebCore::executeDeleteWordForward):
  51349. (WebCore::executeFindString):
  51350. (WebCore::executeFontName):
  51351. (WebCore::executeFontSize):
  51352. (WebCore::executeFontSizeDelta):
  51353. (WebCore::executeForeColor):
  51354. (WebCore::executeFormatBlock):
  51355. (WebCore::executeForwardDelete):
  51356. (WebCore::executeIndent):
  51357. (WebCore::executeInsertBacktab):
  51358. (WebCore::executeInsertHorizontalRule):
  51359. (WebCore::executeInsertHTML):
  51360. (WebCore::executeInsertImage):
  51361. (WebCore::executeInsertLineBreak):
  51362. (WebCore::executeInsertNewline):
  51363. (WebCore::executeInsertNewlineInQuotedContent):
  51364. (WebCore::executeInsertOrderedList):
  51365. (WebCore::executeInsertParagraph):
  51366. (WebCore::executeInsertTab):
  51367. (WebCore::executeInsertText):
  51368. (WebCore::executeInsertUnorderedList):
  51369. (WebCore::executeJustifyCenter):
  51370. (WebCore::executeJustifyFull):
  51371. (WebCore::executeJustifyLeft):
  51372. (WebCore::executeJustifyRight):
  51373. (WebCore::executeMoveBackward):
  51374. (WebCore::executeMoveBackwardAndModifySelection):
  51375. (WebCore::executeMoveDown):
  51376. (WebCore::executeMoveDownAndModifySelection):
  51377. (WebCore::executeMoveDownByPageAndModifyCaret):
  51378. (WebCore::executeMoveForward):
  51379. (WebCore::executeMoveForwardAndModifySelection):
  51380. (WebCore::executeMoveLeft):
  51381. (WebCore::executeMoveLeftAndModifySelection):
  51382. (WebCore::executeMoveRight):
  51383. (WebCore::executeMoveRightAndModifySelection):
  51384. (WebCore::executeMoveToBeginningOfDocument):
  51385. (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
  51386. (WebCore::executeMoveToBeginningOfLine):
  51387. (WebCore::executeMoveToBeginningOfLineAndModifySelection):
  51388. (WebCore::executeMoveToBeginningOfParagraph):
  51389. (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
  51390. (WebCore::executeMoveToBeginningOfSentence):
  51391. (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
  51392. (WebCore::executeMoveToEndOfDocument):
  51393. (WebCore::executeMoveToEndOfDocumentAndModifySelection):
  51394. (WebCore::executeMoveToEndOfSentence):
  51395. (WebCore::executeMoveToEndOfSentenceAndModifySelection):
  51396. (WebCore::executeMoveToEndOfLine):
  51397. (WebCore::executeMoveToEndOfLineAndModifySelection):
  51398. (WebCore::executeMoveToEndOfParagraph):
  51399. (WebCore::executeMoveToEndOfParagraphAndModifySelection):
  51400. (WebCore::executeMoveParagraphBackwardAndModifySelection):
  51401. (WebCore::executeMoveParagraphForwardAndModifySelection):
  51402. (WebCore::executeMoveUp):
  51403. (WebCore::executeMoveUpAndModifySelection):
  51404. (WebCore::executeMoveUpByPageAndModifyCaret):
  51405. (WebCore::executeMoveWordBackward):
  51406. (WebCore::executeMoveWordBackwardAndModifySelection):
  51407. (WebCore::executeMoveWordForward):
  51408. (WebCore::executeMoveWordForwardAndModifySelection):
  51409. (WebCore::executeMoveWordLeft):
  51410. (WebCore::executeMoveWordLeftAndModifySelection):
  51411. (WebCore::executeMoveWordRight):
  51412. (WebCore::executeMoveWordRightAndModifySelection):
  51413. (WebCore::executeOutdent):
  51414. (WebCore::executePaste):
  51415. (WebCore::executePasteAndMatchStyle):
  51416. (WebCore::executePrint):
  51417. (WebCore::executeRedo):
  51418. (WebCore::executeRemoveFormat):
  51419. (WebCore::executeSelectAll):
  51420. (WebCore::executeSelectToMark):
  51421. (WebCore::executeSetMark):
  51422. (WebCore::executeStrikethrough):
  51423. (WebCore::executeSubscript):
  51424. (WebCore::executeSuperscript):
  51425. (WebCore::executeSwapWithMark):
  51426. (WebCore::executeToggleBold):
  51427. (WebCore::executeToggleItalic):
  51428. (WebCore::executeTranspose):
  51429. (WebCore::executeUnderline):
  51430. (WebCore::executeUndo):
  51431. (WebCore::executeUnlink):
  51432. (WebCore::executeUnscript):
  51433. (WebCore::executeUnselect):
  51434. (WebCore::executeYank):
  51435. (WebCore::executeYankAndSelect):
  51436. (WebCore::supported):
  51437. (WebCore::supportedPaste):
  51438. (WebCore::enabled):
  51439. (WebCore::enabledAnySelection):
  51440. (WebCore::enabledAnySelectionAndMark):
  51441. (WebCore::enableCaretInEditableText):
  51442. (WebCore::enabledCopy):
  51443. (WebCore::enabledCut):
  51444. (WebCore::enabledInEditableText):
  51445. (WebCore::enabledInRichlyEditableText):
  51446. (WebCore::enabledPaste):
  51447. (WebCore::enabledRangeInEditableText):
  51448. (WebCore::enabledRangeInRichlyEditableText):
  51449. (WebCore::enabledRedo):
  51450. (WebCore::enabledUndo):
  51451. (WebCore::stateNone):
  51452. (WebCore::stateBold):
  51453. (WebCore::stateItalic):
  51454. (WebCore::stateOrderedList):
  51455. (WebCore::stateStrikethrough):
  51456. (WebCore::stateSubscript):
  51457. (WebCore::stateSuperscript):
  51458. (WebCore::stateUnderline):
  51459. (WebCore::stateUnorderedList):
  51460. (WebCore::valueNull):
  51461. (WebCore::valueBackColor):
  51462. (WebCore::valueFontName):
  51463. (WebCore::valueFontSize):
  51464. (WebCore::valueFontSizeDelta):
  51465. (WebCore::valueForeColor):
  51466. (WebCore::createCommandMap): Added lots of commands, including all the commands
  51467. from JSEditor. A few commands needed different behavior based on whether they are
  51468. invoked from the DOM or a keyboard binding.
  51469. (WebCore::Editor::command): Added. Gets a command object given a name.
  51470. (WebCore::Editor::Command::Command): Added.
  51471. (WebCore::Editor::Command::execute): Added.
  51472. (WebCore::Editor::Command::isSupported): Added.
  51473. (WebCore::Editor::Command::isEnabled): Added.
  51474. (WebCore::Editor::Command::state): Added.
  51475. (WebCore::Editor::Command::value): Added.
  51476. (WebCore::Editor::execCommand): Changed to call command().execute().
  51477. * editing/JSEditor.cpp: Removed.
  51478. * editing/JSEditor.h: Removed.
  51479. * editing/mac/EditorMac.mm: Changed to provide kill ring primitives intead of
  51480. kill ring commands, so the kill ring commands can be cross-platform.
  51481. (WebCore::Editor::appendToKillRing): Added.
  51482. (WebCore::Editor::prependToKillRing): Added.
  51483. (WebCore::Editor::yankFromKillRing): Added.
  51484. (WebCore::Editor::startNewKillRingSequence): Added.
  51485. (WebCore::Editor::setKillRingToYankedState): Added.
  51486. * page/Frame.cpp: Removed selectionHasStyle, TriState, and updateState.
  51487. * page/Frame.h: Ditto.
  51488. * page/mac/WebCoreFrameBridge.mm: Removed selectionHasStyle.
  51489. * page/mac/WebCoreFrameBridge.h: Ditto.
  51490. * platform/ContextMenu.cpp:
  51491. (WebCore::ContextMenu::checkOrEnableIfNeeded): Updated for TriState change.
  51492. * platform/text/StringHash.h:
  51493. (WebCore::StringHash::hash): Merged the StrHash<> template classes into this.
  51494. (WebCore::StringHash::equal): Ditto.
  51495. (WebCore::CaseFoldingHash::hash): Merged the CaseInsensitiveHash<> template
  51496. classes into this.
  51497. (WebCore::CaseFoldingHash::equal): Ditto.
  51498. * platform/text/StringImpl.cpp:
  51499. (WebCore::equal): Changed to invoke StringHash.
  51500. (WebCore::equalIgnoringCase): Changed to invoke CaseFoldingHash.
  51501. * dom/DOMImplementation.cpp:
  51502. (WebCore::addString): Updated to use StringHash and CaseFoldingHash.
  51503. (WebCore::isSVG10Feature): Ditto.
  51504. (WebCore::isSVG11Feature): Ditto.
  51505. * loader/FrameLoader.cpp:
  51506. (WebCore::localSchemes): Ditto.
  51507. * platform/graphics/FontCache.cpp:
  51508. (WebCore::computeHash): Ditto.
  51509. * platform/network/HTTPHeaderMap.h: Ditto.
  51510. * platform/text/PlatformString.h: Ditto.
  51511. * platform/text/StringImpl.h: Ditto.
  51512. * rendering/RenderPartObject.cpp:
  51513. (WebCore::RenderPartObject::updateWidget): Ditto.
  51514. * xml/XMLHttpRequest.cpp:
  51515. (WebCore::canSetRequestHeader): Ditto.
  51516. * rendering/RenderTreeAsText.cpp: Removed stray include of JSEditor.h.
  51517. 2007-12-11 Darin Adler <darin@apple.com>
  51518. * platform/wx/KeyboardEventWx.cpp:
  51519. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Another try at fixing the
  51520. WX build. Changes the code around a little bit.
  51521. 2007-12-11 Darin Adler <darin@apple.com>
  51522. * platform/wx/KeyboardEventWx.cpp:
  51523. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Quick try at fixing build.
  51524. 2007-12-11 Dan Bernstein <mitz@apple.com>
  51525. Reviewed by Darin Adler.
  51526. - fix <rdar://problem/5631507> Text doesn't wrap properly at Tamil version of Wikipedia
  51527. Test: fast/text/international/complex-character-based-fallback.html
  51528. * platform/graphics/Font.cpp:
  51529. (WebCore::Font::glyphDataForCharacter): Added a forceSmallCaps argument
  51530. that forces this function to use the small caps font. It is used for
  51531. combining marks that need to combine with a small cap.
  51532. * platform/graphics/Font.h:
  51533. * platform/win/UniscribeController.cpp:
  51534. (WebCore::UniscribeController::advance): Changed to split the string
  51535. into runs of characters that will be rendered using the same FontData.
  51536. This is done by calling glyphDataForCharacter() for each cahracter to
  51537. find the FontData it should be rendered with.
  51538. (WebCore::UniscribeController::itemizeShapeAndPlace): Added a fontData
  51539. argument that is passed on to shapeAndPlaceItem() instead of the
  51540. smallCaps argument.
  51541. (WebCore::UniscribeController::shapeAndPlaceItem): Added a fontData
  51542. argument and removed the font fallback logic from this function, as
  51543. it is now expected to be called with an item all of whose characters
  51544. can be rendered with the given fontData.
  51545. * platform/win/UniscribeController.h:
  51546. 2007-12-07 Alexey Proskuryakov <ap@webkit.org>
  51547. Reviewed by Darin.
  51548. <rdar://problem/5535636>
  51549. Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
  51550. http://bugs.webkit.org/show_bug.cgi?id=13916
  51551. JavaScript detects Tab as a character input on a textfield validation
  51552. Test: platform/win/fast/events/double-dead-char.html
  51553. * platform/PlatformKeyboardEvent.h:
  51554. (WebCore::PlatformKeyboardEvent::):
  51555. (WebCore::PlatformKeyboardEvent::type):
  51556. (WebCore::PlatformKeyboardEvent::windowsVirtualKeyCode):
  51557. (WebCore::PlatformKeyboardEvent::setWindowsVirtualKeyCode):
  51558. (WebCore::PlatformKeyboardEvent::keyIdentifier):
  51559. (WebCore::PlatformKeyboardEvent::setIsAutoRepeat):
  51560. Added an explicit type member to differentiate different kinds of events:
  51561. RawKeyDown == keydown == WM_KEYDOWN
  51562. KeyUp == keyup == WM_KEYUP
  51563. Char == keypress == WM_CHAR
  51564. KeyDown == e.g. NSKeyDown or NSFlagsChanged, used on platforms that have a different model for
  51565. event processing, and needs to be converted to RawKeyDown (+ Char) for processing in DOM.
  51566. * platform/mac/KeyEventMac.mm:
  51567. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
  51568. Fix Enter (numeric keypad) charCode to match Return, as we check for it from keypress default handlers.
  51569. (WebCore::windowsKeyCodeForKeyEvent):
  51570. (WebCore::isKeyUpEvent): Made it do something closer to what it claims; added a FIXME explaining
  51571. that it still fails.
  51572. (WebCore::disambiguateKeyDownEvent): Downgrade from KeyDown to RawKeyDown or Char, removing information that
  51573. should not be available in those (because it cannot be provided on Windows).
  51574. * platform/win/KeyEventWin.cpp:
  51575. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
  51576. Used standard Windows constants for bit masks instead of our own ones.
  51577. (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): Should never be called on Windows.
  51578. * platform/gtk/KeyEventGtk.cpp:
  51579. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
  51580. (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
  51581. * platform/qt/PlatformKeyboardEventQt.cpp:
  51582. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
  51583. (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
  51584. * platform/wx/KeyboardEventWx.cpp:
  51585. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
  51586. (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
  51587. Updated for cross-platform changes as much as it was possible without appropriate build
  51588. environments.
  51589. * WebCore.base.exp: Export PlatformKeyboardEvent::disambiguateKeyDownEvent(), used by platforms that need to
  51590. convert their fancy key events to RawKeyDown/Char pairs. Export Editor::isTextInsertionCommand().
  51591. * bridge/EditorClient.h:
  51592. Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
  51593. Renamed handleInputMethodKeypress() to handleInputMethodKeydown(), as IMs work with raw keydowns.
  51594. * dom/Document.h:
  51595. * dom/Document.cpp:
  51596. (WebCore::Document::defaultEventHandler): Moved accesskey processing to EventHandler.
  51597. * dom/KeyboardEvent.h: Added comments describing keyCode/charCode behavior.
  51598. * dom/KeyboardEvent.cpp:
  51599. (WebCore::eventTypeForKeyboardEventType):
  51600. (WebCore::KeyboardEvent::KeyboardEvent): Conversion between platform and DOM event types is
  51601. now straightforward, so scary hacks such as using autorepeat to distinguish types are
  51602. not needed.
  51603. (WebCore::KeyboardEvent::keyCode): Added a comment describing other browsers' behavior.
  51604. (WebCore::KeyboardEvent::charCode): Added a comment describing other browsers' behavior.
  51605. Changed to a more compatible behavior: raw keydown/keyup events do not and can not have
  51606. character codes.
  51607. * editing/Editor.h:
  51608. * editing/Editor.cpp:
  51609. (WebCore::Editor::isTextInsertionCommand): Is this command actually text input in disguise?
  51610. (WebCore::Editor::handleKeyboardEvent): Updated for new function names.
  51611. (WebCore::Editor::handleInputMethodKeydown): Ditto.
  51612. * html/HTMLButtonElement.cpp:
  51613. (WebCore::HTMLButtonElement::defaultEventHandler): Perform the default action when handling an
  51614. appropriate event. Enter is processed on keypress (and thus should be checked for via charCode,
  51615. not keyIdentifier), Space is processed on keydown+keyup! We now match IE in that a button is
  51616. highlighted when Space is pressed.
  51617. * html/HTMLInputElement.cpp:
  51618. (WebCore::HTMLInputElement::defaultEventHandler):
  51619. * html/HTMLSelectElement.cpp:
  51620. (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
  51621. (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
  51622. Made a number of fixes to when default actions take place, similar to HTMLButtonElement ones
  51623. described above.
  51624. * page/EventHandler.cpp:
  51625. (WebCore::EventHandler::keyEvent): Unless we have a combined KeyDown, just forward the event
  51626. to the target. Call accesskey handling directly, as it doesn't seem to be part of normal event
  51627. handling in IE. Also streamlined the code in KeyDown case, thanks to handleInputMethodKeypress()
  51628. now being handleInputMethodKeydown().
  51629. (WebCore::EventHandler::handleTextInputEvent): Check that we were not called from keydown.
  51630. (WebCore::EventHandler::defaultTextInputEventHandler): Removed a call to defaultTabEventHandler,
  51631. as default tab handling happens when processing keydown.
  51632. (WebCore::handleAccessKey): Moved from Document, as access keys are processed outside normal
  51633. event handling. Fixed accesskey processing to use information that's available in a raw keydown
  51634. event.
  51635. (WebCore::EventHandler::defaultKeyboardEventHandler): Do not ignore keydown; in particular,
  51636. handle tabs during keydown processing.
  51637. * page/mac/EventHandlerMac.mm:
  51638. (WebCore::EventHandler::currentKeyboardEvent): Disambiguate KeyDown as RawKeyDown, as this is
  51639. what callers want.
  51640. * platform/text/PlatformString.h:
  51641. * platform/text/String.cpp:
  51642. (WebCore::String::characterStartingAt):
  51643. * platform/text/StringImpl.cpp:
  51644. (WebCore::StringImpl::characterStartingAt):
  51645. * platform/text/StringImpl.h:
  51646. Added a UChar32 accessor.
  51647. * svg/graphics/SVGImageEmptyClients.h:
  51648. (WebCore::SVGEmptyEditorClient::handleKeyboardEvent):
  51649. (WebCore::SVGEmptyEditorClient::handleInputMethodKeydown):
  51650. Updated for new function names.
  51651. 2007-12-11 John Sullivan <sullivan@apple.com>
  51652. Reviewed by Adele
  51653. Tiger build fix -- don't call QTMovieView setDelegate: directly because it's not public
  51654. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  51655. (WebCore::MediaPlayerPrivate::createQTMovieView):
  51656. (WebCore::MediaPlayerPrivate::detachQTMovieView):
  51657. 2007-12-11 Alexey Proskuryakov <ap@webkit.org>
  51658. Reviewed by Darin.
  51659. http://bugs.webkit.org/show_bug.cgi?id=16325
  51660. <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
  51661. Fix this on Windows, too!
  51662. Test: http/tests/misc/empty-cookie.html
  51663. * platform/network/win/CookieJarWin.cpp:
  51664. (WebCore::setCookies):
  51665. (WebCore::cookies):
  51666. Same fix as on Mac, translated into CF.
  51667. * platform/win/CookieJarWin.cpp: Removed - the real one is in platform/network/win.
  51668. 2007-12-11 Christian Dywan <christian@twotoasts.de>
  51669. Reviewed by Alp Toker.
  51670. http://bugs.webkit.org/show_bug.cgi?id=16371
  51671. Implement additional mouse cursors for Gtk
  51672. Added cursor bitmaps from Mozilla:
  51673. http://lxr.mozilla.org/mozilla1.8/source/widget/src/gtk2/nsGtkCursors.h
  51674. * platform/gtk/CursorGtk.cpp:
  51675. (WebCore::customCursorNew):
  51676. (WebCore::verticalTextCursor):
  51677. (WebCore::cellCursor):
  51678. (WebCore::contextMenuCursor):
  51679. (WebCore::noDropCursor):
  51680. (WebCore::copyCursor):
  51681. (WebCore::progressCursor):
  51682. (WebCore::aliasCursor):
  51683. (WebCore::noneCursor):
  51684. (WebCore::notAllowedCursor):
  51685. (WebCore::zoomInCursor):
  51686. (WebCore::zoomOutCursor):
  51687. * platform/gtk/CursorGtk.h: Added.
  51688. 2007-12-10 Oliver Hunt <oliver@apple.com>
  51689. Reviewed by Weinig, Dan, and Alexey.
  51690. Fix character set used for dynamically loaded scripts.
  51691. Fix for:
  51692. <rdar://problem/5333163> Safari can not display the mouse over pop menu on ChinaTimes News site correctly.
  51693. <rdar://problem/5530048> [Safari]? :Leopard9A576: The typed CH characters displays as garbage in Sina website after reloading the webpage.
  51694. <rdar://problem/5416588> All menus for chinese IBM site have wrong encoding
  51695. Use the same logic to determine the charset for a script loaded dynamically
  51696. as we do for a statically loaded script.
  51697. * html/HTMLScriptElement.cpp:
  51698. (WebCore::HTMLScriptElement::insertedIntoDocument):
  51699. 2007-12-10 Justin Garcia <justin.garcia@apple.com>
  51700. Reviewed by Oliver Hunt.
  51701. <rdar://problem/5482023> GoogleDocs: After FormatBlock in an empty document, certain functions are disabled
  51702. We were trying to insert a block of the requested type before the body element.
  51703. * editing/FormatBlockCommand.cpp:
  51704. (WebCore::FormatBlockCommand::doApply):
  51705. Removed unnecessary ()s in the if condition.
  51706. Removed "|| !upstreamStart.node()->isDescendantOf(root)" from the if condition, since
  51707. a) upstreamStart will never be outside the root editable element, since in that case
  51708. there would be no block inside the editable root to Format, and b) if upstreamStart.node()
  51709. *is* the root, then refNode is the root, and we shouldn't insert before the root, we should insert
  51710. at [root, 0].
  51711. Added comments to explain the use of upstream() in the second if-clause.
  51712. Added an early return for case where there is nothing selected, in that case, there is nothing
  51713. to move.
  51714. 2007-12-10 Adele Peterson <adele@apple.com>
  51715. Reviewed and partially fixed by Tim Hatcher.
  51716. Remaining part of fix for <rdar://problem/5633400>
  51717. Transformed <video> is not clipped correctly until a repaint is forced
  51718. Replace the implementation of a QTKit method to avoid repaints from the NSView system associated with the QTMovie
  51719. from clobbering the WebCore repaints.
  51720. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerRepaint): Added.
  51721. * html/HTMLMediaElement.h:
  51722. * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::repaint): Added.
  51723. * platform/graphics/MediaPlayer.h: (WebCore::MediaPlayerClient::mediaPlayerRepaint): Added.
  51724. * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  51725. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  51726. (method_setImplementation): Added for Tiger.
  51727. (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): Call detachQTMovieView, which now does more cleanup.
  51728. (WebCore::MediaPlayerPrivate::cancelLoad): ditto.
  51729. (WebCore::MediaPlayerPrivate::setVisible): ditto.
  51730. (WebCore::MediaPlayerPrivate::detachQTMovieView): Clear the delegate as well as m_qtMovieView pointer.
  51731. (WebCore::MediaPlayerPrivate::repaint): Added. Triggers a repaint on the video renderer.
  51732. (-[WebCoreMovieObserver repaint]): ditto.
  51733. (WebCore::mainThreadSetNeedsDisplay): Added.
  51734. Does a WebCore repaint instead of going through the view repaint system for QTMovieView.
  51735. (WebCore::MediaPlayerPrivate::createQTMovieView): Replace the implementation of _mainThreadSetNeedsDisplay.
  51736. 2007-12-10 Geoffrey Garen <ggaren@apple.com>
  51737. Reviewed by Sam Weinig.
  51738. Updated for rename in JavaScriptCore.
  51739. * bridge/mac/WebCoreScriptDebugger.mm:
  51740. (-[WebCoreScriptCallFrame scopeChain]):
  51741. (-[WebCoreScriptCallFrame functionName]):
  51742. (-[WebCoreScriptCallFrame evaluateWebScript:]):
  51743. 2007-12-10 Rodney Dawes <dobey@wayofthemonkey.com>
  51744. Bug 16383: Ambiguous Window Usage in kjs_dom.cpp
  51745. <http://bugs.webkit.org/show_bug.cgi?id=16383>
  51746. Use KJS::Window not the ambiguous Window
  51747. Reviewed by ddkilzer.
  51748. * bindings/js/kjs_dom.cpp (checkNodeSecurity):
  51749. 2007-12-10 Sam Weinig <sam@webkit.org>
  51750. Fix non-mac builds.
  51751. * page/WindowFeatures.cpp: #include <wtf/MathExtras.h> for isnan.
  51752. 2007-12-10 Brett Wilson <brettw@chromium.org>
  51753. Reviewed by Darin.
  51754. Fix a divide by 0 in the progress tracker.
  51755. http://bugs.webkit.org/show_bug.cgi?id=15055
  51756. * loader/ProgressTracker.cpp:
  51757. (WebCore::ProgressTracker::incrementProgress):
  51758. 2007-12-09 Sam Weinig <sam@webkit.org>
  51759. Reviewed by Darin.
  51760. More cleanup of kjs_window.
  51761. - Move WindowFeatures from bridge/ to page/
  51762. - Move functions related to WindowFeatures (boolFeature,
  51763. floatFeature, setWindowFeature, parseWindowFeatures) into the class.
  51764. - Fix up whitespace.
  51765. * WebCore.vcproj/WebCore.vcproj:
  51766. * WebCore.xcodeproj/project.pbxproj:
  51767. * bindings/js/kjs_window.cpp:
  51768. (KJS::DOMWindowTimer::~DOMWindowTimer):
  51769. (KJS::createWindow):
  51770. (KJS::showModalDialog):
  51771. (KJS::Window::getOwnPropertySlot):
  51772. (KJS::Window::allowsAccessFrom):
  51773. (KJS::Window::shouldInterruptScript):
  51774. (KJS::WindowProtoFuncAToB::callAsFunction):
  51775. (KJS::WindowProtoFuncOpen::callAsFunction):
  51776. (KJS::Window::setReturnValueSlot):
  51777. (KJS::ScheduledAction::execute):
  51778. (KJS::Window::timerFired):
  51779. (KJS::Location::Location):
  51780. (KJS::Location::getValueProperty):
  51781. (KJS::Location::getOwnPropertySlot):
  51782. (KJS::Location::put):
  51783. (KJS::LocationProtoFuncReplace::callAsFunction): Use better variable names.
  51784. (KJS::LocationProtoFuncAssign::callAsFunction): Ditto.
  51785. (KJS::LocationProtoFuncToString::callAsFunction): Remove extraneous calls to
  51786. allowsAccessFrom, cleanup the function a little.
  51787. (KJS::PausedTimeouts::~PausedTimeouts):
  51788. * bridge/WindowFeatures.h: Removed.
  51789. * page/WindowFeatures.cpp: Added.
  51790. (WebCore::isSeparator):
  51791. (WebCore::WindowFeatures::WindowFeatures):
  51792. (WebCore::WindowFeatures::setWindowFeature):
  51793. (WebCore::WindowFeatures::boolFeature):
  51794. (WebCore::WindowFeatures::floatFeature):
  51795. * page/WindowFeatures.h: Copied from WebCore/bridge/WindowFeatures.h.
  51796. (WebCore::WindowFeatures::WindowFeatures):
  51797. 2007-12-10 Timothy Hatcher <timothy@apple.com>
  51798. Reviewed by Mark Rowe.
  51799. <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
  51800. * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
  51801. so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
  51802. 2007-12-10 Alp Toker <alp@atoker.com>
  51803. Reviewed by Niko.
  51804. Cairo implementation of GraphicsContext::setUseAntialiasing().
  51805. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  51806. (WebCore::GraphicsContext::setUseAntialiasing):
  51807. 2007-12-10 Rob Buis <buis@kde.org>
  51808. Reviewed by Darin.
  51809. http://bugs.webkit.org/show_bug.cgi?id=16182
  51810. SVG should disable antialiasing for shape-rendering="crispEdges"
  51811. Turn off anti-aliasing of shapes when shape-rendering="crispEdges".
  51812. * platform/graphics/GraphicsContext.h:
  51813. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  51814. (WebCore::GraphicsContext::setUseAntialiasing):
  51815. * platform/graphics/cg/GraphicsContextCG.cpp:
  51816. (WebCore::GraphicsContext::setUseAntialiasing):
  51817. * platform/graphics/qt/GraphicsContextQt.cpp:
  51818. (WebCore::GraphicsContext::setUseAntialiasing):
  51819. * platform/graphics/wx/GraphicsContextWx.cpp:
  51820. (WebCore::GraphicsContext::setUseAntialiasing):
  51821. * rendering/RenderPath.cpp:
  51822. (WebCore::RenderPath::paint):
  51823. 2007-12-09 Rob Buis <buis@kde.org>
  51824. Reviewed by Niko.
  51825. http://bugs.webkit.org/show_bug.cgi?id=16163
  51826. SVG crash in Node::setChanged() on Debug builds only (trashed parent)
  51827. Fix the crash by properly unregistering as client from SVGResource
  51828. when deleting a styled svg node.
  51829. * svg/SVGStyledElement.cpp:
  51830. (WebCore::SVGStyledElement::~SVGStyledElement):
  51831. 2007-12-10 Brady Eidson <beidson@apple.com>
  51832. Rubberstamped by John
  51833. * storage/DatabaseTracker.cpp:
  51834. (WebCore::DatabaseTracker::canEstablishDatabase): If the UI Delegate returns *exactly* the estimated size
  51835. for the new quota, we should allow the database to be created
  51836. 2007-12-10 David D. Kilzer <ddkilzer@webkit.org>
  51837. Bug 9683: Implement select.options.remove() method
  51838. <http://bugs.webkit.org/show_bug.cgi?id=9683>
  51839. Reviewed by Maciej.
  51840. Implement select.options.remove() by calling select.remove()
  51841. with the same arguments. This is what MSIE 7 does, although its
  51842. select.remove() method differs from WebKit's by throwing an
  51843. exception when called with no arguments or with a negative
  51844. integer argument. Note that the DOM Level 1 documentation
  51845. specifies that select.remove() does not throw an exception.
  51846. Tests: fast/js/select-options-remove-gc.html
  51847. fast/js/select-options-remove.html
  51848. * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
  51849. (WebCore::JSHTMLOptionsCollection::remove): Added.
  51850. * html/HTMLOptionsCollection.cpp:
  51851. (WebCore::HTMLOptionsCollection::remove): Added.
  51852. * html/HTMLOptionsCollection.h:
  51853. * html/HTMLOptionsCollection.idl:
  51854. 2007-12-09 Sam Weinig <sam@webkit.org>
  51855. Rubber stamped by Mark Rowe.
  51856. * WebCore.xcodeproj/project.pbxproj: Add missing DerivedSources files.
  51857. 2007-12-09 Oliver Hunt <oliver@apple.com>
  51858. Reviewed by Niko.
  51859. Correction, 'z' and 'Z' are the only commands that cannot have an extended
  51860. list of arguments.
  51861. * svg/SVGParserUtilities.cpp:
  51862. (WebCore::SVGPathParser::parseSVG):
  51863. 2007-12-09 Oliver Hunt <oliver@apple.com>
  51864. Reviewed by Niko.
  51865. Prevent unlimited iteration in the case of invalid path data.
  51866. The only path commands that can leave numbers trailing the command processing
  51867. are 'm' and 'M', in which trailing numbers are parsed as arguments to an
  51868. implicit lineto command. In any case we should just terminate as an invalid
  51869. path.
  51870. * svg/SVGParserUtilities.cpp:
  51871. (WebCore::SVGPathParser::parseSVG):
  51872. 2007-12-09 Luca Bruno <lethalman88@gmail.com>
  51873. Reviewed by Alp Toker.
  51874. http://bugs.webkit.org/show_bug.cgi?id=15825
  51875. [GTK] curl - slow dns causing hangs.
  51876. Create a vector of jobs, to satisfy requests in the right order.
  51877. Set a limit to the number of simultaneous connections.
  51878. * platform/network/curl/ResourceHandleManager.cpp:
  51879. (WebCore::maxRunningJobs): added
  51880. (WebCore::ResourceHandleManager::ResourceHandleManager):
  51881. (WebCore::ResourceHandleManager::removeFromCurl):
  51882. (WebCore::ResourceHandleManager::startScheduledJobs):
  51883. * platform/network/curl/ResourceHandleManager.h:
  51884. (WebCore::ResourceHandleList): removed
  51885. (WebCore::ResourceHandleManager::m_runningJobs): added
  51886. (WebCore::ResourceHandleManager::m_resourceHandleListHead): removed
  51887. (WebCore::ResourceHandleManager::m_resourceHandleList): added
  51888. 2007-12-08 Sam Weinig <sam@webkit.org>
  51889. Reviewed by Oliver.
  51890. Cleanup kjs_window.h/cpp.
  51891. * bindings/js/kjs_window.cpp:
  51892. (KJS::WindowPrivate::WindowPrivate):
  51893. (KJS::DOMWindowTimer::DOMWindowTimer):
  51894. (KJS::Window::Window):
  51895. (KJS::Window::retrieveWindow):
  51896. (KJS::Window::retrieveActive):
  51897. (KJS::Window::retrieve):
  51898. (KJS::Window::location):
  51899. (KJS::Window::mark):
  51900. (KJS::allowPopUp):
  51901. (KJS::parseModalDialogFeatures):
  51902. (KJS::floatFeature):
  51903. (KJS::canShowModalDialog):
  51904. (KJS::canShowModalDialogNow):
  51905. (KJS::showModalDialog):
  51906. (KJS::Window::getValueProperty):
  51907. (KJS::Window::getOwnPropertySlot):
  51908. (KJS::Window::globalExec):
  51909. (KJS::Window::setListener):
  51910. (KJS::Window::getListener):
  51911. (KJS::Window::findOrCreateJSEventListener):
  51912. (KJS::Window::findOrCreateJSUnprotectedEventListener):
  51913. (KJS::Window::clearHelperObjectProperties):
  51914. (KJS::Window::setCurrentEvent):
  51915. (KJS::WindowProtoFuncAToB::callAsFunction):
  51916. (KJS::WindowProtoFuncBToA::callAsFunction):
  51917. (KJS::WindowProtoFuncOpen::callAsFunction):
  51918. (KJS::WindowProtoFuncSetTimeout::callAsFunction):
  51919. (KJS::WindowProtoFuncClearTimeout::callAsFunction):
  51920. (KJS::WindowProtoFuncSetInterval::callAsFunction):
  51921. (KJS::WindowProtoFuncAddEventListener::callAsFunction):
  51922. (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
  51923. (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
  51924. (KJS::WindowProtoFuncNotImplemented::callAsFunction):
  51925. * bindings/js/kjs_window.h:
  51926. (KJS::PausedTimeouts::PausedTimeouts):
  51927. (KJS::PausedTimeouts::takeTimeouts):
  51928. (KJS::ScheduledAction::ScheduledAction):
  51929. 2007-12-08 Sam Weinig <sam@webkit.org>
  51930. Reviewed by Mitz.
  51931. Move window scrolling, moving and resizing methods from KJS::Window
  51932. to WebCore::DOMWindow so that there bindings can be autogenerated.
  51933. Tests: fast/dom/Window/window-resize-and-move-arguments.html
  51934. fast/dom/Window/window-scroll-arguments.html
  51935. * WebCore.xcodeproj/project.pbxproj:
  51936. * bindings/js/kjs_window.cpp:
  51937. (KJS::Window::getValueProperty): Remove extraneous allowsAccessFrom check.
  51938. (KJS::WindowProtoFuncOpen::callAsFunction):
  51939. (KJS::WindowProtoFuncNotImplemented::callAsFunction): Remove extraneous allowsAccessFrom check.
  51940. * bindings/js/kjs_window.h:
  51941. * bindings/scripts/CodeGeneratorJS.pm: Add new extended attribute
  51942. to ensure that the no less than the declared number of attributes
  51943. is allowed.
  51944. * page/DOMWindow.cpp:
  51945. (WebCore::DOMWindow::adjustWindowRect): Moved from kjs_window.
  51946. (WebCore::DOMWindow::scrollBy):
  51947. (WebCore::DOMWindow::scrollTo):
  51948. (WebCore::DOMWindow::moveBy):
  51949. (WebCore::DOMWindow::moveTo):
  51950. (WebCore::DOMWindow::resizeBy):
  51951. (WebCore::DOMWindow::resizeTo):
  51952. * page/DOMWindow.h:
  51953. (WebCore::DOMWindow::scroll):
  51954. * page/DOMWindow.idl:
  51955. 2007-12-08 Kevin Ollivier <kevino@theolliviers.com>
  51956. Reviewed by Alp Toker.
  51957. http://bugs.webkit.org/show_bug.cgi?id=14651
  51958. [CURL] didReceiveResponse() only called for HTTP loads
  51959. http://bugs.webkit.org/show_bug.cgi?id=14583
  51960. [GDK] file:// relative CSS include URLs handled incorrectly
  51961. Make sure CURL sets the ResourceResponse URL and calls
  51962. didReceiveResponse for local files too.
  51963. * platform/network/curl/ResourceHandleManager.cpp:
  51964. (WebCore::writeCallback):
  51965. 2007-12-08 Oliver Hunt <oliver@apple.com>
  51966. Reviewed by Sam W.
  51967. Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags.
  51968. Fixes <rdar://problem/5620249> Must disable SVG animation
  51969. <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior
  51970. In order to allow finer grained control over the set of SVG features
  51971. this patch splits ENABLE_SVG_EXPERIMENTAL_FEATURES into the following
  51972. distinct flags:
  51973. ENABLE_SVG_ANIMATION
  51974. ENABLE_SVG_FILTERS
  51975. ENABLE_SVG_FONTS
  51976. ENABLE_SVG_AS_IMAGE
  51977. ENABLE_SVG_USE
  51978. by default only ENABLE_SVG_AS_IMAGE and ENABLE_SVG_USE are set.
  51979. * Configurations/WebCore.xcconfig:
  51980. * DerivedSources.make:
  51981. Handle the increased number of build flags that may be necessary
  51982. * WebCore.SVG.Animation.exp: Added.
  51983. * WebCore.SVG.Filters.exp: Added.
  51984. * WebCore.SVG.exp:
  51985. We now may not need the animation or filter exports so
  51986. these need to be separate.
  51987. * WebCore.vcproj/WebCore.vcproj:
  51988. * WebCore.vcproj/build-generated-files.sh:
  51989. Update for new flags
  51990. Remainder of changes are to swap ENABLE(SVG_EXPERIMENTAL_FEATURES)
  51991. with the appropriate specific feature flag.
  51992. * bindings/js/JSSVGElementWrapperFactory.cpp:
  51993. (WebCore::createJSSVGWrapper):
  51994. * bindings/objc/DOM.mm:
  51995. (WebCore::createElementClassMap):
  51996. * dom/make_names.pl:
  51997. * loader/CachedImage.cpp:
  51998. (WebCore::CachedImage::createImage):
  51999. * page/DOMWindow.idl:
  52000. * rendering/RenderPath.cpp:
  52001. (WebCore::RenderPath::absoluteClippedOverflowRect):
  52002. * rendering/RenderSVGContainer.cpp:
  52003. (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
  52004. * rendering/RenderSVGImage.cpp:
  52005. (WebCore::RenderSVGImage::absoluteClippedOverflowRect):
  52006. * rendering/RenderSVGRoot.cpp:
  52007. (WebCore::RenderSVGRoot::paint):
  52008. (WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
  52009. * rendering/RenderSVGText.cpp:
  52010. (WebCore::RenderSVGText::absoluteClippedOverflowRect):
  52011. * rendering/SVGRenderSupport.cpp:
  52012. (WebCore::prepareToRenderSVGContent):
  52013. (WebCore::finishRenderSVGContent):
  52014. * svg/SVGAnimateElement.cpp:
  52015. * svg/SVGAnimateElement.h:
  52016. * svg/SVGAnimateElement.idl:
  52017. * svg/SVGAnimateMotionElement.cpp:
  52018. * svg/SVGAnimateMotionElement.h:
  52019. * svg/SVGAnimateTransformElement.cpp:
  52020. * svg/SVGAnimateTransformElement.h:
  52021. * svg/SVGAnimateTransformElement.idl:
  52022. * svg/SVGComponentTransferFunctionElement.cpp:
  52023. * svg/SVGComponentTransferFunctionElement.h:
  52024. * svg/SVGComponentTransferFunctionElement.idl:
  52025. * svg/SVGDocumentExtensions.cpp:
  52026. (WebCore::SVGDocumentExtensions::startAnimations):
  52027. * svg/SVGFEBlendElement.cpp:
  52028. * svg/SVGFEBlendElement.h:
  52029. * svg/SVGFEBlendElement.idl:
  52030. * svg/SVGFEColorMatrixElement.cpp:
  52031. * svg/SVGFEColorMatrixElement.h:
  52032. * svg/SVGFEColorMatrixElement.idl:
  52033. * svg/SVGFEComponentTransferElement.cpp:
  52034. * svg/SVGFEComponentTransferElement.h:
  52035. * svg/SVGFEComponentTransferElement.idl:
  52036. * svg/SVGFECompositeElement.cpp:
  52037. * svg/SVGFECompositeElement.h:
  52038. * svg/SVGFECompositeElement.idl:
  52039. * svg/SVGFEDiffuseLightingElement.cpp:
  52040. * svg/SVGFEDiffuseLightingElement.h:
  52041. * svg/SVGFEDiffuseLightingElement.idl:
  52042. * svg/SVGFEDisplacementMapElement.cpp:
  52043. * svg/SVGFEDisplacementMapElement.h:
  52044. * svg/SVGFEDisplacementMapElement.idl:
  52045. * svg/SVGFEDistantLightElement.cpp:
  52046. * svg/SVGFEDistantLightElement.h:
  52047. * svg/SVGFEDistantLightElement.idl:
  52048. * svg/SVGFEFloodElement.cpp:
  52049. * svg/SVGFEFloodElement.h:
  52050. * svg/SVGFEFloodElement.idl:
  52051. * svg/SVGFEFuncAElement.cpp:
  52052. * svg/SVGFEFuncAElement.h:
  52053. * svg/SVGFEFuncAElement.idl:
  52054. * svg/SVGFEFuncBElement.cpp:
  52055. * svg/SVGFEFuncBElement.h:
  52056. * svg/SVGFEFuncBElement.idl:
  52057. * svg/SVGFEFuncGElement.cpp:
  52058. * svg/SVGFEFuncGElement.h:
  52059. * svg/SVGFEFuncGElement.idl:
  52060. * svg/SVGFEFuncRElement.cpp:
  52061. * svg/SVGFEFuncRElement.h:
  52062. * svg/SVGFEFuncRElement.idl:
  52063. * svg/SVGFEGaussianBlurElement.cpp:
  52064. * svg/SVGFEGaussianBlurElement.h:
  52065. * svg/SVGFEGaussianBlurElement.idl:
  52066. * svg/SVGFEImageElement.cpp:
  52067. * svg/SVGFEImageElement.h:
  52068. * svg/SVGFEImageElement.idl:
  52069. * svg/SVGFELightElement.cpp:
  52070. * svg/SVGFELightElement.h:
  52071. * svg/SVGFEMergeElement.cpp:
  52072. * svg/SVGFEMergeElement.h:
  52073. * svg/SVGFEMergeElement.idl:
  52074. * svg/SVGFEMergeNodeElement.cpp:
  52075. * svg/SVGFEMergeNodeElement.h:
  52076. * svg/SVGFEMergeNodeElement.idl:
  52077. * svg/SVGFEOffsetElement.cpp:
  52078. * svg/SVGFEOffsetElement.h:
  52079. * svg/SVGFEOffsetElement.idl:
  52080. * svg/SVGFEPointLightElement.cpp:
  52081. * svg/SVGFEPointLightElement.h:
  52082. * svg/SVGFEPointLightElement.idl:
  52083. * svg/SVGFESpecularLightingElement.cpp:
  52084. * svg/SVGFESpecularLightingElement.h:
  52085. * svg/SVGFESpecularLightingElement.idl:
  52086. * svg/SVGFESpotLightElement.cpp:
  52087. * svg/SVGFESpotLightElement.h:
  52088. * svg/SVGFESpotLightElement.idl:
  52089. * svg/SVGFETileElement.cpp:
  52090. * svg/SVGFETileElement.h:
  52091. * svg/SVGFETileElement.idl:
  52092. * svg/SVGFETurbulenceElement.cpp:
  52093. * svg/SVGFETurbulenceElement.h:
  52094. * svg/SVGFETurbulenceElement.idl:
  52095. * svg/SVGFilterElement.cpp:
  52096. * svg/SVGFilterElement.h:
  52097. * svg/SVGFilterElement.idl:
  52098. * svg/SVGFilterPrimitiveStandardAttributes.cpp:
  52099. * svg/SVGTimer.cpp:
  52100. (WebCore::SVGTimer::animationsByElement):
  52101. * svg/SVGUseElement.cpp:
  52102. (WebCore::SVGUseElement::buildPendingResource):
  52103. (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
  52104. * svg/SVGUseElement.h:
  52105. * svg/TimeScheduler.cpp:
  52106. (WebCore::TimeScheduler::connectIntervalTimer):
  52107. (WebCore::TimeScheduler::disconnectIntervalTimer):
  52108. * svg/graphics/SVGResourceFilter.cpp:
  52109. * svg/graphics/SVGResourceFilter.h:
  52110. * svg/graphics/cg/SVGResourceFilterCg.cpp:
  52111. * svg/graphics/cg/SVGResourceFilterCg.mm:
  52112. * svg/graphics/filters/SVGDistantLightSource.h:
  52113. * svg/graphics/filters/SVGFEBlend.cpp:
  52114. * svg/graphics/filters/SVGFEBlend.h:
  52115. * svg/graphics/filters/SVGFEColorMatrix.cpp:
  52116. * svg/graphics/filters/SVGFEColorMatrix.h:
  52117. * svg/graphics/filters/SVGFEComponentTransfer.cpp:
  52118. * svg/graphics/filters/SVGFEComponentTransfer.h:
  52119. * svg/graphics/filters/SVGFEComposite.cpp:
  52120. * svg/graphics/filters/SVGFEComposite.h:
  52121. * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
  52122. * svg/graphics/filters/SVGFEConvolveMatrix.h:
  52123. * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
  52124. * svg/graphics/filters/SVGFEDiffuseLighting.h:
  52125. * svg/graphics/filters/SVGFEDisplacementMap.cpp:
  52126. * svg/graphics/filters/SVGFEDisplacementMap.h:
  52127. * svg/graphics/filters/SVGFEFlood.cpp:
  52128. * svg/graphics/filters/SVGFEFlood.h:
  52129. * svg/graphics/filters/SVGFEGaussianBlur.cpp:
  52130. * svg/graphics/filters/SVGFEGaussianBlur.h:
  52131. * svg/graphics/filters/SVGFEImage.cpp:
  52132. * svg/graphics/filters/SVGFEImage.h:
  52133. * svg/graphics/filters/SVGFEMerge.cpp:
  52134. * svg/graphics/filters/SVGFEMerge.h:
  52135. * svg/graphics/filters/SVGFEMorphology.cpp:
  52136. * svg/graphics/filters/SVGFEMorphology.h:
  52137. * svg/graphics/filters/SVGFEOffset.cpp:
  52138. * svg/graphics/filters/SVGFEOffset.h:
  52139. * svg/graphics/filters/SVGFESpecularLighting.cpp:
  52140. * svg/graphics/filters/SVGFESpecularLighting.h:
  52141. * svg/graphics/filters/SVGFETile.h:
  52142. * svg/graphics/filters/SVGFETurbulence.cpp:
  52143. * svg/graphics/filters/SVGFETurbulence.h:
  52144. * svg/graphics/filters/SVGFilterEffect.cpp:
  52145. * svg/graphics/filters/SVGFilterEffect.h:
  52146. * svg/graphics/filters/SVGLightSource.cpp:
  52147. * svg/graphics/filters/SVGLightSource.h:
  52148. * svg/graphics/filters/SVGPointLightSource.h:
  52149. * svg/graphics/filters/SVGSpotLightSource.h:
  52150. * svg/graphics/filters/cg/SVGFEBlendCg.mm:
  52151. * svg/graphics/filters/cg/SVGFEColorMatrixCg.mm:
  52152. * svg/graphics/filters/cg/SVGFEComponentTransferCg.mm:
  52153. * svg/graphics/filters/cg/SVGFECompositeCg.mm:
  52154. * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
  52155. * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
  52156. * svg/graphics/filters/cg/SVGFEFloodCg.mm:
  52157. * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
  52158. * svg/graphics/filters/cg/SVGFEHelpersCg.h:
  52159. * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
  52160. * svg/graphics/filters/cg/SVGFEImageCg.mm:
  52161. * svg/graphics/filters/cg/SVGFEMergeCg.mm:
  52162. * svg/graphics/filters/cg/SVGFEOffsetCg.mm:
  52163. * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
  52164. * svg/graphics/filters/cg/SVGFETileCg.mm:
  52165. * svg/graphics/filters/cg/SVGFilterEffectCg.mm:
  52166. * svg/graphics/filters/cg/WKArithmeticFilter.h:
  52167. * svg/graphics/filters/cg/WKArithmeticFilter.m:
  52168. * svg/graphics/filters/cg/WKComponentMergeFilter.h:
  52169. * svg/graphics/filters/cg/WKComponentMergeFilter.m:
  52170. * svg/graphics/filters/cg/WKDiffuseLightingFilter.h:
  52171. * svg/graphics/filters/cg/WKDiffuseLightingFilter.m:
  52172. * svg/graphics/filters/cg/WKDiscreteTransferFilter.h:
  52173. * svg/graphics/filters/cg/WKDiscreteTransferFilter.m:
  52174. * svg/graphics/filters/cg/WKDisplacementMapFilter.h:
  52175. * svg/graphics/filters/cg/WKDisplacementMapFilter.m:
  52176. * svg/graphics/filters/cg/WKDistantLightFilter.h:
  52177. * svg/graphics/filters/cg/WKDistantLightFilter.m:
  52178. * svg/graphics/filters/cg/WKGammaTransferFilter.h:
  52179. * svg/graphics/filters/cg/WKGammaTransferFilter.m:
  52180. * svg/graphics/filters/cg/WKIdentityTransferFilter.h:
  52181. * svg/graphics/filters/cg/WKIdentityTransferFilter.m:
  52182. * svg/graphics/filters/cg/WKLinearTransferFilter.h:
  52183. * svg/graphics/filters/cg/WKLinearTransferFilter.m:
  52184. * svg/graphics/filters/cg/WKNormalMapFilter.h:
  52185. * svg/graphics/filters/cg/WKNormalMapFilter.m:
  52186. * svg/graphics/filters/cg/WKPointLightFilter.h:
  52187. * svg/graphics/filters/cg/WKPointLightFilter.m:
  52188. * svg/graphics/filters/cg/WKSpecularLightingFilter.h:
  52189. * svg/graphics/filters/cg/WKSpecularLightingFilter.m:
  52190. * svg/graphics/filters/cg/WKSpotLightFilter.h:
  52191. * svg/graphics/filters/cg/WKSpotLightFilter.m:
  52192. * svg/graphics/filters/cg/WKTableTransferFilter.h:
  52193. * svg/graphics/filters/cg/WKTableTransferFilter.m:
  52194. * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h:
  52195. * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm:
  52196. * svg/svgtags.in:
  52197. 2007-12-08 Dan Bernstein <mitz@apple.com>
  52198. Reviewed by Adele Peterson.
  52199. - fix two bugs in parsing of stylesheets in <style> elements created by
  52200. the parser:
  52201. 1. each such stylesheet is parsed twice, once when the text node is
  52202. added and again when the </style> tag is reached
  52203. 2. re-inserting such a <style> element into the document fails to
  52204. re-parse and apply its stylesheet.
  52205. Test for bug #2: fast/dom/HTMLStyleElement/insert-parser-generated.html
  52206. * html/HTMLStyleElement.cpp:
  52207. (WebCore::HTMLStyleElement::finishedParsing):
  52208. * svg/SVGStyleElement.cpp:
  52209. (WebCore::SVGStyleElement::finishedParsing):
  52210. 2007-12-07 Sam Weinig <sam@webkit.org>
  52211. Reviewed by Darin.
  52212. - Removes the faulty isSafeScript implementation that was only
  52213. used for plugins.
  52214. - Renames isSafeScript to allowsAccessFrom.
  52215. * bindings/js/JSDOMWindowCustom.cpp:
  52216. (WebCore::JSDOMWindow::customGetOwnPropertySlot):
  52217. (WebCore::JSDOMWindow::customPut):
  52218. * bindings/js/kjs_dom.cpp:
  52219. (WebCore::checkNodeSecurity):
  52220. * bindings/js/kjs_window.cpp:
  52221. (KJS::createWindow):
  52222. (KJS::Window::getValueProperty):
  52223. (KJS::Window::namedItemGetter):
  52224. (KJS::Window::getOwnPropertySlot):
  52225. (KJS::Window::put):
  52226. (KJS::Window::allowsAccessFrom):
  52227. (KJS::Window::setListener):
  52228. (KJS::Window::getListener):
  52229. (KJS::WindowProtoFuncOpen::callAsFunction):
  52230. (KJS::WindowProtoFuncSetTimeout::callAsFunction):
  52231. (KJS::WindowProtoFuncClearTimeout::callAsFunction):
  52232. (KJS::WindowProtoFuncSetInterval::callAsFunction):
  52233. (KJS::WindowProtoFuncAddEventListener::callAsFunction):
  52234. (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
  52235. (KJS::WindowProtoFuncNotImplemented::callAsFunction):
  52236. (KJS::Location::getOwnPropertySlot):
  52237. (KJS::Location::put):
  52238. (KJS::LocationProtoFuncReplace::callAsFunction):
  52239. (KJS::LocationProtoFuncReload::callAsFunction):
  52240. (KJS::LocationProtoFuncAssign::callAsFunction):
  52241. (KJS::LocationProtoFuncToString::callAsFunction):
  52242. * bindings/js/kjs_window.h:
  52243. (KJS::Window::allowsAccessFrom):
  52244. * bindings/objc/WebScriptObject.mm:
  52245. (-[WebScriptObject _isSafeScript]): Reverse caller/argument of allowsAccessFrom to match
  52246. the new call.
  52247. * bindings/scripts/CodeGeneratorJS.pm:
  52248. 2007-12-08 Rob Buis <buis@kde.org>
  52249. Reviewed by Darin.
  52250. http://bugs.webkit.org/show_bug.cgi?id=15464
  52251. SVGLengthList allows bad values
  52252. Be more strict with svg lengths without a unit identifier.
  52253. Test: svg/custom/invalid-lengthlist.svg
  52254. * svg/SVGLength.cpp:
  52255. (WebCore::SVGLength::setValueAsString):
  52256. 2007-12-08 Rob Buis <buis@kde.org>
  52257. Mac Tiger build fix.
  52258. Use the wtf prefix when including MathExtras.h.
  52259. * rendering/RenderMedia.cpp:
  52260. 2007-12-08 Alp Toker <alp@atoker.com>
  52261. GTK+ build fix (for ENABLE_VIDEO builds):
  52262. Include MathExtras.h to get isfinite().
  52263. * rendering/RenderMedia.cpp:
  52264. 2007-12-08 Rob Buis <buis@kde.org>
  52265. Reviewed by Darin.
  52266. http://bugs.webkit.org/show_bug.cgi?id=15528
  52267. svg_dynamic_cast should be removed
  52268. Replace svg_dynamic_cast with a combination of
  52269. isSVGElement and static_cast.
  52270. * rendering/SVGRootInlineBox.cpp:
  52271. (WebCore::SVGRootInlineBox::buildLayoutInformation):
  52272. (WebCore::SVGRootInlineBox::buildTextChunks):
  52273. * svg/SVGAnimationElement.cpp:
  52274. (WebCore::SVGAnimationElement::targetElement):
  52275. * svg/SVGElement.h:
  52276. * svg/SVGElementInstance.cpp:
  52277. (WebCore::SVGElementInstance::updateInstance):
  52278. * svg/SVGFilterElement.cpp:
  52279. (WebCore::SVGFilterElement::canvasResource):
  52280. * svg/SVGGradientElement.cpp:
  52281. (WebCore::SVGGradientElement::buildStops):
  52282. * svg/SVGLocatable.cpp:
  52283. (WebCore::SVGLocatable::getTransformToElement):
  52284. * svg/SVGMaskElement.cpp:
  52285. (WebCore::SVGMaskElement::drawMaskerContent):
  52286. * svg/SVGSwitchElement.cpp:
  52287. (WebCore::SVGSwitchElement::childShouldCreateRenderer):
  52288. * svg/SVGUseElement.cpp:
  52289. (WebCore::SVGUseElement::insertedIntoDocument):
  52290. (WebCore::SVGUseElement::buildPendingResource):
  52291. (WebCore::SVGUseElement::buildInstanceTree):
  52292. (WebCore::SVGUseElement::handleDeepUseReferencing):
  52293. (WebCore::SVGUseElement::buildShadowTree):
  52294. (WebCore::SVGUseElement::expandUseElementsInShadowTree):
  52295. (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
  52296. * svg/graphics/SVGResource.cpp:
  52297. (WebCore::getResourceById):
  52298. 2007-12-07 Antti Koivisto <antti@apple.com>
  52299. Reviewed by Adele.
  52300. Partial fix for <rdar://problem/5633400>
  52301. Transformed <video>, <img>, <embed> are not clipped correctly until a repaint is forced
  52302. Fix video painting when transform is applied.
  52303. Test: media/video-transformed.html
  52304. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  52305. (WebCore::MediaPlayerPrivate::paint):
  52306. 2007-12-07 Dan Bernstein <mitz@apple.com>
  52307. Reviewed by Sam Weinig.
  52308. - fix http://bugs.webkit.org/show_bug.cgi?id=16348
  52309. @font-face does not affect the default style
  52310. Test: fast/css/font-face-default-font.html
  52311. * dom/Document.cpp:
  52312. (WebCore::Document::recalcStyle): Pass our font selector to
  52313. Font::update() if we already have one.
  52314. 2007-12-07 Darin Adler <darin@apple.com>
  52315. - fix Windows build
  52316. * bridge/win/GlobalHistoryWin.cpp:
  52317. (WebCore::historyContains): Missed a rename.
  52318. 2007-12-07 Brady Eidson <beidson@apple.com>
  52319. Reviewed by Anders and Darin
  52320. When a statement bumps up against the quota and the UI Delegate grants more space, we need to
  52321. actually set the new maximum size on the SQLiteDatabase (in addition to storing the new max quota
  52322. in the DatabaseTracker, which was already done)
  52323. * storage/SQLTransaction.cpp:
  52324. (WebCore::SQLTransaction::runStatements): If a statement is being retried, set the maximum size on
  52325. the SQLiteDatabase to the new maximum size
  52326. 2007-12-07 Darin Adler <darin@apple.com>
  52327. - fix Tiger build
  52328. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Tiger didn't even have
  52329. QTKIT_VERSION_MAX_ALLOWED, so add logic to work without that.
  52330. 2007-12-07 Darin Adler <darin@apple.com>
  52331. - fix 64-bit build, hopefully without breaking Tiger build
  52332. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  52333. (WebCore::MediaPlayerPrivate::updateStates):
  52334. Don't use Movies.h constants that are nonexistent in 64-bit.
  52335. Define the new QTMovie.h constants, though, when using an older QTKit.
  52336. 2007-12-07 Brady Eidson <beidson@apple.com>
  52337. Reviewed by Anders
  52338. Fix <rdar://problem/5636115> - Prompted for quota increase to create database when it already existed
  52339. * storage/DatabaseTracker.cpp:
  52340. (WebCore::DatabaseTracker::canEstablishDatabase): Check hasEntryForDatabase before doing any prompting
  52341. (WebCore::DatabaseTracker::hasEntryForDatabase): Check and see if this database already exists
  52342. * storage/DatabaseTracker.h:
  52343. 2007-12-07 Darin Adler <darin@apple.com>
  52344. Reviewed by Mitz.
  52345. - http://bugs.webkit.org/show_bug.cgi?id=15981
  52346. speed up visited-link code a bit
  52347. * bridge/GlobalHistory.h: Change historyContains to take a character pointer plus length
  52348. instead of requiring a DeprecatedString.
  52349. * bridge/mac/GlobalHistoryMac.mm: (WebCore::historyContains): Updated for above change.
  52350. Also removes pointless "fast Latin-1" case that was never used.
  52351. * bridge/win/GlobalHistoryWin.cpp: (WebCore::historyContains): Ditto.
  52352. * platform/gtk/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
  52353. * platform/wx/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
  52354. * css/CSSStyleSelector.cpp:
  52355. (WebCore::findHash): Added. Helper for cleanpath.
  52356. (WebCore::findSlashDotDotSlash): Ditto.
  52357. (WebCore::findSlashSlash): Ditto.
  52358. (WebCore::findSlashDotSlash): Ditto.
  52359. (WebCore::cleanpath): Changed to use fast helper functions instead of slower general-purpose
  52360. DeprecatedString find function.
  52361. (WebCore::containsColonSlashSlash): Added. Helper for checkPseudoState.
  52362. (WebCore::checkPseudoState): Got rid of reference count churn by using an AtomicString*
  52363. instead of an AtomicString for the attribute value. Changed to use fast helper function
  52364. instead of slower DeprecatedString::contains function, and also made the fast case not
  52365. bother allocating a DeprecatedConstString.
  52366. - unrelated tiny cleanup
  52367. * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
  52368. (WebCore::releaseCachedStops): Use static_cast instead of reinterpret_cast.
  52369. (WebCore::cgGradientCallback): Ditto.
  52370. 2007-12-07 Darin Adler <darin@apple.com>
  52371. Fix build on Tiger (Mark Rowe told me how).
  52372. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  52373. Include <objc/objc-runtime.h>, which existed back on Tiger,
  52374. rather than <objc/runtime.h>, which did not.
  52375. 2007-12-07 Geoffrey Garen <ggaren@apple.com>
  52376. Build fix: rolling out last build fix to change #include path.
  52377. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  52378. 2007-12-07 Steve Falkenburg <sfalken@apple.com>
  52379. Re-named our B&I flag from BUILDBOT to PRODUCTION.
  52380. Reviewed by Sam Weinig.
  52381. * WebCore.vcproj/WebCore.make:
  52382. 2007-12-07 Geoffrey Garen <ggaren@apple.com>
  52383. Build fix: corrected #include path.
  52384. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  52385. 2007-12-07 Geoffrey Garen <ggaren@apple.com>
  52386. Reviewed by Sam Weinig.
  52387. Added some namespace qualifications and a forwarding header, now that
  52388. KJS::Node is sometimes #included in WebCore by JavaScriptCore headers.
  52389. * ForwardingHeaders/wtf/ListRefPtr.h: Added.
  52390. * bindings/js/JSXSLTProcessor.cpp:
  52391. (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
  52392. * bindings/js/kjs_binding.cpp:
  52393. (KJS::ScriptInterpreter::getDOMNodeForDocument):
  52394. (KJS::ScriptInterpreter::forgetDOMNodeForDocument):
  52395. (KJS::ScriptInterpreter::putDOMNodeForDocument):
  52396. (KJS::ScriptInterpreter::markDOMNodesForDocument):
  52397. (KJS::ScriptInterpreter::updateDOMNodeDocument):
  52398. 2007-12-07 Adam Roben <aroben@apple.com>
  52399. Add SoftLinking.h for Windows and use it in a few places
  52400. Reviewed by Oliver.
  52401. * WebCore.vcproj/WebCore.vcproj: Added new file to project.
  52402. * platform/win/PlatformScrollBarSafari.cpp: Use SoftLinking.h.
  52403. (WebCore::PlatformScrollbar::PlatformScrollbar): Removed manual
  52404. soft-linking calls.
  52405. (WebCore::PlatformScrollbar::paintButton): Check for the presence of
  52406. the SafariTheme library now that we can't check for the presence of
  52407. paintThemePart directly.
  52408. (WebCore::PlatformScrollbar::paintTrack): Ditto.
  52409. (WebCore::PlatformScrollbar::paintThumb): Ditto.
  52410. * platform/win/SoftLinking.h: Copied from WebCore/platform/mac/SoftLinking.h.
  52411. * rendering/RenderThemeSafari.cpp: Same basic changes as to
  52412. PlatformScrollBarSafari.cpp.
  52413. (WebCore::RenderThemeSafari::RenderThemeSafari):
  52414. (WebCore::RenderThemeSafari::isControlStyled):
  52415. (WebCore::RenderThemeSafari::paintCapsLockIndicator):
  52416. * rendering/RenderThemeSafari.h: Removed m_themeDLL member.
  52417. 2007-12-07 Darin Adler <darin@apple.com>
  52418. Reviewed by Adele.
  52419. - fix <rdar://problem/5608795> CrashTracer: 481 crashes in Safari
  52420. at WebCore::HTMLSelectElement::saveState const + 152
  52421. Test: fast/forms/select-set-inner.html
  52422. * dom/ContainerNode.cpp:
  52423. (WebCore::ContainerNode::removeChildren): Added a return value, as with other
  52424. calls that change children, so we can optimize for the case where it does nothing.
  52425. (WebCore::ContainerNode::cloneChildNodes): Changed parameter type to ContainerNode.
  52426. * dom/ContainerNode.h: See above.
  52427. * html/HTMLOptGroupElement.cpp:
  52428. (WebCore::HTMLOptGroupElement::removeChildren): Override removeChildren and call
  52429. recalcSelectOptions in that case.
  52430. (WebCore::HTMLOptGroupElement::childrenChanged): Override childrenChanged instead of
  52431. addChild, for consistency with HTMLSelectElement; no need to override both.
  52432. (WebCore::HTMLOptGroupElement::groupLabelText): Made const.
  52433. * html/HTMLOptGroupElement.h: See above.
  52434. * html/HTMLSelectElement.cpp: Don't override addChild any more, because we already
  52435. override childrenChanged, and addChild calls that.
  52436. (WebCore::HTMLSelectElement::removeChildren): Override removeChildren and call
  52437. recalcSelectOptions in that case.
  52438. (WebCore::HTMLSelectElement::recalcListItems): Tightened up the code a little bit
  52439. by using a for loop and traverseNextSibling. Also added some new comments and
  52440. removed some obsolete ones.
  52441. (WebCore::HTMLSelectElement::checkListItems): Added. Debug-only check to make
  52442. sure we don't have a stale list items vector.
  52443. * html/HTMLSelectElement.h: Changed listItems() to invoke checkListItems().
  52444. This will help us catch cases where we have too few calls to setRecalcListItems.
  52445. 2007-12-07 Dan Bernstein <mitz@apple.com>
  52446. Reviewed by Darin Adler.
  52447. - WebCore part of fixing <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
  52448. Test: fast/repaint/focus-ring.html
  52449. * editing/SelectionController.cpp:
  52450. (WebCore::SelectionController::caretRepaintRect): Changed to return just
  52451. the caret rect without any padding.
  52452. (WebCore::SelectionController::recomputeCaretRect): Changed to repaint
  52453. just the caret rect without any padding.
  52454. * platform/graphics/GraphicsContext.h: Removed setFocusRingClip() and
  52455. clearFocusRingClip().
  52456. * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
  52457. * platform/graphics/cg/GraphicsContextCG.cpp: Ditto.
  52458. * platform/graphics/cg/GraphicsContextPlatformPrivate.h: Removed
  52459. m_focusRingClip member.
  52460. * platform/graphics/mac/GraphicsContextMac.mm:
  52461. (WebCore::GraphicsContext::drawFocusRing): Changed to call
  52462. wkDrawFocusRing() once without setting up additional clip. On Leopard,
  52463. wkDrawFocusRing() respects the context clip now. On Tiger, a
  52464. transparency layer is used to apply clipping to the focus ring.
  52465. * platform/graphics/qt/GraphicsContextQt.cpp: Removed focus ring clip
  52466. methods and member.
  52467. * platform/graphics/wx/GraphicsContextWx.cpp: Ditto.
  52468. * platform/mac/WebCoreSystemInterface.h: Removed the clipRect argument
  52469. to wkDrawFocusRing().
  52470. * platform/mac/WebCoreSystemInterface.mm: Ditto.
  52471. * rendering/RenderLayer.cpp:
  52472. (WebCore::setClip): Removed call to set the focus ring clip.
  52473. (WebCore::restoreClip): Removed call to reset the focus ring clip.
  52474. 2007-12-07 Darin Adler <darin@apple.com>
  52475. Reviewed by Antti Koivisto and Kevin Decker.
  52476. - fix <rdar://problem/5601586> QtKit should be dynamically loaded upon need, not linked at startup
  52477. Also did a lot of small tweaks to MediaPlayerPrivateQTKit.
  52478. * WebCore.xcodeproj/project.pbxproj: Don't link to QTKit.
  52479. * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Omit unneeded includes and declarations.
  52480. Made a lot more functions const. Made a few more members private and a couple inline.
  52481. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Added soft linking machinery for all the
  52482. things we currently use in QTKit. It's a little more awkward for classes and other data objects
  52483. than it is for functions, but still relatively straightforward, with no changes needed to the
  52484. client code. Added using namespace directives. Made a cuePointTimerInterval constant and put
  52485. it at the top of the file. Use 0 consistently instead of sometimes 0 and sometimes 0.0f.
  52486. (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Removed unneeded initialization of RetainPtr
  52487. members to nil.
  52488. (WebCore::MediaPlayerPrivate::createQTMovie): Use adoptNS instead of autorelease.
  52489. (WebCore::MediaPlayerPrivate::createQTMovieView): Ditto. Also use -[NSColor clearColor].
  52490. (WebCore::MediaPlayerPrivate::createQTTime): Remove an unneeded type cast that had no effect.
  52491. Changed to use long instead of int because that's the type for a QTTime time scale anyway.
  52492. (WebCore::MediaPlayerPrivate::duration): Use a static_cast instead of a C-style cast.
  52493. (WebCore::MediaPlayerPrivate::currentTime): Ditto. Also merged into a single expression.
  52494. (WebCore::MediaPlayerPrivate::cuePointTimerFired): Added code to make a copy of the cue
  52495. points set to avoid a potential problem with a set being modified as we iterate it.
  52496. (WebCore::MediaPlayerPrivate::bytesLoaded): Removed unneeded null check of m_qtMovie.
  52497. (WebCore::MediaPlayerPrivate::updateStates): Instead of comments explaining the numeric
  52498. values, used the constants from the headers directly.
  52499. (WebCore::MediaPlayerPrivate::getSupportedTypes): Instead of (QTMovieFileTypeOptions)0,
  52500. pass the named constant with value 0, QTIncludeCommonTypes. Skipped the intermediate type
  52501. of NSString to remove one cast. Replaced C-style cast with reinterpret_cast (arguably
  52502. no better). Used RetainPtr instead of explicit CFRelease calls.
  52503. * platform/mac/SoftLinking.h: Added macros to do soft linking for classes and for pointers.
  52504. It's not quite as automatic as the soft linking we can do for functions, since these define
  52505. functions to get the values, so you need to define macros to make what look like variable
  52506. accesses turn into function calls. See MediaPlayerPrivateQTKit for the details.
  52507. * html/HTMLMediaElement.h:
  52508. * html/TimeRanges.h:
  52509. * html/VoidCallback.h:
  52510. * platform/graphics/MediaPlayer.h:
  52511. Use angle brackets for wtf includes. Omit unneeded includes.
  52512. 2007-12-07 Dan Bernstein <mitz@apple.com>
  52513. Reviewed by Darin Adler.
  52514. - fix http://bugs.webkit.org/show_bug.cgi?id=16334
  52515. <rdar://problem/5634923> REGRESSION (r28299): Homepage of any DotMac Web Gallery won't load completely
  52516. Test: fast/dynamic/subtree-no-common-root-static-y.html
  52517. * rendering/RenderObject.cpp:
  52518. (WebCore::RenderObject::markContainingBlocksForLayout): Changed the call
  52519. to setChildNeedsLayout() to not mark containing blocks and added a
  52520. separate call to markContainingBlocksForLayout() that will not schedule
  52521. a layout if we are already in the middle of scheduleRelayoutOfSubtree().
  52522. 2007-12-07 Alexey Proskuryakov <ap@webkit.org>
  52523. Reviewed by Darin.
  52524. http://bugs.webkit.org/show_bug.cgi?id=16325
  52525. <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
  52526. Test: http/tests/misc/empty-cookie.html
  52527. * platform/mac/CookieJar.mm:
  52528. (WebCore::setCookies): Don't store empty cookies.
  52529. (WebCore::cookies): Filter out empty cookies if we have them, as they could have been set
  52530. with an earlier version of Leopard!
  52531. 2007-12-06 Ada Chan <adachan@apple.com>
  52532. Fixed the if statement (ERROR_SUCCESS is 0 and we were actually
  52533. returning true when there's an error).
  52534. Reviewed by Steve.
  52535. * platform/win/FileSystemWin.cpp:
  52536. (WebCore::makeAllDirectories):
  52537. 2007-12-06 Darin Adler <darin@apple.com>
  52538. - fix broken regression test
  52539. * bindings/js/kjs_binding.cpp:
  52540. (KJS::setDOMException): Oops, this was just supposed to be PERMISSION_DENIED.
  52541. 2007-12-06 Darin Adler <darin@apple.com>
  52542. Reviewed by Sam Weinig.
  52543. - fix http://bugs.webkit.org/show_bug.cgi?id=16332
  52544. ObjC DOM exception object descriptions should include the exception name
  52545. * WebCore.pro: Added ExceptionCode.cpp.
  52546. * WebCore.vcproj/WebCore.vcproj: Added ExceptionCode.cpp.
  52547. * WebCore.xcodeproj/project.pbxproj: Added ExceptionCode.cpp.
  52548. * WebCoreSources.bkl: Added ExceptionCode.cpp.
  52549. * bindings/js/kjs_binding.cpp: (KJS::setDOMException): Moved the code to decompose an
  52550. ExceptionCode into ExceptionCode.h/cpp -- getExceptionCodeDescription. Also removed
  52551. the many unneeded includes that were here. Had to keep one special case here, for
  52552. SECURITY_ERR.
  52553. * bindings/objc/ExceptionHandlers.mm: (WebCore::raiseDOMException): Changed to use the
  52554. new getExceptionCodeDescription function so that this shares the exception name
  52555. information that was previously only available to JavaScript.
  52556. * dom/ExceptionCode.cpp: Copied from bindings/js/kjs_binding.cpp.
  52557. (WebCore::getExceptionCodeDescription): Added some assertions, and made the function
  52558. handle exception names in a slightly more robust way that is not subject to integer
  52559. overflow. (Not a real world issue since we should never receive a bad exception code.)
  52560. * dom/ExceptionCode.h: Added the ExceptionCodeDescription struct and the
  52561. getExceptionCodeDescription function.
  52562. * svg/SVGException.h: Added a missing #include and got rid of some comments. Some of
  52563. the comments were mildly helpful, but others were incorrect. This now matches the other
  52564. exception-related headers such as RangeException.h.
  52565. 2007-12-06 Brady Eidson <beidson@apple.com>
  52566. Reviewed by Darin
  52567. Fixed a glaring bug that would prevent a statement from getting run a second time
  52568. * storage/SQLStatement.cpp:
  52569. (WebCore::SQLStatement::execute): Clear failure due to quota *before* we check the error
  52570. and return early
  52571. (WebCore::SQLStatement::clearFailureDueToQuota): Only clear the error if it was a quota error
  52572. 2007-12-06 Timothy Hatcher <timothy@apple.com>
  52573. Reviewed by Oliver Hunt.
  52574. Use keydown instead of keypress so keyIdentifier can be used.
  52575. * page/inspector/ConsolePanel.js: Use keydown instead of keypress.
  52576. * page/inspector/DatabasePanel.js: Ditto.
  52577. * page/inspector/inspector.js: Ditto. Plus call removeEventListener
  52578. before deleting windowLoaded.
  52579. 2007-12-06 Adam Roben <aroben@apple.com>
  52580. Rename FontsTable.plist to FontsList.plist
  52581. Rubberstamped by Hyatt.
  52582. * platform/graphics/win/FontDatabase.cpp:
  52583. 2007-12-06 Brady Eidson <beidson@apple.com>
  52584. Reviewed by Darin
  52585. Tweaked a comment and a few assertions from my last checkin
  52586. * storage/SQLStatement.cpp:
  52587. (WebCore::SQLStatement::execute):
  52588. (WebCore::SQLStatement::clearFailureDueToQuota):
  52589. (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
  52590. 2007-12-06 Brady Eidson <beidson@apple.com>
  52591. Reviewed by Darin
  52592. Finished hooking up UI Delegate for databases - Database operations will now enforce a size quota and
  52593. will ask the UI Delegate for more space when that quota is met
  52594. * platform/sql/SQLiteDatabase.cpp: Add the new SQLResultFull constant
  52595. * platform/sql/SQLiteDatabase.h: Ditto
  52596. * storage/Database.cpp:
  52597. (WebCore::Database::securityOriginData): Added this accessor, copying for thread safety
  52598. (WebCore::Database::stringIdentifier): Ditto
  52599. * storage/Database.h:
  52600. * storage/SQLStatement.cpp:
  52601. (WebCore::SQLStatement::SQLStatement):
  52602. (WebCore::SQLStatement::execute): Change to return an enum that represents 3 states - success, error, and quota.
  52603. If the result is quota, this statement expects that it might be run again, presumably after the user increases
  52604. the quota
  52605. (WebCore::SQLStatement::setFailureDueToQuota): Setup a quota failure, including a flag and the error
  52606. (WebCore::SQLStatement::clearFailureDueToQuota): Clear a quota failure, for when the statement is rerun
  52607. (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
  52608. * storage/SQLStatement.h:
  52609. * storage/SQLTransaction.cpp:
  52610. (WebCore::SQLTransaction::SQLTransaction):
  52611. (WebCore::SQLTransaction::performPendingCallback): Added an acceptable callback pointer
  52612. (WebCore::SQLTransaction::openTransactionAndPreflight): Setup the quota in the database that will remain for this
  52613. transaction. Note that in this patch, the quota being set is wrong - it makes sense to fix that in a follow up patch
  52614. (WebCore::SQLTransaction::runStatements): Modified to add the ability to re-run a statement based on the UI delegate
  52615. decision and whether the current statement was already run
  52616. (WebCore::SQLTransaction::runCurrentStatement): Added another result condition - the Quota result - and handle it
  52617. (WebCore::SQLTransaction::handleCurrentStatementError): Statements can now error-out from two places, so the code
  52618. that handles a statement error was moved here
  52619. (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): Added - Consult the UI delegate for more quota, then
  52620. reschedule the current statement on the database thread
  52621. * storage/SQLTransaction.h:
  52622. 2007-12-06 Steve Falkenburg <sfalken@apple.com>
  52623. <rdar://problem/5614257> Crash in timer / hashtable code due to uncaught exception
  52624. Don't use callback-based timers, since these cause Windows to eat Windows crashes
  52625. in code the timers call.
  52626. Windows appears to be defending against "shatter" attacks partially by setting
  52627. up a structured exception block while dispatching callback-based WM_TIMERs.
  52628. I verified this by adding a divide by zero into some timer callback code.
  52629. In the case where the timer was dispatched via a callback, the divide by zero
  52630. exception was silently handled and ignored, with execution continuing after
  52631. our call to DispatchMessage. When processed via the WNDPROC, no SEH
  52632. block was established by Windows, and our divide by zero generated a real
  52633. crash (which is what we wanted).
  52634. Windows handling our crashes for us led us to leave the timer data structures
  52635. in an invalid state so the next time a timer was set, we'd crash accessing an
  52636. invalid HashMap of timer data.
  52637. Reviewed by Hyatt.
  52638. * platform/win/SharedTimerWin.cpp:
  52639. (WebCore::TimerWindowWndProc):
  52640. (WebCore::setSharedTimerFireTime):
  52641. 2007-12-06 Adam Roben <aroben@apple.com>
  52642. Fix <rdar://5108390> Feed title is too low in blue banner
  52643. Way back in r23069 we started applying the same font ascent hack that
  52644. Mac WebKit applies to Helvetica, Times, and Courier. We did this so
  52645. that those fonts would match the Mac metrics when we run the
  52646. regression tests. However, this hack was applying to Arial on Windows
  52647. when a site would specify the Helvetica font face because Windows will
  52648. alias the font names. Instead of removing the hack entirely, we
  52649. turn it off by default but provide some SPI so that DumpRenderTree can
  52650. turn it on.
  52651. Reviewed by Hyatt.
  52652. All tests pass.
  52653. * platform/graphics/FontData.h: Add a new static method to turn on the
  52654. hack on Windows only.
  52655. * platform/graphics/win/FontDataWin.cpp:
  52656. (WebCore::FontData::setShouldApplyMacAscentHack): Added.
  52657. (WebCore::FontData::platformInit): Only perform the hack if
  52658. shouldApplyMacAscentHack is true.
  52659. 2007-12-06 Geoffrey Garen <ggaren@apple.com>
  52660. Reviewed by Sam Weinig.
  52661. Fixed http://bugs.webkit.org/show_bug.cgi?id=16328
  52662. REGRESSION (r28470): Crash expanding a GMail conversation
  52663. * page/Frame.cpp:
  52664. (WebCore::Frame::scriptProxy): Only return 0 if JS seems disabled *and*
  52665. we haven't created the proxy yet. If we've created the proxy already, a
  52666. script may be in the midst of execution, even though we've lost our
  52667. settings object. During execution, scripts assume they have free access
  52668. to the proxy.
  52669. 2007-12-06 Adele Peterson <adele@apple.com>
  52670. Reviewed by Oliver.
  52671. Fix for <rdar://problem/5631356> Toggling display property on video causes controls to get lost
  52672. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::attach): Call updateFromElement.
  52673. * html/HTMLMediaElement.h:
  52674. 2007-12-05 Antti Koivisto <antti@apple.com>
  52675. Reviewed by Oliver.
  52676. Rename
  52677. Movie -> MediaPlayer
  52678. MoviePrivate -> MediaPlayerPrivate
  52679. Movie is QuickTime terminology and clashes with its C API.
  52680. * WebCore.xcodeproj/project.pbxproj:
  52681. * html/HTMLMediaElement.cpp:
  52682. (WebCore::HTMLMediaElement::HTMLMediaElement):
  52683. (WebCore::HTMLMediaElement::~HTMLMediaElement):
  52684. (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
  52685. (WebCore::HTMLMediaElement::bufferingRate):
  52686. (WebCore::HTMLMediaElement::load):
  52687. (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
  52688. (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged):
  52689. (WebCore::HTMLMediaElement::setReadyState):
  52690. (WebCore::HTMLMediaElement::progressEventTimerFired):
  52691. (WebCore::HTMLMediaElement::seek):
  52692. (WebCore::HTMLMediaElement::currentTime):
  52693. (WebCore::HTMLMediaElement::duration):
  52694. (WebCore::HTMLMediaElement::playbackRate):
  52695. (WebCore::HTMLMediaElement::setPlaybackRate):
  52696. (WebCore::HTMLMediaElement::play):
  52697. (WebCore::HTMLMediaElement::pause):
  52698. (WebCore::HTMLMediaElement::setVolume):
  52699. (WebCore::HTMLMediaElement::setMuted):
  52700. (WebCore::HTMLMediaElement::pickMedia):
  52701. (WebCore::HTMLMediaElement::checkIfSeekNeeded):
  52702. (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged):
  52703. (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
  52704. (WebCore::HTMLMediaElement::mediaPlayerCuePointReached):
  52705. (WebCore::HTMLMediaElement::addCuePoint):
  52706. (WebCore::HTMLMediaElement::buffered):
  52707. (WebCore::HTMLMediaElement::seekable):
  52708. (WebCore::HTMLMediaElement::effectiveStart):
  52709. (WebCore::HTMLMediaElement::effectiveEnd):
  52710. (WebCore::HTMLMediaElement::effectiveLoopStart):
  52711. (WebCore::HTMLMediaElement::effectiveLoopEnd):
  52712. (WebCore::HTMLMediaElement::updateMediaPlayer):
  52713. (WebCore::HTMLMediaElement::willSaveToCache):
  52714. * html/HTMLMediaElement.h:
  52715. (WebCore::HTMLMediaElement::player):
  52716. * html/HTMLVideoElement.cpp:
  52717. (WebCore::HTMLVideoElement::videoWidth):
  52718. (WebCore::HTMLVideoElement::videoHeight):
  52719. * platform/MIMETypeRegistry.cpp:
  52720. (WebCore::initialiseSupportedMediaMIMETypes):
  52721. (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
  52722. (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
  52723. * platform/MIMETypeRegistry.h:
  52724. * platform/graphics/MediaPlayer.cpp: Copied from WebCore/platform/graphics/Movie.cpp.
  52725. (WebCore::MediaPlayer::MediaPlayer):
  52726. (WebCore::MediaPlayer::~MediaPlayer):
  52727. (WebCore::MediaPlayer::load):
  52728. (WebCore::MediaPlayer::cancelLoad):
  52729. (WebCore::MediaPlayer::play):
  52730. (WebCore::MediaPlayer::pause):
  52731. (WebCore::MediaPlayer::duration):
  52732. (WebCore::MediaPlayer::currentTime):
  52733. (WebCore::MediaPlayer::seek):
  52734. (WebCore::MediaPlayer::paused):
  52735. (WebCore::MediaPlayer::seeking):
  52736. (WebCore::MediaPlayer::naturalSize):
  52737. (WebCore::MediaPlayer::hasVideo):
  52738. (WebCore::MediaPlayer::networkState):
  52739. (WebCore::MediaPlayer::readyState):
  52740. (WebCore::MediaPlayer::volume):
  52741. (WebCore::MediaPlayer::setVolume):
  52742. (WebCore::MediaPlayer::rate):
  52743. (WebCore::MediaPlayer::setRate):
  52744. (WebCore::MediaPlayer::muted):
  52745. (WebCore::MediaPlayer::setMuted):
  52746. (WebCore::MediaPlayer::dataRate):
  52747. (WebCore::MediaPlayer::setEndTime):
  52748. (WebCore::MediaPlayer::addCuePoint):
  52749. (WebCore::MediaPlayer::removeCuePoint):
  52750. (WebCore::MediaPlayer::clearCuePoints):
  52751. (WebCore::MediaPlayer::maxTimeBuffered):
  52752. (WebCore::MediaPlayer::maxTimeSeekable):
  52753. (WebCore::MediaPlayer::bytesLoaded):
  52754. (WebCore::MediaPlayer::totalBytesKnown):
  52755. (WebCore::MediaPlayer::totalBytes):
  52756. (WebCore::MediaPlayer::setRect):
  52757. (WebCore::MediaPlayer::visible):
  52758. (WebCore::MediaPlayer::setVisible):
  52759. (WebCore::MediaPlayer::paint):
  52760. (WebCore::MediaPlayer::getSupportedTypes):
  52761. (WebCore::MediaPlayer::networkStateChanged):
  52762. (WebCore::MediaPlayer::readyStateChanged):
  52763. (WebCore::MediaPlayer::volumeChanged):
  52764. (WebCore::MediaPlayer::timeChanged):
  52765. (WebCore::MediaPlayer::cuePointReached):
  52766. * platform/graphics/MediaPlayer.h: Copied from WebCore/platform/graphics/Movie.h.
  52767. (WebCore::MediaPlayerClient::~MediaPlayerClient):
  52768. (WebCore::MediaPlayerClient::mediaPlayerNetworkStateChanged):
  52769. (WebCore::MediaPlayerClient::mediaPlayerReadyStateChanged):
  52770. (WebCore::MediaPlayerClient::mediaPlayerVolumeChanged):
  52771. (WebCore::MediaPlayerClient::mediaPlayerTimeChanged):
  52772. (WebCore::MediaPlayerClient::mediaPlayerCuePointReached):
  52773. * platform/graphics/Movie.cpp: Removed.
  52774. * platform/graphics/Movie.h: Removed.
  52775. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: Copied from WebCore/platform/graphics/gtk/MoviePrivateGStreamer.cpp.
  52776. (WebCore::mediaPlayerPrivateErrorCallback):
  52777. (WebCore::mediaPlayerPrivateEOSCallback):
  52778. (WebCore::mediaPlayerPrivateStateCallback):
  52779. (WebCore::mediaPlayerPrivateBufferingCallback):
  52780. (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
  52781. (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
  52782. (WebCore::MediaPlayerPrivate::load):
  52783. (WebCore::MediaPlayerPrivate::play):
  52784. (WebCore::MediaPlayerPrivate::pause):
  52785. (WebCore::MediaPlayerPrivate::duration):
  52786. (WebCore::MediaPlayerPrivate::currentTime):
  52787. (WebCore::MediaPlayerPrivate::seek):
  52788. (WebCore::MediaPlayerPrivate::setEndTime):
  52789. (WebCore::MediaPlayerPrivate::addCuePoint):
  52790. (WebCore::MediaPlayerPrivate::removeCuePoint):
  52791. (WebCore::MediaPlayerPrivate::clearCuePoints):
  52792. (WebCore::MediaPlayerPrivate::startCuePointTimerIfNeeded):
  52793. (WebCore::MediaPlayerPrivate::cancelSeek):
  52794. (WebCore::MediaPlayerPrivate::cuePointTimerFired):
  52795. (WebCore::MediaPlayerPrivate::paused):
  52796. (WebCore::MediaPlayerPrivate::seeking):
  52797. (WebCore::MediaPlayerPrivate::naturalSize):
  52798. (WebCore::MediaPlayerPrivate::hasVideo):
  52799. (WebCore::MediaPlayerPrivate::setVolume):
  52800. (WebCore::MediaPlayerPrivate::setMuted):
  52801. (WebCore::MediaPlayerPrivate::setRate):
  52802. (WebCore::MediaPlayerPrivate::dataRate):
  52803. (WebCore::MediaPlayerPrivate::networkState):
  52804. (WebCore::MediaPlayerPrivate::readyState):
  52805. (WebCore::MediaPlayerPrivate::maxTimeBuffered):
  52806. (WebCore::MediaPlayerPrivate::maxTimeSeekable):
  52807. (WebCore::MediaPlayerPrivate::maxTimeLoaded):
  52808. (WebCore::MediaPlayerPrivate::bytesLoaded):
  52809. (WebCore::MediaPlayerPrivate::totalBytesKnown):
  52810. (WebCore::MediaPlayerPrivate::totalBytes):
  52811. (WebCore::MediaPlayerPrivate::cancelLoad):
  52812. (WebCore::MediaPlayerPrivate::updateStates):
  52813. (WebCore::MediaPlayerPrivate::loadStateChanged):
  52814. (WebCore::MediaPlayerPrivate::rateChanged):
  52815. (WebCore::MediaPlayerPrivate::sizeChanged):
  52816. (WebCore::MediaPlayerPrivate::timeChanged):
  52817. (WebCore::MediaPlayerPrivate::volumeChanged):
  52818. (WebCore::MediaPlayerPrivate::didEnd):
  52819. (WebCore::MediaPlayerPrivate::loadingFailed):
  52820. (WebCore::MediaPlayerPrivate::setRect):
  52821. (WebCore::MediaPlayerPrivate::setVisible):
  52822. (WebCore::MediaPlayerPrivate::paint):
  52823. (WebCore::MediaPlayerPrivate::getSupportedTypes):
  52824. (WebCore::MediaPlayerPrivate::createGSTPlayBin):
  52825. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: Copied from WebCore/platform/graphics/gtk/MoviePrivateGStreamer.h.
  52826. * platform/graphics/gtk/MoviePrivateGStreamer.cpp: Removed.
  52827. * platform/graphics/gtk/MoviePrivateGStreamer.h: Removed.
  52828. * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Copied from WebCore/platform/graphics/mac/MoviePrivateQTKit.h.
  52829. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Copied from WebCore/platform/graphics/mac/MoviePrivateQTKit.mm.
  52830. (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
  52831. (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
  52832. (WebCore::MediaPlayerPrivate::createQTMovie):
  52833. (WebCore::MediaPlayerPrivate::createQTMovieView):
  52834. (WebCore::MediaPlayerPrivate::createQTTime):
  52835. (WebCore::MediaPlayerPrivate::load):
  52836. (WebCore::MediaPlayerPrivate::play):
  52837. (WebCore::MediaPlayerPrivate::pause):
  52838. (WebCore::MediaPlayerPrivate::duration):
  52839. (WebCore::MediaPlayerPrivate::currentTime):
  52840. (WebCore::MediaPlayerPrivate::seek):
  52841. (WebCore::MediaPlayerPrivate::doSeek):
  52842. (WebCore::MediaPlayerPrivate::cancelSeek):
  52843. (WebCore::MediaPlayerPrivate::seekTimerFired):
  52844. (WebCore::MediaPlayerPrivate::setEndTime):
  52845. (WebCore::MediaPlayerPrivate::addCuePoint):
  52846. (WebCore::MediaPlayerPrivate::removeCuePoint):
  52847. (WebCore::MediaPlayerPrivate::clearCuePoints):
  52848. (WebCore::MediaPlayerPrivate::startCuePointTimerIfNeeded):
  52849. (WebCore::MediaPlayerPrivate::cuePointTimerFired):
  52850. (WebCore::MediaPlayerPrivate::paused):
  52851. (WebCore::MediaPlayerPrivate::seeking):
  52852. (WebCore::MediaPlayerPrivate::naturalSize):
  52853. (WebCore::MediaPlayerPrivate::hasVideo):
  52854. (WebCore::MediaPlayerPrivate::setVolume):
  52855. (WebCore::MediaPlayerPrivate::setMuted):
  52856. (WebCore::MediaPlayerPrivate::setRate):
  52857. (WebCore::MediaPlayerPrivate::dataRate):
  52858. (WebCore::MediaPlayerPrivate::networkState):
  52859. (WebCore::MediaPlayerPrivate::readyState):
  52860. (WebCore::MediaPlayerPrivate::maxTimeBuffered):
  52861. (WebCore::MediaPlayerPrivate::maxTimeSeekable):
  52862. (WebCore::MediaPlayerPrivate::maxTimeLoaded):
  52863. (WebCore::MediaPlayerPrivate::bytesLoaded):
  52864. (WebCore::MediaPlayerPrivate::totalBytesKnown):
  52865. (WebCore::MediaPlayerPrivate::totalBytes):
  52866. (WebCore::MediaPlayerPrivate::cancelLoad):
  52867. (WebCore::MediaPlayerPrivate::updateStates):
  52868. (WebCore::MediaPlayerPrivate::loadStateChanged):
  52869. (WebCore::MediaPlayerPrivate::rateChanged):
  52870. (WebCore::MediaPlayerPrivate::sizeChanged):
  52871. (WebCore::MediaPlayerPrivate::timeChanged):
  52872. (WebCore::MediaPlayerPrivate::volumeChanged):
  52873. (WebCore::MediaPlayerPrivate::didEnd):
  52874. (WebCore::MediaPlayerPrivate::setRect):
  52875. (WebCore::MediaPlayerPrivate::setVisible):
  52876. (WebCore::MediaPlayerPrivate::paint):
  52877. (WebCore::MediaPlayerPrivate::getSupportedTypes):
  52878. (-[WebCoreMovieObserver initWithCallback:WebCore::]):
  52879. * platform/graphics/mac/MoviePrivateQTKit.h: Removed.
  52880. * platform/graphics/mac/MoviePrivateQTKit.mm: Removed.
  52881. * rendering/RenderMedia.cpp:
  52882. (WebCore::RenderMedia::player):
  52883. * rendering/RenderMedia.h:
  52884. * rendering/RenderVideo.cpp:
  52885. (WebCore::RenderVideo::RenderVideo):
  52886. (WebCore::RenderVideo::~RenderVideo):
  52887. (WebCore::RenderVideo::videoSizeChanged):
  52888. (WebCore::RenderVideo::paintReplaced):
  52889. (WebCore::RenderVideo::layout):
  52890. (WebCore::RenderVideo::updateFromElement):
  52891. (WebCore::RenderVideo::updatePlayer):
  52892. * rendering/RenderVideo.h:
  52893. 2007-12-06 Geoffrey Garen <ggaren@apple.com>
  52894. Build fix: access global object directly.
  52895. * plugins/win/PluginViewWin.cpp:
  52896. (WebCore::PluginViewWin::bindingInstance):
  52897. 2007-12-06 Mark Rowe <mrowe@apple.com>
  52898. Reviewed by Eric.
  52899. Fix bug spotted by GCC 4.2.
  52900. * bindings/js/kjs_window.cpp:
  52901. (KJS::allowPopUp): Remove extraneous semicolon that completely changed the meaning of allowPopUp.
  52902. 2007-12-06 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  52903. Reviewed by Alp Toker.
  52904. http://bugs.webkit.org/show_bug.cgi?id=16173
  52905. Licensing change
  52906. Change license from BSD to LGPL.
  52907. * platform/gtk/FileSystemGtk.cpp:
  52908. 2007-12-05 Rob Buis <buis@kde.org>
  52909. Reviewed by Mitz.
  52910. http://bugs.webkit.org/show_bug.cgi?id=15289
  52911. WebKit does not respect clip paths of a 0x0 rect
  52912. Make empty clip paths clip the whole referencing graphic.
  52913. * svg/SVGClipPathElement.cpp:
  52914. (WebCore::SVGClipPathElement::canvasResource):
  52915. * svg/graphics/SVGResourceClipper.h:
  52916. (WebCore::ClipDataList::isEmpty):
  52917. 2007-12-05 Darin Adler <darin@apple.com>
  52918. Reviewed by Maciej.
  52919. - fix http://bugs.webkit.org/show_bug.cgi?id=16266
  52920. <rdar://problem/5625279> REGRESSION: crash loading CNN.com at
  52921. Interpreter::createObjectsForGlobalObjectProperties()
  52922. I don't know how to reproduce this in a test.
  52923. * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
  52924. Call JSEventTargetNode::mark instead of DOMObject::mark. There's no difference
  52925. right now, but it's best to call your base class, not your base's base.
  52926. * bindings/js/kjs_events.h: Removed unneeded virtual from the
  52927. JSUnprotectedEventListener::mark() function; it neither derives from or is
  52928. derived from anyone else with a mark() function so there's no need for virtual.
  52929. * bindings/js/kjs_window.cpp: (KJS::Window::mark): Call JSGlobalObject::mark,
  52930. not JSObject::mark. This is the actual bug fix.
  52931. 2007-12-05 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>
  52932. http://bugs.webkit.org/show_bug.cgi?id=16145
  52933. [gtk] Implement media support in GTK backend
  52934. Reviewed by Alp Toker.
  52935. Remove old comments, fix variable names, match WebKit coding style.
  52936. * platform/graphics/gtk/MoviePrivateGStreamer.cpp:
  52937. (WebCore::moviePrivateEOSCallback):
  52938. (WebCore::MoviePrivate::MoviePrivate):
  52939. (WebCore::MoviePrivate::load):
  52940. (WebCore::MoviePrivate::play):
  52941. (WebCore::MoviePrivate::pause):
  52942. (WebCore::MoviePrivate::currentTime):
  52943. (WebCore::MoviePrivate::seek):
  52944. (WebCore::MoviePrivate::cancelSeek):
  52945. (WebCore::MoviePrivate::seeking):
  52946. (WebCore::MoviePrivate::naturalSize):
  52947. (WebCore::MoviePrivate::setVolume):
  52948. (WebCore::MoviePrivate::setMuted):
  52949. (WebCore::MoviePrivate::maxTimeBuffered):
  52950. (WebCore::MoviePrivate::bytesLoaded):
  52951. (WebCore::MoviePrivate::totalBytesKnown):
  52952. (WebCore::MoviePrivate::totalBytes):
  52953. (WebCore::MoviePrivate::updateStates):
  52954. (WebCore::MoviePrivate::didEnd):
  52955. (WebCore::MoviePrivate::paint):
  52956. (WebCore::MoviePrivate::createGSTPlayBin):
  52957. * platform/graphics/gtk/MoviePrivateGStreamer.h:
  52958. 2007-12-05 Mark Rowe <mrowe@apple.com>
  52959. Speculative wx build fix. Add PlugInInfoStore::pluginNameForMIMEType to the temporary link stubs.
  52960. * platform/wx/TemporaryLinkStubs.cpp:
  52961. 2007-12-05 Alp Toker <alp@atoker.com>
  52962. Rubber stamped by Mark Rowe.
  52963. Remove DEPENDPATH on the generated sources directory. This causes
  52964. trouble and is no longer necessary following the glib-genmarshal
  52965. generator split.
  52966. * WebCore.pro:
  52967. 2007-12-04 Geoffrey Garen <ggaren@apple.com>
  52968. Reviewed by Darin Adler.
  52969. Third step in refactoring JSGlobalObject: Moved data members and data
  52970. member access from Interpreter to JSGlobalObject. Changed Interpreter
  52971. member functions to static functions. Same for the subclass,
  52972. ScriptInterpreter.
  52973. This is a big change, but it's mostly code motion and renaming.
  52974. 2007-12-05 Darin Adler <darin@apple.com>
  52975. "Reviewed" by Geoff.
  52976. * loader/FrameLoader.cpp:
  52977. (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Removed assertion.
  52978. (WebCore::FrameLoader::dispatchDidCommitLoad): This one too.
  52979. The assertions are firing like crazy. Not sure why yet.
  52980. 2007-12-05 Darin Adler <darin@apple.com>
  52981. Reviewed by Adam Roben.
  52982. - fix http://bugs.webkit.org/show_bug.cgi?id=16306
  52983. Assertion failed in WebCore/loader/FrameLoader.cpp:4642
  52984. * loader/FrameLoader.cpp:
  52985. (WebCore::FrameLoader::dispatchDidCommitLoad): Check m_creatingInitialEmptyDocument
  52986. and don't deliver the client call in that case.
  52987. 2007-12-05 Mark Rowe <mrowe@apple.com>
  52988. Reviewed by Kevin Decker.
  52989. Fix 64-bit debug build.
  52990. * platform/text/mac/TextCodecMac.cpp:
  52991. (WebCore::TextCodecMac::decode): OSStatus is a long for 32-bit but int on 64-bit,
  52992. so we need to cast it to be able to use a single format specifier on both.
  52993. 2007-12-05 Kevin Decker <kdecker@apple.com>
  52994. Reviewed by Hyatt.
  52995. <rdar://problem/5613106> Acordex: REGRESSION (Tiger-Leopard): plug-ins can no longer take over TIFF images (affects uspto.gov)
  52996. * loader/FrameLoader.cpp:
  52997. (WebCore::FrameLoader::shouldUsePlugin): Allow plug-ins (with the exception of QuickTime) to
  52998. takeover TIFF once again.
  52999. 2007-12-05 Luca Bruno <lethalman88@gmail.com>
  53000. Reviewed by Alp Toker.
  53001. http://bugs.webkit.org/show_bug.cgi?id=16290
  53002. [GTK] Pasting clipboard in rich text.
  53003. * platform/gtk/PasteboardGtk.cpp:
  53004. (Pasteboard::documentFragment): Implement rich text paste support.
  53005. 2007-12-05 Adele Peterson <adele@apple.com>
  53006. Reviewed by Hyatt.
  53007. Reverting fix for <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
  53008. We need to just fix the underlying focus ring repaint problem.
  53009. * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setStyle):
  53010. 2007-12-04 Kevin McCullough <kmccullough@apple.com>
  53011. Reviewed by Darin.
  53012. - <rdar://5621435>
  53013. - Security Fix. Instead of having it off by default, WebKit now must
  53014. explicitly turn off local-resource restriction when needed for backwards
  53015. compatibility reasons.
  53016. * loader/FrameLoader.cpp:
  53017. 2007-12-05 Adam Roben <aroben@apple.com>
  53018. Set the menu item identifier for all menu items
  53019. This allows WebKit clients to distinguish between submenus in the
  53020. context menu.
  53021. Reviewed by Darin.
  53022. No test possible.
  53023. * platform/win/ContextMenuItemWin.cpp:
  53024. (WebCore::ContextMenuItem::ContextMenuItem):
  53025. 2007-12-05 Dan Bernstein <mitz@apple.com>
  53026. Reviewed by Darin Adler.
  53027. - WebCore part of fixing <rdar://problem/5111082> Flash popup video ad doesn't close when clicked at http://www.firestonecompleteautocare.com/
  53028. * manual-tests/nested-plug-ins.html: Added.
  53029. * manual-tests/resources/nested-plug-ins-inner-frame.html: Added.
  53030. * manual-tests/resources/nested-plug-ins-outer-frame.html: Added.
  53031. * platform/ScrollView.h:
  53032. * platform/Widget.h:
  53033. (WebCore::Widget::attachToWindow): Added. Tells the widget that it is connected
  53034. via visible ScrollViews to the root ScrollView of the WebView.
  53035. (WebCore::Widget::detachFromWindow): Added. Tells the widget that it is no longer
  53036. connected via visible ScrollViews to the root ScrollView of the WebView.
  53037. * platform/win/ScrollViewWin.cpp:
  53038. (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): Added
  53039. m_visible and m_attachedToWindow members.
  53040. (WebCore::ScrollView::attachToWindow): Added. Attaches all children if this
  53041. view is visible.
  53042. (WebCore::ScrollView::detachFromWindow): Added. Detaches all children if this
  53043. view is visible (otherwise they would be detached already).
  53044. (WebCore::ScrollView::show): Added. Attaches all children if this view
  53045. is attached.
  53046. (WebCore::ScrollView::hide): Added. Detaches all children if this view
  53047. is attached (otherwise they would be detached already).
  53048. (WebCore::ScrollView::isAttachedToWindow): Added.
  53049. * platform/win/WidgetWin.cpp:
  53050. (WebCore::Widget::setParent): Added calls to attachToWindow() and detachFromWindow()
  53051. depending on whether the parent is set and attached or not.
  53052. * plugins/win/PluginViewWin.cpp:
  53053. (WebCore::PluginViewWin::setFocus):
  53054. (WebCore::PluginViewWin::show): Changed to show the plug-in only if
  53055. this view is attached.
  53056. (WebCore::PluginViewWin::hide): Changed to hide the plug-in only if this
  53057. view is attached (otherwise it would be hidden already).
  53058. (WebCore::PluginViewWin::attachToWindow): Added. Shows the plug-in if this view
  53059. is visible.
  53060. (WebCore::PluginViewWin::detachFromWindow): Added. Hides the plug-in if this view
  53061. is visible (otherwise it would be hidden already).
  53062. (WebCore::PluginViewWin::PluginViewWin):
  53063. * plugins/win/PluginViewWin.h: Added m_attachedToWindow member.
  53064. 2007-12-04 Alp Toker <alp@atoker.com>
  53065. Potential GTK+ build fix for the glib-genmarshal issue.
  53066. Split the glib-genmarshal qmake generator in two; one for the source
  53067. file, another for the header.
  53068. * WebCore.pro:
  53069. 2007-12-04 Alp Toker <alp@atoker.com>
  53070. GTK+ build fix.
  53071. * platform/PlugInInfoStore.h:
  53072. 2007-12-04 Kevin Decker <kdecker@apple.com>
  53073. Reviewed by Anders.
  53074. <rdar://problem/5629125> PluginInfoStore needs the ability to return the name of a plug-in for a given MIME type
  53075. * page/mac/WebCoreViewFactory.h: Added pluginNameForMIMEType: method.
  53076. * platform/PlugInInfoStore.h:
  53077. * platform/gtk/TemporaryLinkStubs.cpp: Added stub version of pluginNameForMIMEType.
  53078. (PlugInInfoStore::pluginNameForMIMEType):
  53079. * platform/mac/PlugInInfoStoreMac.mm:
  53080. (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added.
  53081. * platform/qt/PlugInInfoStoreQt.cpp:
  53082. (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added stub version of pluginNameForMIMEType.
  53083. * plugins/win/PlugInInfoStoreWin.cpp:
  53084. (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added stub version of pluginNameForMIMEType.
  53085. 2007-12-04 Adele Peterson <adele@apple.com>
  53086. Reviewed by Darin.
  53087. Fix for <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
  53088. * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setStyle):
  53089. Adjust outline-offset so it doesn't extend beyond the border to interfere with typing
  53090. 2007-12-04 Anders Carlsson <andersca@apple.com>
  53091. Reviewed by Jon.
  53092. Always call NPP_NewStream, NPP_DestroyStream and NPP_URLNotify for JavaScript
  53093. result streams, even if the JavaScript expression threw an exception or returned undefined.
  53094. This matches what Firefox does.
  53095. * plugins/win/PluginStreamWin.cpp:
  53096. (WebCore::PluginStreamWin::sendJavaScriptStream):
  53097. Handle the result string being null, and set the correct NPReason if it is.
  53098. * plugins/win/PluginViewWin.cpp:
  53099. (WebCore::PluginViewWin::performRequest):
  53100. Always send the JavaScript stream, regardless of the result could be converted to a string or not.
  53101. 2007-12-04 Adele Peterson <adele@apple.com>
  53102. Reviewed by Hyatt.
  53103. Fix for <rdar://problem/5622464> controls should show up for audio element
  53104. * css/html4.css: Added styles for audio controls. This will need to be refined, since we may want a different look for audio controls.
  53105. * html/HTMLMediaElement.cpp:
  53106. (WebCore::HTMLMediaElement::attributeChanged): When the controls attribute changes detach and reattach if necessary.
  53107. (WebCore::HTMLMediaElement::rendererIsNeeded): Added.
  53108. (WebCore::HTMLMediaElement::createRenderer): Added. Uses RenderMedia.
  53109. * html/HTMLMediaElement.h:
  53110. * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): Added constructor that doesn't take intrinsic size.
  53111. * rendering/RenderMedia.h:
  53112. 2007-12-04 Anders Carlsson <andersca@apple.com>
  53113. Reviewed by Sam.
  53114. Add isSafeScript(const JSGlobalObject*) so we won't get the JSGlobalObject
  53115. implementation, which always returns true(!).
  53116. * bindings/js/kjs_window.cpp:
  53117. (KJS::Window::isSafeScript):
  53118. Make the static isSafeScript method take two JSGlobalObjects.
  53119. * bindings/js/kjs_window.h:
  53120. (KJS::Window::isSafeScript):
  53121. Implement isSafeScript and have it call the static method.
  53122. 2007-11-27 Adam Roben <aroben@apple.com>
  53123. Make the implementation of Frame::setNeedsReapplyStyles cross-platform
  53124. Reviewed by Hyatt.
  53125. No change in functionality.
  53126. * page/Frame.cpp:
  53127. (WebCore::Frame::setNeedsReapplyStyles): Added. Invalidates the
  53128. FrameView so that FrameView::layout will be called, which ends up
  53129. calling reapplyStyles.
  53130. (WebCore::Frame::needsReapplyStyles): Added.
  53131. (WebCore::Frame::reapplyStyles): Renamed from reparseConfiguration.
  53132. (WebCore::FramePrivate::FramePrivate):
  53133. * page/Frame.h:
  53134. * page/FramePrivate.h: Added new boolean member.
  53135. * page/FrameView.cpp:
  53136. (WebCore::FrameView::layout): Call Frame::reapplyStyles if needed.
  53137. (WebCore::FrameView::needsLayout): Say that we need layout if the
  53138. Frame needs styles reapplied.
  53139. * page/mac/WebCoreFrameBridge.h: Removed setNeedsReapplyStyles.
  53140. * page/mac/WebCoreFrameBridge.mm:
  53141. (-[WebCoreFrameBridge reapplyStylesForDeviceType:]): Updated for
  53142. rename.
  53143. * bridge/win/FrameWin.cpp: Removed Frame::setNeedsReapplyStyles.
  53144. * page/gtk/FrameGtk.cpp: Ditto.
  53145. * page/mac/FrameMac.mm: Ditto.
  53146. * page/qt/FrameQt.cpp: Ditto.
  53147. * platform/wx/TemporaryLinkStubs.cpp: Ditto.
  53148. 2007-12-04 Antti Koivisto <antti@apple.com>
  53149. Reviewed by Adele.
  53150. Pass intrinsic size to the base class.
  53151. * rendering/RenderMedia.cpp:
  53152. (WebCore::RenderMedia::RenderMedia):
  53153. 2007-12-04 Adele Peterson <adele@apple.com>
  53154. Reviewed by Darin.
  53155. Fix for <rdar://problem/5578209> REGRESSION: Crash in WebCore::DeprecatedValueListImpl::Private::copyList when going back on zoomerang.com/survey
  53156. * loader/FrameLoader.cpp: (WebCore::FrameLoader::scheduleHistoryNavigation):
  53157. When the new url is exactly the same as the old url, don't treat it like a fragment navigation, since its going to cause a reload.
  53158. 2007-12-04 Darin Adler <darin@apple.com>
  53159. Reviewed by Kevin Decker.
  53160. - added an assertion for a situation that leads to a Safari assertion:
  53161. a commit that is not followed by a load completion
  53162. - removed some unneeded FrameLoader stuff -- maybe some day we'll get this
  53163. class cut down to size
  53164. * loader/FrameLoader.cpp:
  53165. (WebCore::FrameLoader::FrameLoader): Added boolean for assertion.
  53166. (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Added code to assert
  53167. that we already sent a commit before sending a complete.
  53168. (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): Call
  53169. client directly instead of indirecting through a function.
  53170. (WebCore::FrameLoader::loadItem): Ditto.
  53171. (WebCore::FrameLoader::goToItem): Ditto.
  53172. (WebCore::FrameLoader::addHistoryForCurrentLocation): Get the private browsing
  53173. state from Settings instead of FrameLoaderClient. Also call client directly
  53174. instead of indirecting through a function.
  53175. (WebCore::FrameLoader::updateHistoryForReload): Call client directly instead
  53176. of indirecting through a function.
  53177. (WebCore::FrameLoader::dispatchDidCommitLoad): Added code to assert
  53178. that we did not yet send a commit and set the flag that will be used to check
  53179. that we don't do this twice in a row without an intervening completion call.
  53180. * loader/FrameLoader.h: Added a boolean for the assertion. Removed six
  53181. now-unneeded functions.
  53182. * loader/FrameLoaderClient.h: Removed now-unneeded privateBrowsingEnabled function.
  53183. * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::willCacheResponse): Get
  53184. the private browsing state from Settings instead of FrameLoaderClient.
  53185. * svg/graphics/SVGImageEmptyClients.h: Removed obsolete privateBrowsingEnabled.
  53186. 2007-12-03 Antti Koivisto <antti@apple.com>
  53187. Reviewed by Adele.
  53188. Fix <rdar://problem/5624802>
  53189. Controller displays outside of <video> element when width and height aren't specified
  53190. - Explicitly adjust size of the controls tree root.
  53191. - Switch RenderMedia base class back to RenderReplaced. It is easier to manage the shadow tree
  53192. by hand. This also allows better code sharing with other replaced element classes.
  53193. - Move duplicated layout and painting code from subclasses up to RenderReplaced.
  53194. Test: media/video-controls-rendering.html
  53195. * rendering/RenderHTMLCanvas.cpp:
  53196. (WebCore::RenderHTMLCanvas::paintReplaced):
  53197. * rendering/RenderHTMLCanvas.h:
  53198. Share code.
  53199. * rendering/RenderImage.cpp:
  53200. (WebCore::RenderImage::paintReplaced):
  53201. (WebCore::RenderImage::minimumReplacedHeight):
  53202. * rendering/RenderImage.h:
  53203. Share code.
  53204. * rendering/RenderMedia.cpp:
  53205. (WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot):
  53206. (WebCore::RenderMediaControlShadowRoot::setParent):
  53207. Add a subclass just to get through encapsulation to use setParent().
  53208. (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
  53209. Move initialization to the constructor.
  53210. (WebCore::RenderMedia::RenderMedia):
  53211. (WebCore::RenderMedia::~RenderMedia):
  53212. (WebCore::RenderMedia::layout):
  53213. Resize and layout the controller root by hand.
  53214. (WebCore::RenderMedia::firstChild):
  53215. (WebCore::RenderMedia::lastChild):
  53216. (WebCore::RenderMedia::removeChild):
  53217. Support one child renderer for controls.
  53218. (WebCore::RenderMedia::createControlsShadowRoot):
  53219. * rendering/RenderMedia.h:
  53220. (WebCore::RenderMedia::isMedia):
  53221. Switch base class to RenderReplaced, delete the now unnecessary stuff.
  53222. * rendering/RenderReplaced.cpp:
  53223. (WebCore::RenderReplaced::layout):
  53224. (WebCore::RenderReplaced::paint):
  53225. * rendering/RenderReplaced.h:
  53226. (WebCore::RenderReplaced::minimumReplacedHeight):
  53227. (WebCore::RenderReplaced::paintReplaced):
  53228. Share code.
  53229. * rendering/RenderVideo.cpp:
  53230. (WebCore::RenderVideo::videoSizeChanged):
  53231. Simplify, just request relayout.
  53232. (WebCore::RenderVideo::paintReplaced):
  53233. (WebCore::RenderVideo::layout):
  53234. * rendering/RenderVideo.h:
  53235. Share code.
  53236. 2007-12-04 Michael Natterer <mitch@imendio.com>
  53237. Reviewed by Alp Toker.
  53238. * WebCore.pro: fix build of webkit-marshal by building the
  53239. functions into a separate .cpp file instead of including them in
  53240. the header. This way we can use the marshallers from more than one
  53241. file without using bad hacks.
  53242. Add the generated sources directory to DEPENDPATH.
  53243. 2007-12-04 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>
  53244. Reviewed by Alp Toker.
  53245. http://bugs.webkit.org/show_bug.cgi?id=16145
  53246. [gtk] Implement media support in GTK backend
  53247. This implements the media tags of HTML5 on the GTK+ port based on the
  53248. Mac port. Media tests pass although some tests required a small modifications:
  53249. As per the HTML5 spec, the loading of the clip should start only after
  53250. all script are done. But in the case of the tests, the loading starts
  53251. before some callbacks get registered. This has been discussed with
  53252. Antti Koivisto, and the tests should be updated.
  53253. There is only one known issue: one time in 10 tries, loading a buffered
  53254. clip will never end buffering. The buffering will stall at 97% for no
  53255. apparent reasons. Reloading the page usually works around the problem.
  53256. On the GStreamer side, some codecs don't return correct values, therefore
  53257. they make the tests fail. For instance H.264 will make the video-end
  53258. test fail. This should be fixed in GStreamer 0.10.15.
  53259. This version displays video in a pop up window. A place holder is drawn
  53260. on the page where the video should appear.
  53261. By default, it is turned off in WebCore.pro until GStreamer/X
  53262. detection issues are sorted out.
  53263. * WebCore.pro:
  53264. Disable video for now
  53265. * platform/Logging.cpp:
  53266. * platform/Logging.h:
  53267. Added a logging level for Media stuff
  53268. * platform/graphics/Movie.cpp:
  53269. * platform/graphics/gtk/MoviePrivateGStreamer.cpp: Added.
  53270. (WebCore::moviePrivateErrorCallback):
  53271. (WebCore::moviePrivateEOSCallback):
  53272. (WebCore::moviePrivateStateCallback):
  53273. (WebCore::moviePrivateBufferingCallback):
  53274. (WebCore::moviePrivateWindowIDCallback):
  53275. (WebCore::MoviePrivate::MoviePrivate):
  53276. (WebCore::MoviePrivate::~MoviePrivate):
  53277. (WebCore::MoviePrivate::load):
  53278. (WebCore::MoviePrivate::play):
  53279. (WebCore::MoviePrivate::pause):
  53280. (WebCore::MoviePrivate::duration):
  53281. (WebCore::MoviePrivate::currentTime):
  53282. (WebCore::MoviePrivate::seek):
  53283. (WebCore::MoviePrivate::setEndTime):
  53284. (WebCore::MoviePrivate::addCuePoint):
  53285. (WebCore::MoviePrivate::removeCuePoint):
  53286. (WebCore::MoviePrivate::clearCuePoints):
  53287. (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
  53288. (WebCore::MoviePrivate::cancelSeek):
  53289. (WebCore::MoviePrivate::cuePointTimerFired):
  53290. (WebCore::MoviePrivate::paused):
  53291. (WebCore::MoviePrivate::seeking):
  53292. (WebCore::MoviePrivate::naturalSize):
  53293. (WebCore::MoviePrivate::hasVideo):
  53294. (WebCore::MoviePrivate::setVolume):
  53295. (WebCore::MoviePrivate::setMuted):
  53296. (WebCore::MoviePrivate::setRate):
  53297. (WebCore::MoviePrivate::dataRate):
  53298. (WebCore::MoviePrivate::networkState):
  53299. (WebCore::MoviePrivate::readyState):
  53300. (WebCore::MoviePrivate::maxTimeBuffered):
  53301. (WebCore::MoviePrivate::maxTimeSeekable):
  53302. (WebCore::MoviePrivate::maxTimeLoaded):
  53303. (WebCore::MoviePrivate::bytesLoaded):
  53304. (WebCore::MoviePrivate::totalBytesKnown):
  53305. (WebCore::MoviePrivate::totalBytes):
  53306. (WebCore::MoviePrivate::cancelLoad):
  53307. (WebCore::MoviePrivate::updateStates):
  53308. (WebCore::MoviePrivate::loadStateChanged):
  53309. (WebCore::MoviePrivate::rateChanged):
  53310. (WebCore::MoviePrivate::sizeChanged):
  53311. (WebCore::MoviePrivate::timeChanged):
  53312. (WebCore::MoviePrivate::volumeChanged):
  53313. (WebCore::MoviePrivate::didEnd):
  53314. (WebCore::MoviePrivate::loadingFailed):
  53315. (WebCore::MoviePrivate::setRect):
  53316. (WebCore::MoviePrivate::setVisible):
  53317. (WebCore::MoviePrivate::paint):
  53318. (WebCore::MoviePrivate::getSupportedTypes):
  53319. (WebCore::MoviePrivate::createGSTPlayBin):
  53320. * platform/graphics/gtk/MoviePrivateGStreamer.h: Added.
  53321. 2007-12-04 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  53322. Reviewed by Simon.
  53323. * Implement the InspectorClient for the Qt port
  53324. * It does not support highlighting of nodes yet
  53325. * Use QRC to open the internal page. The important thing is the
  53326. '/' in the URL to make WebCore::Document::completeURL behave the
  53327. way we want.
  53328. * To make the InspectorClient work we will have to mark qrc as secure.
  53329. * WebCore.pro:
  53330. * loader/FrameLoader.cpp:
  53331. (WebCore::localSchemes):
  53332. * page/inspector/WebKit.qrc: Added.
  53333. 2007-12-04 Alp Toker <alp@atoker.com>
  53334. Rubber stamped by Mark Rowe.
  53335. Remove two unused variables to silence warnings.
  53336. * html/CanvasRenderingContext2D.cpp:
  53337. (WebCore::CanvasRenderingContext2D::fill):
  53338. (WebCore::CanvasRenderingContext2D::stroke):
  53339. 2007-12-03 Dan Bernstein <mitz@apple.com>
  53340. Reviewed by Darin Adler.
  53341. - fix <rdar://problem/5134044> fast/frames/frame-src-attribute.html fails on Windows
  53342. * platform/win/ScrollViewWin.cpp:
  53343. (WebCore::ScrollView::visibleWidth): Do not return negative values.
  53344. (WebCore::ScrollView::visibleHeight): Ditto.
  53345. 2007-12-03 Dan Bernstein <mitz@apple.com>
  53346. Reviewed by Dave Hyatt.
  53347. - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame
  53348. Test: fast/events/resize-subframe.html
  53349. * page/FrameView.cpp:
  53350. (WebCore::FrameViewPrivate::FrameViewPrivate): Added a timer used when
  53351. deferring tasks that need to be done after layout.
  53352. (WebCore::FrameViewPrivate::reset):
  53353. (WebCore::FrameView::~FrameView):
  53354. (WebCore::FrameView::layout): Moved the updating of widget positions,
  53355. loading plug-ins and sending events queued up during layout into
  53356. performPostLayoutTasks(). performPostLayoutTasks() is called after
  53357. layout unless the layout was triggered by a previous layout's post-
  53358. layout tasks. In the latter case, performPostLayoutTasks() is scheduled
  53359. to run later.
  53360. (WebCore::FrameView::performPostLayoutTasks): Performs work that needs
  53361. to be done after layout but which can result in arbitrary code
  53362. execution and therefore may re-invalidate the layout. This includes
  53363. updating widget positions, loading plug-ins, and dispatching layout-
  53364. related DOM events (scroll, overflow and resize).
  53365. (WebCore::FrameView::postLayoutTimerFired):
  53366. (WebCore::FrameView::dispatchScheduledEvents):
  53367. * page/FrameView.h:
  53368. * page/mac/WebCoreFrameBridge.h:
  53369. * page/mac/WebCoreFrameBridge.mm: Removed -sendResizeEvent since this
  53370. is handled by FrameView now.
  53371. 2007-12-03 Rob Buis <buis@kde.org>
  53372. Reviewed by Darin.
  53373. http://bugs.webkit.org/show_bug.cgi?id=15767
  53374. Text decorations do not respect "visibility" property
  53375. Only paint decorations if visibility is "visible".
  53376. * rendering/SVGInlineTextBox.cpp:
  53377. (WebCore::SVGInlineTextBox::paintDecoration):
  53378. 2007-12-03 Steve Falkenburg <sfalken@apple.com>
  53379. Fix build.
  53380. * WebCore.vcproj/WebCore.vcproj:
  53381. 2007-12-03 Nikolas Zimmermann <zimmermann@kde.org>
  53382. Reviewed by David.
  53383. Fixes: http://bugs.webkit.org/show_bug.cgi?id=15645
  53384. Don't allow selectors to interfere with the SVG shadow tree (<use> internal non-exposed tree).
  53385. * css/CSSStyleSelector.cpp:
  53386. (WebCore::CSSStyleSelector::checkSelector):
  53387. 2007-12-03 Dan Bernstein <mitz@apple.com>
  53388. Reviewed by Adam Roben.
  53389. - fix <rdar://problem/5538651> REGRESSSION: domfuzz: null deref in WebCore::Document::canReplaceChild
  53390. Test: fast/dom/Document/replaceChild-null-oldChild.html
  53391. * dom/Document.cpp:
  53392. (WebCore::Document::canReplaceChild):
  53393. 2007-12-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  53394. Reviewed by Simon.
  53395. * Avoid crashes by making sure everything is layouted before
  53396. we start painting. This avoids a crash in Widget::invalidateRect
  53397. because QPainter::begin would fail
  53398. * The QWebFrame::layout() methods and calls are left untouched because
  53399. this would be an API decision.
  53400. WARNING: NO TEST CASES ADDED OR CHANGED
  53401. * page/FrameView.cpp:
  53402. (WebCore::FrameView::updateControlTints):
  53403. * page/FrameView.h:
  53404. * platform/ScrollView.h:
  53405. * platform/qt/ScrollViewQt.cpp:
  53406. (WebCore::ScrollView::children):
  53407. 2007-12-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  53408. Reviewed by Simon.
  53409. * Implement GraphicsContext::fillRoundedRect similiar to the
  53410. CoreGraphics implementation only addPath is not called this
  53411. seems to be only needed for CoreGraphics.
  53412. WARNING: NO TEST CASES ADDED OR CHANGED
  53413. * platform/graphics/qt/GraphicsContextQt.cpp:
  53414. (WebCore::GraphicsContext::fillRoundedRect):
  53415. 2007-12-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  53416. Reviewed by Simon.
  53417. * Coding Style fixes
  53418. WARNING: NO TEST CASES ADDED OR CHANGED
  53419. * platform/qt/ScrollViewQt.cpp:
  53420. (WebCore::ScrollView::addChild):
  53421. (WebCore::ScrollView::removeChild):
  53422. 2007-12-03 Alp Toker <alp@atoker.com>
  53423. Reviewed by Mark Rowe.
  53424. Don't delete the decoder if it's already been created. The one we have
  53425. is fine.
  53426. Cairo image cleanups. Nothing substantial.
  53427. Notify ImageObservers where appropriate.
  53428. * platform/graphics/cairo/ImageCairo.cpp:
  53429. (WebCore::BitmapImage::draw):
  53430. (WebCore::Image::drawPattern):
  53431. * platform/graphics/cairo/ImageSourceCairo.cpp:
  53432. (WebCore::ImageSource::setData):
  53433. * platform/graphics/gtk/ImageGtk.cpp:
  53434. 2007-12-03 Simon Hausmann <hausmann@webkit.org>
  53435. Reviewed by Lars.
  53436. Fixed crash when rendering form elements with Qt 4.4
  53437. QPainter::device() is not guaranteed to return a QWidget, so do the safe "cast" with the
  53438. help of QPaintDevice::devType().
  53439. Also fall back to the QApplication::style() if we don't have a widget.
  53440. * platform/qt/RenderThemeQt.cpp:
  53441. (WebCore::RenderThemeQt::paintButton):
  53442. (WebCore::RenderThemeQt::paintTextField):
  53443. (WebCore::RenderThemeQt::paintMenuList):
  53444. (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo):
  53445. 2007-12-02 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  53446. Reviewed by Sam Weinig.
  53447. * Add FrameLoader::shouldTreatSchemeAsLocal which is similar to
  53448. shouldTreatURLAsLocal.
  53449. * Make use of FrameLoader::shouldTreatSchemeAsLocal in SecurityOrigin
  53450. and do not hardcode "file". This is needed for the WebKit/qt port to make
  53451. the Web Inspector work as it using the qrc protocol instead of file.
  53452. * loader/FrameLoader.cpp:
  53453. (WebCore::FrameLoader::shouldTreatSchemeAsLocal):
  53454. * loader/FrameLoader.h:
  53455. * platform/SecurityOrigin.cpp:
  53456. (WebCore::SecurityOrigin::isSecureTransitionTo):
  53457. 2007-12-02 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  53458. Rubber stamped by Sam Weinig.
  53459. Only add applewebdata to the localSchemes when building for the
  53460. mac. This is in preparation of adding qrc for the Qt port there
  53461. as well and http://bugs.webkit.org/show_bug.cgi?id=15938.
  53462. According to Anders applewebdata is not used on the win port.
  53463. * loader/FrameLoader.cpp:
  53464. (WebCore::localSchemes):
  53465. 2007-12-02 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  53466. Rubber stamped by Sam Weinig.
  53467. Fix a typo. It is contains and not containts
  53468. * loader/FrameLoader.cpp:
  53469. 2007-12-03 Alp Toker <alp@atoker.com>
  53470. Add another missing DEPENDPATH.
  53471. Noticed when fixing the build.
  53472. * WebCore.pro:
  53473. 2007-12-03 Adam Roben <aroben@apple.com>
  53474. Speculative Windows build fix
  53475. * plugins/win/PluginViewWin.cpp:
  53476. (WebCore::getString):
  53477. 2007-12-03 Geoffrey Garen <ggaren@apple.com>
  53478. Build fix: added symbols to the right .exp file.
  53479. * WebCore.base.exp:
  53480. 2007-12-02 Geoffrey Garen <ggaren@apple.com>
  53481. Reviewed by Eric Seidel.
  53482. Updated to match the JavaScriptCore change to move virtual methods from
  53483. Interpreter to JSGlobalObject.
  53484. Moved virtual ScriptInterpreter functions to Window.
  53485. 2007-12-02 Darin Adler <darin@apple.com>
  53486. Reviewed by Mitz.
  53487. - fix <rdar://problem/5601995> Hang/crash on http://ebay-uk.custhelp.com/
  53488. There were two problems here:
  53489. 1) Incorrect HTMLCollection behavior led to us trying to insert a
  53490. new row inside an existing row instead of next to it. The fix for
  53491. this is to make HTMLCollection work better for table-related
  53492. collections.
  53493. 2) HTMLTableRowElement::insertCell would return a bad pointer if
  53494. the insertion failed. The code should have failed, but not crashed,
  53495. so it's worth fixing that too.
  53496. While fixing the HTMLCollection issues, I did some clean-up of that
  53497. class and its derived classes.
  53498. Test: fast/dom/HTMLTableElement/rows.html
  53499. Test: fast/dom/HTMLTableElement/tBodies.html
  53500. Test: fast/dom/HTMLTableRowElement/cells.html
  53501. Test: fast/dom/HTMLTableRowElement/insertCell.html
  53502. Test: fast/dom/HTMLTableSectionElement/rows.html
  53503. * bindings/js/JSHTMLCollectionCustom.cpp:
  53504. (WebCore::toJS): Updated because collectionType() was renamed to type().
  53505. * html/HTMLCollection.cpp:
  53506. (WebCore::HTMLCollection::HTMLCollection): Updated for data member name
  53507. changes. Also added a protected constructor for use by derived classes
  53508. that pass in a CollectionInfo.
  53509. (WebCore::HTMLCollection::CollectionInfo::copyCacheMap): Moved out of
  53510. the header.
  53511. (WebCore::isTableSection): Added.
  53512. (WebCore::HTMLCollection::itemAfter): Renamed from traverseNextItem,
  53513. because the old name was grammatically incorrect and thus a bit confusing.
  53514. Changed to operate on Element* instead of Node*, and use 0 to start
  53515. rather than passing in the base node (required since the base node can be
  53516. a document, which is not an element). Generalized the code that made
  53517. NodeChildren not descend into deeper descendants so it can be used for
  53518. TRCells, TSectionRows, TableTBodies, and TableRows. Reformatted the
  53519. switch statement and got rid of the "found" boolean since we can just
  53520. return when we find something. Got rid of the default case, and instead
  53521. listed all the enum values. Also changed to use a for loop for clarity.
  53522. (WebCore::HTMLCollection::calcLength): Updated for itemAfter changes.
  53523. (WebCore::HTMLCollection::item): Ditto.
  53524. (WebCore::HTMLCollection::nextItem): Ditto.
  53525. (WebCore::HTMLCollection::checkForNameMatch): Updated to take an Element
  53526. instead of a Node pointer.
  53527. (WebCore::HTMLCollection::namedItem): More of the same.
  53528. (WebCore::HTMLCollection::updateNameCache): Ditto.
  53529. (WebCore::HTMLCollection::namedItems): Ditto.
  53530. (WebCore::HTMLCollection::nextNamedItem): Ditto.
  53531. (WebCore::HTMLCollection::tags): Ditto.
  53532. * html/HTMLCollection.h: Added a type FormElements, so that the
  53533. HTMLFormCollection would not have a type of DocImages, which is what
  53534. it previously did. Changed the base parameter to be a PassRefPtr to
  53535. make it clear we take ownership of it. Added a comment explaining
  53536. why we should change the name CollectionInfo. Made a lot more members
  53537. private instead of protected. Renamed traverseNextItem to itemAfter.
  53538. Changed most functions to take Element* instead of Node*.
  53539. * html/HTMLFormCollection.cpp:
  53540. (WebCore::HTMLFormCollection::formCollectionInfo): Added.
  53541. (WebCore::HTMLFormCollection::HTMLFormCollection): Updated to pass
  53542. collection info into the base class.
  53543. (WebCore::HTMLFormCollection::calcLength): Updated to use base() so we
  53544. don't need to get at m_base directly.
  53545. (WebCore::HTMLFormCollection::item): Same, but for info().
  53546. (WebCore::HTMLFormCollection::getNamedItem): Removed unused first
  53547. argument.
  53548. (WebCore::HTMLFormCollection::getNamedFormItem): Got rid of unneeded
  53549. checks that the base is still an element and still a form, since that's
  53550. guaranteed.
  53551. (WebCore::HTMLFormCollection::nextItem): Use info().
  53552. (WebCore::HTMLFormCollection::nextNamedItemInternal): Node instead of
  53553. Element, some name changes.
  53554. (WebCore::HTMLFormCollection::namedItem): Update for changes elsewhere.
  53555. (WebCore::HTMLFormCollection::nextNamedItem): Ditto, also rewrote loop
  53556. to be much simpler.
  53557. (WebCore::HTMLFormCollection::updateNameCache): More of the same.
  53558. * html/HTMLFormCollection.h: Changed constructor to take an
  53559. HTMLFormElement, using a PassRefPtr to communicate transfer of
  53560. ownership. Made everything private instead of protected. Removed
  53561. unneeded override of firstItem. Made getNamedItem and
  53562. nextNamedItemInternal non-virtual. Removed unused first argument of
  53563. getNamedItem. Added declaration of formCollectionInfo.
  53564. * html/HTMLNameCollection.cpp:
  53565. (WebCore::HTMLNameCollection::HTMLNameCollection): Updated to pass
  53566. collection info into the base class.
  53567. (WebCore::HTMLNameCollection::itemAfter): Reformatted a bit and
  53568. changed into a for loop.
  53569. * html/HTMLNameCollection.h: Updated for name changes. Made function
  53570. private instead of public. Used PassRefPtr in constructor.
  53571. * html/HTMLOptionsCollection.cpp:
  53572. (WebCore::HTMLOptionsCollection::HTMLOptionsCollection): Updated to
  53573. pass collection info into the base class.
  53574. (WebCore::HTMLOptionsCollection::add): Updated for public/private
  53575. changes in the base class.
  53576. (WebCore::HTMLOptionsCollection::selectedIndex): Ditto.
  53577. (WebCore::HTMLOptionsCollection::setSelectedIndex): Ditto.
  53578. (WebCore::HTMLOptionsCollection::setLength): Ditto.
  53579. * html/HTMLOptionsCollection.h: Changed constructor parameter to be a
  53580. PassRefPtr.
  53581. * html/HTMLTableRowElement.cpp:
  53582. (WebCore::HTMLTableRowElement::insertCell): Changed code to use RefPtr
  53583. and PassRefPtr since this creates a new object. This alone fixed the
  53584. crash. Also cleaned up logic a bit to be more readable.
  53585. * html/HTMLTableRowElement.h: Changed insertCell to return a PassRefPtr.
  53586. Also reordered functions a bit to make things a little more logical and
  53587. removed the unused ncols data member.
  53588. * html/HTMLTableSectionElement.cpp:
  53589. (WebCore::HTMLTableSectionElement::rows): Pass TSectionRows, not
  53590. TableRows. This mistake was harmless before because TableRows and
  53591. TSectionRows were handled identically inside HTMLCollection, but that is
  53592. no longer the case with this fix.
  53593. * bindings/scripts/CodeGeneratorJS.pm: Add an include to cope with the
  53594. fact that HTMLOptionsCollection no longer includes HTMLOptionElement.
  53595. I don't think this really should be a special case -- might be worth
  53596. returning later to see if this can be optimized.
  53597. 2007-12-02 Nikolas Zimmermann <zimmermann@kde.org>
  53598. Reviewed by Adam.
  53599. RenderSVGViewportContainer sets wrong width/height.
  53600. Share code with RenderSVGContainer in a central calcBounds() function.
  53601. Fixes:
  53602. - svg/custom/use-css-events.svg (http://bugs.webkit.org/show_bug.cgi?id=15403)
  53603. - svg/custom/deep-dynamic-updates.svg
  53604. - svg/custom/use-clipped-hit.svg
  53605. - svg/custom/image-clipped-hit.svg
  53606. * rendering/RenderSVGContainer.cpp:
  53607. (WebCore::RenderSVGContainer::layout):
  53608. (WebCore::RenderSVGContainer::calcBounds):
  53609. * rendering/RenderSVGContainer.h:
  53610. * rendering/RenderSVGViewportContainer.cpp:
  53611. (WebCore::RenderSVGViewportContainer::layout):
  53612. 2007-12-02 Brady Eidson <beidson@apple.com>
  53613. Reviewed by Darin
  53614. databaseChanged notifications were being sent out on the database thread - they need to be on the main thread
  53615. like all other notifications we send out!
  53616. * platform/SecurityOriginData.cpp:
  53617. (WebCore::SecurityOriginData::copy): Add a deep copy method, for when an object thread hops
  53618. * platform/SecurityOriginData.h:
  53619. * storage/DatabaseTracker.cpp:
  53620. (WebCore::notificationMutex):
  53621. (WebCore::notificationQueue):
  53622. (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged): Add the origin/name pair to a queue
  53623. (WebCore::DatabaseTracker::scheduleForNotification): Schedule to deliver this queue of notifications
  53624. on the main thread
  53625. (WebCore::DatabaseTracker::notifyDatabasesChanged): Deliver all notifications in the queue
  53626. * storage/DatabaseTracker.h:
  53627. * storage/SQLTransaction.cpp:
  53628. (WebCore::SQLTransaction::postflightAndCommit): scheduleNotifyDatabaseChanged() instead of "notify now!"
  53629. (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto
  53630. 2007-12-02 Rob Buis <buis@kde.org>
  53631. Reviewed by Darin.
  53632. http://bugs.webkit.org/show_bug.cgi?id=16002
  53633. Load SVG (and other) UA StyleSheets dynamically when needed
  53634. Load svg sheet when needed.
  53635. * css/CSSStyleSelector.cpp:
  53636. (WebCore::screenEval):
  53637. (WebCore::printEval):
  53638. (WebCore::CSSStyleSelector::CSSStyleSelector):
  53639. (WebCore::CSSStyleSelector::loadDefaultStyle):
  53640. (WebCore::CSSStyleSelector::styleForElement):
  53641. (WebCore::CSSRuleSet::addRulesFromSheet):
  53642. 2007-12-02 Mark Rowe <mrowe@apple.com>
  53643. Try and fix the Windows build.
  53644. * plugins/win/PluginViewWin.cpp:
  53645. (WebCore::PluginViewWin::bindingInstance):
  53646. 2007-12-02 Nikolas Zimmermann <zimmermann@kde.org>
  53647. Rubber stamped by Eric.
  53648. Move platform/graphics/svg to graphics/svg as discussed on webkit-dev.
  53649. Updated all project files.
  53650. * WebCore.pro:
  53651. * WebCore.vcproj/WebCore.vcproj:
  53652. * WebCore.xcodeproj/project.pbxproj:
  53653. * platform/graphics/svg: Removed.
  53654. * platform/graphics/svg/SVGImage.cpp: Removed.
  53655. * platform/graphics/svg/SVGImage.h: Removed.
  53656. * platform/graphics/svg/SVGImageEmptyClients.h: Removed.
  53657. * platform/graphics/svg/SVGPaintServer.cpp: Removed.
  53658. * platform/graphics/svg/SVGPaintServer.h: Removed.
  53659. * platform/graphics/svg/SVGPaintServerGradient.cpp: Removed.
  53660. * platform/graphics/svg/SVGPaintServerGradient.h: Removed.
  53661. * platform/graphics/svg/SVGPaintServerLinearGradient.cpp: Removed.
  53662. * platform/graphics/svg/SVGPaintServerLinearGradient.h: Removed.
  53663. * platform/graphics/svg/SVGPaintServerPattern.cpp: Removed.
  53664. * platform/graphics/svg/SVGPaintServerPattern.h: Removed.
  53665. * platform/graphics/svg/SVGPaintServerRadialGradient.cpp: Removed.
  53666. * platform/graphics/svg/SVGPaintServerRadialGradient.h: Removed.
  53667. * platform/graphics/svg/SVGPaintServerSolid.cpp: Removed.
  53668. * platform/graphics/svg/SVGPaintServerSolid.h: Removed.
  53669. * platform/graphics/svg/SVGResource.cpp: Removed.
  53670. * platform/graphics/svg/SVGResource.h: Removed.
  53671. * platform/graphics/svg/SVGResourceClipper.cpp: Removed.
  53672. * platform/graphics/svg/SVGResourceClipper.h: Removed.
  53673. * platform/graphics/svg/SVGResourceFilter.cpp: Removed.
  53674. * platform/graphics/svg/SVGResourceFilter.h: Removed.
  53675. * platform/graphics/svg/SVGResourceListener.h: Removed.
  53676. * platform/graphics/svg/SVGResourceMarker.cpp: Removed.
  53677. * platform/graphics/svg/SVGResourceMarker.h: Removed.
  53678. * platform/graphics/svg/SVGResourceMasker.cpp: Removed.
  53679. * platform/graphics/svg/SVGResourceMasker.h: Removed.
  53680. * platform/graphics/svg/cairo: Removed.
  53681. * platform/graphics/svg/cairo/RenderPathCairo.cpp: Removed.
  53682. * platform/graphics/svg/cairo/SVGPaintServerCairo.cpp: Removed.
  53683. * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp: Removed.
  53684. * platform/graphics/svg/cairo/SVGPaintServerPatternCairo.cpp: Removed.
  53685. * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp: Removed.
  53686. * platform/graphics/svg/cairo/SVGResourceClipperCairo.cpp: Removed.
  53687. * platform/graphics/svg/cairo/SVGResourceMaskerCairo.cpp: Removed.
  53688. * platform/graphics/svg/cg: Removed.
  53689. * platform/graphics/svg/cg/CgSupport.cpp: Removed.
  53690. * platform/graphics/svg/cg/CgSupport.h: Removed.
  53691. * platform/graphics/svg/cg/RenderPathCg.cpp: Removed.
  53692. * platform/graphics/svg/cg/SVGPaintServerCg.cpp: Removed.
  53693. * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: Removed.
  53694. * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: Removed.
  53695. * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp: Removed.
  53696. * platform/graphics/svg/cg/SVGResourceClipperCg.cpp: Removed.
  53697. * platform/graphics/svg/cg/SVGResourceFilterCg.cpp: Removed.
  53698. * platform/graphics/svg/cg/SVGResourceFilterCg.mm: Removed.
  53699. * platform/graphics/svg/cg/SVGResourceMaskerCg.cpp: Removed.
  53700. * platform/graphics/svg/cg/SVGResourceMaskerCg.mm: Removed.
  53701. * platform/graphics/svg/filters: Removed.
  53702. * platform/graphics/svg/filters/SVGDistantLightSource.h: Removed.
  53703. * platform/graphics/svg/filters/SVGFEBlend.cpp: Removed.
  53704. * platform/graphics/svg/filters/SVGFEBlend.h: Removed.
  53705. * platform/graphics/svg/filters/SVGFEColorMatrix.cpp: Removed.
  53706. * platform/graphics/svg/filters/SVGFEColorMatrix.h: Removed.
  53707. * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp: Removed.
  53708. * platform/graphics/svg/filters/SVGFEComponentTransfer.h: Removed.
  53709. * platform/graphics/svg/filters/SVGFEComposite.cpp: Removed.
  53710. * platform/graphics/svg/filters/SVGFEComposite.h: Removed.
  53711. * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp: Removed.
  53712. * platform/graphics/svg/filters/SVGFEConvolveMatrix.h: Removed.
  53713. * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp: Removed.
  53714. * platform/graphics/svg/filters/SVGFEDiffuseLighting.h: Removed.
  53715. * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp: Removed.
  53716. * platform/graphics/svg/filters/SVGFEDisplacementMap.h: Removed.
  53717. * platform/graphics/svg/filters/SVGFEFlood.cpp: Removed.
  53718. * platform/graphics/svg/filters/SVGFEFlood.h: Removed.
  53719. * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp: Removed.
  53720. * platform/graphics/svg/filters/SVGFEGaussianBlur.h: Removed.
  53721. * platform/graphics/svg/filters/SVGFEImage.cpp: Removed.
  53722. * platform/graphics/svg/filters/SVGFEImage.h: Removed.
  53723. * platform/graphics/svg/filters/SVGFEMerge.cpp: Removed.
  53724. * platform/graphics/svg/filters/SVGFEMerge.h: Removed.
  53725. * platform/graphics/svg/filters/SVGFEMorphology.cpp: Removed.
  53726. * platform/graphics/svg/filters/SVGFEMorphology.h: Removed.
  53727. * platform/graphics/svg/filters/SVGFEOffset.cpp: Removed.
  53728. * platform/graphics/svg/filters/SVGFEOffset.h: Removed.
  53729. * platform/graphics/svg/filters/SVGFESpecularLighting.cpp: Removed.
  53730. * platform/graphics/svg/filters/SVGFESpecularLighting.h: Removed.
  53731. * platform/graphics/svg/filters/SVGFETile.h: Removed.
  53732. * platform/graphics/svg/filters/SVGFETurbulence.cpp: Removed.
  53733. * platform/graphics/svg/filters/SVGFETurbulence.h: Removed.
  53734. * platform/graphics/svg/filters/SVGFilterEffect.cpp: Removed.
  53735. * platform/graphics/svg/filters/SVGFilterEffect.h: Removed.
  53736. * platform/graphics/svg/filters/SVGLightSource.cpp: Removed.
  53737. * platform/graphics/svg/filters/SVGLightSource.h: Removed.
  53738. * platform/graphics/svg/filters/SVGPointLightSource.h: Removed.
  53739. * platform/graphics/svg/filters/SVGSpotLightSource.h: Removed.
  53740. * platform/graphics/svg/filters/cg: Removed.
  53741. * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm: Removed.
  53742. * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm: Removed.
  53743. * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm: Removed.
  53744. * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm: Removed.
  53745. * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm: Removed.
  53746. * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm: Removed.
  53747. * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm: Removed.
  53748. * platform/graphics/svg/filters/cg/SVGFEGaussianBlurCg.mm: Removed.
  53749. * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h: Removed.
  53750. * platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm: Removed.
  53751. * platform/graphics/svg/filters/cg/SVGFEImageCg.mm: Removed.
  53752. * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm: Removed.
  53753. * platform/graphics/svg/filters/cg/SVGFEOffsetCg.mm: Removed.
  53754. * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm: Removed.
  53755. * platform/graphics/svg/filters/cg/SVGFETileCg.mm: Removed.
  53756. * platform/graphics/svg/filters/cg/SVGFilterEffectCg.mm: Removed.
  53757. * platform/graphics/svg/filters/cg/WKArithmeticFilter.cikernel: Removed.
  53758. * platform/graphics/svg/filters/cg/WKArithmeticFilter.h: Removed.
  53759. * platform/graphics/svg/filters/cg/WKArithmeticFilter.m: Removed.
  53760. * platform/graphics/svg/filters/cg/WKComponentMergeFilter.cikernel: Removed.
  53761. * platform/graphics/svg/filters/cg/WKComponentMergeFilter.h: Removed.
  53762. * platform/graphics/svg/filters/cg/WKComponentMergeFilter.m: Removed.
  53763. * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.cikernel: Removed.
  53764. * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.h: Removed.
  53765. * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.m: Removed.
  53766. * platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.cikernel: Removed.
  53767. * platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.h: Removed.
  53768. * platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.m: Removed.
  53769. * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.cikernel: Removed.
  53770. * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.h: Removed.
  53771. * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.m: Removed.
  53772. * platform/graphics/svg/filters/cg/WKDistantLightFilter.cikernel: Removed.
  53773. * platform/graphics/svg/filters/cg/WKDistantLightFilter.h: Removed.
  53774. * platform/graphics/svg/filters/cg/WKDistantLightFilter.m: Removed.
  53775. * platform/graphics/svg/filters/cg/WKGammaTransferFilter.cikernel: Removed.
  53776. * platform/graphics/svg/filters/cg/WKGammaTransferFilter.h: Removed.
  53777. * platform/graphics/svg/filters/cg/WKGammaTransferFilter.m: Removed.
  53778. * platform/graphics/svg/filters/cg/WKIdentityTransferFilter.h: Removed.
  53779. * platform/graphics/svg/filters/cg/WKIdentityTransferFilter.m: Removed.
  53780. * platform/graphics/svg/filters/cg/WKLinearTransferFilter.cikernel: Removed.
  53781. * platform/graphics/svg/filters/cg/WKLinearTransferFilter.h: Removed.
  53782. * platform/graphics/svg/filters/cg/WKLinearTransferFilter.m: Removed.
  53783. * platform/graphics/svg/filters/cg/WKNormalMapFilter.cikernel: Removed.
  53784. * platform/graphics/svg/filters/cg/WKNormalMapFilter.h: Removed.
  53785. * platform/graphics/svg/filters/cg/WKNormalMapFilter.m: Removed.
  53786. * platform/graphics/svg/filters/cg/WKPointLightFilter.cikernel: Removed.
  53787. * platform/graphics/svg/filters/cg/WKPointLightFilter.h: Removed.
  53788. * platform/graphics/svg/filters/cg/WKPointLightFilter.m: Removed.
  53789. * platform/graphics/svg/filters/cg/WKSpecularLightingFilter.cikernel: Removed.
  53790. * platform/graphics/svg/filters/cg/WKSpecularLightingFilter.h: Removed.
  53791. * platform/graphics/svg/filters/cg/WKSpecularLightingFilter.m: Removed.
  53792. * platform/graphics/svg/filters/cg/WKSpotLightFilter.cikernel: Removed.
  53793. * platform/graphics/svg/filters/cg/WKSpotLightFilter.h: Removed.
  53794. * platform/graphics/svg/filters/cg/WKSpotLightFilter.m: Removed.
  53795. * platform/graphics/svg/filters/cg/WKTableTransferFilter.cikernel: Removed.
  53796. * platform/graphics/svg/filters/cg/WKTableTransferFilter.h: Removed.
  53797. * platform/graphics/svg/filters/cg/WKTableTransferFilter.m: Removed.
  53798. * platform/graphics/svg/mac: Removed.
  53799. * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: Removed.
  53800. * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm: Removed.
  53801. * platform/graphics/svg/qt: Removed.
  53802. * platform/graphics/svg/qt/RenderPathQt.cpp: Removed.
  53803. * platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp: Removed.
  53804. * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp: Removed.
  53805. * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp: Removed.
  53806. * platform/graphics/svg/qt/SVGPaintServerQt.cpp: Removed.
  53807. * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp: Removed.
  53808. * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp: Removed.
  53809. * platform/graphics/svg/qt/SVGResourceClipperQt.cpp: Removed.
  53810. * platform/graphics/svg/qt/SVGResourceFilterQt.cpp: Removed.
  53811. * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp: Removed.
  53812. * svg/graphics: Copied from platform/graphics/svg.
  53813. 2007-12-02 Nikolas Zimmermann <zimmermann@kde.org>
  53814. Reviewed by Maciej.
  53815. Fix IDL lookup in subdirectories. Missing 'my' prefix for the 'thisDir' variable.
  53816. When entering subdirectories the 'thisDir' variable got altered - see snippet:
  53817. THISDIR: WebCore/page FOUND FILE: FrameView.h (endCondition: 0)
  53818. ..
  53819. -> ENTER: WebCore/page/gtk (THIS DIR: WebCore/page)
  53820. ...
  53821. <- LEAVE: WebCore/page/gtk (THIS DIR: WebCore/page/gtk)
  53822. THISDIR: WebCore/page/gtk FOUND FILE: History.cpp (endCondition: 0)
  53823. 'History.cpp' is located in WebCore/page not WebCore/page/gtk.
  53824. * bindings/scripts/CodeGenerator.pm:
  53825. 2007-12-01 Alp Toker <alp@atoker.com>
  53826. Reviewed by Adam Roben.
  53827. Add the newly introduced webkit.h convenience header.
  53828. * WebCore.pro:
  53829. 2007-12-01 Antti Koivisto <antti@apple.com>
  53830. Reviewed by Adam.
  53831. - Fix crash when removing a loading media element from the tree.
  53832. - Follow the spec by invoking pause() when element is removed from the tree instead of unloading.
  53833. Tests: http/tests/media/remove-while-loading.html
  53834. media/remove-from-document.html
  53835. * html/HTMLMediaElement.cpp:
  53836. (WebCore::HTMLMediaElement::removedFromDocument):
  53837. 2007-12-01 Geoffrey Garen <ggaren@apple.com>
  53838. Reviewed by Beth Dakin.
  53839. Restored the test string in this test.
  53840. * manual-tests/window-open-features-parsing.html:
  53841. 2007-11-30 Geoffrey Garen <ggaren@apple.com>
  53842. Reviewed by Beth Dakin.
  53843. Modified WebCore to follow the new JSGlobalObject/Interpreter ownership
  53844. rules in JavaScriptCore.
  53845. * bindings/js/kjs_binding.cpp:
  53846. * bindings/js/kjs_binding.h: Removed stale, unused
  53847. interpreterForGlobalObject().
  53848. * bindings/js/kjs_proxy.cpp: Changed to store a global object, rather
  53849. than an interpreter.
  53850. (WebCore::KJSProxy::finishedWithEvent): Need to NULL check
  53851. m_globalObject here because we no longer unnecessarily instantiate it.
  53852. * bindings/js/kjs_window.cpp:
  53853. (KJS::ScheduledAction::execute):
  53854. * bindings/js/kjs_window.h: Removed redundant and less efficient
  53855. interpreter() function -- global objects have direct access to their
  53856. interpreters now.
  53857. Changed these functions to pass around JSGlobalObjects instead of
  53858. Interpreters:
  53859. * page/Frame.cpp:
  53860. (WebCore::Frame::bindingRootObject):
  53861. (WebCore::Frame::createRootObject):
  53862. * page/Frame.h:
  53863. * page/mac/WebCoreFrameBridge.mm:
  53864. (createRootObject):
  53865. 2007-12-01 Darin Adler <darin@apple.com>
  53866. Reviewed by Mitz.
  53867. - fix problem tracked by these bugs:
  53868. http://bugs.webkit.org/show_bug.cgi?id=16097
  53869. <rdar://problem/5619305> Safari crashes during load of LexisNexis search results
  53870. <rdar://problem/5510779> CrashTracer: [USER] 25 crashes in Safari at
  53871. WebCore::DocumentLoader::isLoadingMultipartContent const
  53872. * loader/ImageDocument.cpp:
  53873. (WebCore::ImageDocument::createDocumentStructure): Create an ImageDocumentElement
  53874. instead of an HTMLImageElement.
  53875. (WebCore::ImageDocument::scale): Added a null check for m_imageElement.
  53876. (WebCore::ImageDocument::resizeImageToFit): Ditto.
  53877. (WebCore::ImageDocument::restoreImageSize): Ditto.
  53878. (WebCore::ImageDocument::imageFitsInWindow): Ditto.
  53879. (WebCore::ImageDocument::windowSizeChanged): Ditto.
  53880. (WebCore::ImageDocumentElement::~ImageDocumentElement): Call
  53881. disconnectImageElement so m_imageElement will be set to 0
  53882. if we're still connected to the document.
  53883. (WebCore::ImageDocumentElement::willMoveToNewOwnerDocument): Ditto.
  53884. * loader/ImageDocument.h: Changed image element type to be
  53885. ImageDocumentElement instead of HTMLImageElement. Also added
  53886. a disconnectImageElement function that sets m_imageElement to 0.
  53887. 2007-12-01 Darin Adler <darin@apple.com>
  53888. - remove the empty directories
  53889. * ksvg2: Removed.
  53890. * ksvg2/css: Removed.
  53891. * ksvg2/events: Removed.
  53892. * ksvg2/misc: Removed.
  53893. * ksvg2/scripts: Removed.
  53894. 2007-12-01 Julien Chaffraix <julien.chaffraix@gmail.com>
  53895. Bug 16189: XMLHttpRequest::setRequestHeader() should not set certain headers
  53896. Reviewed by Darin Adler.
  53897. * xml/XMLHttpRequest.cpp:
  53898. (WebCore::canSetRequestHeader):
  53899. Test: http/tests/xmlhttprequest/set-dangerous-headers.html
  53900. 2007-12-01 Rahul Abrol <ra5ul@comcast.net>
  53901. Reviewed by Adam Roben.
  53902. http://bugs.webkit.org/show_bug.cgi?id=16128
  53903. Ignore resizable=no for window.open().
  53904. * bindings/js/kjs_window.cpp:
  53905. (KJS::setWindowFeature):
  53906. (KJS::parseWindowFeatures):
  53907. * manual-tests/window-open-features-parsing.html:
  53908. 2007-12-01 Dan Bernstein <mitz@apple.com>
  53909. Reviewed by Darin Adler.
  53910. - fix <rdar://problem/5619240> REGRESSION (Leopard-r28069): Reproducible crash with a Mootools-based calendar picker (jump to null in FrameView::layout)
  53911. Test: fast/dynamic/subtree-common-root.html
  53912. * page/FrameView.cpp:
  53913. (WebCore::FrameView::layoutRoot): Added a parameter to let this method
  53914. return the layout root for a pending layout as well.
  53915. (WebCore::FrameView::scheduleRelayoutOfSubtree): Pass the new root
  53916. to markContainingBlocksForLayout(). Otherwise,
  53917. markContainingBlocksForLayout() could mark past the new root, if it had
  53918. previously been marked as having a normal child needing layout and then
  53919. was reached via a positioned child.
  53920. * page/FrameView.h:
  53921. * rendering/RenderBox.cpp:
  53922. (WebCore::RenderBox::calcWidth):
  53923. * rendering/RenderObject.cpp:
  53924. (WebCore::RenderObject::~RenderObject): Fixed the ASSERT so that
  53925. it would really catch deletion of the layout root.
  53926. (WebCore::RenderObject::markContainingBlocksForLayout): Added the
  53927. newRoot parameter, which tells this method where to stop marking.
  53928. * rendering/RenderObject.h:
  53929. 2007-12-01 Dan Bernstein <mitz@apple.com>
  53930. Reviewed by Darin Adler.
  53931. - fold FontStyle into TextRun
  53932. * WebCore.xcodeproj/project.pbxproj:
  53933. * platform/graphics/Font.cpp:
  53934. (WebCore::WidthIterator::WidthIterator):
  53935. (WebCore::WidthIterator::advance):
  53936. (WebCore::Font::width):
  53937. (WebCore::Font::drawSimpleText):
  53938. (WebCore::Font::drawGlyphBuffer):
  53939. (WebCore::Font::drawText):
  53940. (WebCore::Font::floatWidth):
  53941. (WebCore::Font::floatWidthForSimpleText):
  53942. (WebCore::Font::selectionRectForText):
  53943. (WebCore::Font::selectionRectForSimpleText):
  53944. (WebCore::Font::offsetForPosition):
  53945. (WebCore::Font::offsetForPositionForSimpleText):
  53946. * platform/graphics/Font.h:
  53947. (WebCore::TextRun::TextRun):
  53948. (WebCore::TextRun::setText):
  53949. (WebCore::TextRun::allowTabs):
  53950. (WebCore::TextRun::xPos):
  53951. (WebCore::TextRun::padding):
  53952. (WebCore::TextRun::rtl):
  53953. (WebCore::TextRun::ltr):
  53954. (WebCore::TextRun::directionalOverride):
  53955. (WebCore::TextRun::applyRunRounding):
  53956. (WebCore::TextRun::applyWordRounding):
  53957. (WebCore::TextRun::spacingDisabled):
  53958. (WebCore::TextRun::disableSpacing):
  53959. (WebCore::TextRun::disableRoundingHacks):
  53960. (WebCore::TextRun::setRTL):
  53961. (WebCore::TextRun::setDirectionalOverride):
  53962. * platform/graphics/FontStyle.h: Removed.
  53963. * platform/graphics/GraphicsContext.cpp:
  53964. (WebCore::GraphicsContext::drawText):
  53965. (WebCore::GraphicsContext::drawBidiText):
  53966. (WebCore::GraphicsContext::drawHighlightForText):
  53967. * platform/graphics/GraphicsContext.h:
  53968. * platform/graphics/StringTruncator.cpp:
  53969. (WebCore::stringWidth):
  53970. * platform/graphics/gtk/FontGtk.cpp:
  53971. (WebCore::Font::drawComplexText):
  53972. (WebCore::Font::floatWidthForComplexText):
  53973. (WebCore::Font::offsetForPositionForComplexText):
  53974. (WebCore::Font::selectionRectForComplexText):
  53975. * platform/graphics/mac/FontMac.mm:
  53976. (WebCore::ATSULayoutParameters::ATSULayoutParameters):
  53977. (WebCore::addDirectionalOverride):
  53978. (WebCore::overrideLayoutOperation):
  53979. (WebCore::ATSULayoutParameters::initialize):
  53980. (WebCore::Font::selectionRectForComplexText):
  53981. (WebCore::Font::drawComplexText):
  53982. (WebCore::Font::floatWidthForComplexText):
  53983. (WebCore::Font::offsetForPositionForComplexText):
  53984. * platform/graphics/qt/FontQt.cpp:
  53985. (WebCore::generateComponents):
  53986. (WebCore::Font::drawText):
  53987. (WebCore::Font::width):
  53988. (WebCore::Font::offsetForPosition):
  53989. (WebCore::cursorToX):
  53990. (WebCore::Font::selectionRectForText):
  53991. * platform/graphics/win/FontWin.cpp:
  53992. (WebCore::Font::selectionRectForComplexText):
  53993. (WebCore::Font::drawComplexText):
  53994. (WebCore::Font::floatWidthForComplexText):
  53995. (WebCore::Font::offsetForPositionForComplexText):
  53996. * platform/graphics/wx/FontWx.cpp:
  53997. (WebCore::Font::selectionRectForComplexText):
  53998. (WebCore::Font::drawComplexText):
  53999. (WebCore::Font::floatWidthForComplexText):
  54000. (WebCore::Font::offsetForPositionForComplexText):
  54001. * platform/mac/WebCoreTextRenderer.mm:
  54002. (WebCoreDrawTextAtPoint):
  54003. (WebCoreTextFloatWidth):
  54004. * platform/win/PopupMenuWin.cpp:
  54005. (WebCore::PopupMenu::paint):
  54006. * platform/win/UniscribeController.cpp:
  54007. (WebCore::UniscribeController::UniscribeController):
  54008. (WebCore::UniscribeController::offsetForPosition):
  54009. (WebCore::UniscribeController::advance):
  54010. (WebCore::UniscribeController::itemizeShapeAndPlace):
  54011. (WebCore::UniscribeController::resetControlAndState):
  54012. (WebCore::UniscribeController::shapeAndPlaceItem):
  54013. * platform/win/UniscribeController.h:
  54014. * platform/win/WebCoreTextRenderer.cpp:
  54015. (WebCore::doDrawTextAtPoint):
  54016. * rendering/EllipsisBox.cpp:
  54017. (WebCore::EllipsisBox::paint):
  54018. * rendering/InlineTextBox.cpp:
  54019. (WebCore::InlineTextBox::selectionRect):
  54020. (WebCore::InlineTextBox::paint):
  54021. (WebCore::InlineTextBox::paintSelection):
  54022. (WebCore::InlineTextBox::paintCompositionBackground):
  54023. (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
  54024. (WebCore::InlineTextBox::paintTextMatchMarker):
  54025. (WebCore::InlineTextBox::offsetForPosition):
  54026. (WebCore::InlineTextBox::positionForOffset):
  54027. * rendering/RenderFileUploadControl.cpp:
  54028. (WebCore::RenderFileUploadControl::paintObject):
  54029. (WebCore::RenderFileUploadControl::calcPrefWidths):
  54030. * rendering/RenderImage.cpp:
  54031. * rendering/RenderListBox.cpp:
  54032. (WebCore::RenderListBox::updateFromElement):
  54033. (WebCore::RenderListBox::paintItemForeground):
  54034. * rendering/RenderMenuList.cpp:
  54035. (WebCore::RenderMenuList::updateOptionsWidth):
  54036. * rendering/RenderText.cpp:
  54037. (WebCore::RenderText::widthFromCache):
  54038. (WebCore::RenderText::calcPrefWidths):
  54039. (WebCore::RenderText::width):
  54040. * rendering/RenderText.h:
  54041. (WebCore::RenderText::allowTabs):
  54042. * rendering/RenderTextControl.cpp:
  54043. (WebCore::RenderTextControl::calcPrefWidths):
  54044. * rendering/SVGInlineTextBox.cpp:
  54045. (WebCore::SVGInlineTextBox::calculateGlyphWidth):
  54046. (WebCore::SVGInlineTextBox::paintCharacters):
  54047. (WebCore::SVGInlineTextBox::paintSelection):
  54048. * rendering/SVGRootInlineBox.cpp:
  54049. (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
  54050. (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
  54051. (WebCore::svgTextRunForInlineTextBox):
  54052. * rendering/SVGRootInlineBox.h:
  54053. 2007-12-01 Adam Treat <treat@kde.org>
  54054. Reviewed by Simon.
  54055. * Don't hide symbols when in Debug mode
  54056. * On Linux (glibc) provide a backtrace in the test output for debugging purposes
  54057. * WebCore.pro:
  54058. 2007-11-30 Alp Toker <alp@atoker.com>
  54059. Reviewed by Adam Roben.
  54060. http://bugs.webkit.org/show_bug.cgi?id=15691
  54061. [GTK] Public API does not follow GTK+ conventions
  54062. Refactor the WebKit/GTK+ public API. Changes:
  54063. WebKitPage -> WebKitWebView
  54064. WebKitFrame -> WebKitWebFrame
  54065. Public API source and header names have been updated to mirror the API
  54066. changes.
  54067. The API is now kept in WebKit/gtk/WebView to match other ports in the
  54068. same class such as Mac and Win.
  54069. * WebCore.pro:
  54070. 2007-11-30 Anders Carlsson <andersca@apple.com>
  54071. Add platform/text project group.
  54072. * WebCore.vcproj/WebCore.vcproj:
  54073. 2007-11-30 Anders Carlsson <andersca@apple.com>
  54074. Remove extra </Filter> tag which prevented the vcproj from being parsed correctly.
  54075. * WebCore.vcproj/WebCore.vcproj:
  54076. 2007-11-30 Nikolas Zimmermann <zimmermann@kde.org>
  54077. Not reviewed. Try to fix qt/gtk build.
  54078. * WebCore.pro:
  54079. 2007-11-30 Nikolas Zimmermann <zimmermann@kde.org>
  54080. Rubber stamped by Eric.
  54081. Final integration of ksvg2 in WebKit. Moving ksvg2/ to svg/ and killing all it's subdirectories,
  54082. by moving the files into approriate locations (css, rendering, ...) - as dicsussed on the
  54083. mailing list and on IRC with David/Darin & Eric.
  54084. Updated all build files - though I can't guarantee it builds on non-mac. Need buildbot to verify.
  54085. * DerivedSources.make:
  54086. * WebCore.pro:
  54087. * WebCore.vcproj/WebCore.vcproj:
  54088. * WebCore.xcodeproj/project.pbxproj:
  54089. * bindings/js/JSSVGLazyEventListener.cpp: Copied from ksvg2/events/JSSVGLazyEventListener.cpp.
  54090. * bindings/js/JSSVGLazyEventListener.h: Copied from ksvg2/events/JSSVGLazyEventListener.h.
  54091. * css/SVGCSSComputedStyleDeclaration.cpp: Copied from ksvg2/css/SVGCSSComputedStyleDeclaration.cpp.
  54092. * css/SVGCSSParser.cpp: Copied from ksvg2/css/SVGCSSParser.cpp.
  54093. * css/SVGCSSPropertyNames.in: Copied from ksvg2/css/SVGCSSPropertyNames.in.
  54094. * css/SVGCSSStyleSelector.cpp: Copied from ksvg2/css/SVGCSSStyleSelector.cpp.
  54095. * css/SVGCSSValueKeywords.in: Copied from ksvg2/css/SVGCSSValueKeywords.in.
  54096. * dom/make_names.pl: Copied from ksvg2/scripts/make_names.pl.
  54097. * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp: Removed.
  54098. * ksvg2/css/SVGCSSParser.cpp: Removed.
  54099. * ksvg2/css/SVGCSSPropertyNames.in: Removed.
  54100. * ksvg2/css/SVGCSSStyleSelector.cpp: Removed.
  54101. * ksvg2/css/SVGCSSValueKeywords.in: Removed.
  54102. * ksvg2/css/SVGRenderStyle.cpp: Removed.
  54103. * ksvg2/css/SVGRenderStyle.h: Removed.
  54104. * ksvg2/css/SVGRenderStyleDefs.cpp: Removed.
  54105. * ksvg2/css/SVGRenderStyleDefs.h: Removed.
  54106. * ksvg2/events/JSSVGLazyEventListener.cpp: Removed.
  54107. * ksvg2/events/JSSVGLazyEventListener.h: Removed.
  54108. * ksvg2/events/SVGZoomEvent.cpp: Removed.
  54109. * ksvg2/events/SVGZoomEvent.h: Removed.
  54110. * ksvg2/events/SVGZoomEvent.idl: Removed.
  54111. * ksvg2/misc/PointerEventsHitRules.cpp: Removed.
  54112. * ksvg2/misc/PointerEventsHitRules.h: Removed.
  54113. * ksvg2/misc/SVGDocumentExtensions.cpp: Removed.
  54114. * ksvg2/misc/SVGDocumentExtensions.h: Removed.
  54115. * ksvg2/misc/SVGImageLoader.cpp: Removed.
  54116. * ksvg2/misc/SVGImageLoader.h: Removed.
  54117. * ksvg2/misc/SVGTimer.cpp: Removed.
  54118. * ksvg2/misc/SVGTimer.h: Removed.
  54119. * ksvg2/misc/TimeScheduler.cpp: Removed.
  54120. * ksvg2/misc/TimeScheduler.h: Removed.
  54121. * ksvg2/misc/xlinkattrs.in: Removed.
  54122. * ksvg2/scripts/make_names.pl: Removed.
  54123. * ksvg2/svg: Removed.
  54124. * ksvg2/svg/ColorDistance.cpp: Removed.
  54125. * ksvg2/svg/ColorDistance.h: Removed.
  54126. * ksvg2/svg/GradientAttributes.h: Removed.
  54127. * ksvg2/svg/LinearGradientAttributes.h: Removed.
  54128. * ksvg2/svg/PatternAttributes.h: Removed.
  54129. * ksvg2/svg/RadialGradientAttributes.h: Removed.
  54130. * ksvg2/svg/SVGAElement.cpp: Removed.
  54131. * ksvg2/svg/SVGAElement.h: Removed.
  54132. * ksvg2/svg/SVGAElement.idl: Removed.
  54133. * ksvg2/svg/SVGAngle.cpp: Removed.
  54134. * ksvg2/svg/SVGAngle.h: Removed.
  54135. * ksvg2/svg/SVGAngle.idl: Removed.
  54136. * ksvg2/svg/SVGAnimateColorElement.cpp: Removed.
  54137. * ksvg2/svg/SVGAnimateColorElement.h: Removed.
  54138. * ksvg2/svg/SVGAnimateColorElement.idl: Removed.
  54139. * ksvg2/svg/SVGAnimateElement.cpp: Removed.
  54140. * ksvg2/svg/SVGAnimateElement.h: Removed.
  54141. * ksvg2/svg/SVGAnimateElement.idl: Removed.
  54142. * ksvg2/svg/SVGAnimateMotionElement.cpp: Removed.
  54143. * ksvg2/svg/SVGAnimateMotionElement.h: Removed.
  54144. * ksvg2/svg/SVGAnimateTransformElement.cpp: Removed.
  54145. * ksvg2/svg/SVGAnimateTransformElement.h: Removed.
  54146. * ksvg2/svg/SVGAnimateTransformElement.idl: Removed.
  54147. * ksvg2/svg/SVGAnimatedAngle.idl: Removed.
  54148. * ksvg2/svg/SVGAnimatedBoolean.idl: Removed.
  54149. * ksvg2/svg/SVGAnimatedEnumeration.idl: Removed.
  54150. * ksvg2/svg/SVGAnimatedInteger.idl: Removed.
  54151. * ksvg2/svg/SVGAnimatedLength.idl: Removed.
  54152. * ksvg2/svg/SVGAnimatedLengthList.idl: Removed.
  54153. * ksvg2/svg/SVGAnimatedNumber.idl: Removed.
  54154. * ksvg2/svg/SVGAnimatedNumberList.idl: Removed.
  54155. * ksvg2/svg/SVGAnimatedPathData.cpp: Removed.
  54156. * ksvg2/svg/SVGAnimatedPathData.h: Removed.
  54157. * ksvg2/svg/SVGAnimatedPathData.idl: Removed.
  54158. * ksvg2/svg/SVGAnimatedPoints.cpp: Removed.
  54159. * ksvg2/svg/SVGAnimatedPoints.h: Removed.
  54160. * ksvg2/svg/SVGAnimatedPoints.idl: Removed.
  54161. * ksvg2/svg/SVGAnimatedPreserveAspectRatio.idl: Removed.
  54162. * ksvg2/svg/SVGAnimatedRect.idl: Removed.
  54163. * ksvg2/svg/SVGAnimatedString.idl: Removed.
  54164. * ksvg2/svg/SVGAnimatedTemplate.h: Removed.
  54165. * ksvg2/svg/SVGAnimatedTransformList.idl: Removed.
  54166. * ksvg2/svg/SVGAnimationElement.cpp: Removed.
  54167. * ksvg2/svg/SVGAnimationElement.h: Removed.
  54168. * ksvg2/svg/SVGAnimationElement.idl: Removed.
  54169. * ksvg2/svg/SVGCircleElement.cpp: Removed.
  54170. * ksvg2/svg/SVGCircleElement.h: Removed.
  54171. * ksvg2/svg/SVGCircleElement.idl: Removed.
  54172. * ksvg2/svg/SVGClipPathElement.cpp: Removed.
  54173. * ksvg2/svg/SVGClipPathElement.h: Removed.
  54174. * ksvg2/svg/SVGClipPathElement.idl: Removed.
  54175. * ksvg2/svg/SVGColor.cpp: Removed.
  54176. * ksvg2/svg/SVGColor.h: Removed.
  54177. * ksvg2/svg/SVGColor.idl: Removed.
  54178. * ksvg2/svg/SVGComponentTransferFunctionElement.cpp: Removed.
  54179. * ksvg2/svg/SVGComponentTransferFunctionElement.h: Removed.
  54180. * ksvg2/svg/SVGComponentTransferFunctionElement.idl: Removed.
  54181. * ksvg2/svg/SVGCursorElement.cpp: Removed.
  54182. * ksvg2/svg/SVGCursorElement.h: Removed.
  54183. * ksvg2/svg/SVGCursorElement.idl: Removed.
  54184. * ksvg2/svg/SVGDefinitionSrcElement.cpp: Removed.
  54185. * ksvg2/svg/SVGDefinitionSrcElement.h: Removed.
  54186. * ksvg2/svg/SVGDefinitionSrcElement.idl: Removed.
  54187. * ksvg2/svg/SVGDefsElement.cpp: Removed.
  54188. * ksvg2/svg/SVGDefsElement.h: Removed.
  54189. * ksvg2/svg/SVGDefsElement.idl: Removed.
  54190. * ksvg2/svg/SVGDescElement.cpp: Removed.
  54191. * ksvg2/svg/SVGDescElement.h: Removed.
  54192. * ksvg2/svg/SVGDescElement.idl: Removed.
  54193. * ksvg2/svg/SVGDocument.cpp: Removed.
  54194. * ksvg2/svg/SVGDocument.h: Removed.
  54195. * ksvg2/svg/SVGDocument.idl: Removed.
  54196. * ksvg2/svg/SVGElement.cpp: Removed.
  54197. * ksvg2/svg/SVGElement.h: Removed.
  54198. * ksvg2/svg/SVGElement.idl: Removed.
  54199. * ksvg2/svg/SVGElementInstance.cpp: Removed.
  54200. * ksvg2/svg/SVGElementInstance.h: Removed.
  54201. * ksvg2/svg/SVGElementInstance.idl: Removed.
  54202. * ksvg2/svg/SVGElementInstanceList.cpp: Removed.
  54203. * ksvg2/svg/SVGElementInstanceList.h: Removed.
  54204. * ksvg2/svg/SVGElementInstanceList.idl: Removed.
  54205. * ksvg2/svg/SVGEllipseElement.cpp: Removed.
  54206. * ksvg2/svg/SVGEllipseElement.h: Removed.
  54207. * ksvg2/svg/SVGEllipseElement.idl: Removed.
  54208. * ksvg2/svg/SVGException.h: Removed.
  54209. * ksvg2/svg/SVGException.idl: Removed.
  54210. * ksvg2/svg/SVGExternalResourcesRequired.cpp: Removed.
  54211. * ksvg2/svg/SVGExternalResourcesRequired.h: Removed.
  54212. * ksvg2/svg/SVGExternalResourcesRequired.idl: Removed.
  54213. * ksvg2/svg/SVGFEBlendElement.cpp: Removed.
  54214. * ksvg2/svg/SVGFEBlendElement.h: Removed.
  54215. * ksvg2/svg/SVGFEBlendElement.idl: Removed.
  54216. * ksvg2/svg/SVGFEColorMatrixElement.cpp: Removed.
  54217. * ksvg2/svg/SVGFEColorMatrixElement.h: Removed.
  54218. * ksvg2/svg/SVGFEColorMatrixElement.idl: Removed.
  54219. * ksvg2/svg/SVGFEComponentTransferElement.cpp: Removed.
  54220. * ksvg2/svg/SVGFEComponentTransferElement.h: Removed.
  54221. * ksvg2/svg/SVGFEComponentTransferElement.idl: Removed.
  54222. * ksvg2/svg/SVGFECompositeElement.cpp: Removed.
  54223. * ksvg2/svg/SVGFECompositeElement.h: Removed.
  54224. * ksvg2/svg/SVGFECompositeElement.idl: Removed.
  54225. * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: Removed.
  54226. * ksvg2/svg/SVGFEDiffuseLightingElement.h: Removed.
  54227. * ksvg2/svg/SVGFEDiffuseLightingElement.idl: Removed.
  54228. * ksvg2/svg/SVGFEDisplacementMapElement.cpp: Removed.
  54229. * ksvg2/svg/SVGFEDisplacementMapElement.h: Removed.
  54230. * ksvg2/svg/SVGFEDisplacementMapElement.idl: Removed.
  54231. * ksvg2/svg/SVGFEDistantLightElement.cpp: Removed.
  54232. * ksvg2/svg/SVGFEDistantLightElement.h: Removed.
  54233. * ksvg2/svg/SVGFEDistantLightElement.idl: Removed.
  54234. * ksvg2/svg/SVGFEFloodElement.cpp: Removed.
  54235. * ksvg2/svg/SVGFEFloodElement.h: Removed.
  54236. * ksvg2/svg/SVGFEFloodElement.idl: Removed.
  54237. * ksvg2/svg/SVGFEFuncAElement.cpp: Removed.
  54238. * ksvg2/svg/SVGFEFuncAElement.h: Removed.
  54239. * ksvg2/svg/SVGFEFuncAElement.idl: Removed.
  54240. * ksvg2/svg/SVGFEFuncBElement.cpp: Removed.
  54241. * ksvg2/svg/SVGFEFuncBElement.h: Removed.
  54242. * ksvg2/svg/SVGFEFuncBElement.idl: Removed.
  54243. * ksvg2/svg/SVGFEFuncGElement.cpp: Removed.
  54244. * ksvg2/svg/SVGFEFuncGElement.h: Removed.
  54245. * ksvg2/svg/SVGFEFuncGElement.idl: Removed.
  54246. * ksvg2/svg/SVGFEFuncRElement.cpp: Removed.
  54247. * ksvg2/svg/SVGFEFuncRElement.h: Removed.
  54248. * ksvg2/svg/SVGFEFuncRElement.idl: Removed.
  54249. * ksvg2/svg/SVGFEGaussianBlurElement.cpp: Removed.
  54250. * ksvg2/svg/SVGFEGaussianBlurElement.h: Removed.
  54251. * ksvg2/svg/SVGFEGaussianBlurElement.idl: Removed.
  54252. * ksvg2/svg/SVGFEImageElement.cpp: Removed.
  54253. * ksvg2/svg/SVGFEImageElement.h: Removed.
  54254. * ksvg2/svg/SVGFEImageElement.idl: Removed.
  54255. * ksvg2/svg/SVGFELightElement.cpp: Removed.
  54256. * ksvg2/svg/SVGFELightElement.h: Removed.
  54257. * ksvg2/svg/SVGFEMergeElement.cpp: Removed.
  54258. * ksvg2/svg/SVGFEMergeElement.h: Removed.
  54259. * ksvg2/svg/SVGFEMergeElement.idl: Removed.
  54260. * ksvg2/svg/SVGFEMergeNodeElement.cpp: Removed.
  54261. * ksvg2/svg/SVGFEMergeNodeElement.h: Removed.
  54262. * ksvg2/svg/SVGFEMergeNodeElement.idl: Removed.
  54263. * ksvg2/svg/SVGFEOffsetElement.cpp: Removed.
  54264. * ksvg2/svg/SVGFEOffsetElement.h: Removed.
  54265. * ksvg2/svg/SVGFEOffsetElement.idl: Removed.
  54266. * ksvg2/svg/SVGFEPointLightElement.cpp: Removed.
  54267. * ksvg2/svg/SVGFEPointLightElement.h: Removed.
  54268. * ksvg2/svg/SVGFEPointLightElement.idl: Removed.
  54269. * ksvg2/svg/SVGFESpecularLightingElement.cpp: Removed.
  54270. * ksvg2/svg/SVGFESpecularLightingElement.h: Removed.
  54271. * ksvg2/svg/SVGFESpecularLightingElement.idl: Removed.
  54272. * ksvg2/svg/SVGFESpotLightElement.cpp: Removed.
  54273. * ksvg2/svg/SVGFESpotLightElement.h: Removed.
  54274. * ksvg2/svg/SVGFESpotLightElement.idl: Removed.
  54275. * ksvg2/svg/SVGFETileElement.cpp: Removed.
  54276. * ksvg2/svg/SVGFETileElement.h: Removed.
  54277. * ksvg2/svg/SVGFETileElement.idl: Removed.
  54278. * ksvg2/svg/SVGFETurbulenceElement.cpp: Removed.
  54279. * ksvg2/svg/SVGFETurbulenceElement.h: Removed.
  54280. * ksvg2/svg/SVGFETurbulenceElement.idl: Removed.
  54281. * ksvg2/svg/SVGFilterElement.cpp: Removed.
  54282. * ksvg2/svg/SVGFilterElement.h: Removed.
  54283. * ksvg2/svg/SVGFilterElement.idl: Removed.
  54284. * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp: Removed.
  54285. * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h: Removed.
  54286. * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.idl: Removed.
  54287. * ksvg2/svg/SVGFitToViewBox.cpp: Removed.
  54288. * ksvg2/svg/SVGFitToViewBox.h: Removed.
  54289. * ksvg2/svg/SVGFitToViewBox.idl: Removed.
  54290. * ksvg2/svg/SVGFontFaceElement.cpp: Removed.
  54291. * ksvg2/svg/SVGFontFaceElement.h: Removed.
  54292. * ksvg2/svg/SVGFontFaceElement.idl: Removed.
  54293. * ksvg2/svg/SVGFontFaceFormatElement.cpp: Removed.
  54294. * ksvg2/svg/SVGFontFaceFormatElement.h: Removed.
  54295. * ksvg2/svg/SVGFontFaceFormatElement.idl: Removed.
  54296. * ksvg2/svg/SVGFontFaceNameElement.cpp: Removed.
  54297. * ksvg2/svg/SVGFontFaceNameElement.h: Removed.
  54298. * ksvg2/svg/SVGFontFaceNameElement.idl: Removed.
  54299. * ksvg2/svg/SVGFontFaceSrcElement.cpp: Removed.
  54300. * ksvg2/svg/SVGFontFaceSrcElement.h: Removed.
  54301. * ksvg2/svg/SVGFontFaceSrcElement.idl: Removed.
  54302. * ksvg2/svg/SVGFontFaceUriElement.cpp: Removed.
  54303. * ksvg2/svg/SVGFontFaceUriElement.h: Removed.
  54304. * ksvg2/svg/SVGFontFaceUriElement.idl: Removed.
  54305. * ksvg2/svg/SVGForeignObjectElement.cpp: Removed.
  54306. * ksvg2/svg/SVGForeignObjectElement.h: Removed.
  54307. * ksvg2/svg/SVGForeignObjectElement.idl: Removed.
  54308. * ksvg2/svg/SVGGElement.cpp: Removed.
  54309. * ksvg2/svg/SVGGElement.h: Removed.
  54310. * ksvg2/svg/SVGGElement.idl: Removed.
  54311. * ksvg2/svg/SVGGradientElement.cpp: Removed.
  54312. * ksvg2/svg/SVGGradientElement.h: Removed.
  54313. * ksvg2/svg/SVGGradientElement.idl: Removed.
  54314. * ksvg2/svg/SVGImageElement.cpp: Removed.
  54315. * ksvg2/svg/SVGImageElement.h: Removed.
  54316. * ksvg2/svg/SVGImageElement.idl: Removed.
  54317. * ksvg2/svg/SVGLangSpace.cpp: Removed.
  54318. * ksvg2/svg/SVGLangSpace.h: Removed.
  54319. * ksvg2/svg/SVGLangSpace.idl: Removed.
  54320. * ksvg2/svg/SVGLength.cpp: Removed.
  54321. * ksvg2/svg/SVGLength.h: Removed.
  54322. * ksvg2/svg/SVGLength.idl: Removed.
  54323. * ksvg2/svg/SVGLengthList.cpp: Removed.
  54324. * ksvg2/svg/SVGLengthList.h: Removed.
  54325. * ksvg2/svg/SVGLengthList.idl: Removed.
  54326. * ksvg2/svg/SVGLineElement.cpp: Removed.
  54327. * ksvg2/svg/SVGLineElement.h: Removed.
  54328. * ksvg2/svg/SVGLineElement.idl: Removed.
  54329. * ksvg2/svg/SVGLinearGradientElement.cpp: Removed.
  54330. * ksvg2/svg/SVGLinearGradientElement.h: Removed.
  54331. * ksvg2/svg/SVGLinearGradientElement.idl: Removed.
  54332. * ksvg2/svg/SVGList.h: Removed.
  54333. * ksvg2/svg/SVGListTraits.h: Removed.
  54334. * ksvg2/svg/SVGLocatable.cpp: Removed.
  54335. * ksvg2/svg/SVGLocatable.h: Removed.
  54336. * ksvg2/svg/SVGLocatable.idl: Removed.
  54337. * ksvg2/svg/SVGMPathElement.cpp: Removed.
  54338. * ksvg2/svg/SVGMPathElement.h: Removed.
  54339. * ksvg2/svg/SVGMarkerElement.cpp: Removed.
  54340. * ksvg2/svg/SVGMarkerElement.h: Removed.
  54341. * ksvg2/svg/SVGMarkerElement.idl: Removed.
  54342. * ksvg2/svg/SVGMaskElement.cpp: Removed.
  54343. * ksvg2/svg/SVGMaskElement.h: Removed.
  54344. * ksvg2/svg/SVGMaskElement.idl: Removed.
  54345. * ksvg2/svg/SVGMatrix.idl: Removed.
  54346. * ksvg2/svg/SVGMetadataElement.cpp: Removed.
  54347. * ksvg2/svg/SVGMetadataElement.h: Removed.
  54348. * ksvg2/svg/SVGMetadataElement.idl: Removed.
  54349. * ksvg2/svg/SVGNumber.idl: Removed.
  54350. * ksvg2/svg/SVGNumberList.cpp: Removed.
  54351. * ksvg2/svg/SVGNumberList.h: Removed.
  54352. * ksvg2/svg/SVGNumberList.idl: Removed.
  54353. * ksvg2/svg/SVGPaint.cpp: Removed.
  54354. * ksvg2/svg/SVGPaint.h: Removed.
  54355. * ksvg2/svg/SVGPaint.idl: Removed.
  54356. * ksvg2/svg/SVGParserUtilities.cpp: Removed.
  54357. * ksvg2/svg/SVGParserUtilities.h: Removed.
  54358. * ksvg2/svg/SVGPathElement.cpp: Removed.
  54359. * ksvg2/svg/SVGPathElement.h: Removed.
  54360. * ksvg2/svg/SVGPathElement.idl: Removed.
  54361. * ksvg2/svg/SVGPathSeg.h: Removed.
  54362. * ksvg2/svg/SVGPathSeg.idl: Removed.
  54363. * ksvg2/svg/SVGPathSegArc.cpp: Removed.
  54364. * ksvg2/svg/SVGPathSegArc.h: Removed.
  54365. * ksvg2/svg/SVGPathSegArcAbs.idl: Removed.
  54366. * ksvg2/svg/SVGPathSegArcRel.idl: Removed.
  54367. * ksvg2/svg/SVGPathSegClosePath.cpp: Removed.
  54368. * ksvg2/svg/SVGPathSegClosePath.h: Removed.
  54369. * ksvg2/svg/SVGPathSegClosePath.idl: Removed.
  54370. * ksvg2/svg/SVGPathSegCurvetoCubic.cpp: Removed.
  54371. * ksvg2/svg/SVGPathSegCurvetoCubic.h: Removed.
  54372. * ksvg2/svg/SVGPathSegCurvetoCubicAbs.idl: Removed.
  54373. * ksvg2/svg/SVGPathSegCurvetoCubicRel.idl: Removed.
  54374. * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
  54375. * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h: Removed.
  54376. * ksvg2/svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Removed.
  54377. * ksvg2/svg/SVGPathSegCurvetoCubicSmoothRel.idl: Removed.
  54378. * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp: Removed.
  54379. * ksvg2/svg/SVGPathSegCurvetoQuadratic.h: Removed.
  54380. * ksvg2/svg/SVGPathSegCurvetoQuadraticAbs.idl: Removed.
  54381. * ksvg2/svg/SVGPathSegCurvetoQuadraticRel.idl: Removed.
  54382. * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
  54383. * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h: Removed.
  54384. * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Removed.
  54385. * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Removed.
  54386. * ksvg2/svg/SVGPathSegLineto.cpp: Removed.
  54387. * ksvg2/svg/SVGPathSegLineto.h: Removed.
  54388. * ksvg2/svg/SVGPathSegLinetoAbs.idl: Removed.
  54389. * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp: Removed.
  54390. * ksvg2/svg/SVGPathSegLinetoHorizontal.h: Removed.
  54391. * ksvg2/svg/SVGPathSegLinetoHorizontalAbs.idl: Removed.
  54392. * ksvg2/svg/SVGPathSegLinetoHorizontalRel.idl: Removed.
  54393. * ksvg2/svg/SVGPathSegLinetoRel.idl: Removed.
  54394. * ksvg2/svg/SVGPathSegLinetoVertical.cpp: Removed.
  54395. * ksvg2/svg/SVGPathSegLinetoVertical.h: Removed.
  54396. * ksvg2/svg/SVGPathSegLinetoVerticalAbs.idl: Removed.
  54397. * ksvg2/svg/SVGPathSegLinetoVerticalRel.idl: Removed.
  54398. * ksvg2/svg/SVGPathSegList.cpp: Removed.
  54399. * ksvg2/svg/SVGPathSegList.h: Removed.
  54400. * ksvg2/svg/SVGPathSegList.idl: Removed.
  54401. * ksvg2/svg/SVGPathSegMoveto.cpp: Removed.
  54402. * ksvg2/svg/SVGPathSegMoveto.h: Removed.
  54403. * ksvg2/svg/SVGPathSegMovetoAbs.idl: Removed.
  54404. * ksvg2/svg/SVGPathSegMovetoRel.idl: Removed.
  54405. * ksvg2/svg/SVGPatternElement.cpp: Removed.
  54406. * ksvg2/svg/SVGPatternElement.h: Removed.
  54407. * ksvg2/svg/SVGPatternElement.idl: Removed.
  54408. * ksvg2/svg/SVGPoint.idl: Removed.
  54409. * ksvg2/svg/SVGPointList.cpp: Removed.
  54410. * ksvg2/svg/SVGPointList.h: Removed.
  54411. * ksvg2/svg/SVGPointList.idl: Removed.
  54412. * ksvg2/svg/SVGPolyElement.cpp: Removed.
  54413. * ksvg2/svg/SVGPolyElement.h: Removed.
  54414. * ksvg2/svg/SVGPolygonElement.cpp: Removed.
  54415. * ksvg2/svg/SVGPolygonElement.h: Removed.
  54416. * ksvg2/svg/SVGPolygonElement.idl: Removed.
  54417. * ksvg2/svg/SVGPolylineElement.cpp: Removed.
  54418. * ksvg2/svg/SVGPolylineElement.h: Removed.
  54419. * ksvg2/svg/SVGPolylineElement.idl: Removed.
  54420. * ksvg2/svg/SVGPreserveAspectRatio.cpp: Removed.
  54421. * ksvg2/svg/SVGPreserveAspectRatio.h: Removed.
  54422. * ksvg2/svg/SVGPreserveAspectRatio.idl: Removed.
  54423. * ksvg2/svg/SVGRadialGradientElement.cpp: Removed.
  54424. * ksvg2/svg/SVGRadialGradientElement.h: Removed.
  54425. * ksvg2/svg/SVGRadialGradientElement.idl: Removed.
  54426. * ksvg2/svg/SVGRect.idl: Removed.
  54427. * ksvg2/svg/SVGRectElement.cpp: Removed.
  54428. * ksvg2/svg/SVGRectElement.h: Removed.
  54429. * ksvg2/svg/SVGRectElement.idl: Removed.
  54430. * ksvg2/svg/SVGRenderingIntent.h: Removed.
  54431. * ksvg2/svg/SVGRenderingIntent.idl: Removed.
  54432. * ksvg2/svg/SVGSVGElement.cpp: Removed.
  54433. * ksvg2/svg/SVGSVGElement.h: Removed.
  54434. * ksvg2/svg/SVGSVGElement.idl: Removed.
  54435. * ksvg2/svg/SVGScriptElement.cpp: Removed.
  54436. * ksvg2/svg/SVGScriptElement.h: Removed.
  54437. * ksvg2/svg/SVGScriptElement.idl: Removed.
  54438. * ksvg2/svg/SVGSetElement.cpp: Removed.
  54439. * ksvg2/svg/SVGSetElement.h: Removed.
  54440. * ksvg2/svg/SVGSetElement.idl: Removed.
  54441. * ksvg2/svg/SVGStopElement.cpp: Removed.
  54442. * ksvg2/svg/SVGStopElement.h: Removed.
  54443. * ksvg2/svg/SVGStopElement.idl: Removed.
  54444. * ksvg2/svg/SVGStringList.cpp: Removed.
  54445. * ksvg2/svg/SVGStringList.h: Removed.
  54446. * ksvg2/svg/SVGStringList.idl: Removed.
  54447. * ksvg2/svg/SVGStylable.cpp: Removed.
  54448. * ksvg2/svg/SVGStylable.h: Removed.
  54449. * ksvg2/svg/SVGStylable.idl: Removed.
  54450. * ksvg2/svg/SVGStyleElement.cpp: Removed.
  54451. * ksvg2/svg/SVGStyleElement.h: Removed.
  54452. * ksvg2/svg/SVGStyleElement.idl: Removed.
  54453. * ksvg2/svg/SVGStyledElement.cpp: Removed.
  54454. * ksvg2/svg/SVGStyledElement.h: Removed.
  54455. * ksvg2/svg/SVGStyledLocatableElement.cpp: Removed.
  54456. * ksvg2/svg/SVGStyledLocatableElement.h: Removed.
  54457. * ksvg2/svg/SVGStyledTransformableElement.cpp: Removed.
  54458. * ksvg2/svg/SVGStyledTransformableElement.h: Removed.
  54459. * ksvg2/svg/SVGSwitchElement.cpp: Removed.
  54460. * ksvg2/svg/SVGSwitchElement.h: Removed.
  54461. * ksvg2/svg/SVGSwitchElement.idl: Removed.
  54462. * ksvg2/svg/SVGSymbolElement.cpp: Removed.
  54463. * ksvg2/svg/SVGSymbolElement.h: Removed.
  54464. * ksvg2/svg/SVGSymbolElement.idl: Removed.
  54465. * ksvg2/svg/SVGTRefElement.cpp: Removed.
  54466. * ksvg2/svg/SVGTRefElement.h: Removed.
  54467. * ksvg2/svg/SVGTRefElement.idl: Removed.
  54468. * ksvg2/svg/SVGTSpanElement.cpp: Removed.
  54469. * ksvg2/svg/SVGTSpanElement.h: Removed.
  54470. * ksvg2/svg/SVGTSpanElement.idl: Removed.
  54471. * ksvg2/svg/SVGTests.cpp: Removed.
  54472. * ksvg2/svg/SVGTests.h: Removed.
  54473. * ksvg2/svg/SVGTests.idl: Removed.
  54474. * ksvg2/svg/SVGTextContentElement.cpp: Removed.
  54475. * ksvg2/svg/SVGTextContentElement.h: Removed.
  54476. * ksvg2/svg/SVGTextContentElement.idl: Removed.
  54477. * ksvg2/svg/SVGTextElement.cpp: Removed.
  54478. * ksvg2/svg/SVGTextElement.h: Removed.
  54479. * ksvg2/svg/SVGTextElement.idl: Removed.
  54480. * ksvg2/svg/SVGTextPathElement.cpp: Removed.
  54481. * ksvg2/svg/SVGTextPathElement.h: Removed.
  54482. * ksvg2/svg/SVGTextPathElement.idl: Removed.
  54483. * ksvg2/svg/SVGTextPositioningElement.cpp: Removed.
  54484. * ksvg2/svg/SVGTextPositioningElement.h: Removed.
  54485. * ksvg2/svg/SVGTextPositioningElement.idl: Removed.
  54486. * ksvg2/svg/SVGTitleElement.cpp: Removed.
  54487. * ksvg2/svg/SVGTitleElement.h: Removed.
  54488. * ksvg2/svg/SVGTitleElement.idl: Removed.
  54489. * ksvg2/svg/SVGTransform.cpp: Removed.
  54490. * ksvg2/svg/SVGTransform.h: Removed.
  54491. * ksvg2/svg/SVGTransform.idl: Removed.
  54492. * ksvg2/svg/SVGTransformDistance.cpp: Removed.
  54493. * ksvg2/svg/SVGTransformDistance.h: Removed.
  54494. * ksvg2/svg/SVGTransformList.cpp: Removed.
  54495. * ksvg2/svg/SVGTransformList.h: Removed.
  54496. * ksvg2/svg/SVGTransformList.idl: Removed.
  54497. * ksvg2/svg/SVGTransformable.cpp: Removed.
  54498. * ksvg2/svg/SVGTransformable.h: Removed.
  54499. * ksvg2/svg/SVGTransformable.idl: Removed.
  54500. * ksvg2/svg/SVGURIReference.cpp: Removed.
  54501. * ksvg2/svg/SVGURIReference.h: Removed.
  54502. * ksvg2/svg/SVGURIReference.idl: Removed.
  54503. * ksvg2/svg/SVGUnitTypes.h: Removed.
  54504. * ksvg2/svg/SVGUnitTypes.idl: Removed.
  54505. * ksvg2/svg/SVGUseElement.cpp: Removed.
  54506. * ksvg2/svg/SVGUseElement.h: Removed.
  54507. * ksvg2/svg/SVGUseElement.idl: Removed.
  54508. * ksvg2/svg/SVGViewElement.cpp: Removed.
  54509. * ksvg2/svg/SVGViewElement.h: Removed.
  54510. * ksvg2/svg/SVGViewElement.idl: Removed.
  54511. * ksvg2/svg/SVGViewSpec.cpp: Removed.
  54512. * ksvg2/svg/SVGViewSpec.h: Removed.
  54513. * ksvg2/svg/SVGViewSpec.idl: Removed.
  54514. * ksvg2/svg/SVGZoomAndPan.cpp: Removed.
  54515. * ksvg2/svg/SVGZoomAndPan.h: Removed.
  54516. * ksvg2/svg/SVGZoomAndPan.idl: Removed.
  54517. * ksvg2/svg/svgattrs.in: Removed.
  54518. * ksvg2/svg/svgtags.in: Removed.
  54519. * rendering/PointerEventsHitRules.cpp: Copied from ksvg2/misc/PointerEventsHitRules.cpp.
  54520. * rendering/PointerEventsHitRules.h: Copied from ksvg2/misc/PointerEventsHitRules.h.
  54521. * rendering/SVGRenderStyle.cpp: Copied from ksvg2/css/SVGRenderStyle.cpp.
  54522. * rendering/SVGRenderStyle.h: Copied from ksvg2/css/SVGRenderStyle.h.
  54523. * rendering/SVGRenderStyleDefs.cpp: Copied from ksvg2/css/SVGRenderStyleDefs.cpp.
  54524. * rendering/SVGRenderStyleDefs.h: Copied from ksvg2/css/SVGRenderStyleDefs.h.
  54525. * svg: Copied from ksvg2/svg.
  54526. * svg/SVGDocumentExtensions.cpp: Copied from ksvg2/misc/SVGDocumentExtensions.cpp.
  54527. * svg/SVGDocumentExtensions.h: Copied from ksvg2/misc/SVGDocumentExtensions.h.
  54528. * svg/SVGImageLoader.cpp: Copied from ksvg2/misc/SVGImageLoader.cpp.
  54529. * svg/SVGImageLoader.h: Copied from ksvg2/misc/SVGImageLoader.h.
  54530. * svg/SVGTimer.cpp: Copied from ksvg2/misc/SVGTimer.cpp.
  54531. * svg/SVGTimer.h: Copied from ksvg2/misc/SVGTimer.h.
  54532. * svg/SVGZoomEvent.cpp: Copied from ksvg2/events/SVGZoomEvent.cpp.
  54533. * svg/SVGZoomEvent.h: Copied from ksvg2/events/SVGZoomEvent.h.
  54534. * svg/SVGZoomEvent.idl: Copied from ksvg2/events/SVGZoomEvent.idl.
  54535. * svg/TimeScheduler.cpp: Copied from ksvg2/misc/TimeScheduler.cpp.
  54536. * svg/TimeScheduler.h: Copied from ksvg2/misc/TimeScheduler.h.
  54537. * svg/xlinkattrs.in: Copied from ksvg2/misc/xlinkattrs.in.
  54538. 2007-11-30 Kevin Ollivier <kevino@theolliviers.com>
  54539. wx build fix. Add WebCore/platform/graphics/wx to includes.
  54540. * webcore-wx.bkl:
  54541. 2007-11-30 Brady Eidson <beidson@apple.com>
  54542. Reviewed by Geoff
  54543. Further hookup of Database API
  54544. With this change, any database operation that writes to the database (UPDATE, INSERT, CREATE, etc) will
  54545. result in a didModifyDatabase notification when the transaction is successfully committed
  54546. * storage/DatabaseAuthorizer.cpp: Global rename of "m_lastActionIncreasedSize" to "m_lastActionChangedDatabase"
  54547. (WebCore::DatabaseAuthorizer::reset):
  54548. (WebCore::DatabaseAuthorizer::createTable):
  54549. (WebCore::DatabaseAuthorizer::allowAlterTable):
  54550. (WebCore::DatabaseAuthorizer::createIndex):
  54551. (WebCore::DatabaseAuthorizer::createTrigger):
  54552. (WebCore::DatabaseAuthorizer::createVTable):
  54553. (WebCore::DatabaseAuthorizer::allowInsert):
  54554. (WebCore::DatabaseAuthorizer::allowUpdate):
  54555. * storage/DatabaseAuthorizer.h:
  54556. (WebCore::DatabaseAuthorizer::lastActionChangedDatabase):
  54557. * storage/DatabaseTracker.cpp:
  54558. (WebCore::DatabaseTracker::notifyDatabaseChanged): Added. Allow external entities (SQLTransaction) to be able
  54559. to request a didModifyDatabase notification to the delegate
  54560. * storage/DatabaseTracker.h:
  54561. * storage/SQLTransaction.cpp: Added m_modifiedDatabase flag which tracks if any statement over the course of
  54562. a transaction resulted in a change to the database.
  54563. (WebCore::SQLTransaction::SQLTransaction):
  54564. (WebCore::SQLTransaction::runCurrentStatement): Set m_modifiedDatabase to true if the authorizer reports a mutation
  54565. statement occurred
  54566. (WebCore::SQLTransaction::postflightAndCommit): If the transaction successfully commits, call DatabaseTracker::notifyDatabaseChanged
  54567. (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto
  54568. * storage/SQLTransaction.h:
  54569. 2007-11-30 Nikolas Zimmermann <zimmermann@kde.org>
  54570. Rubber stamped by David.
  54571. Next round of moves - platform reorganization.
  54572. Move text/font/glyph related files from the individual port directories
  54573. into platform/text/<port> or platform/graphics/<port>.
  54574. * DerivedSources.make:
  54575. * WebCore.pro:
  54576. * WebCore.vcproj/WebCore.vcproj:
  54577. * WebCore.xcodeproj/project.pbxproj:
  54578. * platform/cf/StringCF.cpp: Removed.
  54579. * platform/cf/StringImplCF.cpp: Removed.
  54580. * platform/graphics/gtk/FontCacheGtk.cpp: Copied from platform/gtk/FontCacheGtk.cpp.
  54581. * platform/graphics/gtk/FontDataGtk.cpp: Copied from platform/gtk/FontDataGtk.cpp.
  54582. * platform/graphics/gtk/FontGtk.cpp: Copied from platform/gtk/FontGtk.cpp.
  54583. * platform/graphics/gtk/FontPlatformData.h: Copied from platform/gtk/FontPlatformData.h.
  54584. * platform/graphics/gtk/FontPlatformDataGtk.cpp: Copied from platform/gtk/FontPlatformDataGtk.cpp.
  54585. * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp: Copied from platform/gtk/GlyphPageTreeNodeGtk.cpp.
  54586. * platform/graphics/mac/FontCacheMac.mm: Copied from platform/mac/FontCacheMac.mm.
  54587. * platform/graphics/mac/FontCustomPlatformData.cpp: Copied from platform/mac/FontCustomPlatformData.cpp.
  54588. * platform/graphics/mac/FontCustomPlatformData.h: Copied from platform/mac/FontCustomPlatformData.h.
  54589. * platform/graphics/mac/FontDataMac.mm: Copied from platform/mac/FontDataMac.mm.
  54590. * platform/graphics/mac/FontMac.mm: Copied from platform/mac/FontMac.mm.
  54591. * platform/graphics/mac/FontPlatformData.h: Copied from platform/mac/FontPlatformData.h.
  54592. * platform/graphics/mac/FontPlatformDataMac.mm: Copied from platform/mac/FontPlatformDataMac.mm.
  54593. * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: Copied from platform/mac/GlyphPageTreeNodeMac.cpp.
  54594. * platform/graphics/qt/FontCacheQt.cpp: Copied from platform/qt/FontCacheQt.cpp.
  54595. * platform/graphics/qt/FontCustomPlatformData.cpp: Copied from platform/qt/FontCustomPlatformData.cpp.
  54596. * platform/graphics/qt/FontCustomPlatformData.h: Copied from platform/qt/FontCustomPlatformData.h.
  54597. * platform/graphics/qt/FontDataQt.cpp: Copied from platform/qt/FontDataQt.cpp.
  54598. * platform/graphics/qt/FontPlatformData.h: Copied from platform/qt/FontPlatformData.h.
  54599. * platform/graphics/qt/FontQt.cpp: Copied from platform/qt/FontQt.cpp.
  54600. * platform/graphics/qt/GlyphPageTreeNodeQt.cpp: Copied from platform/qt/GlyphPageTreeNodeQt.cpp.
  54601. * platform/graphics/win/FontCacheWin.cpp: Copied from platform/win/FontCacheWin.cpp.
  54602. * platform/graphics/win/FontCustomPlatformData.cpp: Copied from platform/win/FontCustomPlatformData.cpp.
  54603. * platform/graphics/win/FontCustomPlatformData.h: Copied from platform/win/FontCustomPlatformData.h.
  54604. * platform/graphics/win/FontDataWin.cpp: Copied from platform/win/FontDataWin.cpp.
  54605. * platform/graphics/win/FontDatabase.cpp: Copied from platform/win/FontDatabase.cpp.
  54606. * platform/graphics/win/FontDatabase.h: Copied from platform/win/FontDatabase.h.
  54607. * platform/graphics/win/FontPlatformData.h: Copied from platform/win/FontPlatformData.h.
  54608. * platform/graphics/win/FontPlatformDataWin.cpp: Copied from platform/win/FontPlatformDataWin.cpp.
  54609. * platform/graphics/win/FontWin.cpp: Copied from platform/win/FontWin.cpp.
  54610. * platform/graphics/win/GlyphPageTreeNodeWin.cpp: Copied from platform/win/GlyphPageTreeNodeWin.cpp.
  54611. * platform/graphics/wx/FontCacheWx.cpp: Copied from platform/wx/FontCacheWx.cpp.
  54612. * platform/graphics/wx/FontDataWx.cpp: Copied from platform/wx/FontDataWx.cpp.
  54613. * platform/graphics/wx/FontPlatformData.h: Copied from platform/wx/FontPlatformData.h.
  54614. * platform/graphics/wx/FontPlatformDataWx.cpp: Copied from platform/wx/FontPlatformDataWx.cpp.
  54615. * platform/graphics/wx/FontWx.cpp: Copied from platform/wx/FontWx.cpp.
  54616. * platform/graphics/wx/GlyphMapWx.cpp: Copied from platform/wx/GlyphMapWx.cpp.
  54617. * platform/gtk/FontCacheGtk.cpp: Removed.
  54618. * platform/gtk/FontDataGtk.cpp: Removed.
  54619. * platform/gtk/FontGtk.cpp: Removed.
  54620. * platform/gtk/FontPlatformData.h: Removed.
  54621. * platform/gtk/FontPlatformDataGtk.cpp: Removed.
  54622. * platform/gtk/GlyphPageTreeNodeGtk.cpp: Removed.
  54623. * platform/gtk/TextBreakIteratorInternalICUGtk.cpp: Removed.
  54624. * platform/mac/FontCacheMac.mm: Removed.
  54625. * platform/mac/FontCustomPlatformData.cpp: Removed.
  54626. * platform/mac/FontCustomPlatformData.h: Removed.
  54627. * platform/mac/FontDataMac.mm: Removed.
  54628. * platform/mac/FontMac.mm: Removed.
  54629. * platform/mac/FontPlatformData.h: Removed.
  54630. * platform/mac/FontPlatformDataMac.mm: Removed.
  54631. * platform/mac/GlyphPageTreeNodeMac.cpp: Removed.
  54632. * platform/mac/ShapeArabic.c: Removed.
  54633. * platform/mac/ShapeArabic.h: Removed.
  54634. * platform/mac/StringImplMac.mm: Removed.
  54635. * platform/mac/StringMac.mm: Removed.
  54636. * platform/mac/TextBoundaries.mm: Removed.
  54637. * platform/mac/TextBreakIteratorInternalICUMac.mm: Removed.
  54638. * platform/mac/TextCodecMac.cpp: Removed.
  54639. * platform/mac/TextCodecMac.h: Removed.
  54640. * platform/mac/character-sets.txt: Removed.
  54641. * platform/mac/mac-encodings.txt: Removed.
  54642. * platform/mac/make-charset-table.pl: Removed.
  54643. * platform/qt/FontCacheQt.cpp: Removed.
  54644. * platform/qt/FontCustomPlatformData.cpp: Removed.
  54645. * platform/qt/FontCustomPlatformData.h: Removed.
  54646. * platform/qt/FontDataQt.cpp: Removed.
  54647. * platform/qt/FontPlatformData.h: Removed.
  54648. * platform/qt/FontQt.cpp: Removed.
  54649. * platform/qt/GlyphPageTreeNodeQt.cpp: Removed.
  54650. * platform/qt/StringQt.cpp: Removed.
  54651. * platform/qt/TextBoundaries.cpp: Removed.
  54652. * platform/qt/TextBreakIteratorQt.cpp: Removed.
  54653. * platform/qt/TextCodecQt.cpp: Removed.
  54654. * platform/qt/TextCodecQt.h: Removed.
  54655. * platform/symbian/StringImplSymbian.cpp: Removed.
  54656. * platform/symbian/StringSymbian.cpp: Removed.
  54657. * platform/text/cf: Added.
  54658. * platform/text/cf/StringCF.cpp: Copied from platform/cf/StringCF.cpp.
  54659. * platform/text/cf/StringImplCF.cpp: Copied from platform/cf/StringImplCF.cpp.
  54660. * platform/text/gtk: Added.
  54661. * platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp: Copied from platform/gtk/TextBreakIteratorInternalICUGtk.cpp.
  54662. * platform/text/mac/ShapeArabic.c: Copied from platform/mac/ShapeArabic.c.
  54663. * platform/text/mac/ShapeArabic.h: Copied from platform/mac/ShapeArabic.h.
  54664. * platform/text/mac/StringImplMac.mm: Copied from platform/mac/StringImplMac.mm.
  54665. * platform/text/mac/StringMac.mm: Copied from platform/mac/StringMac.mm.
  54666. * platform/text/mac/TextBoundaries.mm: Copied from platform/mac/TextBoundaries.mm.
  54667. * platform/text/mac/TextBreakIteratorInternalICUMac.mm: Copied from platform/mac/TextBreakIteratorInternalICUMac.mm.
  54668. * platform/text/mac/TextCodecMac.cpp: Copied from platform/mac/TextCodecMac.cpp.
  54669. * platform/text/mac/TextCodecMac.h: Copied from platform/mac/TextCodecMac.h.
  54670. * platform/text/mac/character-sets.txt: Copied from platform/mac/character-sets.txt.
  54671. * platform/text/mac/mac-encodings.txt: Copied from platform/mac/mac-encodings.txt.
  54672. * platform/text/mac/make-charset-table.pl: Copied from platform/mac/make-charset-table.pl.
  54673. * platform/text/qt: Added.
  54674. * platform/text/qt/StringQt.cpp: Copied from platform/qt/StringQt.cpp.
  54675. * platform/text/qt/TextBoundaries.cpp: Copied from platform/qt/TextBoundaries.cpp.
  54676. * platform/text/qt/TextBreakIteratorQt.cpp: Copied from platform/qt/TextBreakIteratorQt.cpp.
  54677. * platform/text/qt/TextCodecQt.cpp: Copied from platform/qt/TextCodecQt.cpp.
  54678. * platform/text/qt/TextCodecQt.h: Copied from platform/qt/TextCodecQt.h.
  54679. * platform/text/symbian: Added.
  54680. * platform/text/symbian/StringImplSymbian.cpp: Copied from platform/symbian/StringImplSymbian.cpp.
  54681. * platform/text/symbian/StringSymbian.cpp: Copied from platform/symbian/StringSymbian.cpp.
  54682. * platform/text/win: Added.
  54683. * platform/text/win/TextBreakIteratorInternalICUWin.cpp: Copied from platform/win/TextBreakIteratorInternalICUWin.cpp.
  54684. * platform/text/wx: Added.
  54685. * platform/text/wx/StringWx.cpp: Copied from platform/wx/StringWx.cpp.
  54686. * platform/win/FontCacheWin.cpp: Removed.
  54687. * platform/win/FontCustomPlatformData.cpp: Removed.
  54688. * platform/win/FontCustomPlatformData.h: Removed.
  54689. * platform/win/FontDataWin.cpp: Removed.
  54690. * platform/win/FontDatabase.cpp: Removed.
  54691. * platform/win/FontDatabase.h: Removed.
  54692. * platform/win/FontPlatformData.h: Removed.
  54693. * platform/win/FontPlatformDataWin.cpp: Removed.
  54694. * platform/win/FontWin.cpp: Removed.
  54695. * platform/win/GlyphPageTreeNodeWin.cpp: Removed.
  54696. * platform/win/TextBreakIteratorInternalICUWin.cpp: Removed.
  54697. * platform/wx/FontCacheWx.cpp: Removed.
  54698. * platform/wx/FontDataWx.cpp: Removed.
  54699. * platform/wx/FontPlatformData.h: Removed.
  54700. * platform/wx/FontPlatformDataWx.cpp: Removed.
  54701. * platform/wx/FontWx.cpp: Removed.
  54702. * platform/wx/GlyphMapWx.cpp: Removed.
  54703. * platform/wx/StringWx.cpp: Removed.
  54704. * webcore-wx.bkl:
  54705. 2007-11-30 Kevin Ollivier <kevino@theolliviers.com>
  54706. Build fix for wx port. Adding editing/RemoveFormatCommand.cpp
  54707. * WebCoreSources.bkl:
  54708. 2007-11-30 Simon Hausmann <hausmann@webkit.org>
  54709. Reviewed by Adam Roben.
  54710. Fix the build with DATABASE=0.
  54711. * page/Settings.cpp:
  54712. (WebCore::Settings::setDefaultDatabaseOriginQuota):
  54713. (WebCore::Settings::defaultDatabaseOriginQuota):
  54714. 2007-11-30 Nikolas Zimmermann <zimmermann@kde.org>
  54715. Rubber stamped by Darin.
  54716. Fix misplaced file. The name "FontStyle" is not correct though - it probably
  54717. needs yet another move - but this time inside platform/graphics - as soon
  54718. as we agree on a better name.
  54719. * WebCore.xcodeproj/project.pbxproj:
  54720. * platform/graphics/FontStyle.h: Copied from platform/text/FontStyle.h.
  54721. * platform/text/FontStyle.h: Removed.
  54722. 2007-11-30 Nikolas Zimmermann <zimmermann@kde.org>
  54723. Reviewed by Sam.
  54724. Rename "FontStyle FontStyle(...)" to "FontStyle fontStyle(...)".
  54725. I scripted a bit too much while doing the TextStyle -> FontStyle change.
  54726. * platform/win/PopupMenuWin.cpp:
  54727. (WebCore::PopupMenu::paint):
  54728. * rendering/EllipsisBox.cpp:
  54729. (WebCore::EllipsisBox::paint):
  54730. * rendering/RenderFileUploadControl.cpp:
  54731. (WebCore::RenderFileUploadControl::paintObject):
  54732. * rendering/RenderListBox.cpp:
  54733. (WebCore::RenderListBox::updateFromElement):
  54734. (WebCore::RenderListBox::paintItemForeground):
  54735. * rendering/RenderTextControl.cpp:
  54736. (WebCore::RenderTextControl::setStyle):
  54737. (WebCore::RenderTextControl::createInnerTextStyle):
  54738. (WebCore::RenderTextControl::createSubtreeIfNeeded):
  54739. * rendering/RenderTextControl.h:
  54740. * rendering/SVGRootInlineBox.cpp:
  54741. (WebCore::svgFontStyleForInlineTextBox):
  54742. 2007-11-30 Alp Toker <alp@atoker.com>
  54743. GTK+ build fix following the recent text reorganization.
  54744. * WebCore.pro:
  54745. 2007-11-29 Jon Honeycutt <jhoneycutt@apple.com>
  54746. Reviewed by Adam.
  54747. Part of <rdar://problem/5506522> Seed: cannot type into text box in
  54748. Facebook, don't see plugin content (Adobe Flash)
  54749. * plugins/win/PluginViewWin.cpp:
  54750. (WebCore::PluginViewWin::handleMouseEvent): Focus the plugin's parent
  54751. frame
  54752. 2007-11-30 Nikolas Zimmermann <zimmermann@kde.org>
  54753. Not reviewed. Trying to fix gtk/qt/wx build. (I expected problems because of the moves)
  54754. * WebCore.pro:
  54755. * webcore-base.bkl:
  54756. 2007-11-30 Nikolas Zimmermann <zimmermann@kde.org>
  54757. Rubber stamped by Brady.
  54758. Started platform reorganization (platform/text addition).
  54759. Moving string/text/font related classes into new places - as discussed on webkit-dev.
  54760. In a follow-up commit I'll move classes out of platform/{mac,win,...} into
  54761. platform/text/{mac,win,...}, and also do the ksvg2/ -> svg/ move.
  54762. * WebCore.order:
  54763. * WebCore.pro:
  54764. * WebCore.vcproj/WebCore.vcproj:
  54765. * WebCore.xcodeproj/project.pbxproj:
  54766. * WebCoreSources.bkl:
  54767. * editing/ReplaceSelectionCommand.cpp:
  54768. (WebCore::ReplacementFragment::insertFragmentForTestRendering):
  54769. * platform/AtomicString.cpp: Removed.
  54770. * platform/AtomicString.h: Removed.
  54771. * platform/AtomicStringImpl.h: Removed.
  54772. * platform/Base64.cpp: Removed.
  54773. * platform/Base64.h: Removed.
  54774. * platform/BidiContext.cpp: Removed.
  54775. * platform/BidiContext.h: Removed.
  54776. * platform/BidiResolver.h: Removed.
  54777. * platform/CString.cpp: Removed.
  54778. * platform/CString.h: Removed.
  54779. * platform/CharacterNames.h: Removed.
  54780. * platform/CharsetData.h: Removed.
  54781. * platform/Font.cpp: Removed.
  54782. * platform/Font.h: Removed.
  54783. * platform/FontCache.cpp: Removed.
  54784. * platform/FontCache.h: Removed.
  54785. * platform/FontData.cpp: Removed.
  54786. * platform/FontData.h: Removed.
  54787. * platform/FontDescription.h: Removed.
  54788. * platform/FontFallbackList.cpp: Removed.
  54789. * platform/FontFallbackList.h: Removed.
  54790. * platform/FontFamily.cpp: Removed.
  54791. * platform/FontFamily.h: Removed.
  54792. * platform/FontSelector.h: Removed.
  54793. * platform/GlyphBuffer.h: Removed.
  54794. * platform/GlyphPageTreeNode.cpp: Removed.
  54795. * platform/GlyphPageTreeNode.h: Removed.
  54796. * platform/GlyphWidthMap.cpp: Removed.
  54797. * platform/GlyphWidthMap.h: Removed.
  54798. * platform/PlatformString.h: Removed.
  54799. * platform/RegularExpression.cpp: Removed.
  54800. * platform/RegularExpression.h: Removed.
  54801. * platform/SegmentedString.cpp: Removed.
  54802. * platform/SegmentedString.h: Removed.
  54803. * platform/String.cpp: Removed.
  54804. * platform/StringHash.h: Removed.
  54805. * platform/StringImpl.cpp: Removed.
  54806. * platform/StringImpl.h: Removed.
  54807. * platform/StringTruncator.cpp: Removed.
  54808. * platform/StringTruncator.h: Removed.
  54809. * platform/TextBoundaries.h: Removed.
  54810. * platform/TextBoundariesICU.cpp: Removed.
  54811. * platform/TextBreakIterator.h: Removed.
  54812. * platform/TextBreakIteratorICU.cpp: Removed.
  54813. * platform/TextBreakIteratorInternalICU.h: Removed.
  54814. * platform/TextCodec.cpp: Removed.
  54815. * platform/TextCodec.h: Removed.
  54816. * platform/TextCodecICU.cpp: Removed.
  54817. * platform/TextCodecICU.h: Removed.
  54818. * platform/TextCodecLatin1.cpp: Removed.
  54819. * platform/TextCodecLatin1.h: Removed.
  54820. * platform/TextCodecUTF16.cpp: Removed.
  54821. * platform/TextCodecUTF16.h: Removed.
  54822. * platform/TextCodecUserDefined.cpp: Removed.
  54823. * platform/TextCodecUserDefined.h: Removed.
  54824. * platform/TextDecoder.cpp: Removed.
  54825. * platform/TextDecoder.h: Removed.
  54826. * platform/TextDirection.h: Removed.
  54827. * platform/TextEncoding.cpp: Removed.
  54828. * platform/TextEncoding.h: Removed.
  54829. * platform/TextEncodingRegistry.cpp: Removed.
  54830. * platform/TextEncodingRegistry.h: Removed.
  54831. * platform/TextStream.cpp: Removed.
  54832. * platform/TextStream.h: Removed.
  54833. * platform/TextStyle.h: Removed.
  54834. * platform/UnicodeRange.cpp: Removed.
  54835. * platform/UnicodeRange.h: Removed.
  54836. * platform/graphics/Font.cpp: Copied from platform/Font.cpp.
  54837. (WebCore::WidthIterator::WidthIterator):
  54838. (WebCore::Font::width):
  54839. (WebCore::Font::drawSimpleText):
  54840. (WebCore::Font::drawGlyphBuffer):
  54841. (WebCore::Font::drawText):
  54842. (WebCore::Font::floatWidth):
  54843. (WebCore::Font::floatWidthForSimpleText):
  54844. (WebCore::Font::selectionRectForText):
  54845. (WebCore::Font::selectionRectForSimpleText):
  54846. (WebCore::Font::offsetForPosition):
  54847. (WebCore::Font::offsetForPositionForSimpleText):
  54848. * platform/graphics/Font.h: Copied from platform/Font.h.
  54849. * platform/graphics/FontCache.cpp: Copied from platform/FontCache.cpp.
  54850. * platform/graphics/FontCache.h: Copied from platform/FontCache.h.
  54851. * platform/graphics/FontData.cpp: Copied from platform/FontData.cpp.
  54852. * platform/graphics/FontData.h: Copied from platform/FontData.h.
  54853. * platform/graphics/FontDescription.h: Copied from platform/FontDescription.h.
  54854. * platform/graphics/FontFallbackList.cpp: Copied from platform/FontFallbackList.cpp.
  54855. * platform/graphics/FontFallbackList.h: Copied from platform/FontFallbackList.h.
  54856. * platform/graphics/FontFamily.cpp: Copied from platform/FontFamily.cpp.
  54857. * platform/graphics/FontFamily.h: Copied from platform/FontFamily.h.
  54858. * platform/graphics/FontSelector.h: Copied from platform/FontSelector.h.
  54859. * platform/graphics/GlyphBuffer.h: Copied from platform/GlyphBuffer.h.
  54860. * platform/graphics/GlyphPageTreeNode.cpp: Copied from platform/GlyphPageTreeNode.cpp.
  54861. * platform/graphics/GlyphPageTreeNode.h: Copied from platform/GlyphPageTreeNode.h.
  54862. * platform/graphics/GlyphWidthMap.cpp: Copied from platform/GlyphWidthMap.cpp.
  54863. * platform/graphics/GlyphWidthMap.h: Copied from platform/GlyphWidthMap.h.
  54864. * platform/graphics/GraphicsContext.cpp:
  54865. (WebCore::GraphicsContext::drawText):
  54866. (WebCore::GraphicsContext::drawBidiText):
  54867. (WebCore::GraphicsContext::drawHighlightForText):
  54868. * platform/graphics/GraphicsContext.h:
  54869. * platform/graphics/StringTruncator.cpp: Copied from platform/StringTruncator.cpp.
  54870. (WebCore::stringWidth):
  54871. * platform/graphics/StringTruncator.h: Copied from platform/StringTruncator.h.
  54872. * platform/graphics/qt/GraphicsContextQt.cpp:
  54873. * platform/gtk/FontGtk.cpp:
  54874. (WebCore::Font::drawComplexText):
  54875. (WebCore::Font::floatWidthForComplexText):
  54876. (WebCore::Font::offsetForPositionForComplexText):
  54877. (WebCore::Font::selectionRectForComplexText):
  54878. * platform/mac/FontMac.mm:
  54879. (WebCore::ATSULayoutParameters::ATSULayoutParameters):
  54880. (WebCore::Font::selectionRectForComplexText):
  54881. (WebCore::Font::drawComplexText):
  54882. (WebCore::Font::floatWidthForComplexText):
  54883. (WebCore::Font::offsetForPositionForComplexText):
  54884. * platform/mac/WebCoreTextRenderer.mm:
  54885. (WebCoreDrawTextAtPoint):
  54886. (WebCoreTextFloatWidth):
  54887. * platform/qt/FontQt.cpp:
  54888. (WebCore::generateComponents):
  54889. (WebCore::Font::drawText):
  54890. (WebCore::Font::width):
  54891. (WebCore::Font::floatWidth):
  54892. (WebCore::Font::offsetForPosition):
  54893. (WebCore::cursorToX):
  54894. (WebCore::Font::selectionRectForText):
  54895. * platform/text: Added.
  54896. * platform/text/AtomicString.cpp: Copied from platform/AtomicString.cpp.
  54897. * platform/text/AtomicString.h: Copied from platform/AtomicString.h.
  54898. * platform/text/AtomicStringImpl.h: Copied from platform/AtomicStringImpl.h.
  54899. * platform/text/Base64.cpp: Copied from platform/Base64.cpp.
  54900. * platform/text/Base64.h: Copied from platform/Base64.h.
  54901. * platform/text/BidiContext.cpp: Copied from platform/BidiContext.cpp.
  54902. * platform/text/BidiContext.h: Copied from platform/BidiContext.h.
  54903. * platform/text/BidiResolver.h: Copied from platform/BidiResolver.h.
  54904. * platform/text/CString.cpp: Copied from platform/CString.cpp.
  54905. * platform/text/CString.h: Copied from platform/CString.h.
  54906. * platform/text/CharacterNames.h: Copied from platform/CharacterNames.h.
  54907. * platform/text/FontStyle.h: Copied from platform/TextStyle.h.
  54908. (WebCore::FontStyle::FontStyle):
  54909. * platform/text/PlatformString.h: Copied from platform/PlatformString.h.
  54910. * platform/text/RegularExpression.cpp: Copied from platform/RegularExpression.cpp.
  54911. * platform/text/RegularExpression.h: Copied from platform/RegularExpression.h.
  54912. * platform/text/SegmentedString.cpp: Copied from platform/SegmentedString.cpp.
  54913. * platform/text/SegmentedString.h: Copied from platform/SegmentedString.h.
  54914. * platform/text/String.cpp: Copied from platform/String.cpp.
  54915. * platform/text/StringHash.h: Copied from platform/StringHash.h.
  54916. * platform/text/StringImpl.cpp: Copied from platform/StringImpl.cpp.
  54917. * platform/text/StringImpl.h: Copied from platform/StringImpl.h.
  54918. * platform/text/TextBoundaries.h: Copied from platform/TextBoundaries.h.
  54919. * platform/text/TextBoundariesICU.cpp: Copied from platform/TextBoundariesICU.cpp.
  54920. (WebCore::findNextWordFromIndex):
  54921. * platform/text/TextBreakIterator.h: Copied from platform/TextBreakIterator.h.
  54922. * platform/text/TextBreakIteratorICU.cpp: Copied from platform/TextBreakIteratorICU.cpp.
  54923. * platform/text/TextBreakIteratorInternalICU.h: Copied from platform/TextBreakIteratorInternalICU.h.
  54924. * platform/text/TextCodec.cpp: Copied from platform/TextCodec.cpp.
  54925. * platform/text/TextCodec.h: Copied from platform/TextCodec.h.
  54926. * platform/text/TextCodecICU.cpp: Copied from platform/TextCodecICU.cpp.
  54927. * platform/text/TextCodecICU.h: Copied from platform/TextCodecICU.h.
  54928. * platform/text/TextCodecLatin1.cpp: Copied from platform/TextCodecLatin1.cpp.
  54929. * platform/text/TextCodecLatin1.h: Copied from platform/TextCodecLatin1.h.
  54930. * platform/text/TextCodecUTF16.cpp: Copied from platform/TextCodecUTF16.cpp.
  54931. * platform/text/TextCodecUTF16.h: Copied from platform/TextCodecUTF16.h.
  54932. * platform/text/TextCodecUserDefined.cpp: Copied from platform/TextCodecUserDefined.cpp.
  54933. * platform/text/TextCodecUserDefined.h: Copied from platform/TextCodecUserDefined.h.
  54934. * platform/text/TextDecoder.cpp: Copied from platform/TextDecoder.cpp.
  54935. * platform/text/TextDecoder.h: Copied from platform/TextDecoder.h.
  54936. * platform/text/TextDirection.h: Copied from platform/TextDirection.h.
  54937. * platform/text/TextEncoding.cpp: Copied from platform/TextEncoding.cpp.
  54938. * platform/text/TextEncoding.h: Copied from platform/TextEncoding.h.
  54939. * platform/text/TextEncodingRegistry.cpp: Copied from platform/TextEncodingRegistry.cpp.
  54940. * platform/text/TextEncodingRegistry.h: Copied from platform/TextEncodingRegistry.h.
  54941. * platform/text/TextStream.cpp: Copied from platform/TextStream.cpp.
  54942. * platform/text/TextStream.h: Copied from platform/TextStream.h.
  54943. * platform/text/UnicodeRange.cpp: Copied from platform/UnicodeRange.cpp.
  54944. * platform/text/UnicodeRange.h: Copied from platform/UnicodeRange.h.
  54945. * platform/text/mac: Added.
  54946. * platform/text/mac/CharsetData.h: Copied from platform/CharsetData.h.
  54947. * platform/win/FontWin.cpp:
  54948. (WebCore::Font::selectionRectForComplexText):
  54949. (WebCore::Font::drawComplexText):
  54950. (WebCore::Font::floatWidthForComplexText):
  54951. (WebCore::Font::offsetForPositionForComplexText):
  54952. * platform/win/PopupMenuWin.cpp:
  54953. (WebCore::PopupMenu::paint):
  54954. * platform/win/UniscribeController.cpp:
  54955. (WebCore::UniscribeController::UniscribeController):
  54956. * platform/win/UniscribeController.h:
  54957. * platform/win/WebCoreTextRenderer.cpp:
  54958. (WebCore::doDrawTextAtPoint):
  54959. * platform/wx/FontWx.cpp:
  54960. (WebCore::Font::selectionRectForComplexText):
  54961. (WebCore::Font::drawComplexText):
  54962. (WebCore::Font::floatWidthForComplexText):
  54963. (WebCore::Font::offsetForPositionForComplexText):
  54964. * rendering/EllipsisBox.cpp:
  54965. (WebCore::EllipsisBox::paint):
  54966. * rendering/InlineTextBox.cpp:
  54967. (WebCore::InlineTextBox::selectionRect):
  54968. (WebCore::InlineTextBox::paint):
  54969. (WebCore::InlineTextBox::paintSelection):
  54970. (WebCore::InlineTextBox::paintCompositionBackground):
  54971. (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
  54972. (WebCore::InlineTextBox::paintTextMatchMarker):
  54973. (WebCore::InlineTextBox::offsetForPosition):
  54974. (WebCore::InlineTextBox::positionForOffset):
  54975. * rendering/RenderFileUploadControl.cpp:
  54976. (WebCore::RenderFileUploadControl::paintObject):
  54977. (WebCore::RenderFileUploadControl::calcPrefWidths):
  54978. * rendering/RenderImage.cpp:
  54979. * rendering/RenderListBox.cpp:
  54980. (WebCore::RenderListBox::updateFromElement):
  54981. (WebCore::RenderListBox::paintItemForeground):
  54982. * rendering/RenderMenuList.cpp:
  54983. (WebCore::RenderMenuList::updateOptionsWidth):
  54984. * rendering/RenderText.cpp:
  54985. (WebCore::RenderText::widthFromCache):
  54986. (WebCore::RenderText::calcPrefWidths):
  54987. (WebCore::RenderText::width):
  54988. * rendering/RenderTextControl.cpp:
  54989. (WebCore::RenderTextControl::setStyle):
  54990. (WebCore::RenderTextControl::createInnerFontStyle):
  54991. (WebCore::RenderTextControl::createSubtreeIfNeeded):
  54992. (WebCore::RenderTextControl::calcPrefWidths):
  54993. * rendering/RenderTextControl.h:
  54994. * rendering/SVGInlineTextBox.cpp:
  54995. (WebCore::SVGInlineTextBox::calculateGlyphWidth):
  54996. (WebCore::SVGInlineTextBox::paintCharacters):
  54997. (WebCore::SVGInlineTextBox::paintSelection):
  54998. * rendering/SVGRootInlineBox.cpp:
  54999. (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
  55000. (WebCore::svgFontStyleForInlineTextBox):
  55001. * rendering/SVGRootInlineBox.h:
  55002. 2007-11-30 Adele Peterson <adele@apple.com>
  55003. Reviewed by Darin.
  55004. Fix for http://bugs.webkit.org/show_bug.cgi?id=16072
  55005. <rdar://problem/5463821> REGRESSION: Mousemove event isn't fired when mouse moves over scrollbar with pressed button (16072)
  55006. Test: fast/events/mousemove-after-drag-over-scrollbar.html
  55007. * page/EventHandler.cpp:
  55008. (WebCore::EventHandler::handleMouseMoveEvent): If the mouse is pressed, and we've moved over a new scrollbar, then we can clear m_lastScrollbarUnderMouse.
  55009. We should only need to show the hover effect when the mouse isn't pressed.
  55010. 2007-11-29 Brady Eidson <beidson@apple.com>
  55011. Reviewed by Tim
  55012. Part of <rdar://problem/5556377> - Need to accurately track and enforce database quota
  55013. SQLite has the ability to enforce the page usage for databases. This gives us bulletproof
  55014. enforcement of the database size limit with reasonable granularity (within 1023 bytes by
  55015. default on OS X with SQLite 3.4.0)
  55016. This also involved enhancing the ability to install/remove the authorizer to run the PRAGMA
  55017. statements involved
  55018. Note this patch does not actually use the new maximumSize() functionality of the
  55019. SQLiteDatabase class - that can be reviewed/landed seperately
  55020. * platform/sql/SQLiteDatabase.cpp:
  55021. (WebCore::SQLiteDatabase::SQLiteDatabase):
  55022. (WebCore::SQLiteDatabase::maximumSize): Return the current maximum size in bytes
  55023. (WebCore::SQLiteDatabase::setMaximumSize): Based on m_pageSize, set the maximum page count
  55024. to enforce the maximum size in bytes
  55025. (WebCore::SQLiteDatabase::pageSize): Fetch m_pageSize if it hasn't been fetched, or return
  55026. the cached value
  55027. (WebCore::SQLiteDatabase::setAuthorizer): Use enableAuthorizer for the sqlite_* level
  55028. authorizer setup
  55029. (WebCore::SQLiteDatabase::enableAuthorizer): Install or remove the sqlite authorizer handler
  55030. * platform/sql/SQLiteDatabase.h: Add the m_pageSize member so we only have to fetch it once
  55031. 2007-11-29 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  55032. Reviewed by Maciej.
  55033. * Fix fast/events/mousedown_in_scrollbar.html
  55034. * This test used to crash in PlatformScrollbarQt::mouse*Event due parent() returning 0.
  55035. * Extend the current check that the scrollbar in the mev can be go away.
  55036. This happens if we destroy a RenderLayer as the result of a click. In the
  55037. case of Qt we can have this scrollbar in m_lastScrollbarUnderMouse. The RenderLayer
  55038. is the ScrollbarClient, m_lastScrollbarUnderMouse is a RefPtr and keeps the
  55039. last reference. When calling into this scrollbar the m_client pointer is a dangling pointer.
  55040. We extend the check to set m_lastScrollbarUnderMouse back to zero when it was the
  55041. scrollbar in the old mev and is gone in the new one.
  55042. * This happens only on the Qt port because we send more/different move events.
  55043. * page/EventHandler.cpp:
  55044. (WebCore::EventHandler::handleMousePressEvent):
  55045. 2007-11-29 Antti Koivisto <antti@apple.com>
  55046. Reviewed by Mitz.
  55047. Fix aspect ratio calculation of video.
  55048. Video should always be treated as a replaced element in size calculation.
  55049. Test: media/video-aspect-ratio.html
  55050. * rendering/RenderBox.cpp:
  55051. (WebCore::RenderBox::calcWidth):
  55052. (WebCore::RenderBox::calcHeight):
  55053. * rendering/RenderBox.h:
  55054. (WebCore::RenderBox::shouldCalculateSizeAsReplaced):
  55055. * rendering/RenderMedia.h:
  55056. (WebCore::RenderMedia::shouldCalculateSizeAsReplaced):
  55057. 2007-11-29 Sam Weinig <sam@webkit.org>
  55058. Reviewed by Oliver.
  55059. Additional fix for <rdar://problem/5592988> / http://bugs.webkit.org/show_bug.cgi?id=15936
  55060. - More closely match IE's policy for frame navigation.
  55061. * bindings/js/kjs_window.cpp:
  55062. (KJS::WindowProtoFuncOpen::callAsFunction):
  55063. * loader/FrameLoader.cpp:
  55064. (WebCore::FrameLoader::shouldAllowNavigation):
  55065. * page/FrameTree.cpp:
  55066. (WebCore::FrameTree::top):
  55067. * page/FrameTree.h:
  55068. 2007-11-29 Dan Bernstein <mitz@apple.com>
  55069. Reviewed by Adam Roben and John Sullivan.
  55070. - make the recent searches popup extend only along the straight part of
  55071. the search field (unless it needs to be wider).
  55072. * platform/PopupMenuClient.h:
  55073. Added clientInsetLeft() and clientInsetRight() for clients to
  55074. specify desired horizontal insets for the menu.
  55075. * platform/win/PopupMenuWin.cpp:
  55076. (WebCore::PopupMenu::calculatePositionAndSize):
  55077. (WebCore::PopupMenu::paint):
  55078. * rendering/RenderMenuList.cpp:
  55079. (WebCore::RenderMenuList::clientInsetLeft): Added. Returns 0.
  55080. (WebCore::RenderMenuList::clientInsetRight): Ditto.
  55081. * rendering/RenderMenuList.h:
  55082. * rendering/RenderTextControl.cpp:
  55083. (WebCore::RenderTextControl::clientInsetLeft): Added. Returns half the
  55084. control's height, which is the radius of the cap on the left.
  55085. (WebCore::RenderTextControl::clientInsetRight): Added.
  55086. * rendering/RenderTextControl.h:
  55087. 2007-11-30 Alp Toker <alp@atoker.com>
  55088. Reviewed by Maciej.
  55089. http://bugs.webkit.org/show_bug.cgi?id=16173
  55090. Licensing change
  55091. Change license from BSD to LGPL.
  55092. This is being done to encourage vendors to contribute their fixes back
  55093. upstream.
  55094. * platform/graphics/gtk/ColorGtk.cpp:
  55095. * platform/graphics/gtk/IntPointGtk.cpp:
  55096. * platform/graphics/gtk/IntRectGtk.cpp:
  55097. * platform/graphics/svg/cairo/RenderPathCairo.cpp:
  55098. * platform/graphics/svg/cairo/SVGPaintServerCairo.cpp:
  55099. * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp:
  55100. * platform/graphics/svg/cairo/SVGPaintServerPatternCairo.cpp:
  55101. * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp:
  55102. * platform/graphics/svg/cairo/SVGResourceClipperCairo.cpp:
  55103. * platform/graphics/svg/cairo/SVGResourceMaskerCairo.cpp:
  55104. * platform/gtk/Language.cpp:
  55105. * platform/gtk/LoggingGtk.cpp:
  55106. * platform/gtk/SoundGtk.cpp:
  55107. * platform/gtk/SystemTimeGtk.cpp:
  55108. * platform/gtk/TextBreakIteratorInternalICUGtk.cpp:
  55109. 2007-11-29 Darin Adler <darin@apple.com>
  55110. Reviewed by Adele.
  55111. - fix http://bugs.webkit.org/show_bug.cgi?id=16191
  55112. REGRESSION: cannot tab to radio input after setting checked to false
  55113. Test: fast/forms/input-radio-checked-tab.html
  55114. * html/HTMLFormElement.cpp:
  55115. (WebCore::HTMLFormElement::CheckedRadioButtons::addButton): Fix this code
  55116. so that it doesn't call setChecked(false) until after the map has been updated.
  55117. Otherwise, we can end up deallocating the map before manipulating it. As long
  55118. as I was changing the function, I decided to make it do only a single hash
  55119. table lookup.
  55120. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setChecked):
  55121. Remove the button from the radio buttons set before changing the checked
  55122. state. This matches the idiom used elsewhere and fixes the problem where
  55123. setting checked to false would not remove it from the set.
  55124. 2007-11-29 Justin Garcia <justin.garcia@apple.com>
  55125. Reviewed by Darin Adler.
  55126. <rdar://problem/5620093> Brief hang when Safari caches page text of XML document
  55127. * editing/TextIterator.cpp:
  55128. (WebCore::TextIterator::representNodeOffsetZero): When we haven't been emitting any
  55129. characters, shouldRepresentNodeOffsetZero() can create VisiblePositions, which is
  55130. expensive. So, we perform the inexpensive checks on m_node to see if it necessitates
  55131. emitting a character first and will early return before encountering
  55132. shouldRepresentNodeOffsetZero()s worse case behavior.
  55133. 2007-11-29 Anders Carlsson <andersca@apple.com>
  55134. Reviewed by Sam.
  55135. Don't install event handlers or set the zoom cursor if auto-shrink has been disabled.
  55136. * loader/ImageDocument.cpp:
  55137. (WebCore::ImageDocument::createDocumentStructure):
  55138. (WebCore::ImageDocument::imageChanged):
  55139. 2007-11-29 Beth Dakin <bdakin@apple.com>
  55140. Reviewed by Geoff.
  55141. Fix for <rdar://problem/5620151> Disable JavaScript for SVG as
  55142. image for <img> and CSS images
  55143. * platform/graphics/svg/SVGImage.cpp:
  55144. (WebCore::SVGImage::dataChanged): When we create the empty clients,
  55145. explicitly disable JavaScript in the settings.
  55146. 2007-11-29 Brady Eidson <beidson@apple.com>
  55147. Reviewed by Anders
  55148. Support for <rdar://problem/5556381> and <rdar://problem/5556379>
  55149. The Database feature in the engine needs to support delegate calls for policy decisions and
  55150. also provide notifications when origins and databases change their state.
  55151. This patch also polishes off the missing features of the management API
  55152. * page/Chrome.cpp: Implement the two UIDelegate methods
  55153. (WebCore::Chrome::requestQuotaIncreaseForNewDatabase): Ask for more space to create a new database if it won't fit
  55154. (WebCore::Chrome::requestQuotaIncreaseForDatabaseOperation): Ask for more space to complete an in-progress operation
  55155. * page/Chrome.h:
  55156. * page/ChromeClient.h:
  55157. * platform/graphics/svg/SVGImageEmptyClients.h:
  55158. (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForNewDatabase):
  55159. (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForDatabaseOperation):
  55160. * storage/Database.cpp:
  55161. (WebCore::Database::openDatabase): Check to see if this database can be opened - the quota must be high
  55162. enough and if it isn't, the UIDelegate should have a change to bump the quota.
  55163. Also update the UI-relevant details (display name and estimated size) upon successful opening of the database
  55164. * storage/DatabaseDetails.h: Remove the version parameter as it is a programatic detail of a
  55165. site database and is not important to API clients
  55166. (WebCore::DatabaseDetails::DatabaseDetails):
  55167. (WebCore::DatabaseDetails::isValid):
  55168. (WebCore::DatabaseDetails::name):
  55169. * storage/DatabaseTracker.cpp:
  55170. (WebCore::DatabaseTracker::openTrackerDatabase): Tweaked the schema here - there was a horrible bug with the old schema that would
  55171. prevent you from having two databases of the same name from two different origins. Also simplify the origin-management schema
  55172. (WebCore::DatabaseTracker::canEstablishDatabase): Added. Does some estimated size vs quota checks, and asks the UI delegate for
  55173. more space if necessary
  55174. (WebCore::DatabaseTracker::hasEntryForOrigin):
  55175. (WebCore::DatabaseTracker::establishEntryForOrigin): Establishes a tracker entry for the given origin with the current default quota
  55176. Also notifies the client of the new origin
  55177. (WebCore::DatabaseTracker::setDatabaseDetails): Update the display name and estimated size for the given database
  55178. (WebCore::DatabaseTracker::fullPathForDatabase): Tweak to add the ability to get the path without creating it - for management purposes
  55179. (WebCore::DatabaseTracker::populateOrigins): Populate origins from the Origins table instead of the Databases table
  55180. (WebCore::DatabaseTracker::origins):
  55181. (WebCore::DatabaseTracker::detailsForNameAndOrigin): For API management
  55182. (WebCore::DatabaseTracker::usageForDatabase):
  55183. (WebCore::DatabaseTracker::usageForOrigin):
  55184. (WebCore::DatabaseTracker::quotaForOrigin):
  55185. (WebCore::DatabaseTracker::setQuota): Notify the client
  55186. (WebCore::DatabaseTracker::addDatabase): Notify the client
  55187. (WebCore::DatabaseTracker::deleteAllDatabases):
  55188. (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
  55189. (WebCore::DatabaseTracker::deleteDatabase):
  55190. (WebCore::DatabaseTracker::deleteDatabaseFile):
  55191. * storage/DatabaseTracker.h:
  55192. 2007-11-29 Dan Bernstein <mitz@apple.com>
  55193. Reviewed by Beth Dakin and Darin Adler.
  55194. - manual test for <rdar://problem/5346394> Contextmenu event doesn't fire on body element inside frame
  55195. * manual-tests/context-click-unfocused-frame.html: Added.
  55196. 2007-11-28 Antti Koivisto <antti@apple.com>
  55197. Reviewed by Geoff.
  55198. Fallback content inside media elements should not be rendered.
  55199. Test: media/fallback.html
  55200. * rendering/RenderMedia.h:
  55201. (WebCore::RenderMedia::canHaveChildren):
  55202. 2007-11-28 Mark Rowe <mrowe@apple.com>
  55203. Windows build fix.
  55204. * WebCore.vcproj/WebCore.vcproj:
  55205. 2007-11-28 Mark Rowe <mrowe@apple.com>
  55206. Gtk build fix.
  55207. * WebCore.pro:
  55208. 2007-11-28 Antti Koivisto <antti@apple.com>
  55209. Reviewed by Oliver.
  55210. Make QTMovieView fill color transparent. This behavior matches the specification
  55211. (and allows nice alpha blended video).
  55212. * platform/graphics/mac/MoviePrivateQTKit.mm:
  55213. (WebCore::MoviePrivate::createQTMovieView):
  55214. 2007-11-28 Antti Koivisto <antti@apple.com>
  55215. Reviewed by Darin.
  55216. Test: media/video-controls.html
  55217. <rdar://problem/5605668>
  55218. Implement controls attribute for video element
  55219. - Add RenderMedia and make RenderVideo its subclass. Controls code goes to RenderMedia while
  55220. video specific (painting etc) code stays in RenderVideo. For example audio controls can be implemented
  55221. later by just instantiating RenderMedia as renderer.
  55222. - Make media renderer hierarchy inherit from RenderBlock instead of RenderReplaced so it can
  55223. have child nodes (for controls).
  55224. - Controls are implemented as a shadow DOM.
  55225. - Current look is a placeholder. It is defined purely in CSS.
  55226. - Some things like volume controls are not yet implemented.
  55227. - Fade-in/out is done manually, CSS animations don't work well in shadow trees.
  55228. * WebCore.xcodeproj/project.pbxproj:
  55229. * css/html4.css:
  55230. * html/HTMLMediaElement.cpp:
  55231. (WebCore::HTMLMediaElement::attributeChanged):
  55232. (WebCore::HTMLMediaElement::updateMovie):
  55233. (WebCore::HTMLMediaElement::defaultEventHandler):
  55234. * html/HTMLMediaElement.h:
  55235. * rendering/RenderMedia.cpp: Added.
  55236. (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
  55237. (WebCore::MediaControlShadowRootElement::isShadowNode):
  55238. (WebCore::MediaControlShadowRootElement::shadowParentNode):
  55239. (WebCore::MediaControlInputElement::MediaControlInputElement):
  55240. (WebCore::MediaControlInputElement::attachToParent):
  55241. (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
  55242. (WebCore::MediaControlPlayButtonElement::inPausedState):
  55243. (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
  55244. (WebCore::MediaControlPlayButtonElement::update):
  55245. (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
  55246. (WebCore::MediaControlTimelineElement::defaultEventHandler):
  55247. (WebCore::MediaControlTimelineElement::update):
  55248. (WebCore::RenderMedia::RenderMedia):
  55249. (WebCore::RenderMedia::~RenderMedia):
  55250. (WebCore::RenderMedia::mediaElement):
  55251. (WebCore::RenderMedia::movie):
  55252. (WebCore::RenderMedia::setStyle):
  55253. (WebCore::RenderMedia::createControlsShadowRoot):
  55254. (WebCore::RenderMedia::createPanel):
  55255. (WebCore::RenderMedia::createPlayButton):
  55256. (WebCore::RenderMedia::createTimeline):
  55257. (WebCore::RenderMedia::createTimeDisplay):
  55258. (WebCore::RenderMedia::updateFromElement):
  55259. (WebCore::RenderMedia::updateControls):
  55260. (WebCore::RenderMedia::timeUpdateTimerFired):
  55261. (WebCore::RenderMedia::updateTimeDisplay):
  55262. (WebCore::RenderMedia::updateControlVisibility):
  55263. (WebCore::RenderMedia::changeOpacity):
  55264. (WebCore::RenderMedia::opacityAnimationTimerFired):
  55265. (WebCore::RenderMedia::forwardEvent):
  55266. * rendering/RenderMedia.h: Added.
  55267. (WebCore::RenderMedia::renderName):
  55268. (WebCore::RenderMedia::isMedia):
  55269. (WebCore::RenderMedia::intrinsicSize):
  55270. * rendering/RenderObject.h:
  55271. (WebCore::RenderObject::isMedia):
  55272. * rendering/RenderVideo.cpp:
  55273. (WebCore::RenderVideo::RenderVideo):
  55274. (WebCore::RenderVideo::videoSizeChanged):
  55275. (WebCore::RenderVideo::paintObject):
  55276. (WebCore::RenderVideo::layout):
  55277. (WebCore::RenderVideo::updateFromElement):
  55278. (WebCore::RenderVideo::calcAspectRatioWidth):
  55279. (WebCore::RenderVideo::calcAspectRatioHeight):
  55280. * rendering/RenderVideo.h:
  55281. 2007-11-28 Justin Garcia <justin.garcia@apple.com>
  55282. Reviewed by Darin Adler.
  55283. <rdar://problem/5573879> GMail Beta: Crash in when undoing Remove Formating
  55284. In the new beta, Google has added some custom code on top of our RemoveFormat
  55285. to work around a bug where fully selected lists aren't removed. This code corrupts
  55286. the undo stack and causes crashes. This change fixes two problems with RemoveFormat
  55287. so that Google doesn't have to have any custom code. After checking this in I'll
  55288. work on bulletproofing the undo stack
  55289. * WebCore.xcodeproj/project.pbxproj:
  55290. * editing/CompositeEditCommand.cpp:
  55291. (WebCore::CompositeEditCommand::insertLineBreak): Added this convenience method.
  55292. (WebCore::CompositeEditCommand::inputText): Added code to select all inserted text, not
  55293. just the last paragraph. Added code to support an input string with '\n's.
  55294. * editing/CompositeEditCommand.h:
  55295. * editing/Editor.cpp:
  55296. (WebCore::Editor::removeFormattingAndStyle): Moved code to its own EditCommand.
  55297. * editing/RemoveFormatCommand.cpp: Added. Moved code from removeFormattingAndStyle here.
  55298. (WebCore::RemoveFormatCommand::RemoveFormatCommand):
  55299. (WebCore::RemoveFormatCommand::doApply): Added code to remove fully selected lists.
  55300. * editing/RemoveFormatCommand.h: Added.
  55301. (WebCore::RemoveFormatCommand::editingAction):
  55302. 2007-11-28 Dan Bernstein <mitz@apple.com>
  55303. Reviewed by Dave Hyatt.
  55304. - fix <rdar://problem/5612459> CrashTracer: [REGRESSION] 61 crashes in Safari at com.apple.WebCore: WebCore::AutoTableLayout::layout + 2046
  55305. Test: fast/table/empty-auto-column-zero-divide.html
  55306. * rendering/AutoTableLayout.cpp:
  55307. (WebCore::AutoTableLayout::recalcColumn):
  55308. (WebCore::AutoTableLayout::fullRecalc):
  55309. (WebCore::AutoTableLayout::calcEffectiveWidth):
  55310. (WebCore::AutoTableLayout::layout): When distributing the remaining
  55311. width among columns, skip those whose effective (rather than
  55312. specified) width is auto and contain only empty cells.
  55313. 2007-11-28 Peter Kasting <pkasting@google.com>
  55314. Reviewed by Alp Toker.
  55315. http://bugs.webkit.org/show_bug.cgi?id=16169
  55316. GIF decoder needs to set hasAlpha() correctly on subsequent frames.
  55317. This also removes the workaround for this problem in
  55318. ImageSourceCairo.cpp.
  55319. * platform/graphics/cairo/ImageSourceCairo.cpp:
  55320. (WebCore::ImageSource::frameHasAlphaAtIndex):
  55321. * platform/image-decoders/gif/GIFImageDecoder.cpp:
  55322. (WebCore::GIFImageDecoder::initFrameBuffer):
  55323. 2007-11-28 Dan Bernstein <mitz@apple.com>
  55324. Reviewed by Darin Adler and Adam Roben.
  55325. - <rdar://problem/5057218> Reenable "recent searches" search field menu when menu is fully implemented
  55326. * platform/win/SearchPopupMenuWin.cpp:
  55327. (WebCore::SearchPopupMenu::enabled): Changed to return true.
  55328. (WebCore::autosaveKey): Added. Returns a preferences key for the
  55329. autosave name by prefixing it with "com.apple.WebKit.searchField:".
  55330. (WebCore::SearchPopupMenu::saveRecentSearches): Implemented.
  55331. (WebCore::SearchPopupMenu::loadRecentSearches): Implemented.
  55332. 2007-11-28 Alp Toker <alp@atoker.com>
  55333. Reviewed by Mark Rowe.
  55334. http://bugs.webkit.org/show_bug.cgi?id=15689
  55335. [GTK] Background of loading images is always black
  55336. frameHasAlphaAtIndex() exists only to allow optimization for cases we
  55337. are certain the image can be blitted rather than composited.
  55338. Thus we need to be conservative, returning false only when we are
  55339. absolutely certain there is no need for composited copying, and true
  55340. otherwise.
  55341. CG doesn't even bother with this optimization at all and always
  55342. returns true.
  55343. Patch includes a workaround for
  55344. http://bugs.webkit.org/show_bug.cgi?id=16169
  55345. GIF ImageDecoder hasAlpha() return value incorrect
  55346. * platform/graphics/cairo/ImageSourceCairo.cpp:
  55347. (WebCore::ImageSource::frameHasAlphaAtIndex):
  55348. 2007-11-27 Alp Toker <alp@atoker.com>
  55349. Reviewed by Mark Rowe.
  55350. Install the JavaScriptCore headers as part of the GTK+ port.
  55351. * WebCore.pro:
  55352. 2007-11-27 Beth Dakin <bdakin@apple.com>
  55353. Reviewed by Oliver.
  55354. Fix for <rdar://problem/5616052> SVGs with width or height of 100%
  55355. hang when used as a background-image (16164)
  55356. * platform/graphics/svg/SVGImage.cpp:
  55357. (WebCore::SVGImage::size): Use valueAsPercentage() for percents
  55358. instead of valueInSpecifiedUnits(). valueInSpecifiedUnits()
  55359. returns, for example, 50 for 50%, so multiplying percentages by the
  55360. default size of 300 x 150 led to ridiculously huge dimensions for
  55361. SVG images, and the subsequent hang.
  55362. 2007-11-27 Jon Honeycutt <jhoneycutt@apple.com>
  55363. Reviewed by Adam.
  55364. Set haveRegisteredWindowClass when we register the window class.
  55365. * plugins/win/PluginViewWin.cpp:
  55366. (WebCore::registerPluginView):
  55367. 2007-11-27 Timothy Hatcher <timothy@apple.com>
  55368. Reviewed by Sam Weinig.
  55369. Bug 16165: Dragging the inspector toolbar should move the window
  55370. http://bugs.webkit.org/show_bug.cgi?id=16165
  55371. * page/inspector/DocumentPanel.js: Call the new drag functions, and cleanup code.
  55372. * page/inspector/inspector.css: Only make the toolbar transparent in detached mode.
  55373. * page/inspector/inspector.js: Call the new drag functions, and cleanup code. Add
  55374. toolbar drag functions that move the window.
  55375. 2007-11-27 Antti Koivisto <antti@apple.com>
  55376. Reviewed by Mitz.
  55377. Small changes to make RenderSlider a bit more generic so it can be used in video controls.
  55378. * html/HTMLInputElement.cpp:
  55379. (WebCore::HTMLInputElement::defaultEventHandler): Fix coordinates with forwarded events.
  55380. * rendering/RenderSlider.cpp:
  55381. (WebCore::HTMLSliderThumbElement::defaultEventHandler): Fix coordinates with forwarded events.
  55382. (WebCore::RenderSlider::setStyle):
  55383. (WebCore::RenderSlider::createThumbStyle): Copy thumb left and top from the orginal style so position does not reset.
  55384. (WebCore::RenderSlider::mouseEventIsInThumb): Make this work with forwarded events.
  55385. * rendering/RenderSlider.h:
  55386. 2007-11-27 Antti Koivisto <antti@apple.com>
  55387. Reviewed by Darin.
  55388. - Don't use hasPseudoId() optimization for pseudo styles used in shadow trees. These styles
  55389. generally exist when asked for so the optimization does not do much. This reverses the continuing
  55390. growth of the _pseudoBits bitfield in RenderStyle.
  55391. - Add some pseudo elements for media controls
  55392. * css/CSSSelector.cpp:
  55393. (WebCore::CSSSelector::extractPseudoType):
  55394. * css/CSSSelector.h:
  55395. (WebCore::CSSSelector::):
  55396. * css/CSSStyleSelector.cpp:
  55397. (WebCore::CSSStyleSelector::matchRulesForList):
  55398. (WebCore::CSSStyleSelector::checkOneSelector):
  55399. * rendering/RenderObject.cpp:
  55400. (WebCore::RenderObject::getPseudoStyle):
  55401. * rendering/RenderStyle.cpp:
  55402. (WebCore::pseudoBit):
  55403. (WebCore::RenderStyle::hasPseudoStyle):
  55404. (WebCore::RenderStyle::setHasPseudoStyle):
  55405. * rendering/RenderStyle.h:
  55406. (WebCore::RenderStyle::):
  55407. 2007-11-27 Timothy Hatcher <timothy@apple.com>
  55408. Reviewed by Kevin McCullough.
  55409. Bug 16161: window.moveBy(0, 0) moves the window by -22px vertically
  55410. http://bugs.webkit.org/show_bug.cgi?id=16161
  55411. Removed the "Adjust the window rect to be in the coordinate space of
  55412. the screen rect" step which was always adding (0,22) to the window
  55413. position (on the main screen). Instead, account for screen X and Y
  55414. in the bottom and right constrain step.
  55415. Added more test cases to: fast/dom/Window/window-resize.html
  55416. * bindings/js/kjs_window.cpp:
  55417. (KJS::adjustWindowRect):
  55418. 2007-11-27 Timothy Hatcher <timothy@apple.com>
  55419. Reviewed by Adam Roben.
  55420. * page/inspector/inspector.css: Make the text in the Network
  55421. panel legend more readable.
  55422. 2007-11-27 Timothy Hatcher <timothy@apple.com>
  55423. Reviewed by Adam Roben.
  55424. Don't call setNeedsReapplyStylesInAllFrames if the
  55425. authorAndUserStylesEnabled setting didn't change.
  55426. * page/Settings.cpp:
  55427. (WebCore::Settings::setAuthorAndUserStylesEnabled):
  55428. 2007-11-27 Alp Toker <alp@atoker.com>
  55429. Fix potential broken build due to a missing DEPENDPATH.
  55430. * WebCore.pro:
  55431. 2007-11-26 Timothy Hatcher <timothy@apple.com>
  55432. Reviewed by Dave Hyatt.
  55433. <rdar://problem/5569233> Add the ability to disable author and user CSS styles
  55434. * WebCore.base.exp: Add the Settings::setAuthorAndUserStylesEnabled symbol.
  55435. * css/CSSStyleSelector.cpp:
  55436. (WebCore::CSSStyleSelector::CSSStyleSelector): Add a new matchAuthorAndUserStyles parameter.
  55437. (WebCore::CSSStyleSelector::styleForElement): Check m_matchAuthorAndUserStyles before
  55438. matching user and author rules.
  55439. (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto.
  55440. (WebCore::CSSStyleSelector::styleRulesForElement): Ditto.
  55441. * css/CSSStyleSelector.h: Add m_matchAuthorAndUserStyles and new constructor parameter.
  55442. * dom/Document.cpp:
  55443. (WebCore::Document::Document): Pass Settings::authorAndUserStylesEnabled to the CSSStyleSelector.
  55444. (WebCore::Document::recalcStyleSelector): Skip collecting the author stylesheets if
  55445. Settings::authorAndUserStylesEnabled is false, and pass that to the CSSStyleSelector.
  55446. * page/Settings.cpp:
  55447. (WebCore::Settings::Settings): Initialize m_authorAndUserStylesEnabled to true.
  55448. (WebCore::Settings::setAuthorAndUserStylesEnabled): Recalc style in all the frames
  55449. when the setting changes.
  55450. * page/Settings.h: Add m_authorAndUserStylesEnabled.
  55451. (WebCore::Settings::authorAndUserStylesEnabled): Return m_authorAndUserStylesEnabled.
  55452. 2007-11-27 Alp Toker <alp@atoker.com>
  55453. Reviewed by Mark Rowe.
  55454. Based on changes by Mike Emmel.
  55455. CURL HTTP backend local file fixes:
  55456. Set a MIME type for local files based on the file extension.
  55457. Remove any HTTP query part sent to a local file.
  55458. * platform/network/curl/ResourceHandleManager.cpp:
  55459. (WebCore::ResourceHandleManager::startJob):
  55460. 2007-11-26 Brady Eidson <beidson@apple.com>
  55461. Reviewed by Mark Rowe
  55462. Allow setting the default storage quota per database origin
  55463. * WebCore.base.exp:
  55464. * page/Settings.cpp:
  55465. (WebCore::Settings::setDefaultDatabaseOriginQuota):
  55466. (WebCore::Settings::defaultDatabaseOriginQuota):
  55467. * page/Settings.h:
  55468. * storage/DatabaseTracker.cpp:
  55469. (WebCore::DatabaseTracker::DatabaseTracker):
  55470. (WebCore::DatabaseTracker::setDefaultOriginQuota):
  55471. (WebCore::DatabaseTracker::defaultOriginQuota):
  55472. * storage/DatabaseTracker.h:
  55473. 2007-11-26 Peter Kasting <pkasting@google.com>
  55474. Reviewed by Alp Toker.
  55475. http://bugs.webkit.org/show_bug.cgi?id=15974
  55476. GIF decoding should respect frames' specified disposal methods.
  55477. * platform/image-decoders/ImageDecoder.h:
  55478. (WebCore::RGBA32Buffer::):
  55479. (WebCore::RGBA32Buffer::RGBA32Buffer):
  55480. (WebCore::RGBA32Buffer::disposalMethod):
  55481. (WebCore::RGBA32Buffer::setDisposalMethod):
  55482. * platform/image-decoders/gif/GIFImageDecoder.cpp:
  55483. (WebCore::GIFImageDecoder::frameBufferAtIndex):
  55484. (WebCore::GIFImageDecoder::initFrameBuffer):
  55485. (WebCore::GIFImageDecoder::prepEmptyFrameBuffer):
  55486. (WebCore::GIFImageDecoder::haveDecodedRow):
  55487. (WebCore::GIFImageDecoder::frameComplete):
  55488. * platform/image-decoders/gif/GIFImageDecoder.h:
  55489. * platform/image-decoders/gif/GIFImageReader.cpp:
  55490. (GIFImageReader::read):
  55491. * platform/image-decoders/gif/GIFImageReader.h:
  55492. (GIFFrameReader::GIFFrameReader):
  55493. 2007-11-26 Adam Roben <aroben@apple.com>
  55494. Add a Color(CGColorRef) constructor
  55495. Reviewed by Darin.
  55496. * platform/graphics/Color.h:
  55497. * platform/graphics/cg/ColorCG.cpp:
  55498. (WebCore::Color::Color): Added.
  55499. 2007-11-26 Adele Peterson <adele@apple.com>
  55500. Reviewed by Darin.
  55501. Update to last change. Moved addPendingSheet call to within nil check for m_cachedSheet.
  55502. * page/Frame.cpp:
  55503. (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
  55504. 2007-11-26 Adele Peterson <adele@apple.com>
  55505. Reviewed by Darin.
  55506. Fix for <rdar://problem/5591583> CrashTracer: [USER] 157 in Mail crashes at -[WebCoreFrameBridge reapplyStylesForDeviceType:]
  55507. * page/Frame.cpp: Add nil checks since every other caller of requestCSSStyleSheet checks for nil.
  55508. (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
  55509. (WebCore::UserStyleSheetLoader::~UserStyleSheetLoader):
  55510. 2007-11-26 Mark Rowe <mrowe@apple.com>
  55511. GCC 4.2 build fix.
  55512. * xml/XSLTUnicodeSort.cpp: Add another WTF_ATTRIBUTE_PRINTF.
  55513. 2007-11-26 Feng Qian <feng@chromium.org>
  55514. Reviewed and touched up by Sam Weinig.
  55515. Fix for http://bugs.webkit.org/show_bug.cgi?id=16073
  55516. Test: http/tests/security/xss-DENIED-invalid-domain-change.html
  55517. * dom/Document.cpp:
  55518. (WebCore::Document::setDomain): Don't set the securityOrigin policy unless
  55519. the set succeeds. Adds some early returns as well.
  55520. 2007-11-26 Steve Falkenburg <sfalken@apple.com>
  55521. Build fix.
  55522. * WebCore.vcproj/WebCore.make:
  55523. * WebCore.vcproj/migrate-idls.sh:
  55524. 2007-11-26 Sam Weinig <sam@webkit.org>
  55525. Fix potential null-dereference.
  55526. Reviewed by Adam Roben.
  55527. * page/FrameTree.cpp:
  55528. (WebCore::FrameTree::isDescendantOf):
  55529. 2007-11-26 Sam Weinig <sam@webkit.org>
  55530. Reviewed by Darin.
  55531. Fix for <rdar://problem/5592988>
  55532. - Enforce tighter restrictions on what frames in other domains
  55533. can be navigated.
  55534. Tests: http/tests/security/frameNavigation/xss-ALLOWED-parent-navigation-change.html
  55535. http/tests/security/frameNavigation/xss-ALLOWED-targeted-subframe-navigation-change.html
  55536. * bindings/js/kjs_window.cpp:
  55537. (KJS::Window::put):
  55538. (KJS::Location::put):
  55539. (KJS::LocationProtoFuncReplace::callAsFunction):
  55540. (KJS::LocationProtoFuncAssign::callAsFunction):
  55541. * loader/FrameLoader.cpp:
  55542. (WebCore::FrameLoader::createWindow):
  55543. (WebCore::FrameLoader::load):
  55544. (WebCore::FrameLoader::shouldAllowNavigation): Move and update logic from canTarget().
  55545. * loader/FrameLoader.h:
  55546. * page/FrameTree.cpp:
  55547. (WebCore::FrameTree::isDescendantOf): Make this O(1) in the case when both frames are not
  55548. in the same page.
  55549. 2007-11-26 Steve Falkenburg <sfalken@apple.com>
  55550. Build fix.
  55551. * WebCore.vcproj/migrate-idls.sh:
  55552. 2007-11-26 Dan Bernstein <mitz@apple.com>
  55553. Reviewed by Dave Hyatt.
  55554. - fix <rdar://problem/5609337> Making a float shorter does not remove it from the floating object list of a nested block it intruded into
  55555. Test: fast/dynamic/float-withdrawal-2.html
  55556. * rendering/RenderBlock.cpp:
  55557. (WebCore::RenderBlock::layoutBlockChildren): When a float may have
  55558. been withdrawn from a child, mark all descendants if necessary and not
  55559. just the child.
  55560. 2007-11-26 Steve Falkenburg <sfalken@apple.com>
  55561. Build fix.
  55562. * WebCore.vcproj/MigrateIDLAndScripts: Copied from WebCore.vcproj/MigrateIDLAndScripts.make.
  55563. * WebCore.vcproj/MigrateIDLAndScripts.make: Removed.
  55564. * WebCore.vcproj/migrate-idls.sh:
  55565. 2007-11-26 Brady Eidson <beidson@apple.com>
  55566. Reviewed by Anders (and typo lovingly found by Adam)
  55567. Change Databases to be stored in a per-origin directory hierarchy - this will make
  55568. storage quotas much easier to enforce
  55569. * platform/SecurityOriginData.cpp:
  55570. (WebCore::SecurityOriginData::SecurityOriginData): Parse string based on '_' instead of ':'
  55571. (WebCore::SecurityOriginData::stringIdentifier): Change to use '_' as a separator instead of ':'.
  55572. '_' still works due to not being allowed in domain names, but also is a valid filename character '
  55573. on all filesystems we care about
  55574. * storage/DatabaseTracker.cpp:
  55575. (WebCore::DatabaseTracker::fullPathForDatabase): Create a per-origin directory hierarchy to categorize
  55576. databases by origin
  55577. 2007-11-26 Timothy Hatcher <timothy@apple.com>
  55578. Reviewed by Adam Roben.
  55579. Bug 16137: Web Inspector window on Leopard should have a unified toolbar and window title
  55580. http://bugs.webkit.org/show_bug.cgi?id=16137
  55581. On Leopard the toolbar background will be transparent, to allow the
  55582. window background to show through the transparent WebView. The
  55583. search results divs needed to move inside the "main" div, so they
  55584. would be clipped and not show where the toolbar is.
  55585. * page/InspectorController.cpp:
  55586. (WebCore::platform): Return a string for which platform we are.
  55587. (WebCore::InspectorController::windowScriptObjectAvailable):
  55588. Define the platform function on the JavaScript class.
  55589. * page/inspector/Panel.js: Add panels to the panels div.
  55590. * page/inspector/inspector.css: On the Leopard platform make
  55591. the toolbar background transparent so the window background shows.
  55592. * page/inspector/inspector.html: Add a panels div and move search
  55593. result divs inside the main div.
  55594. * page/inspector/inspector.js: Tweak the resize code to acount for
  55595. the search results divs moving inside the main div.
  55596. 2007-11-25 Rodney Dawes <dobey@wayofthemonkey.com>
  55597. Reviewed by Maciej Stachowiak.
  55598. Remove the unneeded CFNETWORK #ifdefs.
  55599. * loader/NetscapePlugInStreamLoader.h:
  55600. 2007-11-24 Laszlo Gombos <laszlo.gombos@gmail.com>
  55601. Reviewed by Sam Weinig.
  55602. Add printf format attribute to several functions. Use the the new WTF_ATTRIBUTE_PRINTF define.
  55603. * dom/XMLTokenizer.cpp:
  55604. * dom/XMLTokenizer.h:
  55605. * platform/DeprecatedString.h:
  55606. * platform/PlatformString.h:
  55607. 2007-11-25 Dan Bernstein <mitz@apple.com>
  55608. Reviewed by Adam Roben.
  55609. - fix off-center error images
  55610. Covered by many pixel tests with missing images
  55611. * rendering/RenderImage.cpp:
  55612. (WebCore::RenderImage::paint): Account for the 1 pixel outline when
  55613. positioning the error image.
  55614. 2007-11-25 Kevin Ollivier <kevino@theolliviers.com>
  55615. wx build fix. Fix filename case for case-sensitive filesystems.
  55616. * WebCoreSources.bkl:
  55617. 2007-11-22 Nikolas Zimmermann <zimmermann@kde.org>
  55618. Reviewed by Adam Roben.
  55619. Fixes: http://bugs.webkit.org/show_bug.cgi?id=15564
  55620. Fix problems with hidden glyphs. They were taken into account for quite
  55621. some operations (hit testing, length calulcations etc..) except painting.
  55622. Especially fixes boundaries of <textPath> (see using Web Inspector) if
  55623. text-anchor isn't equal to 'start'.
  55624. Added testcase:
  55625. svg/text/textPathBoundsBug.svg
  55626. Fixed testcase: (all showed text selection problems on text paths)
  55627. svg/batik/text/textGlyphOrientationHorizontal.svg
  55628. svg/batik/text/textOnPath.svg
  55629. svg/batik/text/textOnPath3.svg
  55630. svg/batik/text/verticalTextOnPath.svg
  55631. svg/text/text-align-04-b.svg
  55632. svg/W3C-SVG-1.1/text-align-04-b.svg
  55633. * rendering/SVGCharacterLayoutInfo.cpp:
  55634. (WebCore::SVGChar::isHidden):
  55635. * rendering/SVGCharacterLayoutInfo.h:
  55636. (WebCore::SVGCharOnPath::SVGCharOnPath):
  55637. * rendering/SVGInlineTextBox.cpp:
  55638. (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
  55639. (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
  55640. * rendering/SVGRootInlineBox.cpp:
  55641. (WebCore::topLeftPositionOfCharacterRange):
  55642. (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
  55643. (WebCore::cummulatedWidthOrHeightOfTextChunk):
  55644. (WebCore::applyTextAnchorToTextChunk):
  55645. (WebCore::applyTextLengthCorrectionToTextChunk):
  55646. (WebCore::SVGRootInlineBox::layoutInlineBoxes):
  55647. (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
  55648. (WebCore::SVGRootInlineBox::buildTextChunks):
  55649. 2007-11-25 Alexey Proskuryakov <ap@webkit.org>
  55650. Reviewed by Maciej.
  55651. http://bugs.webkit.org/show_bug.cgi?id=15919
  55652. XSLTProcessor.transformToFragment creates an extra not defined TEXT_NODE at the end
  55653. Test: fast/xsl/extra-lf-at-end.html
  55654. * xml/XSLTProcessor.cpp:
  55655. (WebCore::writeToVector): Changed to use Vector to avoid slow String::apend().
  55656. (WebCore::saveResultToString): Remove trailing line feed if present.
  55657. 2007-11-24 Mark Rowe <mrowe@apple.com>
  55658. Reviewed by Tim Hatcher.
  55659. Fix <rdar://problem/5432686> 333MB RPRVT seems to leak @ www.43folders.com (1hr plug-in stream).
  55660. http://bugs.webkit.org/show_bug.cgi?id=13705
  55661. Don't buffer the entire stream contents in memory in the ResourceLoader.
  55662. * loader/mac/NetscapePlugInStreamLoaderMac.mm:
  55663. (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
  55664. (WebCore::NetscapePlugInStreamLoader::didFinishLoading):
  55665. * loader/mac/WebPlugInStreamLoaderDelegate.h:
  55666. 2007-11-23 Adam Roben <aroben@apple.com>
  55667. Get rid of WebCoreSystemInterface on Windows
  55668. The one function defined in that file is now in WebKitSystemInterface.
  55669. Reviewed by Tim.
  55670. * WebCore.vcproj/WebCore.vcproj: Removed
  55671. WebCoreSystemInterface.{cpp,h}.
  55672. * platform/graphics/cg/ImageCG.cpp: Made #include of
  55673. WebCoreSystemInterface.h Mac-only.
  55674. * platform/win/GraphicsContextWin.cpp: Ditto.
  55675. * platform/win/WebCoreSystemInterface.cpp: Removed.
  55676. * platform/win/WebCoreSystemInterface.h: Removed.
  55677. 2007-11-24 Adam Roben <aroben@apple.com>
  55678. Replace uses of %@ with %s in the inspector
  55679. Rubberstamped by Tim.
  55680. * English.lproj/InspectorLocalizedStrings.js: Changed %@ to %s.
  55681. * page/inspector/DatabasePanel.js: Ditto.
  55682. * page/inspector/StylesSidebarPane.js: Ditto.
  55683. * page/inspector/inspector.js: Ditto.
  55684. * page/inspector/utilities.js:
  55685. (String.vsprintf): Removed @ as a format specifier.
  55686. 2007-11-24 Adam Roben <aroben@apple.com>
  55687. Windows build fix
  55688. Turn off the change made in r27984 on Windows for now.
  55689. * xml/XSLTProcessor.cpp:
  55690. (WebCore::XSLTProcessor::transformToString):
  55691. * xml/XSLTUnicodeSort.cpp:
  55692. 2007-11-24 Timothy Hatcher <timothy@apple.com>
  55693. Reviewed by Adam Roben.
  55694. Bug 16121: Web Inspector needs helper functions that pass a 'this' object to
  55695. addEventListener and setTimeout
  55696. http://bugs.webkit.org/show_bug.cgi?id=16121
  55697. Add Function.prototype.bind. This helper will return a wrapper function
  55698. that will call the original function with the supplied arguments
  55699. and using the supplied 'this' object.
  55700. * page/inspector/Database.js: Remove a use of setTimeout by
  55701. inheriting some common functions from Resource.
  55702. * page/inspector/DatabasePanel.js: Use the new bind function.
  55703. * page/inspector/ConsolePanel.js: Ditto.
  55704. * page/inspector/DocumentPanel.js: Ditto.
  55705. * page/inspector/NetworkPanel.js: Ditto.
  55706. * page/inspector/PropertiesSection.js: Ditto.
  55707. * page/inspector/Resource.js: Ditto.
  55708. * page/inspector/SidebarPane.js: Ditto.
  55709. * page/inspector/inspector.html: Moved Database.js after Resource.js,
  55710. now that Database.js uses it.
  55711. * page/inspector/inspector.js: Use the new bind function. Also
  55712. removed a setTimeout used for the localized strings code. There is
  55713. now a load event listener added to the localized strings script
  55714. element that will call WebInspector.loaded.
  55715. * page/inspector/utilities.js: Add Function.prototype.bind.
  55716. 2007-11-24 Timothy Hatcher <timothy@apple.com>
  55717. Reviewed by Adam Roben.
  55718. Bug 16112: Some Web Inspector UI elements use offsetWidth and offsetHeight before the stylesheet loads
  55719. http://bugs.webkit.org/show_bug.cgi?id=16112
  55720. In the places where we use offsetWidth and offsetHeight before
  55721. the stylesheet loads there is now a check. If the body's
  55722. offsetWidth is not greater than zero, then set a timeout
  55723. to do the updates requiring the stylesheet later.
  55724. The three places this happened:
  55725. - DOM tree selection highlight would show up at the wrong height
  55726. when using Inspect Element to open the inspector.
  55727. - DOM tree breadcrumbs would not collapse when using Inspect Element
  55728. to open the inspector.
  55729. - Network Timeline divider lines would not show when opening directly
  55730. into the timeline.
  55731. * page/inspector/DocumentPanel.js: Check if the stylesheet loaded.
  55732. * page/inspector/NetworkPanel.js: Ditto.
  55733. * page/inspector/inspector.html: Include the stylesheet before
  55734. any scripts, this will help get it loaded sooner.
  55735. 2007-11-24 Kevin Ollivier <kevino@theolliviers.com>
  55736. Add wx implementation for pathGetFilename
  55737. Reviewed by David D. Kilzer.
  55738. * html/HTMLFormElement.cpp:
  55739. (WebCore::pathGetFilename):
  55740. 2007-11-23 Timothy Hatcher <timothy@apple.com>
  55741. Reviewed by Adam Roben.
  55742. Bug 16110: Clicking inside the resource headers in the network timeline collapses them
  55743. http://bugs.webkit.org/show_bug.cgi?id=16110
  55744. Toggle the resource headers only if the click happens on the
  55745. resource row, not within the headers area.
  55746. * WebCore.xcodeproj/project.pbxproj:
  55747. * page/inspector/NetworkPanel.js:
  55748. 2007-11-23 Kevin Ollivier <kevino@theolliviers.com>
  55749. Win build fixes. CURL needs winsock, so don't disable it, and
  55750. include pthreads.h to get the threadsafe *_r functions.
  55751. Reviewed by Adam Roben.
  55752. * config.h:
  55753. * loader/FTPDirectoryDocument.cpp:
  55754. * loader/FTPDirectoryParser.cpp:
  55755. 2007-11-23 Kevin Ollivier <kevino@theolliviers.com>
  55756. wx build fix. Move wx settings to project build settings,
  55757. remove some old settings that were masking a build problem,
  55758. and fix include ordering to ensure proper config.h and
  55759. unicode/utf8.h headers are used.
  55760. * webcore-base.bkl:
  55761. * webcore-wx.bkl:
  55762. 2007-11-23 Simon Hausmann <hausmann@webkit.org>
  55763. Reviewed by George Staikos <staikos@kde.org>.
  55764. Another build fix specific to trunk (instead of the stable branch) to fix make clean (which the buildbots call).
  55765. * WebCore.pro:
  55766. 2007-11-23 Alexey Proskuryakov <ap@webkit.org>
  55767. Not reviewed, trivial leak fix.
  55768. Fix xsltUnicodeSortFunction() memory leaks.
  55769. * xml/XSLTUnicodeSort.cpp:
  55770. (WebCore::xsltUnicodeSortFunction):
  55771. 2007-11-23 Alexey Proskuryakov <ap@webkit.org>
  55772. Reviewed by Maciej.
  55773. <rdar://problem/5539306> REGRESSION: redirect fails when subframe's document is opened but
  55774. not closed (affects digg.com)
  55775. Tests: fast/loader/meta-refresh-vs-open.html
  55776. fast/loader/redirect-with-open-subframe-2.html
  55777. fast/loader/redirect-with-open-subframe.html
  55778. http/tests/loading/onload-vs-immediate-refresh.pl
  55779. * loader/FrameLoader.cpp:
  55780. (WebCore::FrameLoader::scheduleRedirection): Only check whether the load is complete for
  55781. HTTP redirects - JavaScript-initiated ones are effective immediately.
  55782. 2007-11-23 Dan Bernstein <mitz@apple.com>
  55783. Reviewed by Alexey Proskuryakov.
  55784. - apply matrix transforms on the correct side of the transformation
  55785. matrix (not on the side where the vector is multiplied).
  55786. Test: fast/transforms/matrix-02.html
  55787. * rendering/RenderStyle.h:
  55788. (WebCore::MatrixTransformOperation::apply):
  55789. 2007-11-23 Alexey Proskuryakov <ap@webkit.org>
  55790. Reviewed by Maciej.
  55791. http://bugs.webkit.org/show_bug.cgi?id=16077
  55792. <rdar://problem/5609785> XSLT processor <xsl:sort> algorithm is incompatible with other
  55793. browser implementations
  55794. Test: fast/xsl/sort-unicode.xml
  55795. * xml/XSLTProcessor.cpp:
  55796. (WebCore::XSLTProcessor::transformToString): Set a custom sort function.
  55797. * xml/XSLTUnicodeSort.cpp: Added.
  55798. (init_xsltTransformError):
  55799. (xsltTransformError):
  55800. (WebCore::xsltUnicodeSortFunction):
  55801. * xml/XSLTUnicodeSort.h: Added.
  55802. ICU-based implementation of xsl:sort, using an example from libxslt distribution.
  55803. Only minimal coding style fixes to ease synchronization with upstream in the future.
  55804. * icu/unicode/ucol.h: Added.
  55805. * icu/unicode/uset.h: Added.
  55806. Taken from ICU 3.2
  55807. * WebCore.pro:
  55808. * WebCore.vcproj/WebCore.vcproj:
  55809. * WebCore.xcodeproj/project.pbxproj:
  55810. * WebCoreSources.bkl:
  55811. Added XSLTUnicodeSort.cpp.
  55812. 2007-11-22 Alexey Proskuryakov <ap@webkit.org>
  55813. Reviewed by Maciej.
  55814. http://bugs.webkit.org/show_bug.cgi?id=14977
  55815. Hixie's DOM Core performance test shows insert >10x slower than append
  55816. Each invocation of Element.childNodes[n] was creating and registering a new ChildNodeList,
  55817. which persisted and listened to notifications until GC.
  55818. A fix is to avoid registering child node lists for notifications - they don't need them, as
  55819. they share a common cache in Node.
  55820. * dom/Node.cpp:
  55821. (WebCore::Node::registerNodeList):
  55822. (WebCore::Node::unregisterNodeList):
  55823. (WebCore::Node::notifyLocalNodeListsAttributeChanged):
  55824. (WebCore::Node::notifyLocalNodeListsChildrenChanged):
  55825. * dom/NodeList.h:
  55826. (WebCore::NodeList::needsNotifications):
  55827. 2007-11-22 Dan Bernstein <mitz@apple.com>
  55828. Reviewed by Antti Koivisto.
  55829. - fix http://bugs.webkit.org/show_bug.cgi?id=15811
  55830. WebKit plug-ins can re-enter WebKit under attach()
  55831. <rdar://problem/5577978>
  55832. Defer plug-in loading until after attach and recalcStyle using the
  55833. post-attach callback mechanism. Netscape plug-ins are still loaded only
  55834. after layout.
  55835. * dom/ContainerNode.cpp:
  55836. Made NodeCallbackQueue elements retain the Node because callbacks might
  55837. delete nodes that are in the callback queue.
  55838. (WebCore::ContainerNode::suspendPostAttachCallbacks): Added. Needed to
  55839. prevent post-attach callbacks from being dispatched under recalcStyle().
  55840. (WebCore::ContainerNode::resumePostAttachCallbacks): Ditto.
  55841. (WebCore::ContainerNode::dispatchPostAttachCallbacks): Factored out from
  55842. attach().
  55843. (WebCore::ContainerNode::attach):
  55844. * dom/ContainerNode.h:
  55845. * dom/Document.cpp:
  55846. (WebCore::Document::recalcStyle): Added calls to
  55847. suspendPostAttachCallbacks() and resumePostAttachCallbacks().
  55848. * html/HTMLEmbedElement.cpp:
  55849. (WebCore::HTMLEmbedElement::HTMLEmbedElement):
  55850. (WebCore::HTMLEmbedElement::attach): Changed to queue the widget update
  55851. for post-attach.
  55852. (WebCore::HTMLEmbedElement::updateWidget): Added. Called by the
  55853. post-attach callback.
  55854. * html/HTMLEmbedElement.h: Added an m_needWidgetUpdate member needed to
  55855. prevent a double update if another plug-in's post-attach updateWidget()
  55856. triggers a layout which updates the widget before this plug-in's
  55857. post-attach callback is invoked.
  55858. (WebCore::HTMLEmbedElement::setNeedWidgetUpdate): Added a setter for
  55859. m_needWidgetUpdate.
  55860. * html/HTMLObjectElement.cpp:
  55861. (WebCore::HTMLObjectElement::attach): Changed to queue the widget update
  55862. for post-attach.
  55863. (WebCore::HTMLObjectElement::updateWidget): Added. Called by the
  55864. post-attach callback.
  55865. * html/HTMLObjectElement.h:
  55866. (WebCore::HTMLObjectElement::setNeedWidgetUpdate): Added a setter for
  55867. m_needWidgetUpdate.
  55868. * html/HTMLPlugInElement.cpp:
  55869. (WebCore::HTMLPlugInElement::updateWidgetCallback): Added.
  55870. * html/HTMLPlugInElement.h:
  55871. (WebCore::HTMLPlugInElement::updateWidget):
  55872. * rendering/RenderPartObject.cpp:
  55873. (WebCore::RenderPartObject::updateWidget): Added calls to
  55874. setNeedWidgetUpdate(false) so that if this method is called from
  55875. FrameView::layout() during post-attach dispatch of another plug-in,
  55876. it will not be called again when this plug-in's post-attach callback
  55877. is dispatched.
  55878. * rendering/RenderPartObject.h:
  55879. (WebCore::RenderPartObject::updateWidget) Renamed argument to match
  55880. the method definition.
  55881. 2007-11-22 Timothy Hatcher <timothy@apple.com>
  55882. Reviewed by Dan Bernstein.
  55883. Fix the Element.hasStyleClass and Element.removeStyleClass helpers
  55884. to not find and replace substrings, but whole class names at the
  55885. beginning or end of the string or surrounded by whitespace.
  55886. * page/inspector/utilities.js:
  55887. 2007-11-22 Timothy Hatcher <timothy@apple.com>
  55888. Revert part of my r27935 change that made the Tip balloons
  55889. animate with CSS transitions. The balloon was only opacity 0,
  55890. so it would cause its row to highlight when hovering over
  55891. another row.
  55892. * page/inspector/NetworkPanel.js:
  55893. * page/inspector/inspector.css:
  55894. 2007-11-22 Dan Bernstein <mitz@apple.com>
  55895. Reviewed by Maciej Stachowiak.
  55896. - fix http://bugs.webkit.org/show_bug.cgi?id=15943
  55897. -webkit-transform matrix does not work
  55898. Test: fast/transforms/matrix-01.html
  55899. Parse all six matrix entries as numbers.
  55900. * css/CSSParser.cpp:
  55901. (WebCore::TransformOperationInfo::TransformOperationInfo):
  55902. (WebCore::CSSParser::parseTransform):
  55903. * css/CSSStyleSelector.cpp:
  55904. (WebCore::CSSStyleSelector::applyProperty):
  55905. * rendering/RenderStyle.cpp:
  55906. (WebCore::MatrixTransformOperation::blend):
  55907. * rendering/RenderStyle.h:
  55908. (WebCore::MatrixTransformOperation::MatrixTransformOperation):
  55909. (WebCore::MatrixTransformOperation::apply):
  55910. 2007-11-22 Laszlo Gombos <laszlo.gombos@gmail.com>
  55911. Reviewed by Alp Toker.
  55912. Fix some compilation warnings. Do not reference undefined (platform) specific type (WebCore::CachedFont::m_fontData)
  55913. * loader/CachedFont.cpp:
  55914. (WebCore::CachedFont::~CachedFont):
  55915. (WebCore::CachedFont::allReferencesRemoved):
  55916. 2007-11-22 Alp Toker <alp@atoker.com>
  55917. Reviewed by Mark Rowe.
  55918. GTK+ drawing fix.
  55919. Add a check to avoid crashing when the GraphicsContext is not
  55920. associated with a GdkEventExpose. This was noticed when adding
  55921. printing support but might be triggered in other situations too.
  55922. * platform/gtk/WidgetGtk.cpp:
  55923. (WebCore::Widget::paint):
  55924. 2007-11-22 Julien Chaffraix <julien.chaffraix@gmail.com>
  55925. Reviewed by Alexey.
  55926. Bug 15530: XMLHttpRequest should not support certain methods
  55927. Test: http/tests/xmlhttprequest/xmlhttprequest-forbidden-methods-exception.html
  55928. * xml/XMLHttpRequest.cpp:
  55929. (WebCore::XMLHttpRequest::open):
  55930. 2007-11-22 Simon Hausmann <hausmann@kde.org>
  55931. Reviewed by George.
  55932. For the build inside Qt include qbase.pri and don't duplicate what qbase.pri otherwise does (install targets, etc.)
  55933. * WebCore.pro:
  55934. 2007-11-22 Simon Hausmann <hausmann@kde.org>
  55935. Reviewed by George.
  55936. Don't set OBJECTS_DIR when building inside Qt
  55937. * WebCore.pro:
  55938. 2007-11-22 Simon Hausmann <hausmann@kde.org>
  55939. Reviewed by George.
  55940. Use ../generated as path for the generated sources for builds inside Qt
  55941. * WebCore.pro:
  55942. 2007-11-22 Simon Hausmann <hausmann@kde.org>
  55943. Reviewed by George.
  55944. Make the directory of where to put the generated sources configurable through the GENERATED_SOURCE_DIR variable
  55945. * WebCore.pro:
  55946. 2007-11-22 Simon Hausmann <hausmann@kde.org>
  55947. Reviewed by George.
  55948. Centralize the setup for all the extra compilers in a addExtraCompiler function.
  55949. This allows adding a "generated_files" target that builds all generated files using "make generated_files".
  55950. For the build inside Qt we do not generate actual rules for the extra compilers but instead
  55951. do the variable substitution of compiler.output manually and add the generated sources to SOURCES.
  55952. * WebCore.pro:
  55953. 2007-11-21 Timothy Hatcher <timothy@apple.com>
  55954. Reviewed by Eric Seidel.
  55955. Show Fonts as Yellow in the network timeline.
  55956. * page/inspector/NetworkPanel.js:
  55957. * page/inspector/inspector.css:
  55958. 2007-11-21 Dan Bernstein <mitz@apple.com>
  55959. Reviewed by Eric Seidel.
  55960. - fix <rdar://problem/5607037> REGRESSION (r27351): Departure date does not repaint when changed on Google Maps public transit planner (16034)
  55961. Test: fast/repaint/subtree-root-skipped.html
  55962. * page/FrameView.cpp:
  55963. (WebCore::FrameViewPrivate::FrameViewPrivate): Initialize the layout
  55964. root to 0.
  55965. (WebCore::FrameView::layoutRoot): Changed to return a RenderObject
  55966. instead of a Node.
  55967. (WebCore::FrameView::layout): Changed for layout root being a renderer
  55968. rather than a DOM node. Also replaced clearing the repaint rects
  55969. set with asserting that it is empty if this is the top-level call to
  55970. layout(). If it is not, the set may contain rects from enclosing
  55971. layout() and those should not be removed.
  55972. (WebCore::FrameView::scheduleRelayout): Changed for layout root being
  55973. a renderer rather than a DOM node.
  55974. (WebCore::isObjectAncestorContainerOf): Added this helper function that
  55975. tests whether one object will be marked by calling
  55976. markContainingBlocksForLayout() on the other.
  55977. (WebCore::FrameView::scheduleRelayoutOfSubtree): Changed for layout
  55978. root being a renderer rather than a DOM node. Changed the check if new
  55979. and current layout roots are on the same path from the root to use
  55980. the subgraph of the render tree defined by container()hood instead of
  55981. the DOM tree and parenthood.
  55982. * page/FrameView.h:
  55983. * rendering/RenderBox.cpp:
  55984. (WebCore::RenderBox::calcWidth): Changed for layout root being a
  55985. renderer rather than a DOM node.
  55986. * rendering/RenderObject.cpp:
  55987. (WebCore::RenderObject::~RenderObject): Added an assertion that the
  55988. object being deleted is not currently the layout root.
  55989. (WebCore::RenderObject::scheduleRelayout): Changed for layout root being
  55990. a renderer rather than a DOM node.
  55991. 2007-11-21 Mark Rowe <mrowe@apple.com>
  55992. Reviewed by Eric.
  55993. Fix WebCore to build without warnings under GCC 4.2.
  55994. * Configurations/Base.xcconfig:
  55995. * css/CSSRuleList.cpp:
  55996. (WebCore::CSSRuleList::deleteRule):
  55997. * css/CSSStyleSelector.cpp:
  55998. (WebCore::CSSStyleSelector::locateSharedStyle):
  55999. * html/HTMLParser.cpp:
  56000. (WebCore::HTMLParser::allowNestedRedundantTag):
  56001. * rendering/RenderBlock.cpp:
  56002. (WebCore::RenderBlock::fillInlineSelectionGaps):
  56003. (WebCore::RenderBlock::fillBlockSelectionGaps):
  56004. * rendering/RenderLayer.cpp:
  56005. (WebCore::RenderLayer::stackingContext):
  56006. (WebCore::RenderLayer::enclosingPositionedAncestor):
  56007. (WebCore::RenderLayer::transparentAncestor):
  56008. * rendering/RenderStyle.cpp:
  56009. (WebCore::BackgroundLayer::fillUnsetProperties):
  56010. (WebCore::Transition::fillUnsetProperties):
  56011. * rendering/RenderText.cpp:
  56012. (WebCore::RenderText::containsOnlyWhitespace):
  56013. * rendering/bidi.cpp:
  56014. (WebCore::RenderBlock::determineStartPosition):
  56015. 2007-11-21 Alp Toker <alp@atoker.com>
  56016. Reviewed by Mark Rowe.
  56017. http://bugs.webkit.org/show_bug.cgi?id=16071
  56018. Curl backend handles EINTR incorrectly
  56019. Defer timers during select() to avoid interruption by timer signals.
  56020. * platform/network/curl/ResourceHandleManager.cpp:
  56021. (WebCore::ResourceHandleManager::downloadTimerCallback):
  56022. 2007-11-21 Mark Rowe <mrowe@apple.com>
  56023. Reviewed by Tim Hatcher.
  56024. Changes due to <rdar://problem/5602936> Need to resolve new GCC 4.2 warnings
  56025. Update format strings to use format specifiers that match the argument types.
  56026. * loader/icon/IconDatabase.cpp:
  56027. (WebCore::IconDatabase::performURLImport):
  56028. (WebCore::IconDatabase::writeToDatabase):
  56029. * platform/mac/TextCodecMac.cpp:
  56030. (WebCore::TextCodecMac::decode):
  56031. * storage/Database.cpp:
  56032. (WebCore::Database::deliverAllPendingCallbacks):
  56033. 2007-11-21 Xan Lopez <xan@gnome.org>
  56034. Reviewed by Alp Toker.
  56035. Clarify scroll event processing with a comment.
  56036. * platform/gtk/PlatformScrollBarGtk.cpp:
  56037. (gtkScrollEventCallback):
  56038. 2007-11-21 Timothy Hatcher <timothy@apple.com>
  56039. Reviewed by Adam Roben.
  56040. Bug 16085: Web Inspector's Network Timeline graph code clean up and misc. fixes
  56041. http://bugs.webkit.org/show_bug.cgi?id=16085
  56042. Changes include:
  56043. - Refactor the drawing code as nested functions instead of global functions.
  56044. - Compute the segment percentages only once per call to drawSummaryGraph.
  56045. - Account for percentages that rounded down to total less-than 100%.
  56046. - Draw the pill shadow better using the canvas shadow drawing properties.
  56047. - Removes a couple canvas context saves and restores.
  56048. * page/inspector/NetworkPanel.js:
  56049. 2007-11-21 Alexey Proskuryakov <ap@webkit.org>
  56050. Reviewed by Adam Roben.
  56051. http://bugs.webkit.org/show_bug.cgi?id=16056
  56052. Unicode not being interpreted correctly in Web Inspector source view
  56053. Cannot be tested automatically.
  56054. * loader/CachedCSSStyleSheet.cpp:
  56055. (WebCore::CachedCSSStyleSheet::encoding):
  56056. * loader/CachedCSSStyleSheet.h:
  56057. * loader/CachedResource.h:
  56058. (WebCore::CachedResource::encoding):
  56059. * loader/CachedScript.cpp:
  56060. (WebCore::CachedScript::encoding):
  56061. * loader/CachedScript.h:
  56062. * loader/CachedXBLDocument.cpp:
  56063. (WebCore::CachedXBLDocument::encoding):
  56064. * loader/CachedXBLDocument.h:
  56065. * loader/CachedXSLStyleSheet.cpp:
  56066. (WebCore::CachedXSLStyleSheet::encoding):
  56067. * loader/CachedXSLStyleSheet.h:
  56068. Teach textual CachedResources to report their encodings.
  56069. * page/InspectorController.cpp:
  56070. (WebCore::addSourceToFrame):
  56071. (WebCore::updateResourceResponse):
  56072. Use the actual encoding - the network layer has little idea about it.
  56073. 2007-11-20 Mark Rowe <mrowe@apple.com>
  56074. Reviewed by Maciej Stachowiak.
  56075. Fix <rdar://problem/5609579> (DOMParser().parseFromString() freezes Safari when parsing large nodes with XML entities)
  56076. http://bugs.webkit.org/show_bug.cgi?id=16076
  56077. XMLTokenizer was calling CharacterData::appendData twice per entity in the fragment of XML being
  56078. parsed (once for text before the entity, once for the entity itself). This triggered O(n^2) copying
  56079. of the CharacterData's string due to resizing. We now prevent this happening by buffering all the
  56080. content for a given Text node in the XMLTokenizer before sending it out to the node in a single go.
  56081. * dom/XMLTokenizer.cpp:
  56082. (WebCore::XMLTokenizer::characters): Append the characters to the buffer.
  56083. (WebCore::XMLTokenizer::endDocument): Ensure the buffer is flushed when the document has ended.
  56084. (WebCore::endDocumentHandler):
  56085. (WebCore::XMLTokenizer::enterText):
  56086. (WebCore::XMLTokenizer::exitText): Append the contents of the buffer to the node.
  56087. (WebCore::XMLTokenizer::initializeParserContext): Add the endDocument handler.
  56088. (WebCore::parseXMLDocumentFragment): Force endDocument to be called when parsing a fragment to ensure
  56089. that the buffer gets flushed to the node.
  56090. * dom/XMLTokenizer.h:
  56091. 2007-11-20 Timothy Hatcher <timothy@apple.com>
  56092. Reviewed by Mark Rowe.
  56093. Animate the status area and tip balloons in the Web Inspector
  56094. with CSS animations.
  56095. * page/inspector/NetworkPanel.js:
  56096. * page/inspector/inspector.css:
  56097. * page/inspector/inspector.js:
  56098. 2007-11-20 Kevin Ollivier <kevino@theolliviers.com>
  56099. wx build fix for Windows. Don't use WebCore/move-js-headers.sh as
  56100. it indiscriminately copies any headers inside JavaScriptCore,
  56101. which includes Tiger ICU headers.
  56102. * webcore-base.bkl:
  56103. Remove references to the WebCore/include dir generated by
  56104. move-js-headers.sh, and also get headers from JavaScriptCore
  56105. directly rather than from WebCore/ForwardingHeaders.
  56106. 2007-11-20 Alp Toker <alp@atoker.com>
  56107. Reviewed by Mark Rowe.
  56108. Avoid pointlessly mallocing and freeing this transform matrix.
  56109. * platform/gtk/FontPlatformDataGtk.cpp:
  56110. (WebCore::FontPlatformData::FontPlatformData):
  56111. 2007-11-20 Naiem Shaik <naiem.shaik@gmail.com>
  56112. Reviewed by Alp Toker.
  56113. http://bugs.webkit.org/show_bug.cgi?id=15763
  56114. [GTK] Enter key does not take to the link highlighted.
  56115. Add missing keycode cases.
  56116. * platform/gtk/KeyEventGtk.cpp:
  56117. (WebCore::keyIdentifierForGdkKeyCode):
  56118. (WebCore::windowsKeyCodeForKeyEvent):
  56119. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
  56120. 2007-11-20 Mark Rowe <mrowe@apple.com>
  56121. Reviewed by Sam Weinig.
  56122. Fix http://bugs.webkit.org/show_bug.cgi?id=16074
  56123. Bug 16074: execCommand("InsertHorizontalRule", false, "") results in id="" being inserted
  56124. For consistency with InsertOrderedList and InsertUnorderedList a value parameter of "" should
  56125. not result in an id being set.
  56126. * editing/JSEditor.cpp: Don't set the id attribute if value is empty.
  56127. 2007-11-20 Dan Bernstein <mitz@apple.com>
  56128. Reviewed by Adam Roben.
  56129. - fix <rdar://problem/5090708> Textareas render broken-looking scrollbars when too short to show full scrollbar
  56130. * platform/win/PlatformScrollBar.h:
  56131. * platform/win/PlatformScrollBarSafari.cpp:
  56132. Added the "hit inset" constants (representing how far the track eats
  56133. into the button).
  56134. (WebCore::PlatformScrollbar::paint): Changed to paint the buttons and
  56135. the thumb only if they should be showing.
  56136. (WebCore::PlatformScrollbar::hasButtons): Added. Returns whether the
  56137. arrows should be drawn.
  56138. (WebCore::PlatformScrollbar::hasThumb): Added. Returns whether the thumb
  56139. should be drawn.
  56140. (WebCore::PlatformScrollbar::forwardButtonRect):
  56141. (WebCore::PlatformScrollbar::trackRect): Changed to return the entire
  56142. bounds of the scrollbar if the scrollbar has no buttons.
  56143. (WebCore::PlatformScrollbar::paintTrack): Changed to paint a disabled
  56144. track along the entire scrollbar if it has not buttons.
  56145. (WebCore::PlatformScrollbar::hitTest): Changed to hit test only the
  56146. parts that the scrollbar has in its current dimensions.
  56147. 2007-11-20 Mark Rowe <mrowe@apple.com>
  56148. Reviewed by Alp Toker.
  56149. * config.h: Change #if to #ifdef to silence warnings on non-Apple platforms.
  56150. 2007-11-20 Simon Hausmann <hausmann@kde.org>
  56151. Reviewed by Adam Treat <treat@kde.org>.
  56152. Remove static linkage of QtWebKit against the ICO image format plugin.
  56153. Instead build the support for the ICO image format as a proper standalone qt image format plugin and install it.
  56154. * WebCore.pro:
  56155. * platform/graphics/qt/ImageDecoderQt.cpp:
  56156. 2007-11-20 David D. Kilzer <ddkilzer@webkit.org>
  56157. no-svg build broken after r27278
  56158. <http://bugs.webkit.org/show_bug.cgi?id=16061>
  56159. Reviewed by Eric.
  56160. * bindings/scripts/CodeGeneratorObjC.pm: Always generate DOMHTMLEmbedElementPrivate.h
  56161. and DOMHTMLObjectElementPrivate.h for no-svg build.
  56162. 2007-11-20 Adam Treat <treat@kde.org>
  56163. Reviewed by Simon.
  56164. * Don't use so much heap memory.
  56165. * platform/graphics/qt/ImageDecoderQt.cpp:
  56166. * platform/graphics/qt/ImageDecoderQt.h:
  56167. * platform/graphics/qt/ImageSourceQt.cpp:
  56168. (WebCore::ImageSource::createFrameAtIndex):
  56169. 2007-11-20 Lars Knoll <lars@trolltech.com>
  56170. Reviewed by Simon.
  56171. Fix text break interators.
  56172. The break iterators where trying to be smart about the input
  56173. string and caching their results. Unfortunately a pointer/string length
  56174. comparison is not good enough in all cases (since some input is stack based
  56175. temp strings). Removed the caching but at the same time started to use a more
  56176. efficient constructor of QTextBoundaryFinder that doesn't need to malloc for
  56177. most strings.
  56178. Fixes two test cases that test "text-transform: capitalize".
  56179. * platform/qt/TextBreakIteratorQt.cpp:
  56180. (WebCore::wordBreakIterator):
  56181. (WebCore::characterBreakIterator):
  56182. (WebCore::lineBreakIterator):
  56183. (WebCore::sentenceBreakIterator):
  56184. 2007-11-20 Adam Treat <treat@kde.org>
  56185. Reviewed by George.
  56186. * Make gif animations work for instance.
  56187. * platform/graphics/qt/ImageDecoderQt.cpp:
  56188. (WebCore::ImageDecoderQt::reset):
  56189. (WebCore::ImageDecoderQt::setData):
  56190. (WebCore::ImageDecoderQt::frameCount):
  56191. (WebCore::ImageDecoderQt::repetitionCount):
  56192. * platform/graphics/qt/ImageDecoderQt.h:
  56193. 2007-11-20 Adam Treat <treat@kde.org>
  56194. * Build in release mode
  56195. * platform/NotImplemented.h:
  56196. 2007-11-20 Adam Treat <treat@kde.org>
  56197. Reviewed by Simon and George.
  56198. * Be quiet and allow suppression of NotImplemented calls at runtime.
  56199. * platform/NotImplemented.h:
  56200. 2007-11-19 Doug Turner <dougt@meer.net>
  56201. Reviewed by Alp Toker.
  56202. http://bugs.webkit.org/show_bug.cgi?id=16054
  56203. Crash when GlyphPage::fill is called with more than 256 bytes of data
  56204. http://bugs.webkit.org/show_bug.cgi?id=14446
  56205. [GDK] Crash on http://www.wikipedia.org/
  56206. setGlyphDataForIndex() uses a fixed array of size 256 which we can't
  56207. exceed. We need to return failure if the buffer has Unicode
  56208. supplementary characters for now.
  56209. This strategy matches the Win port, which also doesn't support this
  56210. case yet.
  56211. Add an assertion so nobody makes this mistake again.
  56212. * platform/GlyphPageTreeNode.h:
  56213. (WebCore::GlyphPage::setGlyphDataForIndex):
  56214. * platform/gtk/GlyphPageTreeNodeGtk.cpp:
  56215. (WebCore::GlyphPage::fill):
  56216. 2007-11-19 Doug Turner <dougt@meer.net>
  56217. Reviewed by Timothy Hatcher.
  56218. http://bugs.webkit.org/show_bug.cgi?id=16050
  56219. sqlite3_prepare16_v2 build bustage.
  56220. Using the correct SQLITE_VERSION_NUMBER around sqlite_prepare16_v2
  56221. to fix build bustage.
  56222. * platform/sql/SQLiteStatement.cpp:
  56223. (WebCore::SQLiteStatement::prepare):
  56224. 2007-11-19 Mark Rowe <mrowe@apple.com>
  56225. Build fix. Don't over-qualify the constructor name.
  56226. * storage/DatabaseDetails.h:
  56227. 2007-11-19 Brady Eidson <beidson@apple.com>
  56228. Reviewed by Maciej
  56229. Stub out the WebCore parts of the WebKit API
  56230. * WebCore.base.exp:
  56231. * WebCore.xcodeproj/project.pbxproj:
  56232. * storage/DatabaseDetails.h: Added. Simple container for vitals on a specific database
  56233. (WebCore::DatabaseDetails::DatabaseDetails::DatabaseDetails):
  56234. (WebCore::DatabaseDetails::DatabaseDetails):
  56235. (WebCore::DatabaseDetails::isValid):
  56236. (WebCore::DatabaseDetails::name):
  56237. (WebCore::DatabaseDetails::version):
  56238. (WebCore::DatabaseDetails::displayName):
  56239. (WebCore::DatabaseDetails::expectedUsage):
  56240. (WebCore::DatabaseDetails::currentUsage):
  56241. * storage/DatabaseTracker.cpp: Added various methods for API usage
  56242. (WebCore::DatabaseTracker::detailsForNameAndOrigin):
  56243. (WebCore::DatabaseTracker::usageForOrigin):
  56244. (WebCore::DatabaseTracker::quotaForOrigin):
  56245. (WebCore::DatabaseTracker::setQuota):
  56246. * storage/DatabaseTracker.h:
  56247. 2007-11-19 Kevin Ollivier <kevino@theolliviers.com>
  56248. wx port build fix.
  56249. * platform/graphics/wx/AffineTransformWx.cpp:
  56250. (WebCore::AffineTransform::operator== ):
  56251. m_transform is only available when using wxGraphicsContext.
  56252. 2007-11-19 Alp Toker <alp@atoker.com>
  56253. Reviewed by Mark Rowe.
  56254. GTK+ drawing fixes.
  56255. Add a check to avoid crashing when the GraphicsContext is not
  56256. associated with a GdkDrawable. This was noticed when adding printing
  56257. support but might be triggered in other situations too.
  56258. Do not render themes when painting is disabled. This is an
  56259. optimisation for cases where GraphicsContext is used to calculate page
  56260. dimensions etc. without actually rendering.
  56261. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  56262. (WebCore::GraphicsContext::gdkDrawable):
  56263. * platform/gtk/RenderThemeGtk.cpp:
  56264. (WebCore::paintMozWidget):
  56265. 2007-11-13 Rahul Abrol <ra5ul@comcast.net>
  56266. Reviewed by Tim Hatcher.
  56267. http://bugs.webkit.org/show_bug.cgi?id=15977
  56268. Resizing images preference now toggles default image state.
  56269. * loader/ImageDocument.cpp:
  56270. (WebCore::ImageDocument::ImageDocument):
  56271. (WebCore::ImageDocument::createDocumentStructure):
  56272. (WebCore::ImageDocument::imageChanged):
  56273. 2007-11-19 Kevin Ollivier <kevino@theolliviers.com>
  56274. Update wx port build sources with recent changes, update
  56275. wx FontPlatformData to be a class (MSVC7 gets confused
  56276. otherwise...) and implement its hash() method.
  56277. Reviewed by Adam.
  56278. * WebCoreSources.bkl:
  56279. * platform/wx/FontPlatformData.h:
  56280. (WebCore::FontPlatformData::hash):
  56281. 2007-11-19 Julien Chaffraix <julien.chaffraix@gmail.com>
  56282. Reviewed by Darin.
  56283. http://bugs.webkit.org/show_bug.cgi?id=12194
  56284. Bug 12194: Trying to access XMLHttpRequest.responseText or responseXML when they
  56285. are not available should raise an exception
  56286. Tests: http/tests/xmlhttprequest/xmlhttprequest-responseText-exception.html
  56287. http/tests/xmlhttprequest/xmlhttprequest-responseXML-exception.html
  56288. * bindings/js/JSXMLHttpRequest.cpp:
  56289. (KJS::JSXMLHttpRequest::getValueProperty):
  56290. * xml/XMLHttpRequest.cpp:
  56291. (WebCore::XMLHttpRequest::getResponseText):
  56292. (WebCore::XMLHttpRequest::getResponseXML):
  56293. * xml/XMLHttpRequest.h:
  56294. 2007-11-19 Peter Kasting <pkasting@google.com>
  56295. Reviewed by Darin Adler.
  56296. http://bugs.webkit.org/show_bug.cgi?id=15971
  56297. The GIF decoder should not fail decoding if the caller asks it to
  56298. decode again when no new data has arrived since the last call.
  56299. * platform/image-decoders/gif/GIFImageReader.cpp:
  56300. (GIFImageReader::read):
  56301. 2007-11-18 Brady Eidson <beidson@apple.com>
  56302. Reviewed by Eric
  56303. Fix a crash hashing a default SecurityOriginData object
  56304. * storage/DatabaseTracker.cpp:
  56305. (WebCore::SecurityOriginDataHash::hash): The default object has some default strings with NULL
  56306. StringImpls - don't try to hash those!
  56307. 2007-11-18 Timothy Hatcher <timothy@apple.com>
  56308. Reviewed by Sam Weinig.
  56309. Bug 16043: Remove InspectorController.log now that console.log works
  56310. http://bugs.webkit.org/show_bug.cgi?id=16043
  56311. Remove the last uses of InspectorController.log. Once use was no longer needed,
  56312. checking an erro case that can't happen anymore. The other case now uses console.error.
  56313. * page/InspectorController.cpp: Remove the log function.
  56314. (WebCore::InspectorController::windowScriptObjectAvailable): Remove the log function from
  56315. InspectorController script class.
  56316. * page/inspector/DocumentPanel.js: Remove a use of InspectorController.log that isn't needed.
  56317. * page/inspector/Panel.js: Change InspectorController.log to console.log and early return.
  56318. 2007-11-18 Timothy Hatcher <timothy@apple.com>
  56319. Reviewed by Brady.
  56320. Bug 16041: REGRESSION: the Database panel in the Inspector stopped showing errors
  56321. http://bugs.webkit.org/show_bug.cgi?id=16041
  56322. * page/inspector/DatabasePanel.js: Implement error callbacks to pass to executeSql()
  56323. and transaction(). Refactored some code for the success and error callbacks to use.
  56324. 2007-11-18 Alexey Proskuryakov <ap@webkit.org>
  56325. Reviewed by Maciej.
  56326. <rdar://problem/5546393> Whitespace handling doesn't match HTML5.
  56327. HTML5 definition is the same as MSIE's, with the exception that the latter strips null
  56328. characters. Firefox also treats U+0008 as whitespace, but not U+000B or U+000C.
  56329. Test: fast/parser/html-whitespace.html
  56330. * html/HTMLTokenizer.cpp:
  56331. (WebCore::HTMLTokenizer::parseSpecial):
  56332. (WebCore::HTMLTokenizer::parseTag):
  56333. Use isASCIISpace, which matches HTML5 definition of whitespace, and also what we use to
  56334. check for whitespace almost everywhere.
  56335. 2007-11-17 Mark Rowe <mrowe@apple.com>
  56336. Reviewed by Darin Adler.
  56337. Fix: <rdar://problem/5607032> REGRESSION: testapi exits with assertion failure in debug build
  56338. <rdar://problem/5440659> JSGlobalContextCreate throws away globalObjectClass's prototype
  56339. http://bugs.webkit.org/show_bug.cgi?id=16033
  56340. Update for changes in Interpreter method signatures.
  56341. * bindings/js/kjs_binding.cpp:
  56342. (KJS::ScriptInterpreter::ScriptInterpreter):
  56343. * bindings/js/kjs_window.cpp:
  56344. (KJS::Window::clear):
  56345. 2007-11-17 Timothy Hatcher <timothy@apple.com>
  56346. Reviewed by Mark Rowe.
  56347. Bug 13470: i18n: The Web Inspector is not localizable
  56348. http://bugs.webkit.org/show_bug.cgi?id=13470
  56349. Add support for localization to the Web Inspector. Clients need to
  56350. implement localizedStringsURL() to return the URL of the
  56351. InspectorLocalizedStrings.js that best matches the user's language.
  56352. * English.lproj: Added.
  56353. * English.lproj/InspectorLocalizedStrings.js: Added.
  56354. * WebCore.xcodeproj/project.pbxproj: Add InspectorLocalizedStrings.js.
  56355. * page/InspectorClient.h: Add localizedStringsURL.
  56356. * page/InspectorController.cpp: Add localizedStringsURL that calls
  56357. the client. Also added a version exposed to JavaScript.
  56358. * page/InspectorController.h: Add localizedStringsURL.
  56359. * page/inspector/ConsolePanel.js: Call WebInspector.UIString
  56360. for user visible strings.
  56361. * page/inspector/DatabasePanel.js: Ditto.
  56362. * page/inspector/DocumentPanel.js: Ditto.
  56363. * page/inspector/ImagePanel.js: Ditto.
  56364. * page/inspector/MetricsSidebarPane.js: Ditto.
  56365. * page/inspector/NetworkPanel.js: Ditto.
  56366. * page/inspector/Panel.js: Ditto.
  56367. * page/inspector/PropertiesSidebarPane.js: Ditto.
  56368. * page/inspector/Resource.js: Ditto.
  56369. * page/inspector/ResourceCategory.js: Ditto.
  56370. * page/inspector/SourcePanel.js: Ditto.
  56371. * page/inspector/StylesSidebarPane.js: Ditto.
  56372. * page/inspector/inspector.css: Use pre-wrap so database errors can use \n.
  56373. * page/inspector/inspector.html: Remove some user visible strings.
  56374. * page/inspector/inspector.js: Added WebInspector.UIString and call
  56375. WebInspector.UIString for user visible strings. Some code needed to be
  56376. moved to WebInspector.loaded to use UIString after the localized strings
  56377. get loaded.
  56378. * platform/graphics/svg/SVGImageEmptyClients.h:
  56379. (WebCore::SVGEmptyFrameLoaderClient::redirectDataToPlugin): Remove WebCore:: prefix.
  56380. (WebCore::SVGEmptyInspectorClient::createPage): Ditto.
  56381. (WebCore::SVGEmptyInspectorClient::localizedStringsURL): Add empty stub.
  56382. (WebCore::SVGEmptyInspectorClient::highlight): Remove WebCore:: prefix.
  56383. (WebCore::SVGEmptyInspectorClient::inspectedURLChanged): Ditto.
  56384. 2007-11-17 Timothy Hatcher <timothy@apple.com>
  56385. Reviewed by Adam.
  56386. Reworte String.sprintf to fix many bad bugs and to not use RegExp. Also added
  56387. String.vsprintf so it can be used later for the localization function.
  56388. This version only supports argument reordering, precision for floats, and these
  56389. format characters: d, f, s and @. Any unsupported format characters are logged
  56390. and substituted like strings.
  56391. * page/inspector/utilities.js:
  56392. 2007-11-17 Alexey Proskuryakov <ap@webkit.org>
  56393. Windows build fix.
  56394. * editing/Editor.h: Made canSmartCopyOrDelete public, as Windows WebView still needs it.
  56395. 2007-11-17 Alexey Proskuryakov <ap@webkit.org>
  56396. Reviewed by Darin.
  56397. http://bugs.webkit.org/show_bug.cgi?id=15969
  56398. Eliminate Editor::deleteRange()
  56399. No change in functionality.
  56400. * editing/CompositeEditCommand.h: Removed unimplemented deleteKeyPressed().
  56401. * editing/Editor.cpp:
  56402. (WebCore::Editor::deleteWithDirection):
  56403. (WebCore::Editor::cut):
  56404. (WebCore::Editor::performDelete):
  56405. * editing/Editor.h:
  56406. Moved relevant Editor::deleteRange() functionality to its callers.
  56407. Removed deleteSelectionWithSmartDelete(void), which was more confusing than helpful
  56408. in my opinion.
  56409. * editing/mac/EditorMac.mm:
  56410. (WebCore::initializeKillRingIfNeeded):
  56411. (WebCore::Editor::addToKillRing):
  56412. (WebCore::Editor::yank):
  56413. (WebCore::Editor::yankAndSelect):
  56414. (WebCore::Editor::setMark):
  56415. (WebCore::unionDOMRanges):
  56416. (WebCore::Editor::deleteToMark):
  56417. (WebCore::Editor::selectToMark):
  56418. (WebCore::Editor::swapWithMark):
  56419. Pushed kill ring handling down from WebCore.
  56420. * page/mac/WebCoreFrameBridge.h:
  56421. * page/mac/WebCoreFrameBridge.mm:
  56422. Removed setMarkDOMRange (the corresponding getter is still needed).
  56423. * WebCore.base.exp: No longer need to export Editor::deleteRange() and Editor::insertTextWithoutSendingTextEvent().
  56424. Export the new kill ring functions.
  56425. 2007-11-16 Ryan Leavengood <leavengood@gmail.com>
  56426. Reviewed by David Kilzer.
  56427. Build fix: the needed headers for POSIX file functions were not
  56428. included.
  56429. * platform/posix/FileSystemPOSIX.cpp:
  56430. 2007-11-16 Dan Bernstein <mitz@apple.com>
  56431. Reviewed by Darin Adler.
  56432. - fix the common case of <http://bugs.webkit.org/show_bug.cgi?id=15994>
  56433. REGRESSION: Incomplete repaint of CSS image substitution
  56434. Test: fast/repaint/clip-with-layout-delta.html
  56435. * rendering/LayoutState.cpp:
  56436. (WebCore::LayoutState::LayoutState): Account for layout delta when
  56437. pushing additional clip.
  56438. 2007-11-16 Antti Koivisto <antti@apple.com>
  56439. Reviewed by Adele.
  56440. Seeking related fixes, updates to match the latest specification
  56441. - rename loopCount of HTMLMediaElement to playCount
  56442. - add explicit seeking attribute to HTMLMediaElement to get semantics right
  56443. - implement the specification behavior that currentTime must immediately return seeked position in HTMLMediaElement
  56444. instead of MoviePrivateQTKit
  56445. - fix broken behavior when seeking past end of the media, add tests
  56446. - replace Movie didEnd callback with broader timeChanged callback (which gets called in didEnd case too)
  56447. - use setDelayCallbacks: in various MoviePrivateQTKit methods to avoid bug prone synchronous callbacks from QT, make
  56448. HTMLMediaElement not depend on synchronous callbacks
  56449. - do some cleanups and simplifications in MoviePrivateQTKit, get rid of m_rateBeforeSeek and m_blockStateUpdate variables
  56450. Tests: http/tests/media/video-seekable-stall.html
  56451. media/video-seeking.html
  56452. media/video-seek-past-end-paused.html
  56453. media/video-seek-past-end-playing.html
  56454. * html/HTMLAttributeNames.in:
  56455. * html/HTMLMediaElement.cpp:
  56456. (WebCore::HTMLMediaElement::HTMLMediaElement):
  56457. (WebCore::HTMLMediaElement::load):
  56458. (WebCore::HTMLMediaElement::movieNetworkStateChanged):
  56459. (WebCore::HTMLMediaElement::setReadyState):
  56460. (WebCore::HTMLMediaElement::seek):
  56461. (WebCore::HTMLMediaElement::seeking):
  56462. (WebCore::HTMLMediaElement::currentTime):
  56463. (WebCore::HTMLMediaElement::ended):
  56464. (WebCore::HTMLMediaElement::play):
  56465. (WebCore::HTMLMediaElement::pause):
  56466. (WebCore::HTMLMediaElement::playCount):
  56467. (WebCore::HTMLMediaElement::setPlayCount):
  56468. (WebCore::HTMLMediaElement::checkIfSeekNeeded):
  56469. (WebCore::HTMLMediaElement::movieTimeChanged):
  56470. (WebCore::HTMLMediaElement::endedPlayback):
  56471. (WebCore::HTMLMediaElement::updateMovie):
  56472. * html/HTMLMediaElement.h:
  56473. * html/HTMLMediaElement.idl:
  56474. * platform/graphics/Movie.cpp:
  56475. (WebCore::Movie::timeChanged):
  56476. * platform/graphics/Movie.h:
  56477. (WebCore::MovieClient::movieTimeChanged):
  56478. * platform/graphics/mac/MoviePrivateQTKit.h:
  56479. * platform/graphics/mac/MoviePrivateQTKit.mm:
  56480. (WebCore::MoviePrivate::MoviePrivate):
  56481. (WebCore::MoviePrivate::load):
  56482. (WebCore::MoviePrivate::play):
  56483. (WebCore::MoviePrivate::pause):
  56484. (WebCore::MoviePrivate::currentTime):
  56485. (WebCore::MoviePrivate::seek):
  56486. (WebCore::MoviePrivate::doSeek):
  56487. (WebCore::MoviePrivate::cancelSeek):
  56488. (WebCore::MoviePrivate::seekTimerFired):
  56489. (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
  56490. (WebCore::MoviePrivate::paused):
  56491. (WebCore::MoviePrivate::updateStates):
  56492. (WebCore::MoviePrivate::timeChanged):
  56493. (WebCore::MoviePrivate::didEnd):
  56494. 2007-11-16 Anders Carlsson <andersca@apple.com>
  56495. Reviewed by Adam.
  56496. <rdar://problem/5603832>
  56497. XMLHttpRequest readyState 3 & responseText buffer issues.
  56498. * platform/network/cf/ResourceHandleCFNet.cpp:
  56499. (WebCore::makeFinalRequest):
  56500. Add new parameter which controls whether content sniffing should be turned off.
  56501. (WebCore::ResourceHandle::loadResourceSynchronously):
  56502. Always content sniff sync loads.
  56503. * platform/network/cf/ResourceRequestCFNet.cpp:
  56504. (WebCore::ResourceRequest::doUpdatePlatformRequest):
  56505. If the ResourceRequest already has a backing CFURLRequest, make a copy of it. This preserves
  56506. any properties set on the CFURLRequest.
  56507. 2007-11-16 Jon Honeycutt <jhoneycutt@apple.com>
  56508. Reviewed by Ollie.
  56509. <rdar://problem/5605175> Crash closing or leaving window with ViewPoint
  56510. Media player plugin
  56511. ViewPoint plugin requires that we pass a valid NPSavedData* to
  56512. NPP_Destroy.
  56513. * plugins/win/PluginViewWin.cpp: Pass a valid NPSavedData* to
  56514. NPP_Destroy. If the plugin allocates data, discard it
  56515. 2007-11-16 Mark Rowe <mrowe@apple.com>
  56516. Reviewed by Tim Hatcher.
  56517. Build WebCore as a sub-framework of WebKit in all configurations.
  56518. * Configurations/WebCore.xcconfig:
  56519. * WebCore.xcodeproj/project.pbxproj:
  56520. 2007-11-16 Doug Turner <dougt@meer.net>
  56521. Reviewed by Alp.
  56522. http://bugs.webkit.org/show_bug.cgi?id=16018
  56523. build bustage when building on debian 4.0
  56524. Fix build bustage on GTK+ with older versions of Pango.
  56525. Don't cache the return value since the docs say it can change.
  56526. * platform/gtk/Language.cpp:
  56527. (WebCore::defaultLanguage):
  56528. 2007-11-16 Brady Eidson <beidson@apple.com>
  56529. Build fix
  56530. * platform/SecurityOriginData.h:
  56531. (WebCore::operator!=): Whoops!
  56532. 2007-11-16 Brady Eidson <beidson@apple.com>
  56533. Reviewed by Sam
  56534. Further purify DatabaseTracker to use SecurityOriginData instead of "a String"
  56535. * WebCore.base.exp:
  56536. * WebCore.xcodeproj/project.pbxproj:
  56537. * WebCore.vcproj/WebCore.vcproj
  56538. * WebCore.pro
  56539. * platform/SecurityOriginData.cpp: Added.
  56540. (WebCore::SecurityOriginData::SecurityOriginData): Add a constructor that takes a "stringIdentifier"-style string,
  56541. since that form is what will be stored in the Databases.db on disk
  56542. (WebCore::SecurityOriginData::stringIdentifier):
  56543. * platform/SecurityOriginData.h:
  56544. (WebCore::SecurityOriginData::protocol):
  56545. (WebCore::SecurityOriginData::host):
  56546. (WebCore::SecurityOriginData::port):
  56547. * storage/DatabaseTracker.cpp:
  56548. (WebCore::SecurityOriginDataHash::hash): Follow the pattern Darin set in FontCache.cpp to make a decent hash for
  56549. a SecurityOriginData object
  56550. (WebCore::SecurityOriginDataHash::equal):
  56551. (WebCore::SecurityOriginDataTraits::deletedValue): "file::1" will never exist in normal operation
  56552. (WebCore::SecurityOriginDataTraits::emptyValue): "file::2" will never exist in normal operation
  56553. (WebCore::DatabaseTracker::fullPathForDatabase):
  56554. (WebCore::DatabaseTracker::populateOrigins):
  56555. (WebCore::DatabaseTracker::origins):
  56556. (WebCore::DatabaseTracker::addDatabase):
  56557. * storage/DatabaseTracker.h:
  56558. 2007-11-16 Alexey Proskuryakov <ap@webkit.org>
  56559. Windows build fix.
  56560. * WebCore.vcproj/WebCore.vcproj: Removed VoidCallback.cpp, added JSCustomVoidCallback.{h,cpp}.
  56561. 2007-11-16 Nikolas Zimmermann <zimmermann@kde.org>
  56562. Reviewed by Eric.
  56563. Fixes: http://bugs.webkit.org/show_bug.cgi?id=12290
  56564. Implement all SVGTextContentElement DOM methods.
  56565. This is the last missing SVG text feature. SVG fonts is next.
  56566. Added testcase: svg/custom/text-dom-01-f.svg (tests all new methods)
  56567. * ksvg2/svg/SVGTextContentElement.cpp:
  56568. (WebCore::cummulatedCharacterRangeLength):
  56569. (WebCore::SVGInlineTextBoxQueryWalker::):
  56570. (WebCore::SVGInlineTextBoxQueryWalker::SVGInlineTextBoxQueryWalker):
  56571. (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
  56572. (WebCore::SVGInlineTextBoxQueryWalker::setQueryInputParameters):
  56573. (WebCore::SVGInlineTextBoxQueryWalker::longResult):
  56574. (WebCore::SVGInlineTextBoxQueryWalker::floatResult):
  56575. (WebCore::SVGInlineTextBoxQueryWalker::pointResult):
  56576. (WebCore::SVGInlineTextBoxQueryWalker::rectResult):
  56577. (WebCore::SVGInlineTextBoxQueryWalker::stopProcessing):
  56578. (WebCore::findInlineTextBoxInTextChunks):
  56579. (WebCore::rootInlineBoxForTextContentElement):
  56580. (WebCore::executeTextQuery):
  56581. (WebCore::SVGTextContentElement::getNumberOfChars):
  56582. (WebCore::SVGTextContentElement::getComputedTextLength):
  56583. (WebCore::SVGTextContentElement::getSubStringLength):
  56584. (WebCore::SVGTextContentElement::getStartPositionOfChar):
  56585. (WebCore::SVGTextContentElement::getEndPositionOfChar):
  56586. (WebCore::SVGTextContentElement::getExtentOfChar):
  56587. (WebCore::SVGTextContentElement::getRotationOfChar):
  56588. (WebCore::SVGTextContentElement::getCharNumAtPosition):
  56589. (WebCore::SVGTextContentElement::selectSubString):
  56590. * ksvg2/svg/SVGTextContentElement.h:
  56591. * rendering/SVGInlineTextBox.h:
  56592. 2007-11-15 Adele Peterson <adele@apple.com>
  56593. Reviewed by Oliver.
  56594. Fix for <rdar://problem/5566652> CrashTracer: [USER] 3 crashes in Safari at HTMLSelectElement::menuListDefaultEventHandler (reproducible on mactc30.com)
  56595. Test: fast/forms/menulist-no-renderer-onmousedown.html
  56596. * html/HTMLSelectElement.cpp:
  56597. (WebCore::HTMLSelectElement::defaultEventHandler): Nil check the renderer here. None of the default behavior makes sense if there's no renderer.
  56598. (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Moved the nil check to the main defaultEventHandler.
  56599. 2007-11-15 Antti Koivisto <antti@apple.com>
  56600. Reviewed by Adele.
  56601. Fix <rdar://problem/5601598>
  56602. The movie tag should do initialization on need and not during startup.
  56603. Initialize Movie MIME type hash on demand
  56604. * platform/MIMETypeRegistry.cpp:
  56605. (WebCore::initialiseSupportedMovieMIMETypes):
  56606. (WebCore::initialiseMIMETypeRegistry):
  56607. (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType):
  56608. (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes):
  56609. 2007-11-15 Mark Rowe <mrowe@apple.com>
  56610. Build fix for Qt on Windows.
  56611. * xml/XPathStep.cpp:
  56612. (WebCore::XPath::Step::nodesInAxis):
  56613. 2007-11-15 Timothy Hatcher <timothy@apple.com>
  56614. Reviewed by Mark Rowe.
  56615. Bug 14761: Web Inspector leaks JS objects and DOM nodes
  56616. http://bugs.webkit.org/show_bug.cgi?id=14761
  56617. * page/InspectorController.cpp:
  56618. (WebCore::InspectorController::~InspectorController):
  56619. Change the tear down order so that inspectorDestroyed() is called before
  56620. InspectorController private data is set to Zero. The inspectorDestroyed()
  56621. call ends up closing the WebView and triggering InspectorController::close()
  56622. which unprotects m_scriptObject. This didn't happen when the private data
  56623. was cleared before calling inspectorDestroyed().
  56624. 2007-11-15 Mark Rowe <mrowe@apple.com>
  56625. Gtk build fix.
  56626. * WebCore.pro:
  56627. 2007-11-15 Alexey Proskuryakov <ap@webkit.org>
  56628. Reviewed by Darin.
  56629. http://bugs.webkit.org/show_bug.cgi?id=15989
  56630. XPath queries with predicates incorrectly retains the current node across unions
  56631. Test: fast/xpath/union-context-node.xhtml
  56632. * xml/XPathPath.cpp:
  56633. (WebCore::XPath::LocationPath::evaluate): Restore context after evaluation.
  56634. * xml/XPathStep.cpp:
  56635. (WebCore::XPath::Step::evaluate): Do not backup context, as we can easily re-create it.
  56636. 2007-11-15 Alexey Proskuryakov <ap@webkit.org>
  56637. Reviewed by Darin.
  56638. http://bugs.webkit.org/show_bug.cgi?id=15988
  56639. REGRESSION: XPath preceding-axis query misses nested elements
  56640. Test: fast/xpath/preceding-axis.xhtml
  56641. * xml/XPathStep.cpp:
  56642. (WebCore::XPath::Step::nodesInAxis): Hopefully correct this time.
  56643. 2007-11-15 Timothy Hatcher <timothy@apple.com>
  56644. Reviewed by Mark Rowe and Sam.
  56645. This corrects a couple of issues in the Web Inspector where selected search results
  56646. would not have the right text color when the window is inactive or the results are focused.
  56647. * page/inspector/inspector.css:
  56648. 2007-11-15 Timothy Hatcher <timothy@apple.com>
  56649. Reviewed by Sam.
  56650. Bug 16007: REGRESSION: Disclosure triangle click zone for resource categories is off by 10 pixels
  56651. http://bugs.webkit.org/show_bug.cgi?id=16007
  56652. Makes the click width an option on TreeElement and make ResourceCategoryTreeElement
  56653. a true subclass of TreeElement. The click width for ResourceCategoryTreeElement is
  56654. 20 pixels, and the default is 10 pixels.
  56655. * page/inspector/ResourceCategory.js:
  56656. * page/inspector/treeoutline.js:
  56657. 2007-11-15 Anders Carlsson <andersca@apple.com>
  56658. Reviewed by Brady.
  56659. Pass a VoidCallback to Database::transaction and Database::changeVersion.
  56660. This is not yet hooked up to the database machinery.
  56661. * WebCore.vcproj/WebCore.vcproj:
  56662. * bindings/js/JSDatabaseCustom.cpp:
  56663. (WebCore::JSDatabase::changeVersion):
  56664. (WebCore::JSDatabase::transaction):
  56665. * storage/Database.cpp:
  56666. (WebCore::Database::changeVersion):
  56667. (WebCore::Database::transaction):
  56668. * storage/Database.h:
  56669. 2007-11-15 Timothy Hatcher <timothy@apple.com>
  56670. Reviewed by Adam.
  56671. Bug 16005: Hovering in the breadcrumbs causes jumpy behavior
  56672. http://bugs.webkit.org/show_bug.cgi?id=16005
  56673. Hovering over cumbs no longer exposes new crumbs. Clicking on a collapsed
  56674. crumb will expose as many hidden crumbs as possible to the user. Also crumbs
  56675. that have ID attributes will compact to the ID over the tag name.
  56676. * page/inspector/DocumentPanel.js:
  56677. 2007-11-15 Anders Carlsson <andersca@apple.com>
  56678. Reviewed by Sam.
  56679. Make the VoidCallback DOM interface behave more like our other DOM interfaces.
  56680. * bindings/js/JSCustomVoidCallback.h: Added.
  56681. * bindings/js/JSCustomVoidCallback.cpp: Added.
  56682. (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
  56683. (WebCore::JSCustomVoidCallback::handleEvent):
  56684. VoidCallback implementation that wraps a JS object.
  56685. (WebCore::toVoidCallback):
  56686. New method that creates a VoidCallback implementation given a JS object.
  56687. * bindings/scripts/CodeGeneratorJS.pm:
  56688. Specify that VoidCallback can fail conversion and add a custom conversion function.
  56689. * html/HTMLMediaElement.cpp:
  56690. (WebCore::HTMLMediaElement::movieCuePointReached):
  56691. Call handleEvent on the callback.
  56692. (WebCore::HTMLMediaElement::removeCuePoint):
  56693. Comment out parts of this method, it has already been removed in the HTML5 spec and it relies
  56694. on overriding VoidCallback equality.
  56695. * html/VoidCallback.cpp: Removed.
  56696. * html/VoidCallback.h:
  56697. (WebCore::VoidCallback::VoidCallback):
  56698. (WebCore::VoidCallback::~VoidCallback):
  56699. Make this an abstract class with a pure virtual handleEvent method.
  56700. 2007-11-15 Adam Roben <aroben@apple.com>
  56701. Fix <rdar://5485108> Type-select while a <select> menu is open doesn't work
  56702. There were two things broken here:
  56703. - WebView now requires a WM_CHAR message to be sent before it will
  56704. create a keyboard event with a charCode, but we were only sending
  56705. a WM_KEYDOWN event.
  56706. - The popup menu was not updating its focused index when the
  56707. <select> element's selectedIndex changed.
  56708. Reviewed by Adele.
  56709. * platform/win/PopupMenuWin.cpp:
  56710. (WebCore::PopupMenu::updateFromElement): Update the focused index from
  56711. the client's selected index.
  56712. (WebCore::PopupWndProc): When we receive a WM_CHAR message for a
  56713. printable character, manufacture a WM_KEYDOWN message for it and post
  56714. both that and the current WM_CHAR message to the WebView.
  56715. 2007-11-15 Brady Eidson <beidson@apple.com>
  56716. Build fix
  56717. * storage/DatabaseTracker.cpp:
  56718. (WebCore::DatabaseTracker::fullPathForDatabase):
  56719. (WebCore::DatabaseTracker::databaseNamesForOrigin):
  56720. 2007-11-15 Brady Eidson <beidson@apple.com>
  56721. Reviewed by John and Sam
  56722. Stubbing out everything required for a WebKit API for databases
  56723. Biggest change in WebCore is that we passed around SecurityOriginData as the representation
  56724. of a SecurityOrigin, instead of a String or a SecurityOrigin itself (which is an opaque object
  56725. that has a different purpose besides just hanging on to the data)
  56726. * WebCore.base.exp:
  56727. * WebCore.xcodeproj/project.pbxproj:
  56728. * platform/SecurityOrigin.cpp:
  56729. * platform/SecurityOrigin.h:
  56730. * platform/SecurityOriginData.h: Added. Simple object to encapsulate the 3
  56731. pieces of data in the SecurityOrigin tuple
  56732. (WebCore::SecurityOriginData::SecurityOriginData):
  56733. (WebCore::SecurityOriginData::protocol):
  56734. (WebCore::SecurityOriginData::host):
  56735. (WebCore::SecurityOriginData::port):
  56736. (WebCore::SecurityOriginData::toString): Simple concatenation of the 3 components,
  56737. colon separated
  56738. * storage/Database.cpp:
  56739. (WebCore::Database::Database): Use SecurityOriginData instead
  56740. * storage/DatabaseTracker.cpp:
  56741. (WebCore::DatabaseTracker::fullPathForDatabase):
  56742. (WebCore::DatabaseTracker::databaseNamesForOrigin):
  56743. (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
  56744. (WebCore::DatabaseTracker::deleteDatabase):
  56745. * storage/DatabaseTracker.h:
  56746. * storage/DatabaseTrackerClient.h: Added. For dispatching notifications up to WebKit
  56747. (WebCore::DatabaseTrackerClient::~DatabaseTrackerClient):2007-11-15 Jon Honeycutt <jhoneycutt@apple.com>
  56748. 2007-11-15 Jon Honeycutt <jhoneycutt@apple.com>
  56749. Reviewed by Anders.
  56750. NP_ASFILEONLY streams should not buffer data in m_deliveryData.
  56751. * plugins/win/PluginStreamWin.cpp:
  56752. (WebCore::PluginStreamWin::didReceiveData):
  56753. 2007-11-15 Justin Garcia <justin.garcia@apple.com>
  56754. Reviewed by Adele Peterson.
  56755. <rdar://problem/5497643> Crash at Node::isDescendantOf when switching out of Edit HTML Source mode
  56756. A textarea that contained the selection was removed but the selection wasn't cleared,
  56757. and we'd crash in code that assumed a valid, in-document selection.
  56758. * editing/SelectionController.cpp:
  56759. (WebCore::removingNodeRemovesPosition): Clear the selection if the node being removed is the
  56760. shadowAncestorNode of the node that contains the position, not just if the node being removed
  56761. contains that shadowAncestorNode.
  56762. 2007-11-15 Nikolas Zimmermann <zimmermann@kde.org>
  56763. Reviewed by Maciej.
  56764. Fix logic error: calculateGlyphBoundaries takes RTL text into account itself, no need to adjust offsets before.
  56765. * rendering/SVGInlineTextBox.cpp:
  56766. (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
  56767. (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
  56768. 2007-11-15 Anders Carlsson <andersca@apple.com>
  56769. Reviewed by Brady.
  56770. <rdar://problem/5562470>
  56771. openDatabase does not work when the version string is empty
  56772. If the string is empty, pass a real empty string to sqlite3_bind_text16.
  56773. * platform/sql/SQLiteStatement.cpp:
  56774. (WebCore::SQLiteStatement::bindText):
  56775. 2007-11-15 Anders Carlsson <andersca@apple.com>
  56776. Reviewed by Brady.
  56777. Get rid of SQLiteStatement::bindText and rename bindText16 to bindText.
  56778. Remove the copy parameter from bindText and bindBlob and always copy passed in data instead.
  56779. * loader/icon/IconDatabase.cpp:
  56780. (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):
  56781. (WebCore::IconDatabase::removePageURLFromSQLDatabase):
  56782. (WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase):
  56783. (WebCore::IconDatabase::addIconURLToSQLDatabase):
  56784. (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase):
  56785. (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase):
  56786. * platform/sql/SQLiteStatement.cpp:
  56787. (WebCore::SQLiteStatement::prepare):
  56788. * platform/sql/SQLiteStatement.h:
  56789. * storage/Database.cpp:
  56790. (WebCore::setTextValueInDatabase):
  56791. * storage/DatabaseTracker.cpp:
  56792. (WebCore::DatabaseTracker::fullPathForDatabase):
  56793. (WebCore::DatabaseTracker::databaseNamesForOrigin):
  56794. (WebCore::DatabaseTracker::addDatabase):
  56795. 2007-11-14 Brady Eidson <beidson@apple.com>
  56796. Rubberstamped by Sam
  56797. * platform/SecurityOrigin.h: Lets make this an unsigned short and *not* rule out half the possible ports?
  56798. 2007-11-14 Alexey Proskuryakov <ap@webkit.org>
  56799. Reviewed by Justin Garcia.
  56800. http://bugs.webkit.org/show_bug.cgi?id=15781
  56801. REGRESSION: Ligatures fail to form when typing in Devanagari (because WebKit can't handle
  56802. a marked range that covers half of a composed character sequence)
  56803. Test: platform/mac/editing/input/devanagari-ligature.html
  56804. This fix is somewhat of a hack, as it asks editing commands to work with invalid selections.
  56805. However, this is not entirely new for them, as Roman accents are typed in a similar manner.
  56806. In the future, we probably want to make commands work with ranges (or Positions explicitly).
  56807. * editing/Editor.cpp:
  56808. (WebCore::Editor::selectComposition): Force selection to composition range.
  56809. * editing/InsertTextCommand.cpp:
  56810. (WebCore::InsertTextCommand::input): Force ending selection to inserted text range.
  56811. 2007-11-14 Beth Dakin <bdakin@apple.com>
  56812. Reviewed by Hyatt.
  56813. Fix for <rdar://problem/5540855> REGRESSION: Combination of client-
  56814. side image map and <a> tag is not working properly (15522)
  56815. * html/HTMLMapElement.cpp:
  56816. (WebCore::HTMLMapElement::checkDTD): Allow <map> to have both block
  56817. and inline children rather than just block children. This matches
  56818. Firefox.
  56819. 2007-11-14 Justin Garcia <justin.garcia@apple.com>
  56820. Reviewed by Alexey Proskuryakov.
  56821. <rdar://problem/5546763> CrashTracer: [USER] 362 crashes at WebCore::DeleteSelectionCommand::mergeParagraphs
  56822. * editing/DeleteSelectionCommand.cpp:
  56823. (WebCore::DeleteSelectionCommand::handleGeneralDelete):
  56824. Removed an irrelevant FIXME.
  56825. (WebCore::DeleteSelectionCommand::mergeParagraphs): If the block that contained the end of the selection
  56826. hasn't been removed but has been emptied by deletion, we would to try and fail to create a VisiblePosition
  56827. inside that block, which could lead to a crash. If that happens, there's no content in the block to move,
  56828. so just remove the block and return.
  56829. Preserve m_needPlaceholder during the call to moveParagraphs, since it may change it and since it does
  56830. its own placeholder insertion when necessary.
  56831. (WebCore::DeleteSelectionCommand::doApply): No need to check m_needPlaceholder before calling mergeParagraphs,
  56832. because it handles preserving m_needPlaceholder when it calls moveParagraphs.
  56833. 2007-11-14 Timothy Hatcher <timothy@apple.com>
  56834. Reviewed by Adam.
  56835. Bug 14380: Long DOM ancestry breadcrumb lists get cut off
  56836. http://bugs.webkit.org/show_bug.cgi?id=14380
  56837. The breadcumbs will now be compacted and collapsed if there isn't enough room
  56838. to show everything. The collapsing algorithm always affects the crumbs that
  56839. are farthest away from the selected or hovered crumb first.
  56840. * page/inspector/DocumentPanel.js:
  56841. * page/inspector/inspector.css:
  56842. 2007-11-14 Anders Carlsson <andersca@apple.com>
  56843. Use the correct include path.
  56844. * platform/Cursor.h:
  56845. * plugins/win/PluginPackageWin.h:
  56846. * plugins/win/PluginStreamWin.h:
  56847. 2007-11-13 Brady Eidson <beidson@apple.com>
  56848. Reviewed by Adam
  56849. http://bugs.webkit.org/show_bug.cgi?id=15976 - ASSERT/crash when SQLTransactionCallback throws an exception
  56850. * storage/SQLTransaction.cpp:
  56851. (WebCore::SQLTransaction::deliverTransactionCallback): Make a transaction error for the case where the
  56852. SQLTransactionCallback fails
  56853. (WebCore::SQLTransaction::deliverTransactionErrorCallback): Don't assert on the error callback, but null check it
  56854. and make the commit/rollback decision accordingly
  56855. 2007-11-13 Oliver Hunt <oliver@apple.com>
  56856. Reviewed by Anders.
  56857. <rdar://problem/5365030> calling dataWithPDFInsideRect on an SVG with a gradient crashes (14780)
  56858. When drawing directly to PDF CG may delay the use of the gradient function until outside our
  56859. standard drawing path, which in turn could let us invalidate the caches before they were used.
  56860. To work around this we now store the cached stops in a RefCounted object, so that we can ensure
  56861. that cache exists as long as required.
  56862. * platform/graphics/svg/SVGPaintServerGradient.cpp:
  56863. (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
  56864. * platform/graphics/svg/SVGPaintServerGradient.h:
  56865. * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
  56866. (WebCore::cgGradientCallback):
  56867. (WebCore::CGShadingRefForLinearGradient):
  56868. (WebCore::CGShadingRefForRadialGradient):
  56869. (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
  56870. 2007-11-13 Anders Carlsson <andersca@apple.com>
  56871. Fix Windows build.
  56872. * platform/Cursor.h:
  56873. * plugins/win/PluginPackageWin.h:
  56874. * plugins/win/PluginStreamWin.h:
  56875. 2007-11-13 Geoffrey Garen <ggaren@apple.com>
  56876. Reviewed by Anders Carlsson.
  56877. Renamed Shared to RefCounted.
  56878. * ForwardingHeaders/wtf/RefCounted.h: Copied from WebCore/ForwardingHeaders/wtf/Shared.h.
  56879. * ForwardingHeaders/wtf/Shared.h: Removed.
  56880. * bindings/js/JSSVGPODTypeWrapper.h:
  56881. * css/CSSFontFace.h:
  56882. * css/CSSRuleList.h:
  56883. * css/Counter.h:
  56884. * css/Pair.h:
  56885. * css/Rect.h:
  56886. * css/StyleBase.h:
  56887. * css/StyleSheetList.h:
  56888. * dom/Attribute.h:
  56889. * dom/Clipboard.h:
  56890. * dom/DOMImplementation.h:
  56891. * dom/Event.h:
  56892. * dom/EventListener.h:
  56893. * dom/NamedNodeMap.h:
  56894. * dom/NodeFilter.h:
  56895. * dom/NodeFilterCondition.h:
  56896. * dom/NodeList.h:
  56897. * dom/QualifiedName.h:
  56898. * dom/Range.h:
  56899. * dom/RangeException.h:
  56900. * dom/RegisteredEventListener.h:
  56901. * dom/Traversal.h:
  56902. * editing/EditCommand.h:
  56903. * history/BackForwardList.h:
  56904. * history/CachedPage.h:
  56905. * history/HistoryItem.cpp:
  56906. (WebCore::HistoryItem::HistoryItem):
  56907. * history/HistoryItem.h:
  56908. * html/CanvasGradient.h:
  56909. * html/CanvasPattern.h:
  56910. * html/CanvasRenderingContext2D.h:
  56911. * html/CanvasStyle.h:
  56912. * html/HTMLCollection.h:
  56913. * html/MediaError.h:
  56914. * html/TimeRanges.h:
  56915. * html/VoidCallback.h:
  56916. * ksvg2/css/SVGRenderStyle.cpp:
  56917. (WebCore::SVGRenderStyle::SVGRenderStyle):
  56918. * ksvg2/css/SVGRenderStyle.h:
  56919. * ksvg2/css/SVGRenderStyleDefs.cpp:
  56920. (StyleFillData::StyleFillData):
  56921. (StyleStrokeData::StyleStrokeData):
  56922. (StyleStopData::StyleStopData):
  56923. (StyleTextData::StyleTextData):
  56924. (StyleClipData::StyleClipData):
  56925. (StyleMaskData::StyleMaskData):
  56926. (StyleMarkerData::StyleMarkerData):
  56927. (StyleMiscData::StyleMiscData):
  56928. * ksvg2/css/SVGRenderStyleDefs.h:
  56929. * ksvg2/svg/SVGAngle.cpp:
  56930. (WebCore::SVGAngle::SVGAngle):
  56931. * ksvg2/svg/SVGAngle.h:
  56932. * ksvg2/svg/SVGAnimatedTemplate.h:
  56933. * ksvg2/svg/SVGElementInstanceList.h:
  56934. * ksvg2/svg/SVGException.h:
  56935. * ksvg2/svg/SVGList.h:
  56936. * ksvg2/svg/SVGPathSeg.h:
  56937. * ksvg2/svg/SVGPreserveAspectRatio.cpp:
  56938. (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
  56939. * ksvg2/svg/SVGPreserveAspectRatio.h:
  56940. * ksvg2/svg/SVGRenderingIntent.h:
  56941. * ksvg2/svg/SVGTransform.h:
  56942. * ksvg2/svg/SVGUnitTypes.h:
  56943. * loader/DocumentLoader.h:
  56944. * loader/FormState.h:
  56945. * loader/ResourceLoader.h:
  56946. * loader/TextResourceDecoder.h:
  56947. * loader/icon/IconRecord.h:
  56948. * page/BarInfo.h:
  56949. * page/Console.h:
  56950. * page/DOMSelection.h:
  56951. * page/DOMWindow.h:
  56952. * page/Frame.h:
  56953. * page/History.h:
  56954. * page/InspectorController.cpp:
  56955. * page/Plugin.h:
  56956. * page/Screen.h:
  56957. * platform/ArrayImpl.h:
  56958. * platform/CString.h:
  56959. * platform/Cursor.h:
  56960. * platform/DeprecatedValueListImpl.cpp:
  56961. (WebCore::DeprecatedValueListImpl::Private::Private):
  56962. * platform/FileChooser.h:
  56963. * platform/FontFallbackList.h:
  56964. * platform/FontFamily.cpp:
  56965. (WebCore::FontFamily::FontFamily):
  56966. * platform/FontFamily.h:
  56967. * platform/FontSelector.h:
  56968. * platform/GlyphPageTreeNode.h:
  56969. * platform/PopupMenu.h:
  56970. * platform/RegularExpression.cpp:
  56971. * platform/ScrollBar.h:
  56972. * platform/SharedBuffer.h:
  56973. * platform/StringImpl.h:
  56974. * platform/graphics/Icon.h:
  56975. * platform/graphics/svg/SVGResource.h:
  56976. * platform/network/FormData.cpp:
  56977. (WebCore::FormData::FormData):
  56978. * platform/network/FormData.h:
  56979. * platform/network/ResourceHandle.h:
  56980. * platform/network/ResourceHandleClient.h:
  56981. * rendering/RenderStyle.cpp:
  56982. (WebCore::StyleSurroundData::StyleSurroundData):
  56983. (WebCore::StyleBoxData::StyleBoxData):
  56984. (WebCore::StyleVisualData::StyleVisualData):
  56985. (WebCore::StyleBackgroundData::StyleBackgroundData):
  56986. (WebCore::StyleMarqueeData::StyleMarqueeData):
  56987. (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
  56988. (WebCore::StyleMultiColData::StyleMultiColData):
  56989. (WebCore::StyleTransformData::StyleTransformData):
  56990. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  56991. (WebCore::StyleRareInheritedData::StyleRareInheritedData):
  56992. (WebCore::StyleInheritedData::StyleInheritedData):
  56993. * rendering/RenderStyle.h:
  56994. * rendering/SVGCharacterLayoutInfo.h:
  56995. (WebCore::SVGCharOnPath::SVGCharOnPath):
  56996. * storage/SQLResultSetRowList.h:
  56997. * xml/DOMParser.h:
  56998. * xml/XMLHttpRequest.h:
  56999. * xml/XMLSerializer.h:
  57000. * xml/XPathEvaluator.h:
  57001. * xml/XPathExpression.h:
  57002. * xml/XPathNSResolver.h:
  57003. * xml/XPathResult.h:
  57004. * xml/XPathValue.h:
  57005. * xml/XSLTProcessor.h:
  57006. 2007-11-13 Brady Eidson <beidson@apple.com>
  57007. Reviewed by Mark Rowe
  57008. Remove errantly added files, and fix the idl (for reference's sake)
  57009. * storage/JSCustomSQLStatementCallback.h: Removed.
  57010. * storage/JSCustomSQLStatementErrorCallback.h: Removed.
  57011. * storage/JSCustomSQLTransactionCallback.h: Removed.
  57012. * storage/JSCustomSQLTransactionErrorCallback.h: Removed.
  57013. * storage/SQLStatementCallback.idl:
  57014. 2007-11-13 Adam Roben <aroben@apple.com>
  57015. Fix a bug and improve upon Brady's fix
  57016. Reviewed by Anders.
  57017. * bindings/js/JSSQLTransactionCustom.cpp:
  57018. (WebCore::JSSQLTransaction::executeSql): Made the code a little
  57019. clearer and more correct.
  57020. * loader/icon/IconDatabase.cpp: Put parentheses around the expansion
  57021. of IS_ICON_SYNC_THREAD() so that ASSERT_NOT_SYNC_THREAD() does the
  57022. comparison it meant to.
  57023. 2007-11-13 Sam Weinig <sam@webkit.org>
  57024. Fix Qt and Gtk builds.
  57025. * WebCore.pro: Remove non-generated idl files.
  57026. 2007-11-13 Mark Rowe <mrowe@apple.com>
  57027. Remove removed file from the project.
  57028. * WebCore.pro:
  57029. 2007-11-13 Brady Eidson <beidson@apple.com>
  57030. Release build fix
  57031. * bindings/js/JSSQLTransactionCustom.cpp:
  57032. (WebCore::JSSQLTransaction::executeSql):
  57033. 2007-11-13 Adam Roben <aroben@apple.com>
  57034. Add WindowMessageBroadcaster
  57035. This class is used to listen in on messages sent to HWNDs. Multiple
  57036. WindowMessageListeners can be notified about messages sent to a single
  57037. HWND, and one WindowMessageListener can listen to messages from
  57038. multiple HWNDs.
  57039. Reviewed by Ada.
  57040. * WebCore.vcproj/WebCore.vcproj: Added new files to project.
  57041. * platform/win/WindowMessageBroadcaster.cpp: Added.
  57042. (WebCore::instancesMap): Static helper.
  57043. (WebCore::WindowMessageBroadcaster::addListener): Registers a listener
  57044. for a particular HWND.
  57045. (WebCore::WindowMessageBroadcaster::removeListener): Removes a
  57046. listener for a particular HWND.
  57047. (WebCore::WindowMessageBroadcaster::WindowMessageBroadcaster):
  57048. (WebCore::WindowMessageBroadcaster::~WindowMessageBroadcaster):
  57049. (WebCore::WindowMessageBroadcaster::destroy): Removes this broadcaster
  57050. from the instancesMap, removes all of its listeners, unsubclasses the
  57051. window, and deletes the broadcaster.
  57052. (WebCore::WindowMessageBroadcaster::unsubclassWindow): Unsubclasses
  57053. the window (which means that SubclassedWndProc won't be called again
  57054. for this window).
  57055. (WebCore::WindowMessageBroadcaster::SubclassedWndProc): Notifies all
  57056. the listeners about every message sent to the HWND
  57057. * platform/win/WindowMessageBroadcaster.h: Added.
  57058. (WebCore::WindowMessageBroadcaster::listeners):
  57059. (WebCore::WindowMessageBroadcaster::originalWndProc):
  57060. * platform/win/WindowMessageListener.h: Added.
  57061. 2007-11-13 Geoffrey Garen <ggaren@apple.com>
  57062. Reviewed by Sam Weinig.
  57063. Moved Shared.h into wtf so it could be used in more places. Retained
  57064. TreeShared, but moved it to its own file, TreeShared.h.
  57065. * ForwardingHeaders/wtf/Shared.h: Added.
  57066. * WebCore.xcodeproj/project.pbxproj:
  57067. * bindings/js/JSSVGPODTypeWrapper.h:
  57068. * css/CSSFontFace.h:
  57069. * css/CSSRuleList.h:
  57070. * css/Counter.h:
  57071. * css/Pair.h:
  57072. * css/Rect.h:
  57073. * css/StyleBase.h:
  57074. * css/StyleSheetList.h:
  57075. * dom/Clipboard.h:
  57076. * dom/DOMImplementation.h:
  57077. * dom/Event.h:
  57078. * dom/EventListener.h:
  57079. * dom/NamedNodeMap.h:
  57080. * dom/NodeFilterCondition.h:
  57081. * dom/NodeList.h:
  57082. * dom/Range.h:
  57083. * dom/RangeException.h:
  57084. * dom/RegisteredEventListener.h:
  57085. * dom/Traversal.h:
  57086. * history/BackForwardList.h:
  57087. * history/CachedPage.h:
  57088. * history/HistoryItem.h:
  57089. * html/CanvasGradient.h:
  57090. * html/CanvasPattern.h:
  57091. * html/HTMLCollection.h:
  57092. * html/MediaError.h:
  57093. * html/TimeRanges.h:
  57094. * html/VoidCallback.h:
  57095. * ksvg2/css/SVGRenderStyleDefs.h:
  57096. * ksvg2/svg/SVGAnimatedTemplate.h:
  57097. * ksvg2/svg/SVGElementInstanceList.h:
  57098. * ksvg2/svg/SVGList.h:
  57099. * ksvg2/svg/SVGPathSeg.h:
  57100. * ksvg2/svg/SVGPreserveAspectRatio.h:
  57101. * ksvg2/svg/SVGRenderingIntent.h:
  57102. * ksvg2/svg/SVGTransform.h:
  57103. * ksvg2/svg/SVGUnitTypes.h:
  57104. * loader/DocumentLoader.h:
  57105. * loader/FormState.h:
  57106. * loader/ResourceLoader.h:
  57107. * loader/TextResourceDecoder.h:
  57108. * loader/icon/IconRecord.h:
  57109. * page/BarInfo.h:
  57110. * page/Console.h:
  57111. * page/DOMSelection.h:
  57112. * page/DOMWindow.h:
  57113. * page/History.h:
  57114. * page/InspectorController.cpp:
  57115. * page/Plugin.h:
  57116. * page/Screen.h:
  57117. * platform/ArrayImpl.h:
  57118. * platform/CString.h:
  57119. * platform/DeprecatedValueListImpl.cpp:
  57120. * platform/FontFallbackList.h:
  57121. * platform/FontFamily.h:
  57122. * platform/FontSelector.h:
  57123. * platform/GlyphPageTreeNode.h:
  57124. * platform/PopupMenu.h:
  57125. * platform/RegularExpression.cpp:
  57126. * platform/ScrollBar.h:
  57127. * platform/Shared.h: Removed.
  57128. * platform/SharedBuffer.h:
  57129. * platform/StringImpl.h:
  57130. * platform/graphics/Icon.h:
  57131. * platform/graphics/svg/SVGResource.h:
  57132. * platform/network/FormData.h:
  57133. * platform/network/ResourceHandleClient.h:
  57134. * rendering/RenderStyle.h:
  57135. * rendering/SVGCharacterLayoutInfo.h:
  57136. * storage/SQLResultSetRowList.h:
  57137. * xml/DOMParser.h:
  57138. * xml/XMLSerializer.h:
  57139. * xml/XPathEvaluator.h:
  57140. * xml/XPathExpression.h:
  57141. * xml/XPathNSResolver.h:
  57142. * xml/XPathResult.h:
  57143. 2007-11-13 Brady Eidson <beidson@apple.com>
  57144. JS bindings by Anders, reviewed by Brady
  57145. WebCore changes by Brady, reviewed by Anders and Tim
  57146. Adapt to the new iteration of the HTML5 client-side storage spec.
  57147. Based largely on implementation feedback we generated in landing our first version of this API and also
  57148. on the input of others in the community, the database spec went through a large overhaul that addresses
  57149. many concerns. Amongst other changes/improvements:
  57150. - SQLTransaction object is added and all transactions are explicit. In addition, since the API manages
  57151. transactions explicitly, transaction-related language in SQL statements is disallowed
  57152. - executeSql() is now on a transaction object instead of the database object.
  57153. - Database.changeVersion() now takes place within the context of a transaction. Therefore the version
  57154. change can be atomic along with the statements that modify the DB schema
  57155. Most of the logic now takes place during the "transaction steps," which the specification clearly lays out
  57156. as a chain of events on the SQLTransaction object where processing is handed off between being processed
  57157. asynchronously and calling back up to javascript. To accomplish this voodoo, SQLTransaction has a series of
  57158. methods that roughly match up with the "transaction steps" and it keeps a pointer to the next step.
  57159. * DerivedSources.make:
  57160. * WebCore.xcodeproj/project.pbxproj:
  57161. * bindings/js/JSDatabaseCustom.cpp:
  57162. (WebCore::JSDatabase::changeVersion): Adapt to the new API
  57163. (WebCore::JSDatabase::transaction): Added
  57164. * bindings/js/JSSQLTransactionCustom.cpp: Added.
  57165. (WebCore::JSSQLTransaction::executeSql): Added
  57166. * page/DOMWindow.cpp:
  57167. (WebCore::DOMWindow::openDatabase): Add the new arguments
  57168. * page/DOMWindow.h:
  57169. * page/DOMWindow.idl:
  57170. * page/inspector/DatabasePanel.js: Use the new API
  57171. * storage/ChangeVersionWrapper.cpp: Added. Implementation of "SQLTransactionWrapper" that enforces
  57172. changing the version of the database
  57173. (WebCore::ChangeVersionWrapper::ChangeVersionWrapper):
  57174. (WebCore::ChangeVersionWrapper::performPreflight):
  57175. (WebCore::ChangeVersionWrapper::performPostflight):
  57176. * storage/ChangeVersionWrapper.h: Added.
  57177. (WebCore::ChangeVersionWrapper::sqlError):
  57178. * storage/Database.cpp: Removed the "main thread" and "background thread" sqlite handles as all sqlite operations can now
  57179. happen solely on the background thread - most of these changes result from that change
  57180. (WebCore::Database::Database): Removed an obsolete FIXME
  57181. (WebCore::Database::openAndVerifyVersion):
  57182. (WebCore::Database::getVersionFromDatabase):
  57183. (WebCore::Database::setVersionInDatabase):
  57184. (WebCore::Database::versionMatchesExpected): Atomically guarantee that the current version and expected version are the same
  57185. (WebCore::Database::performOpenAndVerify):
  57186. (WebCore::Database::performTransactionStep): Added, as a hook for the DatabaseTransactionTask on the DatabaseThread
  57187. (WebCore::Database::changeVersion): Changed for the new API from JS
  57188. (WebCore::Database::transaction): Added, for the new API from JS
  57189. (WebCore::Database::scheduleTransaction): Add a transaction to this Database's transaction queue
  57190. (WebCore::Database::scheduleTransactionStep): Schedule the current transaction to be called on the background thread
  57191. (WebCore::Database::scheduleTransactionCallback): Schedule the current transaction to perform a callback on the main thread
  57192. (WebCore::Database::performGetTableNames):
  57193. (WebCore::Database::deliverAllPendingCallbacks):
  57194. (WebCore::Database::deliverPendingCallback):
  57195. (WebCore::Database::setExpectedVersion):
  57196. * storage/Database.h:
  57197. * storage/Database.idl:
  57198. * storage/DatabaseTask.cpp: Changed DatabaseTask to create a mutex on demand, and use the existence of that mutex
  57199. to replace the m_synchronous flag
  57200. (WebCore::DatabaseTask::performTask):
  57201. (WebCore::DatabaseTask::lockForSynchronousScheduling):
  57202. (WebCore::DatabaseTask::waitForSynchronousCompletion):
  57203. (WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
  57204. * storage/DatabaseTask.h:
  57205. * storage/SQLError.h: New API object
  57206. * storage/SQLResultSet.cpp:
  57207. (WebCore::SQLResultSet::SQLResultSet): Small changes to the API object
  57208. * storage/SQLResultSet.h:
  57209. * storage/SQLResultSet.idl:
  57210. * storage/SQLStatement.cpp: Added.
  57211. (WebCore::SQLStatement::SQLStatement):
  57212. (WebCore::SQLStatement::execute): Actually execute the sql statement on the SQLiteDatabase if it's still valid
  57213. (WebCore::SQLStatement::setVersionMismatchedError): Flag this statement as bad before it even starts in case
  57214. of an actual version vs. expected version mismatch
  57215. (WebCore::SQLStatement::performCallback): Call the right callback (SQLStatement or SQLStatementError) for this statement
  57216. * storage/SQLStatement.h: Added.
  57217. (WebCore::SQLStatement::hasStatementCallback):
  57218. (WebCore::SQLStatement::hasStatementErrorCallback):
  57219. (WebCore::SQLStatement::sqlError): Get the error for this statement, if any
  57220. * storage/SQLTransaction.cpp: Added.
  57221. (WebCore::SQLTransaction::SQLTransaction):
  57222. (WebCore::SQLTransaction::executeSQL): Entry point for the API from JS
  57223. (WebCore::SQLTransaction::enqueueStatement): Add a new statement onto the queue
  57224. (WebCore::SQLTransaction::performNextStep): Call the method for the next step
  57225. (WebCore::SQLTransaction::performPendingCallback): Call the method for the pending callback
  57226. (WebCore::SQLTransaction::openTransactionAndPreflight): Open a transaction to the database and preflight
  57227. using the SQLTransactionWrapper, if any
  57228. (WebCore::SQLTransaction::deliverTransactionCallback): Deliver the transaction callback to the javascript thread
  57229. (WebCore::SQLTransaction::scheduleToRunStatements): Convinience to schedule this transaction on the database thread
  57230. and make runStatements() the next step
  57231. (WebCore::SQLTransaction::runStatements): Start running the sql statements queued up for this transaction
  57232. (WebCore::SQLTransaction::getNextStatement): Bring the next statement off the queue
  57233. (WebCore::SQLTransaction::runCurrentStatement): Execute the current statement
  57234. (WebCore::SQLTransaction::deliverStatementCallback): Deliver the SQLStatementCallback for this statement
  57235. (WebCore::SQLTransaction::postflightAndCommit): Postflight the transaction using SQLTransactionWrapper and commit it
  57236. (WebCore::SQLTransaction::handleTransactionError): Make the right call for any error that occurred on the Transaction
  57237. (WebCore::SQLTransaction::deliverTransactionErrorCallback): Deliver the SQLTransactionErrorCallback
  57238. (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Either do a final commit or rollback to cleanup the
  57239. transaction after it error'ed out
  57240. * storage/SQLTransaction.h:
  57241. (WebCore::SQLTransactionWrapper::~SQLTransactionWrapper):
  57242. (WebCore::SQLTransaction::database):
  57243. * storage/SQLTransaction.idl:
  57244. The following were made obsolete by the new version of the API:
  57245. * bindings/js/JSCustomSQLCallback.cpp: Removed.
  57246. * bindings/js/JSCustomSQLCallback.h: Removed.
  57247. * bindings/js/JSCustomVersionChangeCallback.cpp: Removed.
  57248. * bindings/js/JSCustomVersionChangeCallback.h: Removed.
  57249. * storage/DatabaseCallback.cpp: Removed.
  57250. * storage/DatabaseCallback.h: Removed.
  57251. * storage/SQLCallback.h: Removed.
  57252. * storage/SQLCallback.idl: Removed.
  57253. * storage/VersionChangeCallback.h: Removed.
  57254. * storage/VersionChangeCallback.idl: Removed.
  57255. 2007-11-13 Dan Bernstein <mitz@apple.com>
  57256. Reviewed by Beth Dakin.
  57257. - fix <rdar://problem/5551163> REGRESSION: Cursor does not change to arrow on "X" button in google maps, making it hard to click
  57258. * css/html4.css: Added a 'cursor: auto' rule for links.
  57259. * manual-tests/link-cursor-auto.html: Added.
  57260. 2007-11-13 Dan Bernstein <mitz@apple.com>
  57261. Reviewed by Beth Dakin.
  57262. - fix <rdar://problem/5516272> Reproducible crash in RenderObject::setStyle involving going Back from a non-HTML document (Bookmarks view, PDF view)
  57263. The root cause for the crash is that when a non-HTML view enters the
  57264. frame, the frame's document pointer keeps pointing at the last HTML-type
  57265. document it contained. This patch does not address the root cause, but
  57266. makes changes to account for that condition.
  57267. * loader/FrameLoader.cpp:
  57268. (WebCore::FrameLoader::receivedMainResourceError): Do not change the
  57269. frame's current document's page cache state here.
  57270. (WebCore::FrameLoader::invalidateCurrentItemCachedPage): If the frame's
  57271. current document is in fact the history item being invalidated, then
  57272. set its page cache state here.
  57273. 2007-11-12 Antti Koivisto <antti@apple.com>
  57274. Reviewed by Adele.
  57275. Fix that 'timeupdate' and 'waiting' events were never dispatched.
  57276. Add explicit m_paused attribute instead of trying to derive paused state from
  57277. underlying media. Call updatePlayState() to start/stop media playback
  57278. when any attribute that affects active playback state changes. This matches
  57279. specification text.
  57280. Test: http/tests/media/video-play-stall.html
  57281. * html/HTMLMediaElement.cpp:
  57282. (WebCore::HTMLMediaElement::HTMLMediaElement):
  57283. (WebCore::HTMLMediaElement::setReadyState):
  57284. (WebCore::HTMLMediaElement::paused):
  57285. (WebCore::HTMLMediaElement::play):
  57286. (WebCore::HTMLMediaElement::pause):
  57287. (WebCore::HTMLMediaElement::checkIfSeekNeeded):
  57288. (WebCore::HTMLMediaElement::movieDidEnd):
  57289. (WebCore::HTMLMediaElement::updatePlayState):
  57290. * html/HTMLMediaElement.h:
  57291. 2007-11-13 John Sullivan <sullivan@apple.com>
  57292. Reviewed by Darin.
  57293. removed recently-added PreferredType concept; we found a better way to do what
  57294. ths was accomplishing
  57295. * bridge/WindowFeatures.h:
  57296. (WebCore::WindowFeatures::WindowFeatures):
  57297. removed definition of PreferredType
  57298. * page/ContextMenuController.cpp:
  57299. (WebCore::openNewWindow):
  57300. removed use of PreferredType
  57301. 2007-11-12 Alexey Proskuryakov <ap@webkit.org>
  57302. Reviewed by Darin.
  57303. http://bugs.webkit.org/show_bug.cgi?id=15954
  57304. Move DOM Selection operations out of SelectionController
  57305. No change in functionality.
  57306. * editing/SelectionController.cpp:
  57307. (WebCore::SelectionController::setSelectedRange):
  57308. * editing/SelectionController.h:
  57309. * page/DOMSelection.cpp:
  57310. (WebCore::DOMSelection::anchorNode):
  57311. (WebCore::DOMSelection::baseNode):
  57312. (WebCore::DOMSelection::anchorOffset):
  57313. (WebCore::DOMSelection::baseOffset):
  57314. (WebCore::DOMSelection::focusNode):
  57315. (WebCore::DOMSelection::extentNode):
  57316. (WebCore::DOMSelection::focusOffset):
  57317. (WebCore::DOMSelection::extentOffset):
  57318. (WebCore::DOMSelection::isCollapsed):
  57319. (WebCore::DOMSelection::type):
  57320. (WebCore::DOMSelection::rangeCount):
  57321. (WebCore::DOMSelection::collapse):
  57322. (WebCore::DOMSelection::collapseToEnd):
  57323. (WebCore::DOMSelection::collapseToStart):
  57324. (WebCore::DOMSelection::empty):
  57325. (WebCore::DOMSelection::setBaseAndExtent):
  57326. (WebCore::DOMSelection::setPosition):
  57327. (WebCore::DOMSelection::modify):
  57328. (WebCore::DOMSelection::extend):
  57329. (WebCore::DOMSelection::getRangeAt):
  57330. (WebCore::DOMSelection::removeAllRanges):
  57331. (WebCore::DOMSelection::addRange):
  57332. (WebCore::DOMSelection::deleteFromDocument):
  57333. (WebCore::DOMSelection::containsNode):
  57334. (WebCore::DOMSelection::selectAllChildren):
  57335. (WebCore::DOMSelection::toString):
  57336. * page/DOMSelection.h:
  57337. Moved all DOM API methods to DOMSelection; changed SelectionController::setSelectedRange()
  57338. to return its result directly instead of via an ExceptionCode that no caller wanted.
  57339. * editing/Editor.cpp:
  57340. (WebCore::Editor::deleteRange):
  57341. (WebCore::Editor::removeFormattingAndStyle):
  57342. (WebCore::Editor::selectComposition):
  57343. (WebCore::Editor::setComposition):
  57344. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
  57345. Adapted for SelectionController::setSelectedRange() now returning a bool.
  57346. SelectionController::toString() is no longer avasilable, use plainText() explicitly.
  57347. * WebCore.base.exp: Changed SelectionController::setSelectedRange() signature.
  57348. 2007-11-12 Dan Bernstein <mitz@apple.com>
  57349. Reviewed by Darin Adler.
  57350. - <http://bugs.webkit.org/show_bug.cgi?id=15890>
  57351. Most of www.aol.com still redraws unnecessarily when headline/photo section changes
  57352. Test: fast/repaint/invisible-objects.html
  57353. Avoid repainting invisible blocks if they are enclosed in a layer that
  57354. contains no visible objects.
  57355. * rendering/RenderBlock.cpp:
  57356. (WebCore::RenderBlock::layoutBlock):
  57357. * rendering/RenderBox.cpp:
  57358. (WebCore::RenderBox::absoluteClippedOverflowRect):
  57359. 2007-11-12 Timothy Hatcher <timothy@apple.com>
  57360. Reviewed by Mark Rowe.
  57361. Prevent selecting a word in the breadcrumb or the styles section when double
  57362. clicking on a DOM node in the outline tree.
  57363. * page/inspector/DocumentPanel.js: Call preventDefault() when a mousedown event
  57364. with a detail of 2 or higher comes in. This prevents the selection.
  57365. * page/inspector/inspector.css: Mark the breadcrumb as user-select: none.
  57366. 2007-11-12 Oliver Hunt <oliver@apple.com>
  57367. Reviewed by John S.
  57368. <rdar://problem/5537289> REGRESSION: Dragging a link or an image from an IFrame causes the page to not respond to clicks afterwards (15460)
  57369. EventHandler needs to reset these fields when a drag terminates, otherwise
  57370. EventHandler is left in an inconsistent state when a drag is initiated on a
  57371. page with multiple frames.
  57372. * page/EventHandler.cpp:
  57373. (WebCore::EventHandler::cancelDragAndDrop):
  57374. (WebCore::EventHandler::performDragAndDrop):
  57375. (WebCore::EventHandler::clearDragState):
  57376. * page/EventHandler.h:
  57377. 2007-11-12 Oliver Hunt <oliver@apple.com>
  57378. Reviewed by Darin and Antti.
  57379. Return behaviour for 0 sized pattern back to what it was prior to r27704
  57380. This change in behaviour broke two layout tests in DRT, so correcting it
  57381. corrects existing tests.
  57382. * platform/graphics/cg/ImageBufferCG.cpp:
  57383. 2007-11-12 Timothy Hatcher <timothy@apple.com>
  57384. Reviewed by John.
  57385. <rdar://problem/5268311> REGRESSION (Safari 2-3): Exception thrown when calling -[WebDataSource subresources]
  57386. * page/mac/WebCoreFrameBridge.mm:
  57387. (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
  57388. If the SharedBuffer is null insert an empty NSData instead of nil.
  57389. 2007-11-12 Darin Adler <darin@apple.com>
  57390. Reviewed by Tim.
  57391. - http://bugs.webkit.org/show_bug.cgi?id=15947
  57392. speed up page loading a bit by inlining
  57393. * loader/FrameLoader.cpp: (WebCore::FrameLoader::isLocationChange):
  57394. Factored out the slow case of isScheduledLocationChangePending into this.
  57395. * loader/FrameLoader.h:
  57396. (WebCore::FrameLoader::isScheduledLocationChangePending): Added an
  57397. inline check of the far and away most common case, where m_scheduledRedirection
  57398. is 0; the rest is in the isLocationChange function.
  57399. 2007-11-12 George Staikos <staikos@kde.org>
  57400. Reviewed by Tim.
  57401. Extract the text match marker highlight color into RenderTheme instead
  57402. of the hardcoded yellow.
  57403. * rendering/InlineTextBox.cpp:
  57404. (WebCore::InlineTextBox::paintTextMatchMarker):
  57405. * rendering/RenderTheme.cpp:
  57406. (WebCore::RenderTheme::platformTextSearchHighlightColor):
  57407. * rendering/RenderTheme.h:
  57408. 2007-11-12 Mark Rowe <mrowe@apple.com>
  57409. Fix deadlock on launch on the Mac.
  57410. * loader/icon/IconDatabase.cpp:
  57411. (WebCore::IconDatabase::open): Restore unlock that was mistakenly removed in r27717.
  57412. 2007-11-12 Justin Haygood <jhaygood@reaktix.com>
  57413. Reviewed by Brady.
  57414. http://bugs.webkit.org/show_bug.cgi?id=15955
  57415. Reimplement threading functions in IconDatabase and SQLiteDatabase in terms of the threading abstractions
  57416. * loader/icon/IconDatabase.cpp:
  57417. (WebCore::IconDatabase::open):
  57418. (WebCore::IconDatabase::close):
  57419. * loader/icon/IconDatabase.h:
  57420. * platform/sql/SQLiteDatabase.cpp:
  57421. (WebCore::SQLiteDatabase::SQLiteDatabase):
  57422. (WebCore::SQLiteDatabase::open):
  57423. (WebCore::SQLiteDatabase::close):
  57424. * platform/sql/SQLiteDatabase.h:
  57425. 2007-11-12 Adam Roben <aroben@apple.com>
  57426. Windows build fix
  57427. * config.h: Touch because VS apparently can't figure out which files
  57428. depend on ResourceResponse.h.
  57429. * WebCore.vcproj/WebCore.vcproj: Add ResourceResponseBase files to
  57430. project and remove old ResourceResponse files.
  57431. 2007-11-12 Julien Chaffraix <julien.chaffraix@gmail.com>
  57432. Reviewed by Darin.
  57433. http://bugs.webkit.org/show_bug.cgi?id=15334
  57434. Split ResourceResponse into platform specific files
  57435. * WebCore.base.exp:
  57436. * WebCore.pro:
  57437. * WebCore.vcproj/WebCore.vcproj:
  57438. * WebCore.xcodeproj/project.pbxproj:
  57439. * platform/network/ResourceResponse.cpp: Removed.
  57440. * platform/network/ResourceResponse.h: Removed.
  57441. * platform/network/ResourceResponseBase.cpp: Copied from platform/network/ResourceResponse.cpp.
  57442. (WebCore::ResourceResponseBase::asResourceResponse):
  57443. (WebCore::ResourceResponseBase::isHTTP):
  57444. (WebCore::ResourceResponseBase::url):
  57445. (WebCore::ResourceResponseBase::setUrl):
  57446. (WebCore::ResourceResponseBase::mimeType):
  57447. (WebCore::ResourceResponseBase::setMimeType):
  57448. (WebCore::ResourceResponseBase::expectedContentLength):
  57449. (WebCore::ResourceResponseBase::setExpectedContentLength):
  57450. (WebCore::ResourceResponseBase::textEncodingName):
  57451. (WebCore::ResourceResponseBase::setTextEncodingName):
  57452. (WebCore::ResourceResponseBase::suggestedFilename):
  57453. (WebCore::ResourceResponseBase::setSuggestedFilename):
  57454. (WebCore::ResourceResponseBase::httpStatusCode):
  57455. (WebCore::ResourceResponseBase::setHTTPStatusCode):
  57456. (WebCore::ResourceResponseBase::httpStatusText):
  57457. (WebCore::ResourceResponseBase::setHTTPStatusText):
  57458. (WebCore::ResourceResponseBase::httpHeaderField):
  57459. (WebCore::ResourceResponseBase::setHTTPHeaderField):
  57460. (WebCore::ResourceResponseBase::httpHeaderFields):
  57461. (WebCore::ResourceResponseBase::isAttachment):
  57462. (WebCore::ResourceResponseBase::setExpirationDate):
  57463. (WebCore::ResourceResponseBase::expirationDate):
  57464. (WebCore::ResourceResponseBase::setLastModifiedDate):
  57465. (WebCore::ResourceResponseBase::lastModifiedDate):
  57466. (WebCore::ResourceResponseBase::updateResourceResponse):
  57467. * platform/network/ResourceResponseBase.h: Copied from platform/network/ResourceResponse.h.
  57468. (WebCore::ResourceResponseBase::ResourceResponseBase):
  57469. * platform/network/cf/ResourceResponse.h: Added.
  57470. (WebCore::ResourceResponse::ResourceResponse):
  57471. * platform/network/curl/ResourceResponse.h: Added.
  57472. (WebCore::ResourceResponse::ResourceResponse):
  57473. (WebCore::ResourceResponse::doUpdateResourceResponse):
  57474. * platform/network/mac/ResourceResponse.h: Added.
  57475. (WebCore::ResourceResponse::ResourceResponse):
  57476. * platform/network/qt/ResourceResponse.h: Added.
  57477. (WebCore::ResourceResponse::ResourceResponse):
  57478. (WebCore::ResourceResponse::doUpdateResourceResponse):
  57479. 2007-11-11 Justin Haygood <jhaygood@reaktix.com>
  57480. Reviewed by Adam Roben.
  57481. http://bugs.webkit.org/show_bug.cgi?id=15939
  57482. Adds a currentThread API for use by SQLiteDatabase, etc.
  57483. * platform/Threading.h:
  57484. * platform/ThreadingNone.cpp:
  57485. (WebCore::currentThread):
  57486. * platform/gtk/ThreadingGtk.cpp:
  57487. (WebCore::identifierByGthreadHandle):
  57488. * platform/pthreads/ThreadingPthreads.cpp:
  57489. (WebCore::identifierByPthreadHandle):
  57490. (WebCore::currentThread):
  57491. 2007-11-11 Dan Bernstein <mitz@apple.com>
  57492. Reviewed by Adam Roben.
  57493. - fix http://bugs.webkit.org/show_bug.cgi?id=15942
  57494. REGRESSION: Selecting "Edit Html" tab in Blogger causes crash (Assertion failed: isRange())
  57495. Test: editing/selection/cleared-by-relayout.html
  57496. * editing/Selection.cpp:
  57497. (WebCore::Selection::toRange): Check if the selection has been cleared
  57498. by updating layout.
  57499. 2007-11-11 Darin Adler <darin@apple.com>
  57500. Reviewed by Mark Rowe.
  57501. - fix line numbers that were off since my recent patch
  57502. * platform/SegmentedString.h:
  57503. (WebCore::SegmentedSubstring::SegmentedSubstring): Reversed the sense of m_excludeLineNumbers
  57504. and rename it to m_doNotExcludeLineNumbers.
  57505. (WebCore::SegmentedSubstring::excludeLineNumbers): Updated.
  57506. (WebCore::SegmentedSubstring::doNotExcludeLineNumbers): Added.
  57507. (WebCore::SegmentedSubstring::setExcludeLineNumbers): Updated.
  57508. (WebCore::SegmentedString::advance): Use doNotExcludeLineNumbers to reverse the sense and fix
  57509. the regression, but keep the speediness. I accidentally had removed a ! here.
  57510. * platform/SegmentedString.cpp:
  57511. (WebCore::SegmentedString::advanceSlowCase): Use doNotExcludeLineNumbers.
  57512. 2007-11-11 Oliver Hunt <oliver@apple.com>
  57513. Reviewed by Darin.
  57514. Fix for <rdar://problem/5585334> numfuzz: integer overflows opening
  57515. malformed SVG file in WebCore::ImageBuffer::create. Add protection
  57516. against a potential overflow.
  57517. * platform/graphics/cg/ImageBufferCG.cpp:
  57518. 2007-11-11 Antti Koivisto <antti@apple.com>
  57519. Reviewed by Darin.
  57520. Fix a bunch of cases where the exception code is checked by the function but is not zeroed first.
  57521. * bindings/js/kjs_binding.cpp:
  57522. (KJS::setDOMException):
  57523. * dom/Attr.cpp:
  57524. (WebCore::Attr::setPrefix):
  57525. * dom/Document.cpp:
  57526. (WebCore::Document::createElement):
  57527. * dom/Element.cpp:
  57528. (WebCore::Element::setPrefix):
  57529. * dom/Range.cpp:
  57530. (WebCore::Range::setStart):
  57531. (WebCore::Range::setEnd):
  57532. (WebCore::Range::isPointInRange):
  57533. (WebCore::Range::comparePoint):
  57534. (WebCore::Range::compareBoundaryPoints):
  57535. (WebCore::Range::deleteContents):
  57536. (WebCore::Range::processContents):
  57537. (WebCore::Range::extractContents):
  57538. (WebCore::Range::insertNode):
  57539. (WebCore::Range::setStartAfter):
  57540. (WebCore::Range::setEndBefore):
  57541. (WebCore::Range::setEndAfter):
  57542. (WebCore::Range::selectNode):
  57543. (WebCore::Range::surroundContents):
  57544. (WebCore::Range::setStartBefore):
  57545. * editing/TextIterator.cpp:
  57546. (WebCore::TextIterator::TextIterator):
  57547. * html/CanvasRenderingContext2D.cpp:
  57548. (WebCore::CanvasRenderingContext2D::createPattern):
  57549. * html/HTMLMediaElement.cpp:
  57550. (WebCore::HTMLMediaElement::play):
  57551. (WebCore::HTMLMediaElement::pause):
  57552. * html/HTMLSelectElement.cpp:
  57553. (WebCore::HTMLSelectElement::add):
  57554. (WebCore::HTMLSelectElement::setOption):
  57555. * xml/XPathEvaluator.cpp:
  57556. (WebCore::XPathEvaluator::evaluate):
  57557. 2007-11-11 Darin Adler <darin@apple.com>
  57558. Reviewed by Mitz.
  57559. - http://bugs.webkit.org/show_bug.cgi?id=15945
  57560. speed up GraphicsContextCG typical case by skipping roundToDevicePixels
  57561. * platform/graphics/cg/GraphicsContextCG.cpp:
  57562. (WebCore::GraphicsContext::restorePlatformState): Clear the flag since we no
  57563. longer know if the transform is identity or not.
  57564. (WebCore::GraphicsContext::strokeArc): Removed an extra set of redundant
  57565. CGContextSave/RestoreGState.
  57566. (WebCore::GraphicsContext::beginTransparencyLayer): Clear the flag since we no
  57567. longer know if the transform is identity or not.
  57568. (WebCore::GraphicsContext::endTransparencyLayer): Ditto.
  57569. (WebCore::GraphicsContext::scale): Ditto.
  57570. (WebCore::GraphicsContext::rotate): Ditto.
  57571. (WebCore::GraphicsContext::translate): Ditto.
  57572. (WebCore::GraphicsContext::concatCTM): Ditto.
  57573. (WebCore::GraphicsContext::roundToDevicePixels): Return quickly if the transform
  57574. is known to be identity, and record that fact when we discover it otherwise.
  57575. * platform/graphics/cg/GraphicsContextPlatformPrivate.h:
  57576. (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
  57577. Added a m_userToDeviceTransformKnownToBeIdentity flag, initialized to false.
  57578. 2007-11-11 Darin Adler <darin@apple.com>
  57579. Reviewed by Mitz.
  57580. - http://bugs.webkit.org/show_bug.cgi?id=15944
  57581. streamline SegmentedString to speed up parsing
  57582. I measured a speed-up of the page load test while developing this patch. I don't
  57583. have a precise figure, though.
  57584. * html/HTMLTokenizer.h: Removed unneeded lineNumberPtr() function. Also renamed
  57585. lineno to m_lineNumber.
  57586. * html/HTMLTokenizer.cpp:
  57587. (WebCore::HTMLTokenizer::processListing): Don't pass 0 to the advance function
  57588. since we don't want to update a line number.
  57589. (WebCore::HTMLTokenizer::parseSpecial): Ditto.
  57590. (WebCore::HTMLTokenizer::parseComment): Pass the line number data member directly
  57591. instead of lineNumberPtr() since the advance function now takes a reference.
  57592. (WebCore::HTMLTokenizer::parseServer): Ditto.
  57593. (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto.
  57594. (WebCore::HTMLTokenizer::parseText): Ditto.
  57595. (WebCore::HTMLTokenizer::parseEntity): Ditto.
  57596. (WebCore::HTMLTokenizer::parseTag): Ditto.
  57597. (WebCore::HTMLTokenizer::write): Ditto.
  57598. * loader/FTPDirectoryDocument.cpp: (WebCore::FTPDirectoryTokenizer::write):
  57599. * loader/TextDocument.cpp: (WebCore::TextTokenizer::write):
  57600. Don't pass 0 to the advance function.
  57601. * platform/SegmentedString.h: (WebCore::SegmentedString::advance): Streamlined
  57602. the most common case, and pushed less common cases into a separate function
  57603. that is not inlined. Also got rid of a branch by separating the case with a
  57604. line number from the case without one.
  57605. * platform/SegmentedString.cpp: (WebCore::SegmentedString::advanceSlowCase):
  57606. Added. The aforementioned less common cases are here.
  57607. 2007-11-11 Antti Koivisto <antti@apple.com>
  57608. Forgot to do this review change (and test HTTP commit).
  57609. * html/HTMLMediaElement.cpp:
  57610. (WebCore::HTMLMediaElement::play):
  57611. 2007-11-11 Antti Koivisto <antti@apple.com>
  57612. Reviewed by Darin.
  57613. - Update play() and pause() to match current HTML5 draft
  57614. - send events asynchronously
  57615. - add timeupdate event to pause
  57616. - rethrow load() exception, not others
  57617. - Use list for async events to get ordering right
  57618. Tests: media/video-pause-empty-events.html
  57619. media/video-play-empty-events.html
  57620. media/video-play-pause-events.html
  57621. media/video-play-pause-exception.html
  57622. * html/HTMLMediaElement.cpp:
  57623. (WebCore::HTMLMediaElement::dispatchEventAsync):
  57624. (WebCore::HTMLMediaElement::asyncEventTimerFired):
  57625. (WebCore::HTMLMediaElement::play):
  57626. (WebCore::HTMLMediaElement::pause):
  57627. * html/HTMLMediaElement.h:
  57628. 2007-11-11 Nikolas Zimmermann <zimmermann@kde.org>
  57629. Reviewed by Eric.
  57630. Fixes: http://bugs.webkit.org/show_bug.cgi?id=6424 (<text>, <tspan> dominant-baseline attribute is not respected)
  57631. Add (basic) support for dominant-baseline / alignment-baseline text properties.
  57632. Note: there are no official testcases, and no-one implemented it before. Only ASV3
  57633. supported dominant-baseline, but not correct it seems.
  57634. * rendering/SVGRootInlineBox.cpp:
  57635. (WebCore::dominantBaselineToShift):
  57636. (WebCore::alignmentBaselineToShift):
  57637. (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
  57638. 2007-11-11 Adam Roben <aroben@apple.com>
  57639. Add wrappers around CoCreateInstance to COMPtr
  57640. I followed the example of the Query constructor and query method by
  57641. adding a Create constructor and create method.
  57642. Reviewed by Darin.
  57643. * platform/win/COMPtr.h:
  57644. (COMPtr::COMPtr): Added a new constructor that calls
  57645. CoCreateInstance.
  57646. (COMPtr::create): Added.
  57647. (COMPtr::createInstance): Added.
  57648. 2007-11-11 Alexey Proskuryakov <ap@nypop.com>
  57649. Reviewed by Darin.
  57650. http://bugs.webkit.org/show_bug.cgi?id=15896
  57651. More editing cleanup
  57652. No functionality changes.
  57653. * dom/Node.h: Moved several editing-related methods elsewhere.
  57654. * dom/Node.cpp: (WebCore::Node::maxCharacterOffset): Renamed from maxOffset()
  57655. to highlight that it is a match to offsetInCharacters(), and much different from other
  57656. offset-related methods. Added ASSERT_NOT_REACHED(), as callers are supposed to check
  57657. offsetInCharacters() before calling this.
  57658. * dom/CharacterData.cpp: (WebCore::CharacterData::maxCharacterOffset):
  57659. * dom/CharacterData.h: (WebCore::CharacterData::isCharacterDataNode):
  57660. Updated for above renamings.
  57661. * dom/Comment.{h,cpp}: Removed an override for offsetInCharacters(), which is already present in CharacterData.
  57662. * dom/Document.{h,cpp}: Folded updateSelection() into Frame::selectionLayoutChanged().
  57663. * dom/Position.h:
  57664. * dom/Position.cpp:
  57665. (WebCore::Position::uncheckedPreviousOffset): Moved from Node::previousOffset().
  57666. (WebCore::Position::uncheckedNextOffset): Moved from Node::NextOffset().
  57667. (WebCore::Position::previous): Adapted to the above move.
  57668. (WebCore::Position::next): Ditto.
  57669. (WebCore::Position::upstream): Removed an isBR() check, since a non-BR element cannot have a BR renderer (I think),
  57670. and BR elements are covered by editingIgnoresContent().
  57671. (WebCore::Position::downstream): Ditto.
  57672. (WebCore::caretMaxRenderedOffset): Moved from Node::caretMaxRenderedOffset().
  57673. (WebCore::Position::rendersInDifferentPosition): Updated for the above moves.
  57674. * dom/PositionIterator.h: Added a comment describing this class from the original check-in.
  57675. * dom/PositionIterator.cpp:
  57676. (WebCore::PositionIterator::increment): Updated for the above moves.
  57677. (WebCore::PositionIterator::decrement): Ditto.
  57678. * dom/ProcessingInstruction.h:
  57679. * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::maxCharacterOffset):
  57680. ProcessingInstruction was already returning true from offsetInCharacters(), but didn't override maxCharacterOffset().
  57681. I think that implementing it has no actual effect, as PIs are not rendered, but it looks cleaner this way.
  57682. * dom/Range.cpp:
  57683. (WebCore::Range::selectNodeContents):
  57684. * editing/ApplyStyleCommand.cpp:
  57685. (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
  57686. (WebCore::ApplyStyleCommand::applyInlineStyle):
  57687. (WebCore::maxRangeOffset):
  57688. (WebCore::ApplyStyleCommand::removeInlineStyle):
  57689. (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded):
  57690. (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded):
  57691. (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
  57692. (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
  57693. (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
  57694. * editing/CompositeEditCommand.cpp:
  57695. (WebCore::CompositeEditCommand::insertNodeAt):
  57696. (WebCore::CompositeEditCommand::positionOutsideTabSpan):
  57697. * editing/DeleteSelectionCommand.cpp:
  57698. (WebCore::DeleteSelectionCommand::handleGeneralDelete):
  57699. * editing/InsertLineBreakCommand.cpp:
  57700. (WebCore::InsertLineBreakCommand::doApply):
  57701. * editing/InsertParagraphSeparatorCommand.cpp:
  57702. (WebCore::InsertParagraphSeparatorCommand::doApply):
  57703. * editing/InsertTextCommand.cpp:
  57704. (WebCore::InsertTextCommand::insertTab):
  57705. * editing/visible_units.cpp:
  57706. (WebCore::previousLinePosition):
  57707. (WebCore::nextLinePosition):
  57708. Updated for the above moves.
  57709. * editing/Editor.cpp:
  57710. (WebCore::Editor::advanceToNextMisspelling): Added a missing rangeCompliantEquivalent() call.
  57711. * editing/TextIterator.cpp:
  57712. (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Changed the condition to obviously
  57713. match a maxCharacterOffset() call made after it; hopefully, this doesn't break any border cases.
  57714. (WebCore::SimplifiedBackwardsTextIterator::advance): Updated for the above moves.
  57715. * editing/htmlediting.h:
  57716. * editing/htmlediting.cpp:
  57717. (WebCore::canHaveChildrenForEditing): Removed a bogus comment: I don't thin BRs have a special ability to accept
  57718. child nodes, other than via DOM manipulation, which is not specific to BRs.
  57719. (WebCore::rangeCompliantEquivalent): Removed a check for BR, which is already covered by editingIgnoresContent().
  57720. (WebCore::maxDeepOffset): Ditto.
  57721. (WebCore::caretMinOffset): Moved from Node. Changed some runtime checks that seemingly cannot fail into assertions.
  57722. (WebCore::caretMaxOffset): Ditto.
  57723. * page/EventHandler.cpp:
  57724. (WebCore::EventHandler::handleMousePressEventSingleClick): Pass 0 to VisiblePosition constructor instead of
  57725. caretMinOffset. I didn't want to include htmlediting.h here, and I think that VisiblePosition constructor
  57726. will take care of adjusting the offset.
  57727. * page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged): Folded Document::updateSelection() here.
  57728. * page/mac/WebCoreFrameBridge.mm:
  57729. (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]): Added missing rangeCompliantEquivalent() calls.
  57730. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForRenderer): Changed to not round-trip via editing.
  57731. Changed some runtime checks that seemingly cannot fail into assertions.
  57732. 2007-11-11 Darin Adler <darin@apple.com>
  57733. Reviewed by Sam.
  57734. - updated for JSRegExp function changes
  57735. * platform/RegularExpression.cpp:
  57736. (WebCore::RegularExpression::Private::compile):
  57737. (WebCore::RegularExpression::match):
  57738. 2007-11-10 Mark Rowe <mrowe@apple.com>
  57739. Qt Linux build fix.
  57740. * platform/UnicodeRange.h:
  57741. 2007-11-10 Mark Rowe <mrowe@apple.com>
  57742. Qt Windows build fix.
  57743. * platform/UnicodeRange.h:
  57744. 2007-11-10 Nikolas Zimmermann <zimmermann@kde.org>
  57745. Reviewed by Eric.
  57746. Fixes: http://bugs.webkit.org/show_bug.cgi?id=15937 (Add glyph-orientation-horizontal/vertical support)
  57747. Fixes: http://bugs.webkit.org/show_bug.cgi?id=13971 (text-anchor support on vertical text seems slightly off)
  57748. Add glyph-orientation-* support for text & textPath. (90/180/270 and 'auto')
  57749. Also fix all vertical text handling - for text & textPath! (especially latin1 characters auto orientation in vertical writing modes)
  57750. * WebCore.pro: Add platform/UnicodeRange.cpp to build
  57751. * WebCore.xcodeproj/project.pbxproj: Dito.
  57752. * rendering/SVGCharacterLayoutInfo.cpp: Respect orientationShiftX/Y & angle in characterTransform()
  57753. (WebCore::SVGChar::characterTransform):
  57754. * rendering/SVGCharacterLayoutInfo.h: New variables.
  57755. (WebCore::SVGCharOnPath::SVGCharOnPath):
  57756. (WebCore::SVGChar::SVGChar):
  57757. * rendering/SVGRootInlineBox.cpp: Added glyph-orientation-* handling.
  57758. (WebCore::glyphOrientationToAngle):
  57759. (WebCore::glyphOrientationIsMultiplyOf180Degrees):
  57760. (WebCore::calculateGlyphAdvanceAndShiftRespectingOrientation):
  57761. (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
  57762. (WebCore::cummulatedWidthOrHeightOfTextChunk):
  57763. (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
  57764. 2007-11-10 Timothy Hatcher <timothy@apple.com>
  57765. Reviewed by Sam Weinig.
  57766. * page/inspector/StylesSidebarPane.js: Fix the wording of a comment
  57767. and switch over to use getUniqueProperties in another place.
  57768. 2007-11-10 John Sullivan <sullivan@apple.com>
  57769. Reviewed by Sam Weinig
  57770. Rest of fix for 5394877
  57771. * bindings/js/kjs_window.cpp:
  57772. (KJS::Window::isSafeScript):
  57773. Don't log unsafe JavaScript attempts in the other version of isSafeScript() if in
  57774. private browsing mode either.
  57775. 2007-11-10 Nikolas Zimmermann <zimmermann@kde.org>
  57776. Reviewed by Oliver.
  57777. Fix function name difference - header said 'unicodeRangeForCharacter', actually
  57778. implemented function is 'findCharUnicodeRange'. They are not compiled yet.
  57779. * platform/UnicodeRange.h:
  57780. 2007-11-10 Dan Bernstein <mitz@apple.com>
  57781. Reviewed by Darin Adler.
  57782. - fix <rdar://problem/5450655> Control-clicking text in a link can surprisingly select only part of the link, should select entire link
  57783. No test because context menu events cannot be tested in DumpRenderTree.
  57784. * page/EventHandler.cpp:
  57785. (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Added.
  57786. If the click occurred in an active link, selects the entire link
  57787. element. Otherwise selects the closest word.
  57788. (WebCore::EventHandler::sendContextMenuEvent): Call
  57789. selectClosestWordOrLinkFromMouseEvent().
  57790. * page/EventHandler.h:
  57791. 2007-11-10 John Sullivan <sullivan@apple.com>
  57792. Reviewed by Tim Hatcher
  57793. - fixed <rdar://problem/5394877> Safari should not log unsafe JavaScript attempts when
  57794. in private browsing mode (only an issue if Log JavaScript Exceptions is turned on)
  57795. * bindings/js/kjs_window.cpp:
  57796. (KJS::Window::isSafeScript):
  57797. Don't log unsafe JavaScript attempts to console or chromeClient if in private browsing mode
  57798. 2007-11-10 Alexey Proskuryakov <ap@webkit.org>
  57799. Reviewed by Darin.
  57800. http://bugs.webkit.org/show_bug.cgi?id=15922
  57801. Implement more of Mozilla Selection API
  57802. Tests: editing/selection/containsNode.html
  57803. editing/selection/deleteFromDocument.html
  57804. editing/selection/extend.html
  57805. editing/selection/selectAllChildren.html
  57806. * editing/SelectionController.cpp:
  57807. (WebCore::SelectionController::deleteFromDocument):
  57808. (WebCore::SelectionController::containsNode):
  57809. (WebCore::SelectionController::selectAllChildren):
  57810. (WebCore::SelectionController::extend):
  57811. * editing/SelectionController.h:
  57812. Added deleteFromDocument(), containsNode(), and selectAllChildren(). Reimplemented extend(),
  57813. which existed, but didn't match Firefox behavior and wasn't exposed via bindings.
  57814. Removed a comment mentioning removeRange(), as this method makes no sense without multiple
  57815. selection range support.
  57816. * page/DOMSelection.cpp:
  57817. (WebCore::DOMSelection::extend):
  57818. (WebCore::DOMSelection::deleteFromDocument):
  57819. (WebCore::DOMSelection::containsNode):
  57820. (WebCore::DOMSelection::selectAllChildren):
  57821. * page/DOMSelection.h:
  57822. * page/DOMSelection.idl:
  57823. Exposed the new methods.
  57824. 2007-11-10 Alexey Proskuryakov <ap@webkit.org>
  57825. Reviewed by Darin.
  57826. http://bugs.webkit.org/show_bug.cgi?id=15892
  57827. DOM Range operations are not implemented for ProcessingInstruction nodes
  57828. Test: fast/dom/Range/range-processing-instructions.html
  57829. * dom/Range.cpp:
  57830. (WebCore::Range::processContents): Implemented ProcessingInstruction cases.
  57831. (WebCore::Range::checkNodeWOffset): Removed a FIXME - yes, I think that we are supposed
  57832. to use ProcessingInstruction.data.
  57833. 2007-11-09 Timothy Hatcher <timothy@apple.com>
  57834. Reviewed by Mark Rowe.
  57835. Bug 12054: Ability to serialize an element subtree (into clipboard?) from the DOM inspector
  57836. http://bugs.webkit.org/show_bug.cgi?id=12054
  57837. - Add support code for routing copy events to the focused element.
  57838. - Implement copying the currently selected DOM node. The node
  57839. and it's subtree is copied to the clipboard. If the node has no
  57840. outerHTML, the nodeValue is copied (text nodes, etc.)
  57841. - Implement copy for the resource sidebar. The URL is copied for the
  57842. currently selected resource.
  57843. * page/inspector/DocumentPanel.js:
  57844. * page/inspector/inspector.js:
  57845. 2007-11-09 Antti Koivisto <antti@apple.com>
  57846. Reviewed by Adele.
  57847. Fix occasional blank video with poster attribute.
  57848. * html/HTMLMediaElement.cpp:
  57849. (WebCore::HTMLMediaElement::load):
  57850. (WebCore::HTMLMediaElement::didRestoreFromCache):
  57851. Just calling updateFromElement() does the right thing for both poster image and video.
  57852. 2007-11-04 Sam Weinig <sam@webkit.org>
  57853. Reviewed by Adam Roben.
  57854. <rdar://problem/5435940>
  57855. The COM bindings for the DOM should be autogenerated like the other DOM bindings
  57856. Initial commit of the autogeneration of the COM DOM Bindings. No behavior change
  57857. is being introduced in this patch and to insure that no conflicts arise, a temporary
  57858. prefix of "GEN_" has been used for all the new classes.
  57859. The build architecture for these bindings differs slightly from the other autogenerated
  57860. bindings. Instead of building in WebCore and migrating the resuting code to WebKit (as
  57861. is done for the Objective-C bindigs currently), the IDLs and generation scripts are
  57862. migrated to WebKit and built there. This is done with a series of scripts and Makefiles.
  57863. This commit includes:
  57864. - Hand rolled root class/Interface GEN_DOMObject used to facilated object creation
  57865. and ref-counting.
  57866. - Generating all of the Core DOM and most of HTML and CSS
  57867. - Generating Event, EventTarget, and EventListener
  57868. * WebCore.vcproj/MigrateIDLAndScripts.make: Added.
  57869. * WebCore.vcproj/WebCore.vcproj:
  57870. * WebCore.vcproj/migrate-idls.sh: Added.
  57871. * bindings/scripts/CodeGenerator.pm:
  57872. * bindings/scripts/CodeGeneratorCOM.pm: Added.
  57873. * dom/EventListener.h: Make the isWindowEvent parameter default to false
  57874. to allow autogeneration based on the IDL.
  57875. 2007-11-09 Tristan O'Tierney <tristan@apple.com>
  57876. Reviewed by Timothy Hatcher.
  57877. This patch is for the WebKit side of <rdar://problem/5591115>.
  57878. We need a way to tell context menu navigations, such as "Open in New Window"
  57879. to override any sort of browser preference for tab based navigation.
  57880. * bridge/WindowFeatures.h:
  57881. (WebCore::WindowFeatures::WindowFeatures):
  57882. Added a new struct member var, preferredType
  57883. and an accompanying enum type PreferredType
  57884. to send a window type recommendation up to the Chrome.
  57885. * page/ContextMenuController.cpp:
  57886. (WebCore::openNewWindow):
  57887. Set the window features to recommend a new Window for
  57888. "Open in New Window" context menu action.
  57889. 2007-11-08 Adam Roben <aroben@apple.com>
  57890. Fix <rdar://5483519> Pressing Enter on selected buttons should fire onclick
  57891. We now match the behavior of Firefox and IE, which is to always just
  57892. send a click event to the focused button when the Enter key is pressed
  57893. (previously we were submitting forms directly in some cases).
  57894. Reviewed by Adele.
  57895. Test: fast/forms/enter-clicks-buttons.html
  57896. * html/HTMLButtonElement.cpp:
  57897. (WebCore::HTMLButtonElement::defaultEventHandler): Don't do anything
  57898. fancy when Enter is pressed on a <button type=button> -- just send a
  57899. click event like we do for other button types.
  57900. * html/HTMLInputElement.cpp:
  57901. (WebCore::HTMLInputElement::defaultEventHandler): Treat type=button
  57902. the same way we treat type=submit and type=reset: just send a click
  57903. event when Enter is pressed.
  57904. 2007-11-09 Dan Bernstein <mitz@apple.com>
  57905. Reviewed by Antti Koivisto.
  57906. - fix a bug in invisible layer culling: dynamically changing a
  57907. descendant of an invisible layer to be visible did not work
  57908. Test: fast/layers/layer-content-visibility-change.html
  57909. * rendering/RenderLayer.cpp:
  57910. (WebCore::RenderLayer::setHasVisibleContent): If we got visible content,
  57911. make sure that our stacking context rebuilds its z-order lists to
  57912. include us.
  57913. 2007-11-09 David Hyatt <hyatt@apple.com>
  57914. Clean up matrix() parsing. Make sure the first four arguments can be lengths or numbers. The last two
  57915. args can be lengths or numbers or percents.
  57916. Reviewed by Beth
  57917. * WebCore.xcodeproj/project.pbxproj:
  57918. * css/CSSParser.cpp:
  57919. (WebCore::TransformOperationInfo::TransformOperationInfo):
  57920. (WebCore::CSSParser::parseTransform):
  57921. * rendering/RenderStyle.h:
  57922. (WebCore::MatrixTransformOperation::apply):
  57923. 2007-11-09 Beth Dakin <bdakin@apple.com>
  57924. Reviewed by Oliver.
  57925. Fix for <rdar://problem/5586370> CSS Transform - incorrect matrix
  57926. math leads to crazy problems
  57927. Transform matrices accept the first four parameters as CSS lengths.
  57928. CSS lengths get mapped into WebCore::Lengths as percents by
  57929. WebCore::convertToLength(). Percent lengths cannot call value(). It
  57930. does not yield a correct result and it asserts on Debug builds.
  57931. * rendering/RenderStyle.h:
  57932. (WebCore::MatrixTransformOperation::apply): Instead of calling
  57933. value() on the lengths, call calcValue. This fixes the assert and
  57934. the bad rendering.
  57935. 2007-11-09 Simon Hausmann <hausmann@kde.org>
  57936. build/link fix for Qt/Windows.
  57937. userIdleTime() is stubbed in win/SystemTimeWin.cpp, so don't
  57938. define it twice.
  57939. * platform/qt/TemporaryLinkStubs.cpp:
  57940. 2007-11-09 Simon Hausmann <hausmann@kde.org>
  57941. Reviewed by Holger.
  57942. Fix ContextMenu allocation in the Qt port.
  57943. Store all items and submenus value based in ContextMenu and ContextMenuItem.
  57944. That fixes the crashes when the context menu was populated with sub-menus because
  57945. of the use of temporary ContextMenu objects like this:
  57946. ContextMenu subMenu(...);
  57947. subMenu.appendItem(...);
  57948. subMenu.appendItem(...);
  57949. subMenuItem.setSubMenu(&subMenu); // temporary pointer, need to _copy_ contents
  57950. * platform/ContextMenu.h:
  57951. * platform/ContextMenuItem.h:
  57952. * platform/PlatformMenuDescription.h:
  57953. * platform/qt/ContextMenuItemQt.cpp:
  57954. (WebCore::ContextMenuItem::ContextMenuItem):
  57955. (WebCore::ContextMenuItem::platformSubMenu):
  57956. * platform/qt/ContextMenuQt.cpp:
  57957. (WebCore::ContextMenu::ContextMenu):
  57958. (WebCore::ContextMenu::~ContextMenu):
  57959. (WebCore::ContextMenu::appendItem):
  57960. (WebCore::ContextMenu::itemCount):
  57961. 2007-11-09 Peter Kasting <pkasting@google.com>
  57962. Reviewed by Mark Rowe.
  57963. http://bugs.webkit.org/show_bug.cgi?id=15909
  57964. Malformed GIFs should not result in memory corruption.
  57965. * platform/image-decoders/gif/GIFImageDecoder.cpp:
  57966. (WebCore::GIFImageDecoder::haveDecodedRow):
  57967. 2007-11-08 Timothy Hatcher <timothy@apple.com>
  57968. Reviewed by Sam Weinig.
  57969. Some Web Inspector CSS editing changes.
  57970. - Only delete the property if all the text is delete or the new user input correctly parses.
  57971. This prevents deleting the existing property if the new text is invalid.
  57972. - Intercept the Escape key and cancel editing, not saving any changes.
  57973. * page/inspector/StylesSidebarPane.js:
  57974. 2007-11-08 Kevin Ollivier <kevino@theolliviers.com>
  57975. Bakefiles for building WebCore, needed by wx port.
  57976. Reviewed by Mark Rowe.
  57977. * WebCoreSources.bkl: Added.
  57978. * webcore-base.bkl: Added.
  57979. * webcore-wx.bkl: Added.
  57980. 2007-11-08 Justin Haygood <jhaygood@reaktix.com>
  57981. Reviewed by Mark Rowe.
  57982. http://bugs.webkit.org/show_bug.cgi?id=15905
  57983. Fix builds with HTML 5 Storage support disabled.
  57984. ENABLE(DATABASE) needs to be added in a few places.
  57985. * page/InspectorController.cpp:
  57986. * storage/Database.h:
  57987. 2007-11-08 Steve Falkenburg <sfalken@apple.com>
  57988. <rdar://problem/5524082> Allow images to be dragged out directly into other apps
  57989. We weren't including CF_HDROP in our image drops. This broke drag of
  57990. images out of the browser window directly into other apps (examples
  57991. include notepad, mspaint, msword).
  57992. Reviewed by Oliver, Ada.
  57993. * platform/win/ClipboardWin.cpp:
  57994. (WebCore::createGlobalImageFileContent): Removed unused variable.
  57995. (WebCore::createGlobalHDropContent): Added
  57996. (WebCore::writeFileToDataObject): Write HDROP data if available.
  57997. (WebCore::writeImageToDataObject): Write HDROP for dragged images.
  57998. (WebCore::ClipboardWin::writeURL): Don't write HDROP for dragged URLs.
  57999. 2007-11-08 Xan Lopez <xan@gnome.org>
  58000. Reviewed by Alp.
  58001. http://bugs.webkit.org/show_bug.cgi?id=15908
  58002. Use g_object_ref_sink when available
  58003. * platform/gtk/PopupMenuGtk.cpp:
  58004. (WebCore::PopupMenu::show):
  58005. * platform/gtk/ScrollViewGtk.cpp:
  58006. (WebCore::ScrollView::setGtkAdjustments):
  58007. 2007-11-08 Dan Bernstein <mitz@apple.com>
  58008. Reviewed by Beth Dakin.
  58009. - fix <rdar://problem/5491922> REGRESSION (Safari 2-3): Flash-based "Cash Optimizer" on etrade.com does not draw completely
  58010. Test: fast/dom/length-attribute-mapping.html
  58011. * dom/StyledElement.cpp:
  58012. (WebCore::StyledElement::addCSSLength): Changed the garbage-stripping
  58013. logic to stop after the first "%" or "*" in the string. This allows for
  58014. "100%25" to be mapped to "100%" like it is in Firefox and WinIE.
  58015. 2007-11-08 Kevin McCullough <kmccullough@apple.com>
  58016. - Build fix.
  58017. * loader/FrameLoaderClient.h:
  58018. * platform/graphics/svg/SVGImageEmptyClients.h:
  58019. (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
  58020. 2007-11-08 Kevin McCullough <kmccullough@apple.com>
  58021. Reviewed by Sam.
  58022. - windowObjectCleared() is no longer const. It needs to setup the
  58023. script debugger and cannot be const to do so.
  58024. * loader/FrameLoaderClient.h:
  58025. * platform/graphics/svg/SVGImageEmptyClients.h:
  58026. (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
  58027. 2007-11-08 Adam Roben <aroben@apple.com>
  58028. Hopeful Windows build fix
  58029. * rendering/RenderObject.cpp: Touch this file to make it recompile.
  58030. 2007-11-08 Sam Weinig <sam@webkit.org>
  58031. Reviewed by Darin.
  58032. Convert JavaScript internal function objects to use one class per
  58033. function. This avoids a switch statement inside what used to be
  58034. the shared function classes and will allow Shark to better analyze
  58035. the code.
  58036. To make this switch, the value property of the HashEntry was changed
  58037. to a union of an intptr_t (which is used to continue handle valueGetters)
  58038. and function pointer which points to a static constructor for the
  58039. individual new function objects.
  58040. SunSpider claims this is a 1.0% speedup.
  58041. - On the WebCore side, I updated CodeGeneratorJS.pm to generate the
  58042. new classes and hand updated the remain non-generated (groan) classes.
  58043. * bindings/js/JSDOMWindowCustom.cpp:
  58044. (WebCore::JSDOMWindow::customGetOwnPropertySlot):
  58045. * bindings/js/JSEventTargetNode.cpp:
  58046. (WebCore::JSEventTargetNodePrototypeFunctionAddEventListener::callAsFunction):
  58047. (WebCore::JSEventTargetNodePrototypeFunctionRemoveEventListener::callAsFunction):
  58048. (WebCore::JSEventTargetNodePrototypeFunctionDispatchEvent::callAsFunction):
  58049. * bindings/js/JSEventTargetNode.h:
  58050. * bindings/js/JSHTMLInputElementBase.cpp:
  58051. (WebCore::JSHTMLInputElementBaseFunctionSetSelectionRange::callAsFunction):
  58052. (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
  58053. * bindings/js/JSHTMLInputElementBase.h:
  58054. (WebCore::JSHTMLInputElementBase::):
  58055. * bindings/js/JSXMLHttpRequest.cpp:
  58056. (KJS::JSXMLHttpRequestPrototypeFunctionAbort::callAsFunction):
  58057. (KJS::JSXMLHttpRequestPrototypeFunctionGetAllResponseHeaders::callAsFunction):
  58058. (KJS::JSXMLHttpRequestPrototypeFunctionGetResponseHeader::callAsFunction):
  58059. (KJS::JSXMLHttpRequestPrototypeFunctionOpen::callAsFunction):
  58060. (KJS::JSXMLHttpRequestPrototypeFunctionSend::callAsFunction):
  58061. (KJS::JSXMLHttpRequestPrototypeFunctionSetRequestHeader::callAsFunction):
  58062. (KJS::JSXMLHttpRequestPrototypeFunctionOverrideMIMEType::callAsFunction):
  58063. (KJS::JSXMLHttpRequestPrototypeFunctionAddEventListener::callAsFunction):
  58064. (KJS::JSXMLHttpRequestPrototypeFunctionRemoveEventListener::callAsFunction):
  58065. (KJS::JSXMLHttpRequestPrototypeFunctionDispatchEvent::callAsFunction):
  58066. * bindings/js/JSXMLHttpRequest.h:
  58067. (KJS::JSXMLHttpRequest::impl):
  58068. * bindings/js/JSXSLTProcessor.cpp:
  58069. (KJS::JSXSLTProcessorPrototypeFunctionImportStylesheet::callAsFunction):
  58070. (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
  58071. (KJS::JSXSLTProcessorPrototypeFunctionTransformToDocument::callAsFunction):
  58072. (KJS::JSXSLTProcessorPrototypeFunctionSetParameter::callAsFunction):
  58073. (KJS::JSXSLTProcessorPrototypeFunctionGetParameter::callAsFunction):
  58074. (KJS::JSXSLTProcessorPrototypeFunctionRemoveParameter::callAsFunction):
  58075. (KJS::JSXSLTProcessorPrototypeFunctionClearParameters::callAsFunction):
  58076. (KJS::JSXSLTProcessorPrototypeFunctionReset::callAsFunction):
  58077. * bindings/js/JSXSLTProcessor.h:
  58078. * bindings/js/kjs_events.cpp:
  58079. (WebCore::JSClipboardPrototypeFunctionClearData::callAsFunction):
  58080. (WebCore::JSClipboardPrototypeFunctionGetData::callAsFunction):
  58081. (WebCore::JSClipboardPrototypeFunctionSetData::callAsFunction):
  58082. (WebCore::JSClipboardPrototypeFunctionSetDragImage::callAsFunction):
  58083. * bindings/js/kjs_events.h:
  58084. * bindings/js/kjs_navigator.cpp:
  58085. (KJS::Plugins::):
  58086. (KJS::Navigator::getOwnPropertySlot):
  58087. (KJS::Plugins::getOwnPropertySlot):
  58088. (KJS::PluginsFunctionRefresh::callAsFunction):
  58089. (KJS::NavigatorProtoFuncJavaEnabled::callAsFunction):
  58090. * bindings/js/kjs_navigator.h:
  58091. (KJS::Navigator::):
  58092. * bindings/js/kjs_window.cpp:
  58093. (KJS::Window::getOwnPropertySlot):
  58094. (KJS::Window::put):
  58095. (KJS::WindowProtoFuncAToB::callAsFunction):
  58096. (KJS::WindowProtoFuncBToA::callAsFunction):
  58097. (KJS::WindowProtoFuncOpen::callAsFunction):
  58098. (KJS::WindowProtoFuncScrollBy::callAsFunction):
  58099. (KJS::WindowProtoFuncScrollTo::callAsFunction):
  58100. (KJS::WindowProtoFuncMoveBy::callAsFunction):
  58101. (KJS::WindowProtoFuncMoveTo::callAsFunction):
  58102. (KJS::WindowProtoFuncResizeBy::callAsFunction):
  58103. (KJS::WindowProtoFuncResizeTo::callAsFunction):
  58104. (KJS::WindowProtoFuncSetTimeout::callAsFunction):
  58105. (KJS::WindowProtoFuncClearTimeout::callAsFunction):
  58106. (KJS::WindowProtoFuncSetInterval::callAsFunction):
  58107. (KJS::WindowProtoFuncAddEventListener::callAsFunction):
  58108. (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
  58109. (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
  58110. (KJS::WindowProtoFuncNotImplemented::callAsFunction):
  58111. (KJS::Location::getOwnPropertySlot):
  58112. (KJS::Location::put):
  58113. (KJS::LocationProtoFuncReplace::callAsFunction):
  58114. (KJS::LocationProtoFuncReload::callAsFunction):
  58115. (KJS::LocationProtoFuncAssign::callAsFunction):
  58116. (KJS::LocationProtoFuncToString::callAsFunction):
  58117. * bindings/js/kjs_window.h:
  58118. (KJS::Window::):
  58119. * bindings/scripts/CodeGeneratorJS.pm:
  58120. 2007-11-08 Mark Rowe <mrowe@apple.com>
  58121. Fix the Gtk, Qt and Wx builds.
  58122. * platform/gtk/TemporaryLinkStubs.cpp:
  58123. * platform/qt/TemporaryLinkStubs.cpp:
  58124. * platform/wx/TemporaryLinkStubs.cpp:
  58125. 2007-11-08 Mark Rowe <mrowe@apple.com>
  58126. Not reviewed. Fix two instances of includes using the wrong case in the filename.
  58127. * platform/graphics/mac/MoviePrivateQTKit.mm:
  58128. * platform/wx/MimeTypeRegistryWx.cpp:
  58129. 2007-11-08 Darin Adler <darin@apple.com>
  58130. Reviewed by Adam.
  58131. - fix <rdar://problem/5552943> accesskey does not focus <button> elements
  58132. Test: fast/forms/access-key.html
  58133. * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::accessKeyAction):
  58134. Added a call to focus.
  58135. 2007-11-07 Darin Adler <darin@apple.com>
  58136. Reviewed by Steve.
  58137. - cut down on notImplemented() functions on Windows
  58138. * bridge/AXObjectCache.h: Put #if around the accessibility
  58139. global.
  58140. * bridge/win/FrameWin.cpp: (WebCore::Frame::setNeedsReapplyStyles):
  58141. Moved here from TemporaryLinkStubs.
  58142. * dom/Document.cpp: (WebCore::Document::lastModified): Re-implemented
  58143. using the ResourceResponse that's now available from the DocumentLoader.
  58144. * editing/JSEditor.cpp: (execTranspose): Changed to call transpose() on
  58145. the Editor instead of the obsolete one on the Frame.
  58146. * loader/DocumentLoader.h: Removed getResponseModifiedHeader.
  58147. * loader/FrameLoader.h: Removed overrideMediaType.
  58148. * loader/gtk/DocumentLoaderGtk.cpp: Removed.
  58149. * loader/mac/DocumentLoaderMac.mm: Removed.
  58150. * loader/qt/DocumentLoaderQt.cpp: Removed.
  58151. * page/Frame.cpp: Removed transpose.
  58152. * page/Frame.h: Ditto.
  58153. * page/FrameView.h: Removed updateBorder.
  58154. * page/gtk/FrameGtk.cpp: Removed issueTransposeCommand.
  58155. * page/mac/FrameMac.mm: Ditto.
  58156. * page/mac/WebCoreFrameBridge.h: Removed issueTransposeCommand and
  58157. overrideMediaType.
  58158. * page/qt/FrameQt.cpp: Removed issueTransposeCommand.
  58159. * platform/gtk/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled.
  58160. * platform/qt/TemporaryLinkStubs.cpp: Ditto.
  58161. * platform/win/TemporaryLinkStubs.cpp: Removed or moved all but 3 of the stubs.
  58162. * platform/wx/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled,
  58163. issueTransposeCommand, and overrideMediaType.
  58164. * platform/network/cf/ResourceHandleCFNet.cpp:
  58165. (WebCore::ResourceHandle::loadsBlocked): Moved here from TemporaryLinkStubs.
  58166. (WebCore::ResourceHandle::willLoadFromCache): Ditto.
  58167. * platform/win/GraphicsContextWin.cpp:
  58168. (WebCore::GraphicsContextPlatformPrivate::clip): Ditto.
  58169. * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::inWindow): Ditto.
  58170. * platform/win/SystemTimeWin.cpp: (WebCore::userIdleTime): Ditto.
  58171. * platform/win/WidgetWin.cpp: (WebCore::Widget::setIsSelected): Ditto.
  58172. * WebCore.pro: Updated for removed files.
  58173. * WebCore.xcodeproj/project.pbxproj: Updated for removed file.
  58174. 2007-11-08 Mark Rowe <mrowe@apple.com>
  58175. Build fix for case-sensitive file systems. Fix case of file names
  58176. in #include's.
  58177. * html/HTMLMediaElement.cpp:
  58178. * platform/graphics/Movie.cpp:
  58179. 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  58180. Reviewed by Lars Knoll <lars@trolltech.com>.
  58181. Remove some warnings about not implemented methods.
  58182. * ResourceHandle::loadsBlocked and ResourceHandle::supportsBufferedData are
  58183. specific to the NS API and won't be implemented on Qt.
  58184. * ResourceHandle::bufferedData can not be reached as we return false in
  58185. ResourceHandle::supportsBufferedData.
  58186. * platform/network/qt/ResourceHandleQt.cpp:
  58187. (WebCore::ResourceHandle::supportsBufferedData):
  58188. 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  58189. Reviewed by Lars Knoll <lars@trolltech.com>.
  58190. Cleanup checking for the request method.
  58191. * Check the request method only in QWebNetworkManager::add.
  58192. * Currently HEAD, GET, POST are allowed and for everything else
  58193. QWebNetworkManager::add returns false.
  58194. * Returning false is compatible with ResourceHandle::start and it
  58195. can be used in ResourceHandle::loadResourceSynchronously to generate
  58196. a ResourceError
  58197. * platform/network/qt/ResourceHandleQt.cpp:
  58198. (WebCore::ResourceHandle::start):
  58199. (WebCore::ResourceHandle::loadResourceSynchronously):
  58200. 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  58201. Reviewed by Lars Knoll <lars@trolltech.com>.
  58202. Implement WebCore::callOnMainThread
  58203. Implemented using a global QObject, that is moved to the main thread
  58204. and then sending a custom event to it.
  58205. Picked a number below QEvent::User but above any other documented value.
  58206. * platform/qt/ThreadingQt.cpp:
  58207. (WebCore::PerformFunctionEvent::PerformFunctionEvent):
  58208. (WebCore::MainThreadInvoker::MainThreadInvoker):
  58209. (WebCore::MainThreadInvoker::event):
  58210. (WebCore::callOnMainThread):
  58211. 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  58212. Reviewed by Lars Knoll <lars@trolltech.com>.
  58213. Avoid problems with calling QPainter::begin() on an already active paintdevice
  58214. * Partial pick from 6200e04c3e0a77873c3b3f3969b65bc701020326 to avoid getting
  58215. crashes on Qt/Mac 4.4 with QPainter::begin to fail because we already draw.
  58216. * If we are in a layout or need one do not paint. This can happen for the PlatformScrollBar
  58217. used by the ScrollView on a layout triggered by QWebPage::paintEvent.
  58218. * platform/qt/WidgetQt.cpp:
  58219. (WebCore::Widget::invalidateRect):
  58220. 2007-11-08 Eric Seidel <eric@webkit.org>
  58221. No review.
  58222. * ksvg2/svg/SVGPathElement.h: remove old comment
  58223. 2007-11-07 Antti Koivisto <antti@apple.com>
  58224. Reviewed by Ollie.
  58225. Ensure video renderer has correct size if video has already been loaded
  58226. when it is constructed.
  58227. * rendering/RenderVideo.cpp:
  58228. (WebCore::RenderVideo::RenderVideo):
  58229. 2007-11-07 Antti Koivisto <antti@apple.com>
  58230. Reviewed by Ollie.
  58231. Ensure video is visible when it should be.
  58232. * rendering/RenderVideo.cpp:
  58233. (WebCore::RenderVideo::updateMovie):
  58234. 2007-11-07 Dan Bernstein <mitz@apple.com>
  58235. Reviewed by Darin Adler.
  58236. - fix <rdar://problem/5523503> Safari crashes clicking scroll bar in FaceBook 'Trips'
  58237. Layers and listboxes are two kinds of ScrollBarClient that can be
  58238. removed while the scrollbar is tracking the mouse. The scrollbar is not
  58239. destroyed until later, and meanwhile it can try to call the client,
  58240. which results in a crash.
  58241. * manual-tests/stale-scrollbar-client-crash.html: Added.
  58242. * platform/ScrollBar.h:
  58243. (WebCore::Scrollbar::setClient): Added.
  58244. * rendering/RenderLayer.cpp:
  58245. (WebCore::RenderLayer::destroyScrollbar): Call Scrollbar::setClient().
  58246. * rendering/RenderListBox.cpp:
  58247. (WebCore::RenderListBox::~RenderListBox): Ditto.
  58248. 2007-11-07 Adam Roben <aroben@apple.com>
  58249. Fix <rdar://5569268> Crash when opening any FTP site in second tab/window
  58250. Reviewed by Sam.
  58251. No test possible.
  58252. * platform/win/SharedBufferWin.cpp:
  58253. (WebCore::SharedBuffer::createWithContentsOfFile): Bail if we get an
  58254. empty path, because _wfopen_s will crash if we pass it a null pointer.
  58255. 2007-11-07 David Kilzer <ddkilzer@apple.com>
  58256. WebKit confuses width/height for Media Queries device-aspect-ratio evaluation
  58257. <http://bugs.webkit.org/show_bug.cgi?id=14893>
  58258. <rdar://problem/5380295>
  58259. Reviewed by Darin.
  58260. Tests: fast/css/device-aspect-ratio.html
  58261. fast/css/max-device-aspect-ratio.html
  58262. fast/css/min-device-aspect-ratio.html
  58263. * css/MediaQueryEvaluator.cpp:
  58264. (WebCore::parseAspectRatio): Renamed method parameters from a/b to h/v.
  58265. (WebCore::device_aspect_ratioMediaFeatureEval): Renamed local variables from
  58266. a/b to h/v. Switched first two arguments of the call to cmpvalue() to fix
  58267. the bug.
  58268. 2007-11-07 Dan Bernstein <mitz@apple.com>
  58269. Reviewed by Dave Hyatt.
  58270. - fix http://bugs.webkit.org/show_bug.cgi?id=15887
  58271. REGRESSION (r27576): Crash in RenderStyle::affectedByHoverRules clicking link on Digg
  58272. Test: fast/css/display-none-inline-style-change-crash.html
  58273. * dom/Element.cpp:
  58274. (WebCore::Element::recalcStyle): Fixed the crash by null-checking
  58275. the current style and removed other checks that are not strictly
  58276. necessary.
  58277. 2007-11-07 Brady Eidson <beidson@apple.com>
  58278. Rubberstamped by Sam
  58279. Remove FrameLoaderClient methods from SVG that were pruned awhile ago
  58280. * platform/graphics/svg/SVGImageEmptyClients.h:
  58281. 2007-11-07 Dan Bernstein <mitz@apple.com>
  58282. Reviewed by Darin Adler.
  58283. - fix a bug where CSS rules with :hover in the ancestor chain stopped
  58284. working after changing the inline style declaration of the ancestor
  58285. Test: fast/css/affected-by-hover-after-style-change.html
  58286. * dom/Element.cpp:
  58287. (WebCore::Element::recalcStyle): If we are not forcing style
  58288. recalculation for all descendants, preserve any "affected by
  58289. {hover|active|drag} bits that we may have acquired from them.
  58290. Also renamed _style to currentStyle.
  58291. 2007-11-06 Timothy Hatcher <timothy@apple.com>
  58292. Reviewed by Adam.
  58293. Bug 11920: Web Inspector should have Firebug-like CSS editing
  58294. http://bugs.webkit.org/show_bug.cgi?id=11920
  58295. * css/CSSComputedStyleDeclaration.h:
  58296. (WebCore::CSSComputedStyleDeclaration::isPropertyImplicit): Return false. I'm not sure why
  58297. this was true, but computed style has no concept of implicit. So false makes more sense
  58298. and makes the code simpler in the inspector. This function was added for the inspector,
  58299. so this isn't a compatibility change.
  58300. * page/inspector/PropertiesSection.js: Add a getter/setter to reset populated status.
  58301. * page/inspector/StylesSidebarPane.js: Some refactoring along with the main support for
  58302. style editing.
  58303. * page/inspector/inspector.css: Style changes for propery editing and focus correctness.
  58304. * page/inspector/inspector.js: Look for a handleKeyEvent function of the focus element before
  58305. trying to call a function based on the element's id. Call focused and blurred on the focused
  58306. element when currentFocusElement is changed. Use the new listItemElement getter instead of
  58307. the private property.
  58308. * page/inspector/treeoutline.js: No longer expand on double click if ondblclick is implemented.
  58309. Shrink the toggle zone to 10px to better match the size of the arrow. Add an onattach call
  58310. to allow generation of the title using the DOM element. Add listItemElement and
  58311. childrenListElement getters.
  58312. * page/inspector/utilities.js: Add new helper prototype methods on CSSStyleDeclaration.
  58313. * page/inspector/DocumentPanel.js: Use the new listItemElement getter instead of the private
  58314. property. Also expand the DOM node on double click now that the TreeOutline dosen't do it.
  58315. * page/inspector/Resource.js: Use the new listItemElement and childrenListElement getters
  58316. instead of the private properties.
  58317. 2007-11-07 Simon Hausmann <hausmann@kde.org>
  58318. Reviewed by Alexey Proskuryakov.
  58319. Coding style fix, don't use inline explicitly.
  58320. * bridge/WindowFeatures.h:
  58321. 2007-11-07 Simon Hausmann <hausmann@kde.org>
  58322. Reviewed by Maciej.
  58323. For safety provide a default constructor for WindowFeatures().
  58324. ContextMenuController.cpp: createNewWindow as well as QWebPage need to
  58325. create a default initialized WindowFeatures object on the fly.
  58326. * bridge/WindowFeatures.h:
  58327. (WebCore::WindowFeatures::WindowFeatures):
  58328. 2007-11-07 Simon Hausmann <shausman@trolltech.com>
  58329. Reviewed by Lars.
  58330. Fix "nmake clean" for the Qt/Windows build by replacing tmp/ with a variable that ends with the correct type of slash/backslash depending on the choice of compiler/make tool.
  58331. * WebCore.pro:
  58332. 2007-11-07 Simon Hausmann <hausmann@kde.org>
  58333. Reviewed by Lars.
  58334. Made the QWebSettings::webGraphic functions static. The implementation was using QWebSettings::global() anyway.
  58335. * platform/graphics/qt/ImageQt.cpp:
  58336. (loadResourcePixmap):
  58337. 2007-11-07 Simon Hausmann <hausmann@kde.org>
  58338. Reviewed by Lars.
  58339. Moved the WebCore::Image specific function loadResourcePixmap from qwebsettings.cpp to ImageQt.cpp and made it static.
  58340. * platform/graphics/qt/ImageQt.cpp:
  58341. (loadResourcePixmap):
  58342. 2007-11-07 Simon Hausmann <hausmann@kde.org>
  58343. Reviewed by Lars.
  58344. Restructure the context menu classes for the Qt port. ContextMenu and ContextMenuItem don't store
  58345. QActions/QMenus anymore but just store the action type, tag, title and optionally submenu as created
  58346. in ContextMenu::populate().
  58347. For the actual Qt context menu we traverse this structure after sendContextMenuEvent and create a QMenu
  58348. out of it. That menu is currently not functional anymore though.
  58349. * platform/ContextMenu.h:
  58350. * platform/ContextMenuItem.h:
  58351. (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
  58352. * platform/PlatformMenuDescription.h:
  58353. * platform/qt/ContextMenuItemQt.cpp:
  58354. (WebCore::ContextMenuItem::ContextMenuItem):
  58355. (WebCore::ContextMenuItem::type):
  58356. (WebCore::ContextMenuItem::setType):
  58357. (WebCore::ContextMenuItem::action):
  58358. (WebCore::ContextMenuItem::setAction):
  58359. (WebCore::ContextMenuItem::title):
  58360. (WebCore::ContextMenuItem::setTitle):
  58361. (WebCore::ContextMenuItem::platformSubMenu):
  58362. (WebCore::ContextMenuItem::setSubMenu):
  58363. (WebCore::ContextMenuItem::setChecked):
  58364. (WebCore::ContextMenuItem::setEnabled):
  58365. * platform/qt/ContextMenuQt.cpp:
  58366. (WebCore::ContextMenu::ContextMenu):
  58367. (WebCore::ContextMenu::~ContextMenu):
  58368. (WebCore::ContextMenu::appendItem):
  58369. (WebCore::ContextMenu::itemCount):
  58370. (WebCore::ContextMenu::insertItem):
  58371. (WebCore::ContextMenu::setPlatformDescription):
  58372. (WebCore::ContextMenu::platformDescription):
  58373. 2007-11-07 Simon Hausmann <hausmann@kde.org>
  58374. Reviewed by Lars.
  58375. Changed ContextMenu::setPlatformDescription for the Qt port to not show the qmenu right away
  58376. but instead just behave as a normal setter that takes ownership of the platform menu description (the qmenu).
  58377. Instead now QWebPage::contextMenuEvent() retrieves the QMenu after calling sendContextMenuEvent and calls exec()
  58378. on it.
  58379. * platform/qt/ContextMenuQt.cpp:
  58380. 2007-11-07 Simon Hausmann <hausmann@kde.org>
  58381. Reviewed by Lars.
  58382. Changed to PlatformMouseEvent constructor to allow construction from a QContextMenuEvent.
  58383. Call sendContextMenuEvent on the event handler from a QWidget::contextMenuEvent re-implementation instead of in mousePressEvent.
  58384. * platform/PlatformMouseEvent.h:
  58385. * platform/qt/PlatformMouseEventQt.cpp:
  58386. (WebCore::PlatformMouseEvent::PlatformMouseEvent):
  58387. 2007-11-07 Lars Knoll <lars@trolltech.com>
  58388. Reviewed by Simon.
  58389. don't put nbsp's into the plan text paste
  58390. Fix both ClipboardQt and PasteboardQt to replace
  58391. nbsp's with spaces before putting the text onto the
  58392. native clipboard. This is consistent with Mac and Win
  58393. and fixes at least editing/pasteboard/4076267-3.html
  58394. * platform/qt/ClipboardQt.cpp:
  58395. (WebCore::ClipboardQt::writeRange):
  58396. * platform/qt/PasteboardQt.cpp:
  58397. (WebCore::Pasteboard::writeSelection):
  58398. 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  58399. Reviewed by Lars Knoll <lars@trolltech.com>.
  58400. Implement Pasteboard::writeImage()
  58401. * Pasteboard is now fully implemented. Copying of Images into the Clipboard
  58402. is now supported.
  58403. * As with URLs we only copy into the Clipboard (and not additionally to the
  58404. Selection)
  58405. * platform/qt/PasteboardQt.cpp:
  58406. (WebCore::Pasteboard::writeImage):
  58407. 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  58408. Reviewed by Lars Knoll <lars@trolltech.com>.
  58409. Apple CodingStyle fixes
  58410. * platform/qt/PasteboardQt.cpp:
  58411. (WebCore::Pasteboard::documentFragment):
  58412. 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  58413. Reviewed by Lars Knoll <lars@trolltech.com>.
  58414. Implement Pasteboard::writeURL()
  58415. * The URL currently gets written as text/plain and text/uri-list.
  58416. The win and mac port have some more types which we currently do
  58417. not support. When supporting them we can use the 'titleString'
  58418. as well.
  58419. * As with writeSelection we only copy into the Clipboard. We could
  58420. consider copying into the Selection as well.
  58421. * platform/qt/PasteboardQt.cpp:
  58422. (WebCore::Pasteboard::writeURL):
  58423. 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
  58424. Reviewed by Lars Knoll <lars@trolltech.com>.
  58425. Kill whitespace
  58426. * platform/qt/PasteboardQt.cpp:
  58427. (WebCore::Pasteboard::documentFragment):
  58428. 2007-11-07 Lars Knoll <lars@trolltech.com>
  58429. Reviewed by Simon.
  58430. Use the correct function calls to convert a selection to
  58431. HTML or plain text.
  58432. * platform/qt/ClipboardQt.cpp:
  58433. (WebCore::ClipboardQt::setData):
  58434. (WebCore::ClipboardQt::writeRange):
  58435. * platform/qt/PasteboardQt.cpp:
  58436. (WebCore::Pasteboard::writeSelection):
  58437. 2007-11-07 Lars Knoll <lars@trolltech.com>
  58438. Reviewed by Simon.
  58439. Some more clipboard fixes.
  58440. We have to set things immediately on the QClipBoard if the
  58441. Clipboard object is not for dragging.
  58442. This is due to the fact that the Clipboard object might be
  58443. rather long lived if accessed through javascript (it'll only
  58444. get deleted by JS garbage collection). We have to transfer
  58445. the data over to the QClipboard before that to make things work.
  58446. Fixes editing/execCommand/copy-without-selection.html
  58447. * platform/qt/ClipboardQt.cpp:
  58448. (WebCore::ClipboardQt::ClipboardQt):
  58449. (WebCore::ClipboardQt::~ClipboardQt):
  58450. (WebCore::ClipboardQt::clearData):
  58451. (WebCore::ClipboardQt::clearAllData):
  58452. (WebCore::ClipboardQt::getData):
  58453. (WebCore::ClipboardQt::setData):
  58454. (WebCore::ClipboardQt::declareAndWriteDragImage):
  58455. (WebCore::ClipboardQt::writeURL):
  58456. (WebCore::ClipboardQt::writeRange):
  58457. 2007-11-07 Simon Hausmann <hausmann@kde.org>
  58458. Reviewed by Mark.
  58459. Fix compilation on Windows with non-cygwin perl. open FILE, "|-" is
  58460. not supported due to implicit forks, use IPC::Open2 instead.
  58461. * bindings/scripts/IDLParser.pm:
  58462. 2007-11-07 Dan Bernstein <mitz@apple.com>
  58463. Reviewed by Brady Eidson.
  58464. - fix http://bugs.webkit.org/show_bug.cgi?id=15877
  58465. REGRESSION: r27486 caused a layout regression at my bank's website
  58466. Test: fast/block/float/overhanging-after-height-decrease-offsets.html
  58467. * rendering/RenderBlock.cpp:
  58468. (WebCore::RenderBlock::layoutBlock):
  58469. 2007-11-06 Beth Dakin <bdakin@apple.com>
  58470. Reviewed by Sam.
  58471. <rdar://problem/5575812> REGRESSION:When using absolute positioning
  58472. with overflow:auto div, WebKit seems to add an additional 15px
  58473. * rendering/RenderBox.cpp:
  58474. (WebCore::RenderBox::containingBlockWidthForPositioned): We need to
  58475. subtract off the vertical scrollbar width too.
  58476. 2007-11-06 Justin Garcia <justin.garcia@apple.com>
  58477. Reviewed by Dan Bernstein.
  58478. <rdar://problem/5583387> ASSERTION FAILED: !refChild->hasTagName(bodyTag) when pasting newline in plain text into rich text Mail
  58479. <rdar://problem/5583362> REGRESSION (5523.10.3-TOT): Newlines stripped when pasting plain text in Mail
  58480. * editing/markup.cpp:
  58481. (WebCore::createFragmentFromText): Put paragraphs of text into clones of the block
  58482. that encloses the input context, unless that block is the body, which shouldn't
  58483. be cloned. In that case, use regular divs, as we did before r27369.
  58484. 2007-11-06 Christian Dywan <christian@twotoasts.de>
  58485. Reviewed by Darin.
  58486. Fix http://bugs.webkit.org/show_bug.cgi?id=15828
  58487. Bug 15828: WebKit GTK include and lib directory is installed in qt4-named directory
  58488. * WebCore.pro: Use sane default install paths for the gtk port.
  58489. 2007-11-06 Justin Garcia <justin.garcia@apple.com>
  58490. Reviewed by Darin Adler.
  58491. <rdar://problem/5576619>
  58492. REGRESSION: Caret disappears after deleting the last character in inline hole (15714)
  58493. * editing/TypingCommand.cpp:
  58494. (WebCore::TypingCommand::deleteSelection): Like the other TypingCommands, including
  58495. both of the other deletion commands, call typingAddedToOpenCommand(), which takes
  58496. the command's endingSelection and sets it as selection.
  58497. 2007-11-06 Dan Bernstein <mitz@apple.com>
  58498. Reviewed by Antti Koivisto and Dave Hyatt.
  58499. - fix <rdar://problem/5582961> Incorrect layout and floating object list corruption when CSS decreases a block's height
  58500. Test: fast/block/float/overhanging-after-height-decrease.html
  58501. * rendering/RenderBlock.cpp:
  58502. (WebCore::RenderBlock::layoutBlock): If after calculating the height
  58503. it turns out that there are overhanging floats that were not overhanging
  58504. before, rescan children with overhanging floats and add them.
  58505. (WebCore::RenderBlock::layoutBlockChildren): Added a parameter that
  58506. returns the lowest float bottom of any of the children.
  58507. (WebCore::RenderBlock::addOverhangingFloats): Changed to return the
  58508. lowest float bottom.
  58509. * rendering/RenderBlock.h:
  58510. 2007-11-06 Adele Peterson <adele@apple.com>
  58511. Reviewed by Darin.
  58512. Switched all uses of HTMLImageLoader to use OwnPtrs.
  58513. * html/HTMLInputElement.h:
  58514. * html/HTMLInputElement.cpp:
  58515. (WebCore::HTMLInputElement::init):
  58516. (WebCore::HTMLInputElement::~HTMLInputElement):
  58517. (WebCore::HTMLInputElement::setInputType):
  58518. (WebCore::HTMLInputElement::parseMappedAttribute):
  58519. (WebCore::HTMLInputElement::attach):
  58520. * html/HTMLObjectElement.h:
  58521. * html/HTMLObjectElement.cpp:
  58522. (WebCore::HTMLObjectElement::HTMLObjectElement):
  58523. (WebCore::HTMLObjectElement::~HTMLObjectElement):
  58524. (WebCore::HTMLObjectElement::parseMappedAttribute):
  58525. (WebCore::HTMLObjectElement::attach):
  58526. * html/HTMLVideoElement.h:
  58527. * html/HTMLVideoElement.cpp:
  58528. (WebCore::HTMLVideoElement::HTMLVideoElement):
  58529. (WebCore::HTMLVideoElement::attach):
  58530. (WebCore::HTMLVideoElement::detach):
  58531. (WebCore::HTMLVideoElement::parseMappedAttribute):
  58532. 2007-11-06 Antti Koivisto <antti@apple.com>
  58533. Reviewed by Darin.
  58534. Trigger media load on on src attribute changes as specified in new HTML5 draft.
  58535. Tests: media/video-src-change.html
  58536. media/video-src-remove.html
  58537. media/video-src-set.html
  58538. * html/HTMLMediaElement.cpp:
  58539. (WebCore::HTMLMediaElement::attributeChanged):
  58540. * html/HTMLMediaElement.h:
  58541. 2007-11-06 Dan Bernstein <mitz@apple.com>
  58542. Reviewed by Darin Adler.
  58543. - fix http://bugs.webkit.org/show_bug.cgi?id=15838
  58544. Incomplete repaint toggling "How you know this person" on Facebook
  58545. Test: fast/repaint/make-children-non-inline.html
  58546. * rendering/RenderBlock.cpp:
  58547. (WebCore::RenderBlock::makeChildrenNonInline): Repaint the block. This
  58548. is needed because the inline children may be repositioned as they move
  58549. into new anonymous blocks, but those blocks have no knowledge of where
  58550. their children used to be, so they cannot invalidate those areas.
  58551. 2007-11-06 Alexey Proskuryakov <ap@webkit.org>
  58552. Reviewed by Darin.
  58553. http://bugs.webkit.org/show_bug.cgi?id=15847
  58554. Some editing cleanup
  58555. No change in functionality.
  58556. * editing/TextIterator.cpp:
  58557. (WebCore::plainText):
  58558. * editing/TextIterator.h:
  58559. Made WebCore::plainText() return String instead of DeprecatedString.
  58560. * bridge/mac/WebCoreAXObject.mm:
  58561. (-[WebCoreAXObject textUnderElement]):
  58562. (-[WebCoreAXObject value]):
  58563. (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]):
  58564. (-[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]):
  58565. (-[WebCoreAXObject doAXPreviousSentenceStartTextMarkerForTextMarker:]):
  58566. Updated for the above change. There is no need to explicitly convert to NSString now.
  58567. * editing/EditCommand.cpp:
  58568. (WebCore::EditCommand::EditCommand): m_startingSelection and m_endingSelection are actually
  58569. initialized in constructor body, so the work done in initializer list was wasted.
  58570. (WebCore::EditCommand::apply): Moved some stars.
  58571. (WebCore::EditCommand::unapply): Ditto.
  58572. (WebCore::EditCommand::reapply): Ditto.
  58573. (WebCore::EditCommand::setStartingSelection): The loop exit condition was evaluated twice,
  58574. removed one of the checks.
  58575. * editing/SelectionController.cpp:
  58576. (WebCore::SelectionController::toString): plainText() result type now matches what we need here.
  58577. * page/mac/WebCoreFrameBridge.h:
  58578. * page/mac/WebCoreFrameBridge.mm:
  58579. Removed unused -[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:] and
  58580. -[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:].
  58581. 2007-11-05 Mark Rowe <mrowe@apple.com>
  58582. Mac build fix.
  58583. * bindings/js/JSHTMLDocumentCustom.cpp:
  58584. (WebCore::writeHelper):
  58585. 2007-11-05 Adam Roben <aroben@apple.com>
  58586. Don't crash if SafariTheme can't be loaded
  58587. PlatformScrollBarSafari and RenderThemeSafari were not checking
  58588. whether SafariTheme was successfully loaded. All other uses of
  58589. SafariTheme already check this.
  58590. Reviewed by Steve.
  58591. * platform/win/PlatformScrollBarSafari.cpp: Don't paint if SafariTheme
  58592. couldn't be loaded.
  58593. (WebCore::PlatformScrollbar::paintButton):
  58594. (WebCore::PlatformScrollbar::paintTrack):
  58595. (WebCore::PlatformScrollbar::paintThumb):
  58596. * rendering/RenderThemeSafari.cpp:
  58597. (WebCore::RenderThemeSafari::isControlStyled): Always return true if
  58598. we couldn't load SafariTheme. This way we should never try to paint
  58599. themed controls (and we assert as such in the paint functions).
  58600. (WebCore::RenderThemeSafari::paintCheckbox):
  58601. (WebCore::RenderThemeSafari::paintRadio):
  58602. (WebCore::RenderThemeSafari::paintButton):
  58603. (WebCore::RenderThemeSafari::paintTextField):
  58604. (WebCore::RenderThemeSafari::paintCapsLockIndicator):
  58605. (WebCore::RenderThemeSafari::paintTextArea):
  58606. (WebCore::RenderThemeSafari::paintMenuList):
  58607. (WebCore::RenderThemeSafari::paintSliderThumb):
  58608. (WebCore::RenderThemeSafari::paintSearchField):
  58609. (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
  58610. (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
  58611. (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
  58612. 2007-11-05 Kevin Ollivier <kevino@theolliviers.com>
  58613. Adding the rest of wx port's graphics impl.
  58614. Rubber-stamped by Maciej Stachowiak.
  58615. * platform/graphics/wx/AffineTransformWx.cpp: Added.
  58616. * platform/graphics/wx/GraphicsContextWx.cpp: Added.
  58617. * platform/graphics/wx/ImageBufferWx.cpp: Added.
  58618. * platform/graphics/wx/ImageSourceWx.cpp: Added.
  58619. * platform/graphics/wx/ImageWx.cpp: Added.
  58620. * platform/graphics/wx/PathWx.cpp: Added.
  58621. 2007-11-05 Kevin Ollivier <kevino@theolliviers.com>
  58622. wx port bug fixes and new files to get platform/wx building on trunk.
  58623. Rubber-stamped by Maciej Stachowiak.
  58624. * platform/wx/CursorWx.cpp:
  58625. * platform/wx/FileSystemWx.cpp: Added.
  58626. * platform/wx/FontCacheWx.cpp:
  58627. * platform/wx/FontPlatformDataWx.cpp:
  58628. * platform/wx/FontWx.cpp:
  58629. * platform/wx/KeyboardEventWx.cpp:
  58630. * platform/wx/LocalizedStringsWx.cpp: Added.
  58631. * platform/wx/LoggingWx.cpp: Added.
  58632. * platform/wx/RenderThemeWx.cpp:
  58633. * platform/wx/ScrollViewWx.cpp:
  58634. * platform/wx/SharedTimerWx.cpp:
  58635. * platform/wx/StringWx.cpp:
  58636. * platform/wx/ThreadingWx.cpp: Added.
  58637. * platform/wx/WidgetWx.cpp:
  58638. 2007-11-05 Adele Peterson <adele@apple.com>
  58639. Reviewed by Maciej.
  58640. Fix for <rdar://problem/5579999> Add poster attribute for video element
  58641. * html/HTMLAttributeNames.in: Added poster attribute.
  58642. * html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::updateFromElement):
  58643. Calls imageSourceAttributeName instead of having special cases for the different kinds of elements.
  58644. * dom/Element.cpp: (WebCore::Element::imageSourceAttributeName): Added.
  58645. * dom/Element.h:
  58646. * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::imageSourceAttributeName): Added.
  58647. * html/HTMLObjectElement.h:
  58648. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::movieNetworkStateChanged):
  58649. Calls updatePosterImage when the network state is empty and when the first frame has been loaded.
  58650. * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::rendererIsNeeded): Made this inline. HTMLVideoElement now also implements this.
  58651. * html/HTMLVideoElement.idl: Added case for poster attribute.
  58652. * html/HTMLVideoElement.h: Added image loader and flag to keep track of whether or not the poster image should be shown.
  58653. * html/HTMLVideoElement.cpp:
  58654. (WebCore::HTMLVideoElement::HTMLVideoElement): Initialize m_imageLoader and m_shouldShowPosterImage.
  58655. (WebCore::HTMLVideoElement::rendererIsNeeded): Calls HTMLElement::rendererIsNeeded since HTMLMediaElements have renderer by default.
  58656. (WebCore::HTMLVideoElement::createRenderer): Create a RenderImage or RenderVideo depending on whether or not the poster image should be shown.
  58657. (WebCore::HTMLVideoElement::attach): Set up image loader and RenderImage if necessary.
  58658. (WebCore::HTMLVideoElement::detach): Delete image loader if its no longer needed.
  58659. (WebCore::HTMLVideoElement::parseMappedAttribute): Added case to process poster attribute.
  58660. (WebCore::HTMLVideoElement::poster): Added getter for poster attribute.
  58661. (WebCore::HTMLVideoElement::setPoster): Added setter for poster attribute.
  58662. (WebCore::HTMLVideoElement::isURLAttribute): Added.
  58663. (WebCore::HTMLVideoElement::imageSourceAttributeName): Added.
  58664. (WebCore::HTMLVideoElement::updatePosterImage): Added. Updates m_shouldShowPosterImage and if its changed, detaches and attaches so the renderer is correct.
  58665. 2007-11-05 Adam Roben <aroben@apple.com>
  58666. Fix <rdar://5563572> SVG image support is turned off
  58667. Turned on SVG images for all platforms.
  58668. Reviewed by Eric.
  58669. * WebCore.vcproj/WebCore.vcproj: Added SVGImage.{cpp,h}
  58670. * loader/CachedImage.cpp:
  58671. (WebCore::CachedImage::createImage): Removed platform checks for
  58672. SVGImage.
  58673. 2007-11-05 Antti Koivisto <antti@apple.com>
  58674. Reviewed by Darin.
  58675. QTMovieView can generate callbacks during paint. This can lead to crashes.
  58676. Delay callbacks so they get handled after painting is completed. No test case,
  58677. I don't know how to reliably reproduce this.
  58678. * platform/graphics/mac/MoviePrivateQTKit.mm:
  58679. (WebCore::MoviePrivate::MoviePrivate):
  58680. (WebCore::MoviePrivate::~MoviePrivate):
  58681. (WebCore::MoviePrivate::paint):
  58682. (-[WebCoreMovieObserver initWithCallback:WebCore::]):
  58683. (-[WebCoreMovieObserver disconnect]):
  58684. (-[WebCoreMovieObserver loadStateChanged:]):
  58685. (-[WebCoreMovieObserver rateChanged:]):
  58686. (-[WebCoreMovieObserver sizeChanged:]):
  58687. (-[WebCoreMovieObserver timeChanged:]):
  58688. (-[WebCoreMovieObserver volumeChanged:]):
  58689. (-[WebCoreMovieObserver didEnd:]):
  58690. (-[WebCoreMovieObserver setDelayCallbacks:]):
  58691. 2007-11-05 Antti Koivisto <antti@apple.com>
  58692. Reviewed by Adam.
  58693. Add some missing WebCore* prefixes to ObjC classes
  58694. * platform/mac/FileChooserMac.mm:
  58695. (WebCore::FileChooser::FileChooser):
  58696. * platform/mac/SharedBufferMac.mm:
  58697. (WebCore::SharedBuffer::createNSData):
  58698. (WebCore::SharedBuffer::createCFData):
  58699. * platform/mac/SharedTimerMac.cpp:
  58700. (WebCore::setSharedTimerFireTime):
  58701. 2007-11-05 Ada Chan <adachan@apple.com>
  58702. <rdar://problem/5579772> Regression: AltGr does not work
  58703. We now store the system key event info in PlatforkKeyboardEvent().
  58704. Reviewed by Oliver.
  58705. * platform/PlatformKeyboardEvent.h:
  58706. (WebCore::PlatformKeyboardEvent::isSystemKey):
  58707. * platform/win/KeyEventWin.cpp:
  58708. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
  58709. 2007-11-02 Tristan O'Tierney <tristan@apple.com>
  58710. Reviewed by Darin Adler.
  58711. * WebCore.xcodeproj/project.pbxproj:
  58712. Set WindowFeatures.h as a Private header.
  58713. * loader/FrameLoader.cpp:
  58714. (WebCore::FrameLoader::createWindow):
  58715. Revised to use a single createWindow function instead of
  58716. two createWindow functions and one createModalDialog function.
  58717. The logic for this is now addressed in WebKit in an effort
  58718. to make this easier to follow.
  58719. * page/Chrome.cpp:
  58720. (WebCore::Chrome::createWindow):
  58721. * page/Chrome.h:
  58722. * page/ChromeClient.h:
  58723. * page/ContextMenuController.cpp:
  58724. (WebCore::openNewWindow):
  58725. * platform/graphics/svg/SVGImageEmptyClients.h:
  58726. (WebCore::SVGEmptyChromeClient::createWindow):
  58727. Revised to take new additional windowFeatures parameter.
  58728. 2007-11-04 Geoffrey Garen <ggaren@apple.com>
  58729. Reviewed by Darin Adler.
  58730. http://bugs.webkit.org/show_bug.cgi?id=15835
  58731. Small adaptations to new KJS::List class.
  58732. * bindings/js/kjs_window.cpp:
  58733. (KJS::WindowFunc::callAsFunction):
  58734. (KJS::ScheduledAction::ScheduledAction):
  58735. 2007-11-05 Adam Roben <aroben@apple.com>
  58736. Allow passing a base class pointer to COMPtr::copyRefTo
  58737. Reviewed by Sam.
  58738. * platform/win/COMPtr.h:
  58739. 2007-11-05 Dan Bernstein <mitz@apple.com>
  58740. Reviewed by Oliver Hunt.
  58741. - fix ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) when a class attribute is all-whitespace
  58742. Test: fast/dom/class-all-whitespace.html
  58743. * dom/StyledElement.cpp:
  58744. (WebCore::StyledElement::parseMappedAttribute): Check if there is any
  58745. non-whitespace character in the class attribute.
  58746. 2007-11-05 Brady Eidson <beidson@apple.com>
  58747. Reviewed by Sam
  58748. Add transaction blocking to the DatabaseAuthorizer in preparation for the new version
  58749. of the sql storage API
  58750. * storage/DatabaseAuthorizer.cpp:
  58751. (WebCore::DatabaseAuthorizer::allowTransaction):
  58752. * storage/DatabaseAuthorizer.h:
  58753. 2007-11-05 Mark Rowe <mrowe@apple.com>
  58754. Reviewed by Alp Toker.
  58755. Have getMIMETypeForExtension return a null string when no MIME type is known
  58756. for the extension rather than returning "text/plain". This prevents plugin data
  58757. being dumped into object elements when plugins are disabled.
  58758. * platform/gtk/MIMETypeRegistryGtk.cpp:
  58759. (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
  58760. 2007-11-04 Sam Weinig <sam@webkit.org>
  58761. Rubber-stamped by Adam Roben.
  58762. Rename SecurityOrigin::allowsAccessFrom to SecurityOrigin::canAccess to
  58763. clear up ambiguity.
  58764. * bindings/js/kjs_window.cpp:
  58765. (KJS::Window::isSafeScript):
  58766. * platform/SecurityOrigin.cpp:
  58767. (WebCore::SecurityOrigin::canAccess):
  58768. * platform/SecurityOrigin.h:
  58769. 2007-11-04 Timothy Hatcher <timothy@apple.com>
  58770. Reviewed by Adam.
  58771. Bug 15834: There are many subtle bugs in the Styles pane of the Web Inspector
  58772. http://bugs.webkit.org/show_bug.cgi?id=15834
  58773. - Broke up DocumentPanel and added three SidebarPane sub-classes.
  58774. - Fixed many Style pane bugs, including:
  58775. * Poor handling of duplicate properties in the same rule. Some of this can't be
  58776. fixed since we can't only get the "winning" value for duplicate properties.
  58777. So we should only show one entry per unique property name.
  58778. * Computed style does not show font shorthand sub-properties if 'font' was used.
  58779. * Property priority was broken, the wrong properties were crossed out.
  58780. * The 'border' shorthand shows null for the shorthand value.
  58781. * Shorthands didn't show their priority (e.g. !important).
  58782. * HSL and HTML hex colors didn't have preview swatch blocks.
  58783. * Code refactoring, making it easier to reuse for console.log later.
  58784. * page/inspector/DocumentPanel.js: Move sidebar pane code to three seperate
  58785. classes in new files.
  58786. * page/inspector/MetricsSidebarPane.js: Added.
  58787. * page/inspector/Panel.js: Remove an InspectorController.log() call.
  58788. * page/inspector/PropertiesSection.js: Add the section to the TreeOutline.
  58789. So TreeElements can access properties on their section.
  58790. * page/inspector/PropertiesSidebarPane.js: Added.
  58791. * page/inspector/SidebarPane.js: Remove the explicit asignment of the
  58792. onexpand and oncollapse to null. These were hiding prototypes.
  58793. * page/inspector/StylesSidebarPane.js: Added.
  58794. * page/inspector/inspector.html: Include the new script files.
  58795. * page/inspector/treeoutline.js: If a null representedObject is passed
  58796. in just use a empty object.
  58797. 2007-11-04 David D. Kilzer <ddkilzer@webkit.org>
  58798. Fix build when spaces appear in the WebKit source path.
  58799. Reviewed by Mark Rowe.
  58800. * bindings/scripts/IDLParser.pm: Use safer open() method which lists
  58801. arguments individually and prevents the need to work around spaces
  58802. in the path.
  58803. 2007-11-04 Alp Toker <alp@atoker.com>
  58804. Reviewed by Alexey Proskuryakov.
  58805. Fix a crash when no clipboard text is available
  58806. * platform/gtk/PasteboardGtk.cpp:
  58807. (WebCore::Pasteboard::plainText):
  58808. 2007-11-03 Darin Adler <darin@apple.com>
  58809. Reviewed by Maciej.
  58810. - WebCore part of http://bugs.webkit.org/show_bug.cgi?id=15821
  58811. remove unused PCRE features for speed
  58812. * page/Frame.cpp: (WebCore::Frame::matchLabelsAgainstElement):
  58813. * page/mac/FrameMac.mm: (WebCore::Frame::matchLabelsAgainstElement):
  58814. Remove use of "[[:digit:]]" syntax. This hasn't worked for some time.
  58815. Use "\d" instead.
  58816. * platform/RegularExpression.h: Remove the unused cap function. We can
  58817. add it back later if we find we need it.
  58818. * platform/RegularExpression.cpp:
  58819. (WebCore::RegularExpression::Private::compile): Update for JavaScriptCore
  58820. regular expression entry point changes.
  58821. (WebCore::RegularExpression::Private::~Private): Ditto.
  58822. (WebCore::RegularExpression::match): Remove the code to set PCRE_NOTBOL.
  58823. This means that regular expressions with metacharactesr like ^ in them
  58824. won't work any more with non-whole-string searches, but we don't use
  58825. any regular expressions like that.
  58826. 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
  58827. Update the link stubs to match the current build,
  58828. and fix coding style issues.
  58829. Reviewed by Mark Rowe.
  58830. * platform/wx/TemporaryLinkStubs.cpp:
  58831. (loadResourceIntoArray):
  58832. (findNextSentenceFromIndex):
  58833. (findSentenceBoundary):
  58834. (Frame::dashboardRegionsChanged):
  58835. (WebCore::historyContains):
  58836. (CachedPage::close):
  58837. (Editor::showStylesPanel):
  58838. (EventHandler::passSubframeEventToSubframe):
  58839. (EventHandler::passWheelEventToWidget):
  58840. (WebCore::currentTextBreakLocaleID):
  58841. 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
  58842. wx <-> WebKit conversions for IntPoint, IntRect and FloatRect
  58843. Reviewed by Mark Rowe.
  58844. * platform/graphics/wx/FloatRectWx.cpp: Added.
  58845. * platform/graphics/wx/IntPointWx.cpp: Added.
  58846. * platform/graphics/wx/IntRectWx.cpp: Added.
  58847. 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
  58848. wx <-> WebKit data type conversions for Pen and Color.
  58849. Reviewed by Darin Adler.
  58850. * platform/graphics/wx: Added.
  58851. * platform/graphics/wx/ColorWx.cpp: Added.
  58852. * platform/graphics/wx/PenWx.cpp: Added.
  58853. 2007-11-03 Sam Weinig <sam@webkit.org>
  58854. Reviewed by Oliver.
  58855. Remove dummy variable from ClassInfo reducing the size of the struct by 1 word.
  58856. The variable had been kept around for binary compatibility, but since nothing
  58857. else is there is no point in continuing to keep it around.
  58858. * bindings/js/JSDOMExceptionConstructor.cpp:
  58859. * bindings/js/JSHTMLInputElementBase.cpp:
  58860. * bindings/js/JSNamedNodesCollection.cpp:
  58861. * bindings/js/JSXMLHttpRequest.cpp:
  58862. * bindings/js/JSXSLTProcessor.cpp:
  58863. * bindings/js/kjs_css.cpp:
  58864. * bindings/js/kjs_events.cpp:
  58865. * bindings/js/kjs_navigator.cpp:
  58866. * bindings/js/kjs_window.cpp:
  58867. * bindings/scripts/CodeGeneratorJS.pm:
  58868. 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
  58869. Build fixes to get wx impls. building on trunk.
  58870. Reviewed by Mark Rowe.
  58871. * platform/wx/DragDataWx.cpp:
  58872. (WebCore::DragData::containsFiles):
  58873. (WebCore::DragData::asFilenames):
  58874. * platform/wx/DragImageWx.cpp:
  58875. (WebCore::scaleDragImage):
  58876. * platform/wx/MimeTypeRegistryWx.cpp:
  58877. (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
  58878. * platform/wx/MouseEventWx.cpp:
  58879. (WebCore::PlatformMouseEvent::PlatformMouseEvent):
  58880. * platform/wx/MouseWheelEventWx.cpp:
  58881. * platform/wx/PasteboardWx.cpp:
  58882. (WebCore::Pasteboard::writeImage):
  58883. * platform/wx/WidgetWx.cpp:
  58884. (WebCore::Widget::setCursor):
  58885. 2007-11-03 David D. Kilzer <ddkilzer@webkit.org>
  58886. Sort files(...); sections of Xcode project files.
  58887. Rubber-stamped by Darin.
  58888. * WebCore.xcodeproj/project.pbxproj:
  58889. * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
  58890. 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
  58891. Coding style fixes for platform/wx files.
  58892. Reviewed by Mark Rowe.
  58893. * platform/wx/ClipboardWx.cpp:
  58894. * platform/wx/GlyphMapWx.cpp:
  58895. * platform/wx/ScreenWx.cpp:
  58896. 2007-11-03 Alp Toker <alp@atoker.com>
  58897. Reviewed by Mark Rowe.
  58898. Implement platform scrollbar static width/height getters
  58899. * platform/gtk/PlatformScrollBar.h:
  58900. * platform/gtk/PlatformScrollBarGtk.cpp:
  58901. (scrollbarSize):
  58902. (PlatformScrollbar::horizontalScrollbarHeight):
  58903. 2007-11-03 Alp Toker <alp@atoker.com>
  58904. Reviewed by Mark Rowe.
  58905. Cast function pointers to gpointer.
  58906. * platform/gtk/PlatformScrollBarGtk.cpp:
  58907. (PlatformScrollbar::~PlatformScrollbar):
  58908. 2007-11-03 Alp Toker <alp@atoker.com>
  58909. Reviewed by Adam Roben.
  58910. RenderThemeGtk implementation based on Mozilla's GTK+ style code
  58911. There is still work needed to complete this feature.
  58912. * WebCore.pro:
  58913. * platform/gtk/RenderThemeGtk.cpp:
  58914. (WebCore::theme):
  58915. (WebCore::RenderThemeGtk::RenderThemeGtk):
  58916. (WebCore::supportsFocus):
  58917. (WebCore::RenderThemeGtk::supportsFocusRing):
  58918. (WebCore::RenderThemeGtk::controlSupportsTints):
  58919. (WebCore::RenderThemeGtk::baselinePosition):
  58920. (WebCore::adjustMozStyle):
  58921. (WebCore::setMozState):
  58922. (WebCore::paintMozWidget):
  58923. (WebCore::setButtonPadding):
  58924. (WebCore::setToggleSize):
  58925. (WebCore::RenderThemeGtk::setCheckboxSize):
  58926. (WebCore::RenderThemeGtk::paintCheckbox):
  58927. (WebCore::RenderThemeGtk::setRadioSize):
  58928. (WebCore::RenderThemeGtk::paintRadio):
  58929. (WebCore::RenderThemeGtk::adjustButtonStyle):
  58930. (WebCore::RenderThemeGtk::paintButton):
  58931. (WebCore::RenderThemeGtk::adjustMenuListStyle):
  58932. (WebCore::RenderThemeGtk::paintMenuList):
  58933. (WebCore::RenderThemeGtk::adjustTextFieldStyle):
  58934. (WebCore::RenderThemeGtk::paintTextField):
  58935. (WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle):
  58936. (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
  58937. (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
  58938. (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
  58939. (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
  58940. (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
  58941. (WebCore::RenderThemeGtk::adjustSearchFieldStyle):
  58942. (WebCore::RenderThemeGtk::paintSearchField):
  58943. (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
  58944. (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
  58945. (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
  58946. (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
  58947. (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
  58948. (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
  58949. (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
  58950. (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
  58951. (WebCore::RenderThemeGtk::caretBlinkFrequency):
  58952. (WebCore::RenderThemeGtk::systemFont):
  58953. (WebCore::gtkStyleSetCallback):
  58954. (WebCore::RenderThemeGtk::gtkContainer):
  58955. (WebCore::RenderThemeGtk::gtkEntry):
  58956. (WebCore::RenderThemeGtk::gtkTreeView):
  58957. * platform/gtk/RenderThemeGtk.h:
  58958. * platform/gtk/gtk2drawing.c: Added.
  58959. (moz_gtk_enable_style_props):
  58960. (ensure_window_widget):
  58961. (setup_widget_prototype):
  58962. (ensure_button_widget):
  58963. (ensure_checkbox_widget):
  58964. (ensure_radiobutton_widget):
  58965. (ensure_scrollbar_widget):
  58966. (ensure_spin_widget):
  58967. (ensure_scale_widget):
  58968. (ensure_entry_widget):
  58969. (ensure_option_menu_widget):
  58970. (ensure_arrow_widget):
  58971. (ensure_handlebox_widget):
  58972. (ensure_toolbar_widget):
  58973. (ensure_tooltip_widget):
  58974. (ensure_tab_widget):
  58975. (ensure_progress_widget):
  58976. (ensure_frame_widget):
  58977. (ensure_menu_bar_widget):
  58978. (ensure_menu_bar_item_widget):
  58979. (ensure_menu_popup_widget):
  58980. (ensure_menu_item_widget):
  58981. (ensure_check_menu_item_widget):
  58982. (ConvertGtkState):
  58983. (TSOffsetStyleGCArray):
  58984. (TSOffsetStyleGCs):
  58985. (moz_gtk_button_paint):
  58986. (moz_gtk_init):
  58987. (moz_gtk_checkbox_get_metrics):
  58988. (moz_gtk_radio_get_metrics):
  58989. (moz_gtk_checkbox_get_focus):
  58990. (moz_gtk_radio_get_focus):
  58991. (moz_gtk_button_get_focus):
  58992. (moz_gtk_option_menu_get_metrics):
  58993. (moz_gtk_toggle_paint):
  58994. (calculate_arrow_dimensions):
  58995. (moz_gtk_scrollbar_button_paint):
  58996. (moz_gtk_scrollbar_trough_paint):
  58997. (moz_gtk_scrollbar_thumb_paint):
  58998. (moz_gtk_spin_paint):
  58999. (moz_gtk_scale_paint):
  59000. (moz_gtk_scale_thumb_paint):
  59001. (moz_gtk_gripper_paint):
  59002. (moz_gtk_entry_paint):
  59003. (moz_gtk_option_menu_paint):
  59004. (moz_gtk_dropdown_arrow_paint):
  59005. (moz_gtk_container_paint):
  59006. (moz_gtk_toggle_label_paint):
  59007. (moz_gtk_toolbar_paint):
  59008. (moz_gtk_tooltip_paint):
  59009. (moz_gtk_frame_paint):
  59010. (moz_gtk_progressbar_paint):
  59011. (moz_gtk_progress_chunk_paint):
  59012. (moz_gtk_tab_paint):
  59013. (moz_gtk_tabpanels_paint):
  59014. (moz_gtk_menu_bar_paint):
  59015. (moz_gtk_menu_popup_paint):
  59016. (moz_gtk_menu_item_paint):
  59017. (moz_gtk_check_menu_item_paint):
  59018. (moz_gtk_window_paint):
  59019. (moz_gtk_get_widget_border):
  59020. (moz_gtk_get_dropdown_arrow_size):
  59021. (moz_gtk_get_scalethumb_metrics):
  59022. (moz_gtk_get_scrollbar_metrics):
  59023. (moz_gtk_widget_paint):
  59024. (moz_gtk_get_scrollbar_widget):
  59025. (moz_gtk_shutdown):
  59026. * platform/gtk/gtkdrawing.h: Added.
  59027. 2007-11-03 Alp Toker <alp@atoker.com>
  59028. Reviewed by Mark Rowe.
  59029. Do not allow scrollbars to handle wheel events
  59030. We bubble the wheel event up so the parent can handle it instead.
  59031. * platform/gtk/PlatformScrollBarGtk.cpp:
  59032. (gtkScrollEventCallback):
  59033. (PlatformScrollbar::PlatformScrollbar):
  59034. (PlatformScrollbar::~PlatformScrollbar):
  59035. 2007-11-03 Alp Toker <alp@atoker.com>
  59036. Reviewed by Mark Rowe.
  59037. Frame scrolling and invalidation fixes
  59038. Make upward scroll events have a positive delta to match other ports.
  59039. Fix the invalidation rect offset for frames so that scrolling works properly.
  59040. Avoid allocating negative sizes to widgets to avoid GTK+ warnings.
  59041. Allow tabbing to all widgets and links.
  59042. Fix event returns, improving the focus situation and correcting scroll wheel
  59043. behavior.
  59044. * page/gtk/EventHandlerGtk.cpp:
  59045. (WebCore::EventHandler::tabsToAllControls):
  59046. (WebCore::EventHandler::passWheelEventToWidget):
  59047. * platform/gtk/ScrollViewGtk.cpp:
  59048. (WebCore::ScrollViewScrollbar::geometryChanged):
  59049. (WebCore::ScrollView::updateContents):
  59050. (WebCore::ScrollView::update):
  59051. (WebCore::ScrollView::wheelEvent):
  59052. (WebCore::ScrollView::updateScrollbars):
  59053. * platform/gtk/WheelEventGtk.cpp:
  59054. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  59055. 2007-11-03 David D. Kilzer <ddkilzer@webkit.org>
  59056. LGPL'ed files contain incorrect FSF address
  59057. <http://bugs.webkit.org/show_bug.cgi?id=14885>
  59058. * bindings/js/JSSVGTransformListCustom.cpp:
  59059. * ksvg2/svg/SVGException.idl:
  59060. * ksvg2/svg/SVGTextPathElement.cpp:
  59061. * ksvg2/svg/SVGTextPathElement.h:
  59062. * ksvg2/svg/SVGViewSpec.cpp:
  59063. * ksvg2/svg/SVGViewSpec.h:
  59064. * platform/mac/FontCustomPlatformData.cpp:
  59065. * platform/mac/FontCustomPlatformData.h:
  59066. * platform/mac/FontPlatformDataMac.mm:
  59067. * platform/win/FontCustomPlatformData.cpp:
  59068. * platform/win/FontCustomPlatformData.h:
  59069. * rendering/RenderSVGRoot.cpp:
  59070. * rendering/RenderSVGRoot.h:
  59071. * rendering/RenderSVGTextPath.cpp:
  59072. * rendering/RenderSVGTextPath.h:
  59073. * rendering/RenderSVGTransformableContainer.h:
  59074. * rendering/RenderSVGViewportContainer.cpp:
  59075. * rendering/RenderSVGViewportContainer.h:
  59076. * rendering/SVGCharacterLayoutInfo.cpp:
  59077. * rendering/SVGCharacterLayoutInfo.h:
  59078. * rendering/SVGRenderSupport.cpp:
  59079. * rendering/SVGRenderSupport.h:
  59080. 2007-11-02 Antti Koivisto <antti@apple.com>
  59081. Reviewed by Adam.
  59082. Add video width/height DOM and content attributes from latest HTML5 draft.
  59083. Test: media/video-width-height.html
  59084. * html/HTMLVideoElement.cpp:
  59085. (WebCore::HTMLVideoElement::parseMappedAttribute):
  59086. (WebCore::HTMLVideoElement::width):
  59087. (WebCore::HTMLVideoElement::setWidth):
  59088. (WebCore::HTMLVideoElement::height):
  59089. (WebCore::HTMLVideoElement::setHeight):
  59090. * html/HTMLVideoElement.h:
  59091. * html/HTMLVideoElement.idl:
  59092. 2007-11-02 Darin Adler <darin@apple.com>
  59093. Reviewed by Maciej.
  59094. * DerivedSources.make: Remove a few explicit filenames from some rules by using
  59095. make variables a little more.
  59096. * WebCore.LP64.exp: Fix typo, grammar.
  59097. 2007-11-02 Darin Adler <darin@apple.com>
  59098. Reviewed by Maciej.
  59099. - use the new HashMap::take function where appropriate
  59100. * bindings/js/kjs_binding.cpp:
  59101. (KJS::addWrapper): Made an inline rather than a macro; inlines good, macros bad.
  59102. (KJS::removeWrapper): Ditto.
  59103. (KJS::removeWrappers): Ditto.
  59104. (KJS::ScriptInterpreter::putDOMObject): Use the inline instead of the macro.
  59105. (KJS::ScriptInterpreter::forgetDOMObject): Ditto. This involves using take instead
  59106. of remove -- in theory ever so slightly less efficient, but I think it's fine.
  59107. (KJS::ScriptInterpreter::forgetDOMNodeForDocument): Ditto.
  59108. (KJS::ScriptInterpreter::putDOMNodeForDocument): Use the inline instead of the macro.
  59109. (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Use take instead of find/remove.
  59110. (KJS::ScriptInterpreter::updateDOMNodeDocument): Use the inlines instead of the macros.
  59111. * bindings/js/kjs_window.cpp: (KJS::Window::clearTimeout): Use take instead of find/remove.
  59112. * bridge/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::remove): Ditto.
  59113. * page/AnimationController.cpp: (WebCore::AnimationControllerPrivate::clear): Ditto.
  59114. * rendering/RenderBlock.cpp:
  59115. (WebCore::RenderBlock::~RenderBlock): Ditto.
  59116. (WebCore::RenderBlock::setDesiredColumnCountAndWidth): Ditto.
  59117. * rendering/RootInlineBox.cpp: Ditto.(WebCore::RootInlineBox::detachEllipsisBox): Ditto.
  59118. 2007-11-02 Antti Koivisto <antti@apple.com>
  59119. Reviewed by Darin.
  59120. Enable video composition.
  59121. * WebCore.base.exp:
  59122. * platform/graphics/mac/MoviePrivateQTKit.mm:
  59123. (WebCore::MoviePrivate::createQTMovieView):
  59124. * platform/mac/WebCoreSystemInterface.h:
  59125. * platform/mac/WebCoreSystemInterface.mm:
  59126. 2007-11-02 Darin Adler <darin@apple.com>
  59127. Reviewed by Mitz.
  59128. - fix http://bugs.webkit.org/show_bug.cgi?id=15806
  59129. <rdar://problem/5561626> ASSERT(element->isRadioButton()) fires destroying form elements
  59130. Test: fast/forms/remove-radio-button-assert.html
  59131. * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::removeFromForm):
  59132. Added protected function to be used by derived classes that need to do the same sort
  59133. of removal from form that's automatically done by the base class in certain circumstances.
  59134. * html/HTMLGenericFormElement.h: Added removeFromForm.
  59135. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::~HTMLInputElement):
  59136. Call removeFromForm here so the element is removed before we destroy the HTMLInputElement
  59137. part of this object. By the time we get to the base class's destructor it's too late.
  59138. The problem is specific to radio buttons so we don't have to worry about other classes
  59139. derived from HTMLGenericFormElement.
  59140. 2007-11-02 Darin Adler <darin@apple.com>
  59141. Reviewed by Mitz.
  59142. - speculative fix for http://bugs.webkit.org/show_bug.cgi?id=15805
  59143. <rdar://problem/5510779> crashes in isLoadingMultipartContent
  59144. * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::isLoadingMultipartContent):
  59145. Instead of asserting the frame loader is non-0, return false if it is 0.
  59146. 2007-11-02 Darin Adler <darin@apple.com>
  59147. Reviewed by Mitz.
  59148. - fix <rdar://problem/5530185> WebKit does not show <object> fallback content when both
  59149. URL and MIME type is omitted
  59150. Already covered by existing tests (that had incorrect results).
  59151. * loader/FrameLoader.cpp: (WebCore::FrameLoader::requestObject): Return false to indicate
  59152. failure when both URL and MIME type are empty. The old code would not attempt a load, but
  59153. it would indicate success.
  59154. * rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): Remove
  59155. non-helpful early exit for the case where there is no URL and no type. Returning early
  59156. prevents the fallback code from running.
  59157. 2007-11-02 Alp Toker <alp@atoker.com>
  59158. Reviewed by Darin.
  59159. Include Cairo headers properly
  59160. * platform/graphics/AffineTransform.h:
  59161. * platform/graphics/ImageBuffer.h:
  59162. * platform/graphics/cairo/AffineTransformCairo.cpp:
  59163. * platform/gtk/FontPlatformDataGtk.cpp:
  59164. 2007-11-01 Oliver Hunt <oliver@apple.com>
  59165. Reviewed by Alexey.
  59166. Make sure we send the correct events for Capslock, Shift, Ctrl, Alt and the Windows key
  59167. * platform/win/KeyEventWin.cpp:
  59168. (WebCore::keyIdentifierForWindowsKeyCode):
  59169. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
  59170. 2007-11-01 Geoffrey Garen <ggaren@apple.com>
  59171. Reviewed by Maciej Stachowiak.
  59172. In preparation for making List a simple stack-allocated Vector:
  59173. Removed all instances of List copying, assignment, and/or storage.
  59174. Layout tests and JS tests pass.
  59175. * bindings/js/kjs_window.cpp:
  59176. (KJS::WindowFunc::callAsFunction): Stores a Vector of protected
  59177. JSValue*'s instead of a List now. Converts to List on the fly when
  59178. calling the timer function. This is slightly less efficient, but the
  59179. common case is 0-2 arguments, so it's no biggie.
  59180. (HTML iBench shows no regression. PLT does not use JS timers.)
  59181. (KJS::ScheduledAction::execute): Uses the more efficient and non-copying
  59182. List::slice now.
  59183. (KJS::ScheduledAction::ScheduledAction): ditto
  59184. * bindings/objc/WebScriptObject.mm:
  59185. (getListFromNSArray): Takes a List out parameter now, to avoid copying.
  59186. 2007-11-01 Oliver Hunt <oliver@apple.com>
  59187. Reviewed by Geoff.
  59188. Correct event behaviour on certain control keys
  59189. Make sure we send the correct keyDown and keyUp events for the
  59190. control keys CapsLock, Shift, Ctrl, Alt, and Meta/Command, and
  59191. uses Windows key codes for the event keyCode.
  59192. * WebCore.base.exp:
  59193. * page/EventHandler.cpp:
  59194. (WebCore::EventHandler::keyEvent):
  59195. * platform/PlatformKeyboardEvent.h:
  59196. * platform/gtk/KeyEventGtk.cpp:
  59197. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
  59198. * platform/mac/KeyEventMac.mm:
  59199. (WebCore::keyIdentifierForKeyEvent):
  59200. (WebCore::WindowsKeyCodeForKeyEvent):
  59201. (WebCore::isKeyUpEvent):
  59202. (WebCore::textFromEvent):
  59203. (WebCore::unmodifiedTextFromEvent):
  59204. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
  59205. * platform/win/KeyEventWin.cpp:
  59206. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
  59207. * platform/wx/KeyEventWin.cpp:
  59208. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
  59209. 2007-11-01 Timothy Hatcher <timothy@apple.com>
  59210. Reviewed by Sam.
  59211. * page/inspector/inspector.css: Use the white disclosure triangles
  59212. when a parent DOM element is sepected.
  59213. 2007-11-01 Justin Garcia <justin.garcia@apple.com>
  59214. Reviewed by Oliver Hunt.
  59215. <rdar://problem/5195056> Huge plain text pastes are slow, time spent in ApplyStyleCommand::doApply
  59216. * editing/ReplaceSelectionCommand.cpp:
  59217. (WebCore::ReplaceSelectionCommand::doApply): No need to match style when pasting
  59218. into a plaintext-only region, since when we build the fragment to insert from
  59219. plain text, we don't put any style information on it, so it will automatically
  59220. match style with no intervention.
  59221. * editing/markup.cpp:
  59222. (WebCore::createFragmentFromText): Place paragraphs into clones of the
  59223. block being inserted into, instead of default paragraph elements,
  59224. so that when inserted content will match the surrounding paragraph style.
  59225. This was broken before, but I haven't added a layout test yet because
  59226. there currently isn't a way to get only plain text onto the pasteboard
  59227. in a layout test.
  59228. 2007-11-01 Sam Weinig <sam@webkit.org>
  59229. Reviewed by Adam Roben.
  59230. Add a releaseRef method to COMPtr which matches the behavior
  59231. of the method by the same name in PassRefPtr. This is in
  59232. preparation of adding autogenerated COM DOM bindings.
  59233. * platform/win/COMPtr.h:
  59234. (COMPtr::releaseRef):
  59235. 2007-11-01 Kevin Ollivier <kevino@theolliviers.com>
  59236. wx impl. for DragController and EventHandler interfaces.
  59237. Reviewed by Adam Roben.
  59238. * page/wx: Added.
  59239. * page/wx/DragControllerWx.cpp: Added.
  59240. (WebCore::DragController::isCopyKeyDown):
  59241. (WebCore::DragController::dragOperation):
  59242. (WebCore::DragController::maxDragImageSize):
  59243. * page/wx/EventHandlerWx.cpp: Added.
  59244. (WebCore::EventHandler::passMousePressEventToSubframe):
  59245. (WebCore::EventHandler::passMouseMoveEventToSubframe):
  59246. (WebCore::EventHandler::passMouseReleaseEventToSubframe):
  59247. (WebCore::EventHandler::passMousePressEventToScrollbar):
  59248. (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
  59249. (WebCore::EventHandler::focusDocumentView):
  59250. (WebCore::EventHandler::eventActivatedView):
  59251. (WebCore::EventHandler::createDraggingClipboard):
  59252. 2007-11-01 Kevin Ollivier <kevino@theolliviers.com>
  59253. Adding files for wx impl. of editing interfaces.
  59254. Reviewed by Adam Roben.
  59255. * editing/wx: Added.
  59256. * editing/wx/EditorWx.cpp: Added.
  59257. (WebCore::Editor::newGeneralClipboard):
  59258. 2007-11-01 Sam Weinig <sam@webkit.org>
  59259. Reviewed by Adam Roben.
  59260. Make implicit conversions from LPCSTRs and BSTRs to WebCore string
  59261. types possible in preparation of adding autogenerated COM DOM bindings.
  59262. * platform/AtomicString.cpp:
  59263. (WebCore::AtomicString::add):
  59264. * platform/AtomicString.h:
  59265. (WebCore::AtomicString::AtomicString):
  59266. * platform/PlatformString.h:
  59267. * platform/win/BString.cpp:
  59268. (WebCore::BString::BString):
  59269. * platform/win/BString.h:
  59270. 2007-11-01 Brady Eidson <beidson@apple.com>
  59271. Reviewed by Anders
  59272. Renamed a flag inside of SQLiteTransaction and added an accessor (for future work)
  59273. * platform/sql/SQLiteTransaction.cpp:
  59274. (WebCore::SQLiteTransaction::SQLiteTransaction):
  59275. (WebCore::SQLiteTransaction::~SQLiteTransaction):
  59276. (WebCore::SQLiteTransaction::begin):
  59277. (WebCore::SQLiteTransaction::commit):
  59278. (WebCore::SQLiteTransaction::rollback):
  59279. * platform/sql/SQLiteTransaction.h:
  59280. (WebCore::SQLiteTransaction::inProgress):
  59281. 2007-11-01 Adam Roben <aroben@apple.com>
  59282. Remove all duplicate xcopy commands from WebCore's post-build step
  59283. Also add the /d option to the copy of platform/sql.
  59284. Rubberstamped by Sam.
  59285. * WebCore.vcproj/WebCore.vcproj:
  59286. 2007-11-01 Adele Peterson <adele@apple.com>
  59287. Reviewed by Maciej.
  59288. Add support for the animation of the -webkit-border-raduis properties.
  59289. * page/AnimationController.cpp:
  59290. (WebCore::blendFunc): Added for IntSize.
  59291. (WebCore::ImplicitAnimation::animate): Added cases for border radius properties.
  59292. 2007-11-01 Alp Toker <alp@atoker.com>
  59293. Reviewed by Mitz Pettel.
  59294. Fix an unbalanced save/restore.
  59295. * platform/graphics/cg/ImageCG.cpp:
  59296. (WebCore::BitmapImage::draw):
  59297. 2007-11-01 David Hyatt <hyatt@apple.com>
  59298. Add support for the animation of the visibility property.
  59299. Reviewed by oliver, aroben
  59300. * page/AnimationController.cpp:
  59301. (WebCore::blendFunc):
  59302. (WebCore::ImplicitAnimation::animate):
  59303. 2007-11-01 Kevin McCullough <kmccullough@apple.com>
  59304. Reviewed by Adam.
  59305. - Made COMPtr be able to be used by certain other templates,
  59306. specifically HashSet.
  59307. * platform/win/COMPtr.h:
  59308. (WTF::):
  59309. 2007-11-01 Dan Bernstein <mitz@apple.com>
  59310. Reviewed by Dave Hyatt.
  59311. - fix http://bugs.webkit.org/show_bug.cgi?id=15015
  59312. <rdar://problem/5420308> Most of www.aol.com redraws unnecessarily when headline/photo section changes
  59313. Test: fast/repaint/overflow-clip-subtree-layout.html
  59314. This patch does not address the bigger issue of doing a full relayout
  59315. of inline flows containing floats, but it addresses the problem on
  59316. aol.com, where the changes that trigger layout are confined to an
  59317. overflow area inside the float.
  59318. * page/FrameView.cpp:
  59319. (WebCore::FrameView::scheduleRelayoutOfSubtree): If the new and old
  59320. layout roots are different but one descends from the other, make (or
  59321. keep) the ancestor as the layout root.
  59322. * rendering/RenderObject.cpp:
  59323. (WebCore::objectIsRelayoutBoundary): Made boxes with overflow
  59324. clipping and non-auto width and height relayout boundaries.
  59325. 2007-11-01 Alexey Proskuryakov <ap@webkit.org>
  59326. Reviewed by Mark Rowe.
  59327. Fixed line endings that got confused in this file somehow.
  59328. * platform/network/ResourceResponse.cpp:
  59329. (WebCore::ResourceResponse::isAttachment):
  59330. 2007-11-01 Peter Kasting <pkasting@google.com>
  59331. Reviewed by Dave Hyatt.
  59332. http://bugs.webkit.org/show_bug.cgi?id=15778
  59333. Malformed GIFs should not result in memory corruption.
  59334. * platform/image-decoders/gif/GIFImageDecoder.cpp:
  59335. (WebCore::GIFImageDecoder::haveDecodedRow):
  59336. * platform/image-decoders/gif/GIFImageReader.cpp:
  59337. (GIFImageReader::output_row):
  59338. (GIFImageReader::read):
  59339. 2007-10-31 Adam Roben <aroben@apple.com>
  59340. Fix a crash when parsing a cubic-bezier function
  59341. Reviewed by Hyatt.
  59342. Test: fast/css/parse-timing-function-crash.html
  59343. * WebCore.vcproj/WebCore.vcproj:
  59344. * css/CSSParser.cpp:
  59345. (WebCore::CSSParser::parseTimingFunctionValue): Don't walk off the end
  59346. of the ValueList.
  59347. 2007-10-31 David Hyatt <hyatt@apple.com>
  59348. Fix a merge error from when I applied my patch to ToT. A couple of lines should be part of an if.
  59349. * rendering/RenderStyle.cpp:
  59350. (WebCore::RenderStyle::adjustTransitions):
  59351. 2007-10-31 Anders Carlsson <andersca@apple.com>
  59352. Reviewed by Sam.
  59353. Add new SQL callback interfaces and JS implementations of them.
  59354. * DerivedSources.make:
  59355. * WebCore.xcodeproj/project.pbxproj:
  59356. * bindings/js/JSCustomSQLStatementCallback.cpp: Added.
  59357. (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
  59358. (WebCore::JSCustomSQLStatementCallback::handleEvent):
  59359. * bindings/js/JSCustomSQLStatementCallback.h: Added.
  59360. * bindings/js/JSCustomSQLStatementErrorCallback.cpp: Added.
  59361. (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
  59362. (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
  59363. * bindings/js/JSCustomSQLStatementErrorCallback.h: Added.
  59364. * bindings/js/JSCustomSQLTransactionCallback.cpp: Added.
  59365. (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
  59366. (WebCore::JSCustomSQLTransactionCallback::handleEvent):
  59367. * bindings/js/JSCustomSQLTransactionCallback.h: Added.
  59368. * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: Added.
  59369. (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
  59370. (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
  59371. * bindings/js/JSCustomSQLTransactionErrorCallback.h: Added.
  59372. * storage/JSCustomSQLStatementCallback.h: Added.
  59373. * storage/JSCustomSQLStatementErrorCallback.h: Added.
  59374. * storage/JSCustomSQLTransactionCallback.h: Added.
  59375. * storage/JSCustomSQLTransactionErrorCallback.h: Added.
  59376. * storage/SQLStatementCallback.h: Added.
  59377. (WebCore::SQLStatementCallback::~SQLStatementCallback):
  59378. * storage/SQLStatementCallback.idl: Added.
  59379. * storage/SQLStatementErrorCallback.h: Added.
  59380. (WebCore::SQLStatementErrorCallback::~SQLStatementErrorCallback):
  59381. * storage/SQLStatementErrorCallback.idl: Added.
  59382. * storage/SQLTransaction.h: Added.
  59383. * storage/SQLTransaction.idl: Added.
  59384. * storage/SQLTransactionCallback.h: Added.
  59385. (WebCore::SQLTransactionCallback::~SQLTransactionCallback):
  59386. * storage/SQLTransactionCallback.idl: Added.
  59387. * storage/SQLTransactionErrorCallback.h: Added.
  59388. (WebCore::SQLTransactionErrorCallback::~SQLTransactionErrorCallback):
  59389. * storage/SQLTransactionErrorCallback.idl: Added.
  59390. 2007-10-31 Justin Garcia <justin.garcia@apple.com>
  59391. Reviewed by Dave Harrison.
  59392. <rdar://problem/5569741> Pasting content with a line break into a list can remove the list
  59393. * editing/htmlediting.cpp:
  59394. (WebCore::enclosingEmptyListItem): A single list item can contain multiple
  59395. paragraphs, so if the incoming VisiblePosition is in an empty paragraph in a
  59396. list item, that list item isn't necessarily empty.
  59397. 2007-10-31 David Hyatt <hyatt@apple.com>
  59398. Disable style sharing for animating styles.
  59399. Reviewed by mitzpettel
  59400. * css/CSSStyleSelector.cpp:
  59401. (WebCore::CSSStyleSelector::canShareStyleWithElement):
  59402. 2007-10-31 Dan Bernstein <mitz@apple.com>
  59403. Reviewed by Darin Adler.
  59404. - fix intermediate length calculation
  59405. * rendering/Length.h:
  59406. (WebCore::Length::blend):
  59407. 2007-10-31 Anders Carlsson <andersca@apple.com>
  59408. Reviewed by Darin.
  59409. Add new SQLError implementation.
  59410. * DerivedSources.make:
  59411. * WebCore.vcproj/WebCore.vcproj:
  59412. * WebCore.xcodeproj/project.pbxproj:
  59413. * storage/SQLError.h: Added.
  59414. (WebCore::SQLError::SQLError):
  59415. (WebCore::SQLError::code):
  59416. (WebCore::SQLError::message):
  59417. * storage/SQLError.idl: Added.
  59418. 2007-10-31 David Hyatt <hyatt@apple.com>
  59419. Change the initial value of transition-property to all. Change the initial value of
  59420. transition-duration to 0.
  59421. Reviewed by antti
  59422. * rendering/RenderStyle.h:
  59423. (WebCore::RenderStyle::initialTransitionDuration):
  59424. (WebCore::RenderStyle::initialTransitionProperty):
  59425. 2007-10-31 Alp Toker <alp@atoker.com>
  59426. Reviewed by Mark Rowe.
  59427. The new Color must be marked valid.
  59428. * platform/graphics/gtk/ColorGtk.cpp:
  59429. 2007-10-31 Simon Hausmann <hausmann@kde.org>
  59430. Reviewed by Maciej;
  59431. Build fix for non-Qt builds.
  59432. * dom/XMLTokenizer.cpp:
  59433. (WebCore::XMLTokenizer::XMLTokenizer):
  59434. 2007-10-31 Simon Hausmann <hausmann@kde.org>
  59435. Reviewed by Lars.
  59436. Fix dependency path to header files of the public API of the Qt port.
  59437. * WebCore.pro:
  59438. 2007-10-31 Holger Freyther <zecke@selfish.org>
  59439. Reviewed by Simon.
  59440. * QXmlStreamNamespaceDeclaration doesn't have the constructor we
  59441. want to use for Qt4.3. Reenable the old code path which is likely
  59442. to be dead as I have not checked if m_prefixToNamespaceMap is actually
  59443. used.
  59444. * Guard the entity resolver with the QT_VERSION as well.
  59445. * Partially reverts 369506279abdaa863e15efed649ca19e062f2c30 and
  59446. d2b54d0fc1b07a2480f4f7a1417abd7a636b0107 for Qt4.3.
  59447. * dom/XMLTokenizer.cpp:
  59448. (WebCore::XMLTokenizer::XMLTokenizer):
  59449. * dom/XMLTokenizer.h:
  59450. 2007-10-31 Holger Freyther <zecke@selfish.org>
  59451. Reviewed by Lars Knoll <lars@trolltech.com>.
  59452. * QMimeData::removeData will be new in Qt4.4, don't use it for Qt4.3
  59453. * Provide a bad fallback implementation to filter the format list.
  59454. * platform/qt/ClipboardQt.cpp:
  59455. (WebCore::ClipboardQt::clearData):
  59456. 2007-10-31 Lars Knoll <lars@trolltech.com>
  59457. Reviewed by Simon.
  59458. add an entitiy resolver to QXmlStream.
  59459. Fixes fast/parser/entities-in-attributes.xhtml.
  59460. * dom/XMLTokenizer.cpp:
  59461. (WebCore::EntityResolver::resolveUndeclaredEntity):
  59462. (WebCore::XMLTokenizer::XMLTokenizer):
  59463. (WebCore::XMLTokenizer::~XMLTokenizer):
  59464. 2007-10-31 Lars Knoll <lars@trolltech.com>
  59465. Reviewed by Simon.
  59466. Fixes in the XML tokenizer when using QXmlStream.
  59467. Use new functionality of QXmlStream in Qt 4.4 to simplify
  59468. the code (but keep the old code for now to still support Qt 4.3).
  59469. Add proper support for namespace handling when parsing into
  59470. a document fragment.
  59471. * dom/XMLTokenizer.cpp:
  59472. (WebCore::XMLTokenizer::XMLTokenizer):
  59473. (WebCore::XMLTokenizer::write):
  59474. (WebCore::XMLTokenizer::startElementNs):
  59475. * dom/XMLTokenizer.h:
  59476. 2007-10-31 Lars Knoll <lars@trolltech.com>
  59477. Reviewed by Simon.
  59478. add support for dragging images.
  59479. * platform/DragImage.h:
  59480. * platform/qt/ClipboardQt.cpp:
  59481. (WebCore::ClipboardQt::clearData):
  59482. (WebCore::ClipboardQt::setDragImage):
  59483. (WebCore::ClipboardQt::setDragImageElement):
  59484. (WebCore::ClipboardQt::createDragImage):
  59485. (WebCore::getCachedImage):
  59486. (WebCore::ClipboardQt::declareAndWriteDragImage):
  59487. * platform/qt/ClipboardQt.h:
  59488. 2007-10-31 Lars Knoll <lars@trolltech.com>
  59489. Reviewed by Simon.
  59490. fix most of the issues I found with Clipboard and DnD.
  59491. * editing/qt/EditorQt.cpp:
  59492. * platform/qt/ClipboardQt.cpp:
  59493. (WebCore::ClipboardQt::ClipboardQt):
  59494. (WebCore::ClipboardQt::~ClipboardQt):
  59495. (WebCore::ClipboardQt::clearData):
  59496. (WebCore::ClipboardQt::clearAllData):
  59497. (WebCore::ClipboardQt::getData):
  59498. (WebCore::ClipboardQt::setData):
  59499. (WebCore::ClipboardQt::types):
  59500. (WebCore::ClipboardQt::setDragImage):
  59501. (WebCore::ClipboardQt::setDragImageElement):
  59502. (WebCore::ClipboardQt::declareAndWriteDragImage):
  59503. (WebCore::ClipboardQt::writeURL):
  59504. (WebCore::ClipboardQt::writeRange):
  59505. (WebCore::ClipboardQt::hasData):
  59506. * platform/qt/ClipboardQt.h:
  59507. * platform/qt/DragDataQt.cpp:
  59508. (WebCore::DragData::asURL):
  59509. 2007-10-30 Mark Rowe <mrowe@apple.com>
  59510. Fix the Gtk and Qt builds by stubbing out PlatformKeyboardEvent::currentCapsLockState.
  59511. * platform/gtk/KeyEventGtk.cpp:
  59512. (WebCore::PlatformKeyboardEvent::currentCapsLockState):
  59513. * platform/qt/PlatformKeyboardEventQt.cpp:
  59514. (WebCore::PlatformKeyboardEvent::currentCapsLockState):
  59515. 2007-10-31 Alexey Proskuryakov <ap@webkit.org>
  59516. Reviewed by Anders.
  59517. http://bugs.webkit.org/show_bug.cgi?id=15762
  59518. XSLStylesheet loads subresources from a wrong URL
  59519. Covered by corrected existing tests.
  59520. * xml/XSLStyleSheet.cpp:
  59521. (WebCore::XSLStyleSheet::parseString): Pass stylesheet URL, not
  59522. the document one.
  59523. 2007-10-31 Alexey Proskuryakov <ap@webkit.org>
  59524. Reviewed by Darin.
  59525. http://bugs.webkit.org/show_bug.cgi?id=10818
  59526. String::append does 2 full copies instead of 1 (or zero!)
  59527. No change in functionality, thus no test.
  59528. * platform/String.cpp:
  59529. (WebCore::String::append): Rewrote to copy once. Also removed an ancient
  59530. FIXME that doesn't seem to make any sense. Note that append() behavior doesn't
  59531. match documented String behavior ("modifications to one instance will
  59532. also modify all others"), but there are a lot of methods that don't.
  59533. 2007-10-31 Adam Roben <aroben@apple.com>
  59534. Windows build fix
  59535. * WebCore.vcproj/WebCore.vcproj: Add [JS]ProgressEvent.{cpp,h} files.
  59536. 2007-10-30 Adam Roben <aroben@apple.com>
  59537. Windows build fixes
  59538. I'm not completely sure why these const issues weren't caught by GCC,
  59539. but MSVC was certainly not happy with them.
  59540. * editing/IndentOutdentCommand.cpp:
  59541. (WebCore::isIndentBlockquote):
  59542. * editing/markup.cpp:
  59543. (WebCore::styleFromMatchedRulesAndInlineDecl):
  59544. 2007-10-30 David Hyatt <hyatt@apple.com>
  59545. transition-property was defaulting to all when it should default to none.
  59546. It was taking a string type. I figured out how to make it take an ident instead, so you can write:
  59547. transition-property: opacity
  59548. instead of
  59549. transition-property: "opacity"
  59550. Transition layers also weren't properly repeating patterns the way they were supposed to. I fixed that.
  59551. Finally, I fixed a bug in the code to fix up transition layers where something was misplaced that should have been inside a null check.
  59552. Reviewed by aroben
  59553. * css/CSSHelper.h:
  59554. * css/CSSParser.cpp:
  59555. (WebCore::CSSParser::parseTransitionProperty):
  59556. * css/CSSStyleSelector.cpp:
  59557. (WebCore::CSSStyleSelector::adjustRenderStyle):
  59558. * page/AnimationController.cpp:
  59559. (WebCore::ImplicitAnimation::animate):
  59560. * rendering/RenderStyle.cpp:
  59561. (WebCore::RenderStyle::adjustTransitions):
  59562. * rendering/RenderStyle.h:
  59563. (WebCore::RenderStyle::initialTransitionProperty):
  59564. 2007-10-30 Antti Koivisto <antti@apple.com>
  59565. Reviewed by Geoff.
  59566. Leak fix
  59567. * platform/graphics/mac/MoviePrivateQTKit.mm:
  59568. (WebCore::MoviePrivate::getSupportedTypes):
  59569. 2007-10-30 Dan Bernstein <mitz@apple.com>
  59570. Reviewed by Stephanie Lewis.
  59571. - fix <rdar://problem/5547237> REGRESSION (304-ToT): Repro font-related crash in fontdatawin.cpp Line 93 (many sites)
  59572. * platform/win/FontDataWin.cpp:
  59573. (WebCore::FontData::platformInit): Handle the case where the font has no
  59574. glyphs on page zero.
  59575. 2007-10-30 David Hyatt <hyatt@apple.com>
  59576. Make sure CSS transforms can be animated using the CSS transition property.
  59577. Reviewed by Dan and Antti
  59578. * css/CSSStyleSelector.cpp:
  59579. (WebCore::CSSStyleSelector::applyProperty):
  59580. * page/AnimationController.cpp:
  59581. (WebCore::blendFunc):
  59582. (WebCore::ImplicitAnimation::animate):
  59583. * rendering/Length.h:
  59584. (WebCore::Length::blend):
  59585. * rendering/RenderStyle.cpp:
  59586. (WebCore::StyleTransformData::operator==):
  59587. (WebCore::TransformOperations::operator==):
  59588. (WebCore::blendLengths):
  59589. (WebCore::ScaleTransformOperation::blend):
  59590. (WebCore::RotateTransformOperation::blend):
  59591. (WebCore::SkewTransformOperation::blend):
  59592. (WebCore::TranslateTransformOperation::blend):
  59593. (WebCore::MatrixTransformOperation::blend):
  59594. * rendering/RenderStyle.h:
  59595. (WebCore::TransformOperations::operator!=):
  59596. (WebCore::TransformOperations::isEmpty):
  59597. (WebCore::TransformOperations::size):
  59598. (WebCore::TransformOperations::operator[]):
  59599. (WebCore::TransformOperations::append):
  59600. (WebCore::RenderStyle::transform):
  59601. (WebCore::RenderStyle::setTransform):
  59602. (WebCore::RenderStyle::initialTransform):
  59603. 2007-10-30 Antti Koivisto <antti@apple.com>
  59604. Another Qt/GTK build fix.
  59605. * bindings/js/JSHTMLElementWrapperFactory.cpp:
  59606. 2007-10-30 Antti Koivisto <antti@apple.com>
  59607. Attempt to fix Qt/GTK build.
  59608. * WebCore.pro:
  59609. 2007-10-30 Justin Garcia <justin.garcia@apple.com>
  59610. Reviewed by Darin Adler.
  59611. <rdar://problem/5549929> CrashTracer: [USER] 35 crashes at WebCore::CharacterData::insertData
  59612. We were trying to insert a tab into a br, after the br incorrectly ended up inside
  59613. a tab span.
  59614. * editing/DeleteButtonController.cpp:
  59615. (WebCore::isDeletableElement): Changed to take in a const Node* instead of a Node*.
  59616. * editing/DeleteSelectionCommand.cpp:
  59617. (WebCore::isTableRow): Ditto.
  59618. * editing/IndentOutdentCommand.cpp:
  59619. (WebCore::isIndentBlockquote): Ditto.
  59620. (WebCore::isListOrIndentBlockquote): Ditto.
  59621. * editing/InsertLineBreakCommand.cpp:
  59622. (WebCore::InsertLineBreakCommand::shouldUseBreakElement): Added, moved code from
  59623. doApply here.
  59624. (WebCore::InsertLineBreakCommand::doApply):
  59625. Don't upstream() the insertion position. upstream()ing it will only have an effect
  59626. when the insertion position is the first in its paragraph (since we canonicalize
  59627. VisiblePositions to the upstream() candidate). In this start of paragraph case,
  59628. upstream() can move outside inline elements like tab spans or elements that might
  59629. have a different whitespace mode (added two test cases to cover these).
  59630. Moved code to decide whether to insert a br or a '\n' to its own method.
  59631. Removed special case code for inserting at a position inside a tab span. We instead
  59632. adjust the insertion position before insertion if it is inside a tab span and
  59633. handle insertion in the appropriate if-block. This fixes a bug where we would
  59634. only insert one line break when two were needed (added a testcase).
  59635. Removed special case code for inserting before and after tables and horizontal
  59636. rules. We handle these insertions in the appropriate if-block.
  59637. * editing/InsertLineBreakCommand.h:
  59638. * editing/ReplaceSelectionCommand.cpp:
  59639. (WebCore::isMailPasteAsQuotationNode): Change to take in a const Node*.
  59640. * editing/htmlediting.cpp:
  59641. (WebCore::isContentEditable): Ditto.
  59642. (WebCore::isBlock): Ditto.
  59643. (WebCore::enclosingNodeOfType): Changed to take a function pointer to a function
  59644. that takes in a const Node*.
  59645. (WebCore::isTabSpanTextNode): Check to see that the node actually a text node,
  59646. and not, say, a br.
  59647. * editing/htmlediting.h:
  59648. * editing/markup.cpp:
  59649. (WebCore::styleFromMatchedRulesAndInlineDecl): Changed to take in a const Node*.
  59650. (WebCore::elementHasTextDecorationProperty): Ditto.
  59651. 2007-10-30 Antti Koivisto <antti@apple.com>
  59652. Add missing files.
  59653. * html/VoidCallback.cpp: Added.
  59654. (VoidCallback::VoidCallback):
  59655. (VoidCallback::~VoidCallback):
  59656. (VoidCallback::handleEvent):
  59657. (VoidCallback::execute):
  59658. (VoidCallback::operator==):
  59659. (WebCore::toVoidCallback):
  59660. * html/VoidCallback.h: Added.
  59661. * html/VoidCallback.idl: Added.
  59662. 2007-10-30 David Kilzer <ddkilzer@webkit.org>
  59663. Generated files missing from WebCore's Xcode project file
  59664. <http://bugs.webkit.org/show_bug.cgi?id=15406>
  59665. Reviewed by Darin.
  59666. Added the following files to the Xcode project file (note that
  59667. JSHTMLInputElementBaseTable.cpp is used as a header file):
  59668. - DOMCSSStyleSheetPrivate.h
  59669. - DOMEventPrivate.h
  59670. - DOMHTMLCollectionPrivate.h
  59671. - DOMHTMLEmbedElementPrivate.h
  59672. - DOMHTMLIFrameElementPrivate.h
  59673. - DOMHTMLObjectElementPrivate.h
  59674. - DOMHTMLSelectElementPrivate.h
  59675. - DOMTextEventInternal.h
  59676. - JSHTMLInputElementBaseTable.cpp
  59677. * DerivedSources.make: Removed DOMSVGException.h and JSSVGAnimatedPoints.h
  59678. since their generated code was not used.
  59679. * WebCore.xcodeproj/project.pbxproj: Added missing header files.
  59680. 2007-10-29 Antti Koivisto <antti@apple.com>
  59681. Rubber stamped by Adele.
  59682. Initial media (<video> and <audio>) support from feature branch and
  59683. QTKit based platform implementation.
  59684. This will need to be updated to match current draft specification.
  59685. * Configurations/WebCore.xcconfig:
  59686. * DerivedSources.make:
  59687. * WebCore.base.exp:
  59688. * WebCore.xcodeproj/project.pbxproj:
  59689. * bindings/js/JSEventCustom.cpp:
  59690. (WebCore::toJS):
  59691. * bindings/js/JSHTMLAudioElementConstructor.cpp: Added.
  59692. (WebCore::JSHTMLAudioElementConstructor::JSHTMLAudioElementConstructor):
  59693. (WebCore::JSHTMLAudioElementConstructor::implementsConstruct):
  59694. (WebCore::JSHTMLAudioElementConstructor::construct):
  59695. * bindings/js/JSHTMLAudioElementConstructor.h: Added.
  59696. * bindings/js/JSHTMLElementWrapperFactory.cpp:
  59697. (WebCore::createJSHTMLWrapper):
  59698. * bindings/js/kjs_window.cpp:
  59699. (KJS::Window::getValueProperty):
  59700. * bindings/js/kjs_window.h:
  59701. (KJS::Window::):
  59702. * bindings/scripts/CodeGeneratorJS.pm:
  59703. * dom/Document.cpp:
  59704. (WebCore::Document::createEvent):
  59705. (WebCore::Document::willSaveToCache):
  59706. (WebCore::Document::didRestoreFromCache):
  59707. (WebCore::Document::registerForCacheCallbacks):
  59708. (WebCore::Document::unregisterForCacheCallbacks):
  59709. * dom/Document.h:
  59710. * dom/Element.cpp:
  59711. (WebCore::Element::setBooleanAttribute):
  59712. * dom/Element.h:
  59713. (WebCore::Element::willSaveToCache):
  59714. * dom/Event.cpp:
  59715. (WebCore::Event::isProgressEvent):
  59716. * dom/Event.h:
  59717. * dom/EventNames.h:
  59718. * dom/EventTargetNode.cpp:
  59719. (WebCore::EventTargetNode::dispatchProgressEvent):
  59720. * dom/EventTargetNode.h:
  59721. * dom/ProgressEvent.cpp: Added.
  59722. (WebCore::ProgressEvent::ProgressEvent):
  59723. (WebCore::ProgressEvent::initProgressEvent):
  59724. (WebCore::ProgressEvent::initProgressEventNS):
  59725. * dom/ProgressEvent.h: Added.
  59726. (WebCore::ProgressEvent::lengthComputable):
  59727. (WebCore::ProgressEvent::loaded):
  59728. (WebCore::ProgressEvent::total):
  59729. (WebCore::ProgressEvent::isProgressEvent):
  59730. * dom/ProgressEvent.idl: Added.
  59731. * history/CachedPage.cpp:
  59732. (WebCore::CachedPage::CachedPage):
  59733. * html/HTMLAttributeNames.in:
  59734. * html/HTMLAudioElement.cpp: Added.
  59735. (WebCore::HTMLAudioElement::HTMLAudioElement):
  59736. * html/HTMLAudioElement.h: Added.
  59737. (WebCore::HTMLAudioElement::tagPriority):
  59738. * html/HTMLAudioElement.idl: Added.
  59739. * html/HTMLElement.cpp:
  59740. (WebCore::inlineTagList):
  59741. * html/HTMLElementFactory.cpp:
  59742. (WebCore::audioConstructor):
  59743. (WebCore::videoConstructor):
  59744. (WebCore::sourceConstructor):
  59745. (WebCore::createFunctionMap):
  59746. * html/HTMLInputElement.cpp:
  59747. (WebCore::HTMLInputElement::~HTMLInputElement):
  59748. (WebCore::HTMLInputElement::setInputType):
  59749. (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
  59750. (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
  59751. * html/HTMLMediaElement.cpp: Added.
  59752. (WebCore::HTMLMediaElement::HTMLMediaElement):
  59753. (WebCore::HTMLMediaElement::~HTMLMediaElement):
  59754. (WebCore::HTMLMediaElement::checkDTD):
  59755. (WebCore::HTMLMediaElement::rendererIsNeeded):
  59756. (WebCore::HTMLMediaElement::createRenderer):
  59757. (WebCore::HTMLMediaElement::insertedIntoDocument):
  59758. (WebCore::HTMLMediaElement::removedFromDocument):
  59759. (WebCore::HTMLMediaElement::scheduleLoad):
  59760. (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
  59761. (WebCore::HTMLMediaElement::dispatchEventAsync):
  59762. (WebCore::HTMLMediaElement::loadTimerFired):
  59763. (WebCore::HTMLMediaElement::asyncEventTimerFired):
  59764. (WebCore::serializeTimeOffset):
  59765. (WebCore::parseTimeOffset):
  59766. (WebCore::HTMLMediaElement::getTimeOffsetAttribute):
  59767. (WebCore::HTMLMediaElement::setTimeOffsetAttribute):
  59768. (WebCore::HTMLMediaElement::error):
  59769. (WebCore::HTMLMediaElement::src):
  59770. (WebCore::HTMLMediaElement::HTMLMediaElement::setSrc):
  59771. (WebCore::HTMLMediaElement::currentSrc):
  59772. (WebCore::HTMLMediaElement::networkState):
  59773. (WebCore::HTMLMediaElement::bufferingRate):
  59774. (WebCore::HTMLMediaElement::load):
  59775. (WebCore::HTMLMediaElement::movieNetworkStateChanged):
  59776. (WebCore::HTMLMediaElement::movieReadyStateChanged):
  59777. (WebCore::HTMLMediaElement::setReadyState):
  59778. (WebCore::HTMLMediaElement::progressEventTimerFired):
  59779. (WebCore::HTMLMediaElement::seek):
  59780. (WebCore::HTMLMediaElement::readyState):
  59781. (WebCore::HTMLMediaElement::seeking):
  59782. (WebCore::HTMLMediaElement::currentTime):
  59783. (WebCore::HTMLMediaElement::setCurrentTime):
  59784. (WebCore::HTMLMediaElement::duration):
  59785. (WebCore::HTMLMediaElement::paused):
  59786. (WebCore::HTMLMediaElement::defaultPlaybackRate):
  59787. (WebCore::HTMLMediaElement::setDefaultPlaybackRate):
  59788. (WebCore::HTMLMediaElement::playbackRate):
  59789. (WebCore::HTMLMediaElement::setPlaybackRate):
  59790. (WebCore::HTMLMediaElement::ended):
  59791. (WebCore::HTMLMediaElement::autoplay):
  59792. (WebCore::HTMLMediaElement::setAutoplay):
  59793. (WebCore::HTMLMediaElement::play):
  59794. (WebCore::HTMLMediaElement::pause):
  59795. (WebCore::HTMLMediaElement::loopCount):
  59796. (WebCore::HTMLMediaElement::setLoopCount):
  59797. (WebCore::HTMLMediaElement::start):
  59798. (WebCore::HTMLMediaElement::setStart):
  59799. (WebCore::HTMLMediaElement::end):
  59800. (WebCore::HTMLMediaElement::setEnd):
  59801. (WebCore::HTMLMediaElement::loopStart):
  59802. (WebCore::HTMLMediaElement::setLoopStart):
  59803. (WebCore::HTMLMediaElement::loopEnd):
  59804. (WebCore::HTMLMediaElement::setLoopEnd):
  59805. (WebCore::HTMLMediaElement::currentLoop):
  59806. (WebCore::HTMLMediaElement::setCurrentLoop):
  59807. (WebCore::HTMLMediaElement::controls):
  59808. (WebCore::HTMLMediaElement::setControls):
  59809. (WebCore::HTMLMediaElement::volume):
  59810. (WebCore::HTMLMediaElement::setVolume):
  59811. (WebCore::HTMLMediaElement::muted):
  59812. (WebCore::HTMLMediaElement::setMuted):
  59813. (WebCore::HTMLMediaElement::pickMedia):
  59814. (WebCore::HTMLMediaElement::checkIfSeekNeeded):
  59815. (WebCore::HTMLMediaElement::movieVolumeChanged):
  59816. (WebCore::HTMLMediaElement::movieDidEnd):
  59817. (WebCore::HTMLMediaElement::movieCuePointReached):
  59818. (WebCore::HTMLMediaElement::addCuePoint):
  59819. (WebCore::HTMLMediaElement::removeCuePoint):
  59820. (WebCore::HTMLMediaElement::buffered):
  59821. (WebCore::HTMLMediaElement::played):
  59822. (WebCore::HTMLMediaElement::seekable):
  59823. (WebCore::HTMLMediaElement::effectiveStart):
  59824. (WebCore::HTMLMediaElement::effectiveEnd):
  59825. (WebCore::HTMLMediaElement::effectiveLoopStart):
  59826. (WebCore::HTMLMediaElement::effectiveLoopEnd):
  59827. (WebCore::HTMLMediaElement::activelyPlaying):
  59828. (WebCore::HTMLMediaElement::endedPlayback):
  59829. (WebCore::HTMLMediaElement::willSaveToCache):
  59830. (WebCore::HTMLMediaElement::didRestoreFromCache):
  59831. * html/HTMLMediaElement.h: Added.
  59832. (WebCore::HTMLMediaElement::movie):
  59833. (WebCore::HTMLMediaElement::isVideo):
  59834. (WebCore::HTMLMediaElement::):
  59835. (WebCore::HTMLMediaElement::CallbackEntry::CallbackEntry):
  59836. * html/HTMLMediaElement.idl: Added.
  59837. * html/HTMLSourceElement.cpp: Added.
  59838. (WebCore::HTMLSourceElement::HTMLSourceElement):
  59839. (WebCore::HTMLSourceElement::~HTMLSourceElement):
  59840. (WebCore::HTMLSourceElement::insertedIntoDocument):
  59841. (WebCore::HTMLSourceElement::src):
  59842. (WebCore::HTMLSourceElement::setSrc):
  59843. (WebCore::HTMLSourceElement::media):
  59844. (WebCore::HTMLSourceElement::setMedia):
  59845. (WebCore::HTMLSourceElement::type):
  59846. (WebCore::HTMLSourceElement::setType):
  59847. * html/HTMLSourceElement.h: Added.
  59848. (WebCore::HTMLSourceElement::endTagRequirement):
  59849. (WebCore::HTMLSourceElement::tagPriority):
  59850. * html/HTMLSourceElement.idl: Added.
  59851. * html/HTMLTagNames.in:
  59852. * html/HTMLVideoElement.cpp: Added.
  59853. (WebCore::HTMLVideoElement::HTMLVideoElement):
  59854. (WebCore::HTMLVideoElement::videoWidth):
  59855. (WebCore::HTMLVideoElement::videoHeight):
  59856. * html/HTMLVideoElement.h: Added.
  59857. (WebCore::HTMLVideoElement::tagPriority):
  59858. (WebCore::HTMLVideoElement::isVideo):
  59859. * html/HTMLVideoElement.idl: Added.
  59860. * html/MediaError.h: Added.
  59861. (WebCore::MediaError::):
  59862. (WebCore::MediaError::MediaError):
  59863. (WebCore::MediaError::code):
  59864. * html/MediaError.idl: Added.
  59865. * html/TimeRanges.cpp: Added.
  59866. (TimeRanges::TimeRanges):
  59867. (TimeRanges::start):
  59868. (TimeRanges::end):
  59869. (TimeRanges::add):
  59870. (TimeRanges::contain):
  59871. * html/TimeRanges.h: Added.
  59872. (WebCore::TimeRanges::TimeRanges):
  59873. (WebCore::TimeRanges::length):
  59874. (WebCore::TimeRanges::Range::Range):
  59875. * html/TimeRanges.idl: Added.
  59876. * page/DOMWindow.idl:
  59877. * platform/MIMETypeRegistry.cpp:
  59878. (WebCore::initialiseSupportedMovieMIMETypes):
  59879. (WebCore::initialiseMIMETypeRegistry):
  59880. (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType):
  59881. (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes):
  59882. * platform/MIMETypeRegistry.h:
  59883. * platform/graphics/Movie.cpp: Added.
  59884. (WebCore::Movie::Movie):
  59885. (WebCore::Movie::~Movie):
  59886. (WebCore::Movie::load):
  59887. (WebCore::Movie::cancelLoad):
  59888. (WebCore::Movie::play):
  59889. (WebCore::Movie::pause):
  59890. (WebCore::Movie::duration):
  59891. (WebCore::Movie::currentTime):
  59892. (WebCore::Movie::seek):
  59893. (WebCore::Movie::paused):
  59894. (WebCore::Movie::seeking):
  59895. (WebCore::Movie::naturalSize):
  59896. (WebCore::Movie::hasVideo):
  59897. (WebCore::Movie::networkState):
  59898. (WebCore::Movie::readyState):
  59899. (WebCore::Movie::volume):
  59900. (WebCore::Movie::setVolume):
  59901. (WebCore::Movie::rate):
  59902. (WebCore::Movie::setRate):
  59903. (WebCore::Movie::muted):
  59904. (WebCore::Movie::setMuted):
  59905. (WebCore::Movie::dataRate):
  59906. (WebCore::Movie::setEndTime):
  59907. (WebCore::Movie::addCuePoint):
  59908. (WebCore::Movie::removeCuePoint):
  59909. (WebCore::Movie::clearCuePoints):
  59910. (WebCore::Movie::maxTimeBuffered):
  59911. (WebCore::Movie::maxTimeSeekable):
  59912. (WebCore::Movie::bytesLoaded):
  59913. (WebCore::Movie::totalBytesKnown):
  59914. (WebCore::Movie::totalBytes):
  59915. (WebCore::Movie::setRect):
  59916. (WebCore::Movie::visible):
  59917. (WebCore::Movie::setVisible):
  59918. (WebCore::Movie::paint):
  59919. (WebCore::Movie::getSupportedTypes):
  59920. (WebCore::Movie::networkStateChanged):
  59921. (WebCore::Movie::readyStateChanged):
  59922. (WebCore::Movie::volumeChanged):
  59923. (WebCore::Movie::didEnd):
  59924. (WebCore::Movie::cuePointReached):
  59925. * platform/graphics/Movie.h: Added.
  59926. (WebCore::MovieClient::~MovieClient):
  59927. (WebCore::MovieClient::movieNetworkStateChanged):
  59928. (WebCore::MovieClient::movieReadyStateChanged):
  59929. (WebCore::MovieClient::movieVolumeChanged):
  59930. (WebCore::MovieClient::movieDidEnd):
  59931. (WebCore::MovieClient::movieCuePointReached):
  59932. (WebCore::Movie::parentWidget):
  59933. (WebCore::Movie::setParentWidget):
  59934. (WebCore::Movie::rect):
  59935. (WebCore::Movie::):
  59936. * platform/graphics/mac/MoviePrivateQTKit.h: Added.
  59937. * platform/graphics/mac/MoviePrivateQTKit.mm: Added.
  59938. (WebCore::MoviePrivate::MoviePrivate):
  59939. (WebCore::MoviePrivate::~MoviePrivate):
  59940. (WebCore::MoviePrivate::createQTMovie):
  59941. (WebCore::MoviePrivate::createQTMovieView):
  59942. (WebCore::MoviePrivate::createQTTime):
  59943. (WebCore::MoviePrivate::load):
  59944. (WebCore::MoviePrivate::play):
  59945. (WebCore::MoviePrivate::pause):
  59946. (WebCore::MoviePrivate::duration):
  59947. (WebCore::MoviePrivate::currentTime):
  59948. (WebCore::MoviePrivate::seek):
  59949. (WebCore::MoviePrivate::setEndTime):
  59950. (WebCore::MoviePrivate::addCuePoint):
  59951. (WebCore::MoviePrivate::removeCuePoint):
  59952. (WebCore::MoviePrivate::clearCuePoints):
  59953. (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
  59954. (WebCore::MoviePrivate::cancelSeek):
  59955. (WebCore::MoviePrivate::seekTimerFired):
  59956. (WebCore::MoviePrivate::cuePointTimerFired):
  59957. (WebCore::MoviePrivate::paused):
  59958. (WebCore::MoviePrivate::seeking):
  59959. (WebCore::MoviePrivate::naturalSize):
  59960. (WebCore::MoviePrivate::hasVideo):
  59961. (WebCore::MoviePrivate::setVolume):
  59962. (WebCore::MoviePrivate::setMuted):
  59963. (WebCore::MoviePrivate::setRate):
  59964. (WebCore::MoviePrivate::dataRate):
  59965. (WebCore::MoviePrivate::networkState):
  59966. (WebCore::MoviePrivate::readyState):
  59967. (WebCore::MoviePrivate::maxTimeBuffered):
  59968. (WebCore::MoviePrivate::maxTimeSeekable):
  59969. (WebCore::MoviePrivate::maxTimeLoaded):
  59970. (WebCore::MoviePrivate::bytesLoaded):
  59971. (WebCore::MoviePrivate::totalBytesKnown):
  59972. (WebCore::MoviePrivate::totalBytes):
  59973. (WebCore::MoviePrivate::cancelLoad):
  59974. (WebCore::MoviePrivate::updateStates):
  59975. (WebCore::MoviePrivate::loadStateChanged):
  59976. (WebCore::MoviePrivate::rateChanged):
  59977. (WebCore::MoviePrivate::sizeChanged):
  59978. (WebCore::MoviePrivate::timeChanged):
  59979. (WebCore::MoviePrivate::volumeChanged):
  59980. (WebCore::MoviePrivate::didEnd):
  59981. (WebCore::MoviePrivate::setRect):
  59982. (WebCore::MoviePrivate::setVisible):
  59983. (WebCore::MoviePrivate::paint):
  59984. (WebCore::MoviePrivate::getSupportedTypes):
  59985. (-[WebCoreMovieObserver loadStateChanged:]):
  59986. (-[WebCoreMovieObserver rateChanged:]):
  59987. (-[WebCoreMovieObserver sizeChanged:]):
  59988. (-[WebCoreMovieObserver timeChanged:]):
  59989. (-[WebCoreMovieObserver volumeChanged:]):
  59990. (-[WebCoreMovieObserver didEnd:]):
  59991. (-[WebCoreMovieObserver setCallback:WebCore::]):
  59992. * platform/mac/WebCoreSystemInterface.h:
  59993. * platform/mac/WebCoreSystemInterface.mm:
  59994. * rendering/RenderLayer.cpp:
  59995. (WebCore::RenderLayer::collectLayers):
  59996. * rendering/RenderVideo.cpp: Added.
  59997. (WebCore::RenderVideo::RenderVideo):
  59998. (WebCore::RenderVideo::~RenderVideo):
  59999. (WebCore::RenderVideo::movie):
  60000. (WebCore::RenderVideo::videoSizeChanged):
  60001. (WebCore::RenderVideo::paint):
  60002. (WebCore::RenderVideo::layout):
  60003. (WebCore::RenderVideo::updateFromElement):
  60004. (WebCore::RenderVideo::updateMovie):
  60005. (WebCore::RenderVideo::isWidthSpecified):
  60006. (WebCore::RenderVideo::isHeightSpecified):
  60007. (WebCore::RenderVideo::calcReplacedWidth):
  60008. (WebCore::RenderVideo::calcReplacedHeight):
  60009. (WebCore::RenderVideo::calcAspectRatioWidth):
  60010. (WebCore::RenderVideo::calcAspectRatioHeight):
  60011. (WebCore::RenderVideo::calcPrefWidths):
  60012. * rendering/RenderVideo.h: Added.
  60013. (WebCore::RenderVideo::renderName):
  60014. 2007-10-30 Sam Weinig <sam@webkit.org>
  60015. Reviewed by Adam Roben.
  60016. Add Interface and Class UUIDs to the IDLs in preparation of adding
  60017. autogeneration of the COM DOM bindings.
  60018. * bindings/scripts/IDLParser.pm: Relax parsing rules to allow newlines as whitespace.
  60019. * css/CSSCharsetRule.idl:
  60020. * css/CSSFontFaceRule.idl:
  60021. * css/CSSImportRule.idl:
  60022. * css/CSSMediaRule.idl:
  60023. * css/CSSPageRule.idl:
  60024. * css/CSSPrimitiveValue.idl:
  60025. * css/CSSRule.idl:
  60026. * css/CSSRuleList.idl:
  60027. * css/CSSStyleDeclaration.idl:
  60028. * css/CSSStyleRule.idl:
  60029. * css/CSSStyleSheet.idl:
  60030. * css/CSSUnknownRule.idl:
  60031. * css/CSSValue.idl:
  60032. * css/CSSValueList.idl:
  60033. * css/Counter.idl:
  60034. * css/MediaList.idl:
  60035. * css/RGBColor.idl:
  60036. * css/Rect.idl:
  60037. * css/StyleSheet.idl:
  60038. * css/StyleSheetList.idl:
  60039. * dom/Attr.idl:
  60040. * dom/CDATASection.idl:
  60041. * dom/CharacterData.idl:
  60042. * dom/Comment.idl:
  60043. * dom/DOMImplementation.idl:
  60044. * dom/Document.idl:
  60045. * dom/DocumentFragment.idl:
  60046. * dom/DocumentType.idl:
  60047. * dom/Element.idl:
  60048. * dom/Entity.idl:
  60049. * dom/EntityReference.idl:
  60050. * dom/Event.idl:
  60051. * dom/EventListener.idl:
  60052. * dom/EventTarget.idl:
  60053. * dom/NamedNodeMap.idl:
  60054. * dom/Node.idl:
  60055. * dom/NodeList.idl:
  60056. * dom/Notation.idl:
  60057. * dom/ProcessingInstruction.idl:
  60058. * dom/Text.idl:
  60059. * html/CanvasGradient.idl:
  60060. * html/CanvasPattern.idl:
  60061. * html/CanvasRenderingContext2D.idl:
  60062. * html/HTMLAnchorElement.idl:
  60063. * html/HTMLAppletElement.idl:
  60064. * html/HTMLAreaElement.idl:
  60065. * html/HTMLBRElement.idl:
  60066. * html/HTMLBaseElement.idl:
  60067. * html/HTMLBaseFontElement.idl:
  60068. * html/HTMLBlockquoteElement.idl:
  60069. * html/HTMLBodyElement.idl:
  60070. * html/HTMLButtonElement.idl:
  60071. * html/HTMLCanvasElement.idl:
  60072. * html/HTMLCollection.idl:
  60073. * html/HTMLDListElement.idl:
  60074. * html/HTMLDirectoryElement.idl:
  60075. * html/HTMLDivElement.idl:
  60076. * html/HTMLDocument.idl:
  60077. * html/HTMLElement.idl:
  60078. * html/HTMLEmbedElement.idl:
  60079. * html/HTMLFieldSetElement.idl:
  60080. * html/HTMLFontElement.idl:
  60081. * html/HTMLFormElement.idl:
  60082. * html/HTMLFrameElement.idl:
  60083. * html/HTMLFrameSetElement.idl:
  60084. * html/HTMLHRElement.idl:
  60085. * html/HTMLHeadElement.idl:
  60086. * html/HTMLHeadingElement.idl:
  60087. * html/HTMLHtmlElement.idl:
  60088. * html/HTMLIFrameElement.idl:
  60089. * html/HTMLImageElement.idl:
  60090. * html/HTMLInputElement.idl:
  60091. * html/HTMLIsIndexElement.idl:
  60092. * html/HTMLLIElement.idl:
  60093. * html/HTMLLabelElement.idl:
  60094. * html/HTMLLegendElement.idl:
  60095. * html/HTMLLinkElement.idl:
  60096. * html/HTMLMapElement.idl:
  60097. * html/HTMLMarqueeElement.idl:
  60098. * html/HTMLMenuElement.idl:
  60099. * html/HTMLMetaElement.idl:
  60100. * html/HTMLModElement.idl:
  60101. * html/HTMLOListElement.idl:
  60102. * html/HTMLObjectElement.idl:
  60103. * html/HTMLOptGroupElement.idl:
  60104. * html/HTMLOptionElement.idl:
  60105. * html/HTMLOptionsCollection.idl:
  60106. * html/HTMLParagraphElement.idl:
  60107. * html/HTMLParamElement.idl:
  60108. * html/HTMLPreElement.idl:
  60109. * html/HTMLQuoteElement.idl:
  60110. * html/HTMLScriptElement.idl:
  60111. * html/HTMLSelectElement.idl:
  60112. * html/HTMLStyleElement.idl:
  60113. * html/HTMLTableCaptionElement.idl:
  60114. * html/HTMLTableCellElement.idl:
  60115. * html/HTMLTableColElement.idl:
  60116. * html/HTMLTableElement.idl:
  60117. * html/HTMLTableRowElement.idl:
  60118. * html/HTMLTableSectionElement.idl:
  60119. * html/HTMLTextAreaElement.idl:
  60120. * html/HTMLTitleElement.idl:
  60121. * html/HTMLUListElement.idl:
  60122. 2007-10-30 Adele Peterson <adele@apple.com>
  60123. RS by Darin.
  60124. * page/AnimationController.cpp: (WebCore::blendFunc): Use lround instead of round.
  60125. 2007-10-29 Timothy Hatcher <timothy@apple.com>
  60126. Reviewed by John Sullivan.
  60127. - Allow showing and closing the inspector programatically.
  60128. - Add showConsole() and showTimeline() methods.
  60129. * WebCore.base.exp: Add exports for WebKit.
  60130. * page/InspectorController.cpp:
  60131. (WebCore::callSimpleFunction): Renamed from callClearFunction().
  60132. (WebCore::unloading): Renamed to close().
  60133. (WebCore::InspectorController::InspectorController):
  60134. (WebCore::InspectorController::inspect): Moved showing code to show().
  60135. (WebCore::InspectorController::setWindowVisible): Show the timeline or console if needed.
  60136. (WebCore::InspectorController::show): Code factored out of inspect().
  60137. (WebCore::InspectorController::showConsole): Call show() and the JS showConsole().
  60138. (WebCore::InspectorController::showTimeline): Call show() and the JS showTimeline().
  60139. (WebCore::InspectorController::close):
  60140. (WebCore::InspectorController::clearScriptResources): Call the new callSimpleFunction.
  60141. (WebCore::InspectorController::clearDatabaseScriptResources): Ditto.
  60142. (WebCore::InspectorController::clearScriptConsoleMessages): Ditto.
  60143. (WebCore::InspectorController::clearNetworkTimeline): Ditto.
  60144. * page/InspectorController.h: Add and rename methods.
  60145. * page/inspector/inspector.js: Add showConsole() and showTimeline().
  60146. 2007-10-30 Adele Peterson <adele@apple.com>
  60147. Reviewed by Sam.
  60148. Build fix.
  60149. * page/AnimationController.cpp: (WebCore::blendFunc):
  60150. 2007-10-30 Adele Peterson <adele@apple.com>
  60151. Reviewed by Darin.
  60152. WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
  60153. <rdar://problem/5103625> REGRESSION: Caps lock icon should show in password fields
  60154. Test: manual-tests/password-caps-lock.html
  60155. * WebCore.base.exp: Added symbol for capsLockStateMayHaveChanged.
  60156. * page/Frame.cpp: (WebCore::Frame::setIsActive): Calls capsLockStateMayHaveChanged.
  60157. * page/EventHandler.cpp: (WebCore::EventHandler::capsLockStateMayHaveChanged): Added. Tells the focused node's renderer that the capsLockStateMayHaveChanged.
  60158. * page/EventHandler.h:
  60159. * platform/PlatformKeyboardEvent.h:
  60160. * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Added.
  60161. * platform/win/KeyEventWin.cpp: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Added.
  60162. * rendering/RenderTextControl.cpp:
  60163. (WebCore::RenderTextControl::RenderTextControl):
  60164. (WebCore::RenderTextControl::paint): Added. If m_shouldDrawCapsLockIndicator is true, paints the caps lock indicator after the background.
  60165. (WebCore::RenderTextControl::forwardEvent): When the control gets and loses focus, update the caps lock state.
  60166. (WebCore::RenderTextControl::capsLockStateMayHaveChanged): Added. Updates m_shouldDrawCapsLockIndicator, which is true if the field is a password field,
  60167. and the frame is active, and the element is focused, and the caps lock is on. Causes a repaint when m_shouldDrawCapsLockIndicator changes state.
  60168. * rendering/RenderTextControl.h: Added m_shouldDrawCapsLockIndicator.
  60169. * rendering/RenderObject.h: (WebCore::RenderObject::capsLockStateMayHaveChanged): Added.
  60170. * rendering/RenderTheme.h: (WebCore::RenderTheme::paintCapsLockIndicator): Added.
  60171. * rendering/RenderThemeMac.h:
  60172. * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintCapsLockIndicator): Added. Calls wkDrawCapsLockIndicator.
  60173. * rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::paintCapsLockIndicator): Added. Calls paintThemePart for the CapsLockPart.
  60174. * rendering/RenderThemeSafari.h:
  60175. 2007-10-30 David Hyatt <hyatt@apple.com>
  60176. Land support for implicit animation in CSS.
  60177. Reviewed by mitz, darin
  60178. * css/CSSParser.cpp:
  60179. (WebCore::CSSParser::parseTimingFunctionValue):
  60180. (WebCore::CSSParser::parseTransitionTimingFunction):
  60181. (WebCore::CSSParser::parseTransitionProperty):
  60182. * css/CSSStyleSelector.cpp:
  60183. (WebCore::CSSStyleSelector::mapTransitionDuration):
  60184. (WebCore::CSSStyleSelector::mapTransitionRepeatCount):
  60185. (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
  60186. (WebCore::CSSStyleSelector::mapTransitionProperty):
  60187. * css/CSSTimingFunctionValue.h:
  60188. (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
  60189. (WebCore::CSSTimingFunctionValue::x1):
  60190. (WebCore::CSSTimingFunctionValue::y1):
  60191. (WebCore::CSSTimingFunctionValue::x2):
  60192. (WebCore::CSSTimingFunctionValue::y2):
  60193. * dom/Element.cpp:
  60194. (WebCore::Element::styleForRenderer):
  60195. (WebCore::Element::createRenderer):
  60196. * dom/Node.cpp:
  60197. (WebCore::Node::createRendererIfNeeded):
  60198. (WebCore::Node::setRenderStyle):
  60199. * page/AnimationController.cpp:
  60200. (WebCore::CurveData::CurveData):
  60201. (WebCore::CurveData::sampleCurveX):
  60202. (WebCore::CurveData::sampleCurveY):
  60203. (WebCore::CurveData::sampleCurveDerivativeX):
  60204. (WebCore::CurveData::solveCurveX):
  60205. (WebCore::solveEpsilon):
  60206. (WebCore::solveCubicBezierFunction):
  60207. (WebCore::ImplicitAnimation::finished):
  60208. (WebCore::CompositeImplicitAnimation::~CompositeImplicitAnimation):
  60209. (WebCore::CompositeImplicitAnimation::hasAnimationForProperty):
  60210. (WebCore::ImplicitAnimation::ImplicitAnimation):
  60211. (WebCore::ImplicitAnimation::~ImplicitAnimation):
  60212. (WebCore::ImplicitAnimation::reset):
  60213. (WebCore::ImplicitAnimation::progress):
  60214. (WebCore::blendFunc):
  60215. (WebCore::ImplicitAnimation::animate):
  60216. (WebCore::CompositeImplicitAnimation::animate):
  60217. (WebCore::CompositeImplicitAnimation::animating):
  60218. (WebCore::CompositeImplicitAnimation::reset):
  60219. (WebCore::AnimationControllerPrivate::hasImplicitAnimations):
  60220. (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
  60221. (WebCore::AnimationControllerPrivate::~AnimationControllerPrivate):
  60222. (WebCore::AnimationControllerPrivate::get):
  60223. (WebCore::AnimationControllerPrivate::clear):
  60224. (WebCore::AnimationControllerPrivate::updateTimer):
  60225. (WebCore::AnimationControllerPrivate::timerFired):
  60226. (WebCore:::m_data):
  60227. (WebCore::AnimationController::~AnimationController):
  60228. (WebCore::AnimationController::cancelImplicitAnimations):
  60229. (WebCore::AnimationController::updateImplicitAnimations):
  60230. (WebCore::AnimationController::suspendAnimations):
  60231. (WebCore::AnimationController::resumeAnimations):
  60232. * page/AnimationController.h:
  60233. * page/Frame.cpp:
  60234. (WebCore::FramePrivate::FramePrivate):
  60235. * rendering/RenderBox.cpp:
  60236. (WebCore::RenderBox::setStyle):
  60237. (WebCore::RenderBox::destroy):
  60238. * rendering/RenderObject.cpp:
  60239. (WebCore::RenderObject::setAnimatableStyle):
  60240. (WebCore::RenderObject::destroy):
  60241. * rendering/RenderObject.h:
  60242. * rendering/RenderStyle.h:
  60243. (WebCore::TimingFunction::TimingFunction):
  60244. (WebCore::TimingFunction::operator==):
  60245. (WebCore::TimingFunction::x1):
  60246. (WebCore::TimingFunction::y1):
  60247. (WebCore::TimingFunction::x2):
  60248. (WebCore::TimingFunction::y2):
  60249. (WebCore::TimingFunction::type):
  60250. (WebCore::Transition::transitionProperty):
  60251. (WebCore::Transition::setTransitionProperty):
  60252. (WebCore::RenderStyle::initialTransitionProperty):
  60253. * rendering/RenderWidget.cpp:
  60254. (WebCore::RenderWidget::destroy):
  60255. 2007-10-29 Beth Dakin <bdakin@apple.com>
  60256. Reviewed by Hyatt.
  60257. Fix for <rdar://problem/5399614> anchor tag is not rendered without
  60258. text content, works in Firefox with CSS background-image (13237)
  60259. This patch allows empty inlines that have box decorations or width
  60260. from border/padding/margin to have line boxes.
  60261. * rendering/bidi.cpp:
  60262. (WebCore::inlineFlowAllowsLineBox): Convenience function that
  60263. defines when we allow an inline flow to have a line box.
  60264. (WebCore::requiresLineBox): Call inlineFlowAllowsLineBox.
  60265. (WebCore::shouldSkipWhitespaceAfterStartObject): New function to
  60266. merge some shared code between list markers and empty inline flows
  60267. that fall at the beginning of a line.
  60268. (WebCore::RenderBlock::findNextLineBreak): Make flows more like
  60269. list markers.
  60270. One interesting side effect of this bug appeared in our xhtml/svg
  60271. tests that generate parser error tags. The tag we generate was
  60272. actually an empty inline with box decorations. This patch causes
  60273. those inlines to draw now, and the parser errors looked strange. So
  60274. I changed it so that the parsererror tag is display:block. This
  60275. matches Firefox, and I think was the original intent of the tag
  60276. since that causes its red background and border to show up.
  60277. * dom/XMLTokenizer.cpp:
  60278. (WebCore::createXHTMLParserErrorHeader):
  60279. 2007-10-29 Dan Bernstein <mitz@apple.com>
  60280. Reviewed by Dave Hyatt.
  60281. - fix crashing tests fast/frames/inline-object-inside-frameset.html and
  60282. fast/forms/form-hides-table.html
  60283. * rendering/RenderBox.cpp:
  60284. (WebCore::RenderBox::destroy):
  60285. * rendering/RenderWidget.cpp:
  60286. (WebCore::RenderWidget::destroy):
  60287. 2007-10-29 Dan Bernstein <mitz@apple.com>
  60288. Reviewed by Adam Roben.
  60289. - fix http://bugs.webkit.org/show_bug.cgi?id=15750
  60290. REGRESSION(r27173): Web Inspector freezes beneath Image::drawPattern()
  60291. Test: fast/backgrounds/size/zero.html
  60292. * platform/graphics/cg/ImageCG.cpp:
  60293. (WebCore::Image::drawPattern): Added an ASSERT and an early return
  60294. to guard against singular pattern transforms.
  60295. * rendering/RenderBox.cpp:
  60296. (WebCore::cacluateBackgroundSize): Changed to ensure a minimum tile
  60297. size of 1x1.
  60298. 2007-10-29 Alp Toker <alp@atoker.com>
  60299. Reviewed by Maciej.
  60300. Add GTK+ convenience conversions for various primitives
  60301. * WebCore.pro:
  60302. * platform/graphics/Color.h:
  60303. * platform/graphics/IntPoint.h:
  60304. * platform/graphics/IntRect.h:
  60305. * platform/graphics/gtk/ColorGtk.cpp: Added.
  60306. (WebCore::Color::Color):
  60307. * platform/graphics/gtk/IntPointGtk.cpp: Added.
  60308. (WebCore::IntPoint::IntPoint):
  60309. (WebCore::IntPoint::operator GdkPoint):
  60310. * platform/graphics/gtk/IntRectGtk.cpp: Added.
  60311. (WebCore::IntRect::IntRect):
  60312. (WebCore::IntRect::operator GdkRectangle):
  60313. 2007-10-29 Jon Honeycutt <jhoneycutt@apple.com>
  60314. Reviewed by Anders.
  60315. Speculative fix for <rdar://5538489> Safari 3.0.4 seed hangs at
  60316. http://tgmonline.futuregamer.it/ (works fine on Safari 2.0.4 and Safari
  60317. Beta for Mac)
  60318. I cannot reproduce this hang, but it is likely due to our not limiting
  60319. WM_USER+1 messages or InvalidateRect calls for a plugin with initially-
  60320. unknown MIME type. The embed tag on the page is missing a type
  60321. attribute, so as fallback, we choose to load the Flash plugin based on
  60322. the file extension of "swf." However, we do not record this determined
  60323. MIME type, and so our quirks cannot be established.
  60324. Changed findPlugin() so that, if it fails to find a plugin for the
  60325. given MIME type, it will lookup the MIME type for the file extension -
  60326. overwriting its passed MIME type parameter - and search for a plugin
  60327. for that MIME type.
  60328. * plugins/win/PluginDatabaseWin.cpp:
  60329. (WebCore::PluginDatabaseWin::pluginForMIMEType): Added an early return
  60330. if the MIME type is empty
  60331. (WebCore::PluginDatabaseWin::MIMETypeForExtension): Added to replace
  60332. pluginForExtension. Returns a String with the MIME type for the file
  60333. extension. Also, changed to use case-insensitive compares
  60334. (WebCore::PluginDatabaseWin::findPlugin): If we fail to find a plugin
  60335. for the given extension, overwrite the incoming MIME type parameter
  60336. with the MIME type for the file extension, and search for a plugin for
  60337. that MIME type. Also, changed the way that the extension is determined
  60338. (WebCore::PluginDatabaseWin::createPluginView): Pass a mutable String
  60339. to findPlugin() so that it can be updated if necessary
  60340. * plugins/win/PluginDatabaseWin.h: Changed findPlugin() to take a non-
  60341. const String, removed definition of pluginForExtension, added
  60342. definition for MIMETypeForExtension
  60343. * plugins/win/PluginPackageWin.cpp:
  60344. (WebCore::PluginPackageWin::fetchInfo): Store the MIME type in
  60345. lowercase for easier compares
  60346. 2007-10-29 Andrew Wellington <proton@wiretapped.net>
  60347. Not reviewed - build fix
  60348. Fix Mac Build.
  60349. WebKit/WebCore/xml/XSLTProcessor.cpp:79: warning: 'level' may be used uninitialized
  60350. in this function
  60351. * xml/XSLTProcessor.cpp:
  60352. (WebCore::XSLTProcessor::parseErrorFunc):
  60353. 2007-10-29 Alp Toker <alp@atoker.com>
  60354. Reviewed by Adam Roben.
  60355. http://bugs.webkit.org/show_bug.cgi?id=15725
  60356. [GTK] WebCore.pro header dependencies are incorrect
  60357. Fix header dependencies in the build system
  60358. INCLUDEPATH and DEPENDPATH are now up to date.
  60359. * WebCore.pro:
  60360. 2007-10-29 Beth Dakin <bdakin@apple.com>
  60361. Build fix.
  60362. * css/CSSParser.cpp:
  60363. (WebCore::CSSParser::parseTimingFunctionValue):
  60364. * css/CSSStyleSelector.cpp:
  60365. (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
  60366. 2007-10-29 David Hyatt <hyatt@apple.com>
  60367. Land the back end for CSS animated property transitions. I am landing this in stages, so the AnimationController
  60368. class is deliberately left empty.
  60369. Reviewed by darin/aroben
  60370. * WebCore.pro:
  60371. * WebCore.vcproj/WebCore.vcproj:
  60372. * WebCore.xcodeproj/project.pbxproj:
  60373. * css/CSSComputedStyleDeclaration.cpp:
  60374. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  60375. * css/CSSPropertyNames.in:
  60376. * css/CSSTimingFunctionValue.cpp: Added.
  60377. (WebCore::CSSTimingFunctionValue::cssText):
  60378. * css/CSSTimingFunctionValue.h: Added.
  60379. (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
  60380. (WebCore::CSSTimingFunctionValue::firstPoint):
  60381. (WebCore::CSSTimingFunctionValue::secondPoint):
  60382. * css/CSSValueKeywords.in:
  60383. * history/CachedPage.cpp:
  60384. (WebCore::CachedPage::restore):
  60385. * page/AnimationController.cpp: Added.
  60386. (WebCore::AnimationController::AnimationController):
  60387. (WebCore::AnimationController::~AnimationController):
  60388. (WebCore::AnimationController::cancelTransitions):
  60389. (WebCore::AnimationController::updateTransitions):
  60390. (WebCore::AnimationController::suspendAnimations):
  60391. (WebCore::AnimationController::resumeAnimations):
  60392. * page/AnimationController.h: Added.
  60393. * page/Frame.cpp:
  60394. (WebCore::Frame::animationController):
  60395. (WebCore::Frame::clearTimers):
  60396. * page/Frame.h:
  60397. * page/FramePrivate.h:
  60398. * rendering/RenderBox.cpp:
  60399. (WebCore::RenderBox::setStyle):
  60400. (WebCore::RenderBox::destroy):
  60401. * rendering/RenderObject.cpp:
  60402. (WebCore::RenderObject::animationController):
  60403. * rendering/RenderObject.h:
  60404. * rendering/RenderStyle.cpp:
  60405. (WebCore::Transition::Transition):
  60406. (WebCore::Transition::~Transition):
  60407. (WebCore::Transition::operator=):
  60408. (WebCore::Transition::operator==):
  60409. (WebCore::Transition::fillUnsetProperties):
  60410. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  60411. (WebCore::StyleRareNonInheritedData::~StyleRareNonInheritedData):
  60412. (WebCore::StyleRareNonInheritedData::operator==):
  60413. (WebCore::StyleRareNonInheritedData::transitionDataEquivalent):
  60414. (WebCore::RenderStyle::diff):
  60415. (WebCore::RenderStyle::adjustTransitions):
  60416. (WebCore::RenderStyle::accessTransitions):
  60417. * rendering/RenderStyle.h:
  60418. (WebCore::BackgroundLayer::next):
  60419. (WebCore::TimingFunction::TimingFunction):
  60420. (WebCore::TimingFunction::operator==):
  60421. (WebCore::Transition::next):
  60422. (WebCore::Transition::isTransitionDurationSet):
  60423. (WebCore::Transition::isTransitionRepeatCountSet):
  60424. (WebCore::Transition::isTransitionTimingFunctionSet):
  60425. (WebCore::Transition::isTransitionPropertySet):
  60426. (WebCore::Transition::isEmpty):
  60427. (WebCore::Transition::clearTransitionDuration):
  60428. (WebCore::Transition::clearTransitionRepeatCount):
  60429. (WebCore::Transition::clearTransitionTimingFunction):
  60430. (WebCore::Transition::clearTransitionProperty):
  60431. (WebCore::Transition::transitionDuration):
  60432. (WebCore::Transition::transitionRepeatCount):
  60433. (WebCore::Transition::transitionTimingFunction):
  60434. (WebCore::Transition::transitionProperty):
  60435. (WebCore::Transition::setTransitionDuration):
  60436. (WebCore::Transition::setTransitionRepeatCount):
  60437. (WebCore::Transition::setTransitionTimingFunction):
  60438. (WebCore::Transition::setTransitionProperty):
  60439. (WebCore::Transition::setNext):
  60440. (WebCore::Transition::operator!=):
  60441. (WebCore::RenderStyle::transitions):
  60442. (WebCore::RenderStyle::clearTransitions):
  60443. (WebCore::RenderStyle::inheritTransitions):
  60444. (WebCore::RenderStyle::initialTransitionDuration):
  60445. (WebCore::RenderStyle::initialTransitionRepeatCount):
  60446. (WebCore::RenderStyle::initialTransitionTimingFunction):
  60447. (WebCore::RenderStyle::initialTransitionProperty):
  60448. * rendering/RenderWidget.cpp:
  60449. (WebCore::RenderWidget::destroy):
  60450. 2007-10-29 Alexey Proskuryakov <ap@webkit.org>
  60451. Reviewed by Darin.
  60452. http://bugs.webkit.org/show_bug.cgi?id=6040
  60453. XSLT does not report errors to the user
  60454. Made parseErrorFunc a static member function of XSLTProcessor to be reusable from XSLStylesheet.
  60455. Switched to xmlSetStructuredErrorFunc to get an error structure instead of pre-formatted console
  60456. output. Got rid of DeprecatedString in XSLTProcessor.
  60457. * dom/Document.cpp:
  60458. (WebCore::Document::applyXSLTransform):
  60459. * xml/XSLStyleSheet.cpp:
  60460. (WebCore::XSLStyleSheet::parseString):
  60461. * xml/XSLTProcessor.cpp:
  60462. (WebCore::XSLTProcessor::parseErrorFunc):
  60463. (WebCore::docLoaderFunc):
  60464. (WebCore::setXSLTLoadCallBack):
  60465. (WebCore::writeToString):
  60466. (WebCore::saveResultToString):
  60467. (WebCore::transformTextStringToXHTMLDocumentString):
  60468. (WebCore::xsltParamArrayFromParameterMap):
  60469. (WebCore::freeXsltParamArray):
  60470. (WebCore::XSLTProcessor::createDocumentFromSource):
  60471. (WebCore::createFragmentFromSource):
  60472. (WebCore::xsltStylesheetPointer):
  60473. (WebCore::xmlDocPtrFromNode):
  60474. (WebCore::resultMIMEType):
  60475. (WebCore::XSLTProcessor::transformToString):
  60476. (WebCore::XSLTProcessor::transformToDocument):
  60477. (WebCore::XSLTProcessor::transformToFragment):
  60478. * xml/XSLTProcessor.h:
  60479. (WebCore::XSLTProcessor::setXSLStylesheet):
  60480. (WebCore::XSLTProcessor::importStylesheet):
  60481. (WebCore::XSLTProcessor::xslStylesheet):
  60482. 2007-10-29 Dan Bernstein <mitz@apple.com>
  60483. Reviewed by John Sullivan.
  60484. - fix <rdar://problem/5424455> REGRESSION (r21168-r21193, Tiger only): Safari scrollbar is clipped at top when loading particular RSS page
  60485. Test: fast/repaint/layout-state-only-positioned.html
  60486. * rendering/RenderBlock.cpp:
  60487. (WebCore::RenderBlock::layoutOnlyPositionedObjects): Pop layout state
  60488. before updating scroll info, which possibly repaints us.
  60489. 2007-10-29 David Kilzer <ddkilzer@webkit.org>
  60490. REGRESSION (r17701): Favicons should be viewable as image documents
  60491. <http://bugs.webkit.org/show_bug.cgi?id=15640>
  60492. Reviewed by Darin.
  60493. On Tiger and Leopard, the image/x-icon MIME type is not returned from
  60494. CGImageSourceCopyTypeIdentifiers(), so opening a URL to a favicon caused
  60495. the icon to be downloaded instead being displayed in an image document.
  60496. Test: fast/images/favicon-as-image.html
  60497. * platform/MIMETypeRegistry.cpp:
  60498. (WebCore::initialiseSupportedImageMIMETypes): Manually add image/x-icon to
  60499. supportedImageMIMETypes and supportedImageResourceMIMETypes. Also fixed
  60500. comment about the image/bmp MIME type since it applies to both Tiger and
  60501. Leopard.
  60502. 2007-10-29 Maciej Stachowiak <mjs@apple.com>
  60503. Reviewed by Mark.
  60504. - fixed assertion failures detected by the new assertions
  60505. * bindings/objc/DOMRGBColor.mm:
  60506. (-[DOMRGBColor dealloc]): Clear _internal before calling [super dealloc]
  60507. because it's not a pointer and shouldn't be in the normal wrapper cache.
  60508. * dom/Document.cpp:
  60509. (WebCore::Document::addImageMap): Don't access hashmap if name is null.
  60510. (WebCore::Document::removeImageMap): ditto
  60511. * dom/StyledElement.cpp:
  60512. (WebCore::StyledElement::parseMappedAttribute): Don't claim we have a class
  60513. when the class attribute is empty.
  60514. * platform/TextCodecICU.cpp:
  60515. (WebCore::gbkCallbackEscape): Don't look up 0 code points.
  60516. 2007-10-28 Alexey Proskuryakov <ap@webkit.org>
  60517. Reviewed by Darin.
  60518. http://bugs.webkit.org/show_bug.cgi?id=10734
  60519. Made HTMLOptionElement.index read-only, matching IE and DOM standard.
  60520. Test: fast/dom/HTMLOptionElement/set-option-index-text.html
  60521. * html/HTMLOptionElement.idl: Marked index as readonly.
  60522. * html/HTMLOptionElement.cpp:
  60523. * html/HTMLOptionElement.h:
  60524. Removed setIndex().
  60525. 2007-10-28 Eric Seidel <eric@webkit.org>
  60526. Reviewed by darin.
  60527. Fix leaks on TOT and prevent Path code from logging to console so frequently
  60528. * platform/graphics/svg/SVGResourceFilter.h:
  60529. (WebCore::SVGResourceFilterPlatformData::SVGResourceFilterPlatformData):
  60530. (WebCore::SVGResourceFilterPlatformData::~SVGResourceFilterPlatformData):
  60531. * platform/graphics/svg/cg/CgSupport.cpp:
  60532. (WebCore::strokeBoundingBox):
  60533. * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
  60534. * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h:
  60535. 2007-10-28 Mark Rowe <mrowe@apple.com>
  60536. Reviewed by Maciej.
  60537. Replace uses of isNaN and isInf with isnan and isinf.
  60538. * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
  60539. (WebCore::JSHTMLOptionsCollection::setLength):
  60540. 2007-10-28 Maciej Stachowiak <mjs@apple.com>
  60541. Reviewed by Mark.
  60542. - fixed REGRESSION(r27176): Reproducible crash while trying to order dinner makes bdash sad
  60543. http://bugs.webkit.org/show_bug.cgi?id=15731
  60544. * bindings/js/kjs_window.cpp:
  60545. (KJS::Window::installTimeout): Avoid putting in or accessing empty or deleted keys.
  60546. (KJS::Window::clearTimeout): ditto
  60547. * manual-tests/bad-clearTimeout-crash.html: Added. Automated test not possible.
  60548. 2007-10-28 Kevin Ollivier <kevino@theolliviers.com>
  60549. wx port defines for graphics and network layers.
  60550. Reviewed by Darin Adler.
  60551. * platform/graphics/AffineTransform.h:
  60552. * platform/graphics/BitmapImage.h:
  60553. * platform/graphics/Color.h:
  60554. * platform/graphics/FloatRect.h:
  60555. * platform/graphics/GraphicsContext.h:
  60556. * platform/graphics/ImageSource.h:
  60557. * platform/graphics/IntPoint.h:
  60558. * platform/graphics/IntRect.h:
  60559. * platform/graphics/Path.h:
  60560. * platform/graphics/Pen.h:
  60561. * platform/network/ResourceHandle.h:
  60562. 2007-10-28 Alp Toker <alp@atoker.com>
  60563. Reviewed by Anders Carlsson.
  60564. http://bugs.webkit.org/show_bug.cgi?id=14124
  60565. [CURL] Support data URLs
  60566. Add data URL support (both Base64 and percent-encoded formats).
  60567. Inspired by code from the Qt port.
  60568. * platform/Base64.cpp:
  60569. (WebCore::base64Decode):
  60570. * platform/Base64.h:
  60571. * platform/network/curl/ResourceHandleManager.cpp:
  60572. (WebCore::ResourceHandleManager::startScheduledJobs):
  60573. (WebCore::parseDataUrl):
  60574. 2007-10-28 Alp Toker <alp@atoker.com>
  60575. Reviewed by Adam Roben.
  60576. http://bugs.webkit.org/show_bug.cgi?id=15701
  60577. The curl http backend does not deal properly with redirects
  60578. Implement http redirect support.
  60579. * platform/network/curl/ResourceHandleManager.cpp:
  60580. (WebCore::headerCallback):
  60581. 2007-10-28 Kevin Ollivier <kevino@theolliviers.com>
  60582. Define types and accessors needed for wx implementation
  60583. of platform classes. Also, turn off DisallowCTypes.h because
  60584. disallowed methods appear in wx headers.
  60585. Reviewed by Adam Roben.
  60586. * config.h:
  60587. * platform/ContextMenuItem.h:
  60588. * platform/Cursor.h:
  60589. * platform/DeprecatedString.h:
  60590. * platform/DragData.h:
  60591. * platform/DragImage.h:
  60592. * platform/FontData.h:
  60593. (WebCore::FontData::getWxFont):
  60594. * platform/GlyphBuffer.h:
  60595. (WebCore::GlyphBuffer::glyphAt):
  60596. (WebCore::GlyphBuffer::advanceAt):
  60597. (WebCore::GlyphBuffer::add):
  60598. * platform/PlatformKeyboardEvent.h:
  60599. (WebCore::PlatformKeyboardEvent::isWxCharEvent):
  60600. * platform/PlatformMenuDescription.h:
  60601. * platform/PlatformMouseEvent.h:
  60602. * platform/PlatformString.h:
  60603. * platform/PlatformWheelEvent.h:
  60604. * platform/ScrollView.h:
  60605. * platform/Widget.h:
  60606. * platform/image-decoders/bmp/BMPImageDecoder.cpp:
  60607. * platform/image-decoders/gif/GIFImageDecoder.cpp:
  60608. * platform/image-decoders/gif/GIFImageReader.cpp:
  60609. * platform/image-decoders/ico/ICOImageDecoder.cpp:
  60610. * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
  60611. * platform/image-decoders/png/PNGImageDecoder.cpp:
  60612. * platform/image-decoders/xbm/XBMImageDecoder.cpp:
  60613. 2007-10-28 Mark Rowe <mrowe@apple.com>
  60614. We don't include "config.h" in headers.
  60615. * dom/XMLTokenizer.h:
  60616. * platform/graphics/svg/SVGResourceFilter.h:
  60617. * platform/image-decoders/ImageDecoder.h:
  60618. * platform/wx/FontPlatformData.h:
  60619. 2007-10-28 Darin Adler <darin@apple.com>
  60620. * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h:
  60621. We don't include "config.h" in headers. Hope this desn't break
  60622. the non-SVG build again.
  60623. 2007-10-28 Eric Seidel <eric@webkit.org>
  60624. Build fix for non-SVG build, no review.
  60625. * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h:
  60626. * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm:
  60627. 2007-10-28 Eric Seidel <eric@webkit.org>
  60628. Reviewed by Oliver.
  60629. Push SVGResourceFilter platform specific data down into m_platformData
  60630. in preparation for implementing a non-mac filter solution.
  60631. Also update a very old email address in copyright headers
  60632. * WebCore.xcodeproj/project.pbxproj:
  60633. * platform/graphics/FloatPoint3D.cpp:
  60634. (WebCore::FloatPoint3D::FloatPoint3D):
  60635. * platform/graphics/FloatPoint3D.h:
  60636. * platform/graphics/svg/SVGResourceFilter.cpp:
  60637. (WebCore::SVGResourceFilter::SVGResourceFilter):
  60638. * platform/graphics/svg/SVGResourceFilter.h:
  60639. (WebCore::SVGResourceFilter::platformData):
  60640. (WebCore::SVGResourceFilter::effects):
  60641. * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
  60642. (WebCore::SVGResourceFilter::createPlatformData):l
  60643. (WebCore::SVGResourceFilter::prepareFilter):
  60644. (WebCore::SVGResourceFilter::applyFilter):
  60645. * platform/graphics/svg/filters/SVGDistantLightSource.h:
  60646. * platform/graphics/svg/filters/SVGFEBlend.cpp:
  60647. * platform/graphics/svg/filters/SVGFEBlend.h:
  60648. * platform/graphics/svg/filters/SVGFEColorMatrix.cpp:
  60649. * platform/graphics/svg/filters/SVGFEColorMatrix.h:
  60650. * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp:
  60651. * platform/graphics/svg/filters/SVGFEComponentTransfer.h:
  60652. * platform/graphics/svg/filters/SVGFEComposite.cpp:
  60653. * platform/graphics/svg/filters/SVGFEComposite.h:
  60654. * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp:
  60655. * platform/graphics/svg/filters/SVGFEConvolveMatrix.h:
  60656. * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp:
  60657. * platform/graphics/svg/filters/SVGFEDiffuseLighting.h:
  60658. * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp:
  60659. * platform/graphics/svg/filters/SVGFEDisplacementMap.h:
  60660. * platform/graphics/svg/filters/SVGFEFlood.cpp:
  60661. * platform/graphics/svg/filters/SVGFEFlood.h:
  60662. * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp:
  60663. * platform/graphics/svg/filters/SVGFEGaussianBlur.h:
  60664. * platform/graphics/svg/filters/SVGFEImage.cpp:
  60665. * platform/graphics/svg/filters/SVGFEImage.h:
  60666. * platform/graphics/svg/filters/SVGFEMerge.cpp:
  60667. * platform/graphics/svg/filters/SVGFEMerge.h:
  60668. * platform/graphics/svg/filters/SVGFEMorphology.cpp:
  60669. * platform/graphics/svg/filters/SVGFEMorphology.h:
  60670. * platform/graphics/svg/filters/SVGFEOffset.cpp:
  60671. * platform/graphics/svg/filters/SVGFEOffset.h:
  60672. * platform/graphics/svg/filters/SVGFESpecularLighting.cpp:
  60673. * platform/graphics/svg/filters/SVGFESpecularLighting.h:
  60674. * platform/graphics/svg/filters/SVGFETile.h:
  60675. * platform/graphics/svg/filters/SVGFETurbulence.cpp:
  60676. * platform/graphics/svg/filters/SVGFETurbulence.h:
  60677. * platform/graphics/svg/filters/SVGFilterEffect.cpp:
  60678. * platform/graphics/svg/filters/SVGFilterEffect.h:
  60679. * platform/graphics/svg/filters/SVGLightSource.cpp:
  60680. * platform/graphics/svg/filters/SVGLightSource.h:
  60681. * platform/graphics/svg/filters/SVGPointLightSource.h:
  60682. * platform/graphics/svg/filters/SVGSpotLightSource.h:
  60683. * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm:
  60684. (WebCore::SVGFEBlend::getCIFilter):
  60685. * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm:
  60686. (WebCore::SVGFEColorMatrix::getCIFilter):
  60687. * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm:
  60688. (WebCore::SVGFEComponentTransfer::getCIFilter):
  60689. * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm:
  60690. (WebCore::SVGFEComposite::getCIFilter):
  60691. * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm:
  60692. (WebCore::SVGFEDiffuseLighting::getCIFilter):
  60693. * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm:
  60694. (WebCore::SVGFEDisplacementMap::getCIFilter):
  60695. * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm:
  60696. (WebCore::SVGFEFlood::getCIFilter):
  60697. * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h:
  60698. * platform/graphics/svg/filters/cg/SVGFEImageCg.mm:
  60699. (WebCore::SVGFEImage::getCIFilter):
  60700. * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm:
  60701. (WebCore::SVGFEMerge::getCIFilter):
  60702. * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm:
  60703. (WebCore::SVGFESpecularLighting::getCIFilter):
  60704. * platform/graphics/svg/mac: Added.
  60705. * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: Added.
  60706. * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm: Added.
  60707. (WebCore::SVGResourceFilterPlatformDataMac::SVGResourceFilterPlatformDataMac):
  60708. (WebCore::SVGResourceFilterPlatformDataMac::~SVGResourceFilterPlatformDataMac):
  60709. (WebCore::SVGResourceFilterPlatformDataMac::getCIFilterStack):
  60710. (WebCore::alphaImageForImage):
  60711. (WebCore::SVGResourceFilterPlatformDataMac::imageForName):
  60712. (WebCore::SVGResourceFilterPlatformDataMac::setImageForName):
  60713. (WebCore::SVGResourceFilterPlatformDataMac::setOutputImage):
  60714. (WebCore::SVGResourceFilterPlatformDataMac::inputImage):
  60715. 2007-10-28 Alexey Proskuryakov <ap@webkit.org>
  60716. Reviewed by Adam Roben.
  60717. http://bugs.webkit.org/show_bug.cgi?id=15217
  60718. Plugin complains that xpcom_core.dll missing
  60719. * plugins/win/PluginDatabaseWin.cpp:
  60720. (WebCore::PluginDatabaseWin::isPluginBlacklisted): Blacklist npmozax.dll.
  60721. 2007-10-28 Timothy Hatcher <timothy@apple.com>
  60722. Reviewed by Adam.
  60723. Pass the Document's domain to InspectorController:didOpenDatabase. This matches
  60724. what the Inspector shows for other resources.
  60725. * storage/Database.cpp:
  60726. (WebCore::Database::openDatabase):
  60727. * dom/Document.h: Remove KURL.h, no longer needed.
  60728. 2007-10-28 Timothy Hatcher <timothy@apple.com>
  60729. Reviewed by Adam.
  60730. Bug 15728: Selected Resource background image gradient has banding
  60731. http://bugs.webkit.org/show_bug.cgi?id=15728
  60732. - Reduced images to 1px wide that are tiled horizontally in CSS.
  60733. - Corrected the -webkit-background-size usage to specify auto for the width.
  60734. * page/inspector/Images/attachedShadow.png:
  60735. * page/inspector/Images/bottomShadow.png:
  60736. * page/inspector/Images/darkShadow.png:
  60737. * page/inspector/Images/gradient.png:
  60738. * page/inspector/Images/gradientHighlight.png:
  60739. * page/inspector/Images/gradientHighlightBottom.png:
  60740. * page/inspector/Images/sidebarSelection.png:
  60741. * page/inspector/Images/sidebarSelectionBlurred.png:
  60742. * page/inspector/Images/sidebarSelectionBlurredTall.png:
  60743. * page/inspector/Images/sidebarSelectionGray.png:
  60744. * page/inspector/Images/sidebarSelectionGrayTall.png:
  60745. * page/inspector/Images/sidebarSelectionTall.png:
  60746. * page/inspector/inspector.css:
  60747. 2007-10-27 Timothy Hatcher <timothy@apple.com>
  60748. Reviewed by Adam.
  60749. Bug 15727: Resizing the resource sidebar doesn't scale the font preview or network timeline
  60750. http://bugs.webkit.org/show_bug.cgi?id=15727
  60751. Add one window resize listener and call the new resize function on the currentPanel.
  60752. Also call the currentPanel's resize function when resizing the sidebar.
  60753. * page/inspector/DocumentPanel.js: Implement resize and call updateTreeSelection() when
  60754. the panel is shown and when resizing the DOM sidebar.
  60755. * page/inspector/FontPanel.js: Implement resize.
  60756. * page/inspector/NetworkPanel.js: Ditto.
  60757. * page/inspector/inspector.js: Add a window resize listener.
  60758. 2007-10-27 Maciej Stachowiak <mjs@apple.com>
  60759. Reviewed by Oliver.
  60760. - update for HashTable changes
  60761. * bindings/js/JSSVGPODTypeWrapper.h:
  60762. * dom/Document.h:
  60763. * dom/QualifiedName.cpp:
  60764. * dom/StyledElement.cpp:
  60765. * ksvg2/svg/SVGAnimatedTemplate.h:
  60766. * platform/FontCache.cpp:
  60767. * platform/StringHash.h:
  60768. (WTF::):
  60769. * platform/TextEncodingRegistry.cpp:
  60770. * platform/graphics/IntSizeHash.h:
  60771. (WTF::):
  60772. * plugins/win/PluginPackageWin.h:
  60773. 2007-10-28 Alp Toker <alp@atoker.com>
  60774. Reviewed by Adam Roben.
  60775. http://bugs.webkit.org/show_bug.cgi?id=15646
  60776. [GTK] caretBlinkFrequency is hard-coded in Frame.cpp
  60777. Abstract caretBlinkFrequency to RenderTheme.
  60778. * page/Frame.cpp:
  60779. (WebCore::Frame::selectionLayoutChanged):
  60780. * platform/gtk/RenderThemeGtk.cpp:
  60781. (WebCore::RenderThemeGtk::caretShouldBlink):
  60782. (WebCore::RenderThemeGtk::caretBlinkFrequency):
  60783. * platform/gtk/RenderThemeGtk.h:
  60784. * rendering/RenderTheme.h:
  60785. 2007-10-27 Timothy Hatcher <timothy@apple.com>
  60786. Reviewed by Adam.
  60787. Don't print the line number in the Inspector Console if it is Zero.
  60788. * page/inspector/ConsolePanel.js:
  60789. 2007-10-27 Sam Weinig <sam@webkit.org>
  60790. Reviewed by Adam Roben.
  60791. Fix http://bugs.webkit.org/show_bug.cgi?id=14953
  60792. Implement window.console in WebCore
  60793. - Adds a window.console object that has 4 methods (log, info, warn, and error)
  60794. that send messages to the Chrome. This moves functionality that was in the
  60795. app down into WebCore.
  60796. * DerivedSources.make:
  60797. * WebCore.pro:
  60798. * WebCore.vcproj/WebCore.vcproj:
  60799. * WebCore.xcodeproj/project.pbxproj:
  60800. * bindings/scripts/CodeGeneratorJS.pm: Add extended attribute
  60801. to mark attributes as [Replacable] which indicates they can
  60802. overridden when set.
  60803. * page/Chrome.cpp:
  60804. (WebCore::Chrome::addMessageToConsole): Allow all messages to go
  60805. up to the ChromeClient.
  60806. * page/Console.cpp: Added.
  60807. (WebCore::Console::Console):
  60808. (WebCore::Console::disconnectFrame):
  60809. (WebCore::Console::error):
  60810. (WebCore::Console::info):
  60811. (WebCore::Console::log):
  60812. (WebCore::Console::warn):
  60813. * page/Console.h: Added.
  60814. * page/Console.idl: Added.
  60815. * page/DOMWindow.cpp:
  60816. (WebCore::DOMWindow::clear):
  60817. (WebCore::DOMWindow::console):
  60818. * page/DOMWindow.h:
  60819. * page/DOMWindow.idl:
  60820. 2007-10-27 Eric Seidel <eric@webkit.org>
  60821. Reviewed by aroben.
  60822. Remove legacy createFilterEffect function (causing extra filter tests to fail on windows)
  60823. No functional changes, thus no tests.
  60824. * ksvg2/svg/SVGFEBlendElement.cpp:
  60825. (WebCore::SVGFEBlendElement::filterEffect):
  60826. * ksvg2/svg/SVGFEColorMatrixElement.cpp:
  60827. (WebCore::SVGFEColorMatrixElement::filterEffect):
  60828. * ksvg2/svg/SVGFEComponentTransferElement.cpp:
  60829. (WebCore::SVGFEComponentTransferElement::filterEffect):
  60830. * ksvg2/svg/SVGFECompositeElement.cpp:
  60831. (WebCore::SVGFECompositeElement::filterEffect):
  60832. * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
  60833. (WebCore::SVGFEDiffuseLightingElement::filterEffect):
  60834. * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
  60835. (WebCore::SVGFEDisplacementMapElement::filterEffect):
  60836. * ksvg2/svg/SVGFEFloodElement.cpp:
  60837. (WebCore::SVGFEFloodElement::filterEffect):
  60838. * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
  60839. (WebCore::SVGFEGaussianBlurElement::filterEffect):
  60840. * ksvg2/svg/SVGFEImageElement.cpp:
  60841. (WebCore::SVGFEImageElement::filterEffect):
  60842. * ksvg2/svg/SVGFEMergeElement.cpp:
  60843. (WebCore::SVGFEMergeElement::filterEffect):
  60844. * ksvg2/svg/SVGFEOffsetElement.cpp:
  60845. (WebCore::SVGFEOffsetElement::filterEffect):
  60846. * ksvg2/svg/SVGFESpecularLightingElement.cpp:
  60847. (WebCore::SVGFESpecularLightingElement::filterEffect):
  60848. * ksvg2/svg/SVGFETileElement.cpp:
  60849. (WebCore::SVGFETileElement::filterEffect):
  60850. * ksvg2/svg/SVGFETurbulenceElement.cpp:
  60851. (WebCore::SVGFETurbulenceElement::filterEffect):
  60852. * platform/graphics/svg/SVGResourceFilter.h:
  60853. * platform/graphics/svg/cg/SVGResourceFilterCg.cpp:
  60854. * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
  60855. * platform/graphics/svg/qt/SVGResourceFilterQt.cpp:
  60856. 2007-10-27 Dan Bernstein <mitz@apple.com>
  60857. Reviewed by Darin Adler.
  60858. - fix a crash when opening Zenoss server history view
  60859. <rdar://problem/5530657>
  60860. Test: fast/table/colgroup-relative.html
  60861. * rendering/LayoutState.cpp:
  60862. (WebCore::LayoutState::LayoutState): Added a hasLayer() check before
  60863. accessing layer().
  60864. 2007-10-27 Julien <julien.chaffraix@gmail.com>
  60865. Reviewed by Alexey.
  60866. http://bugs.webkit.org/show_bug.cgi?id=13141
  60867. XMLHttpRequest should set readyState to 0 after abort()
  60868. Test: http/tests/xmlhttprequest/xmlhttprequest-abort-readyState.html
  60869. * xml/XMLHttpRequest.cpp:
  60870. (WebCore::XMLHttpRequest::open):
  60871. (WebCore::XMLHttpRequest::abort):
  60872. 2007-10-27 Dan Bernstein <mitz@apple.com>
  60873. Reviewed by Dave Hyatt.
  60874. - fix rotated border images by using a temporary subimage containing
  60875. only the part we want to tile
  60876. Test: fast/borders/border-image-rotate-transform.html
  60877. * platform/graphics/cg/ImageCG.cpp:
  60878. (WebCore::Image::drawPatternCallback):
  60879. (WebCore::Image::drawPattern):
  60880. 2007-10-27 Jan Michael Alonzo <jmalonzo@unpluggable.com>
  60881. Reviewed by Alp.
  60882. http://bugs.webkit.org/show_bug.cgi?id=15722
  60883. [GTK] Refactor gtk/RenderThemeGtk and implement a few more methods
  60884. Refactor/enhance GTK RenderTheme
  60885. * platform/gtk/RenderThemeGtk.cpp:
  60886. (WebCore::RenderThemeGtk::supportsFocus): added TextArea, Menulist, Radio, and Checkbox Appearances
  60887. (WebCore::RenderThemeGtk::supportsFocusRing): call supportsFocus() to check if focus on appearance is supported
  60888. (WebCore::RenderThemeGtk::controlSupportsTints): copied from Qt and Safari ports
  60889. (WebCore::RenderThemeGtk::baselinePosition): copied from Qt and Safari ports
  60890. (WebCore::RenderThemeGtk::paintCheckbox): moved painting in paintButton
  60891. (WebCore::RenderThemeGtk::paintRadio): moved painting in paintButton
  60892. (WebCore::RenderThemeGtk::paintButton): paint the different buttons here, checking for the right appearance before doing so
  60893. (WebCore::RenderThemeGtk::paintMenuList): use 0 instead of NULLs
  60894. (WebCore::RenderThemeGtk::adjustTextFieldStyle):
  60895. (WebCore::RenderThemeGtk::getThemeData):
  60896. * platform/gtk/RenderThemeGtk.h:
  60897. (WebCore::RenderThemeGtk::supportsControlTints):
  60898. 2007-10-27 Alexey Proskuryakov <ap@webkit.org>
  60899. Reviewed by Darin.
  60900. http://bugs.webkit.org/show_bug.cgi?id=15555
  60901. XMLHttpRequest does not support charset "x-user-defined", which can
  60902. facilitate loading of binary data
  60903. Test: http/tests/xmlhttprequest/binary-x-user-defined.html
  60904. * WebCore.pro:
  60905. * WebCore.vcproj/WebCore.vcproj:
  60906. * WebCore.xcodeproj/project.pbxproj:
  60907. * platform/TextCodecUserDefined.cpp: Added.
  60908. (WebCore::TextCodecUserDefined::registerEncodingNames):
  60909. (WebCore::newStreamingTextDecoderUserDefined):
  60910. (WebCore::TextCodecUserDefined::registerCodecs):
  60911. (WebCore::TextCodecUserDefined::decode):
  60912. (WebCore::encodeComplexUserDefined):
  60913. (WebCore::TextCodecUserDefined::encode):
  60914. * platform/TextCodecUserDefined.h: Added.
  60915. * platform/TextEncodingRegistry.cpp:
  60916. (WebCore::buildBaseTextCodecMaps):
  60917. 2007-10-27 Alexey Proskuryakov <ap@webkit.org>
  60918. Reviewed by Darin.
  60919. http://bugs.webkit.org/show_bug.cgi?id=15467
  60920. Setting innerHTML to blank string in application/xhtml+xml mode
  60921. throws DOM Exception 7
  60922. Test: fast/dom/blank-innerHTML.xhtml
  60923. * dom/XMLTokenizer.cpp:
  60924. (WebCore::parseXMLDocumentFragment): Bail out early if the input string is empty.
  60925. 2007-10-26 Sam Weinig <sam@webkit.org>
  60926. Enable dragging the left sidebar using the separator.
  60927. Reviewed by Anders (unless Mitz says otherwise).
  60928. * page/inspector/DocumentPanel.js:
  60929. * page/inspector/inspector.css:
  60930. * page/inspector/inspector.html:
  60931. * page/inspector/inspector.js:
  60932. 2007-10-26 Sam Weinig <sam@webkit.org>
  60933. Fix an off by one error when resizing the Inspector find window.
  60934. Reviewed by Hyatt.
  60935. * page/inspector/inspector.js:
  60936. 2007-10-26 Jon Honeycutt <jhoneycutt@apple.com>
  60937. Reviewed by Adam.
  60938. Fix fallout from r26072, which leads to all plugin streams for local
  60939. resources being cancelled
  60940. * loader/win/NetscapePlugInStreamLoaderWin.cpp:
  60941. (WebCore::NetscapePlugInStreamLoader::didReceiveResponse): Ensure this
  60942. is an HTTP response before checking the HTTP response code
  60943. 2007-10-26 David Hyatt <hyatt@apple.com>
  60944. Fix for http://bugs.webkit.org/show_bug.cgi?id=15719, transformed box doesn't repaint properly
  60945. when only translation changes.
  60946. Move the updating of the transform to in between the old repaint and the new repaint.
  60947. Reviewed by mitz
  60948. fast/repaint/transform-translate.html
  60949. * rendering/RenderLayer.cpp:
  60950. (WebCore::RenderLayer::updateLayerPositions):
  60951. 2007-10-26 Jon Honeycutt <jhoneycutt@apple.com>
  60952. Reviewed by Darin.
  60953. <rdar://5557379> Crash in Silverlight when opening microsoft.com
  60954. The crash is within Silverlight, and the latest version of the plugin
  60955. does not exhibit this crash, so just avoid loading this version of the
  60956. plugin.
  60957. * plugins/win/PluginDatabaseWin.cpp: Added isPluginBlacklisted() and
  60958. constants silverlightPluginMinRequiredVersionMSDWORD and
  60959. silverlightPluginMinRequiredVersionLSDWORD. Their values are taken from
  60960. the version info of Silverlight 1.0.20926.0, which is a version known
  60961. not to exhibit this crash
  60962. (WebCore::PluginDatabaseWin::isPluginBlacklisted): Determine whether
  60963. this plugin is blacklisted
  60964. * plugins/win/PluginDatabaseWin.h:
  60965. * plugins/win/PluginPackageWin.cpp:
  60966. (WebCore::PluginPackageWin::PluginPackageWin): Initialize m_fileVersion*
  60967. (WebCore::PluginPackageWin::getFileVersion):
  60968. (WebCore::PluginPackageWin::storeFileVersion): Read version info for
  60969. the plugin, and store the file version
  60970. (WebCore::PluginPackageWin::fetchInfo): After determining the name,
  60971. description, and file version, determine whether this plug-in is
  60972. blacklisted. If so, return false so this plug-in isn't loaded
  60973. * plugins/win/PluginPackageWin.h:
  60974. 2007-10-26 Sam Weinig <sam@webkit.org>
  60975. Reviewed by Adele Peterson.
  60976. Fix for <rdar://problem/5421754>
  60977. m_frameName member variable in HTMLPlugInElement unnecessary
  60978. - Refactor the willRemove() method down into HTMLFrameOwnerElement now that
  60979. we no longer need to use the m_frameName variable.
  60980. * html/HTMLFrameElementBase.cpp:
  60981. * html/HTMLFrameElementBase.h:
  60982. * html/HTMLFrameOwnerElement.cpp:
  60983. (WebCore::HTMLFrameOwnerElement::willRemove):
  60984. * html/HTMLFrameOwnerElement.h:
  60985. * html/HTMLPlugInElement.cpp:
  60986. * html/HTMLPlugInElement.h:
  60987. * loader/FrameLoader.cpp:
  60988. (WebCore::FrameLoader::requestObject):
  60989. 2007-10-26 Adele Peterson <adele@apple.com>
  60990. Export _wkDrawCapsLockIndicator.
  60991. * WebCore.base.exp:
  60992. 2007-10-26 Adele Peterson <adele@apple.com>
  60993. Reviewed by Oliver.
  60994. Adding WebKitSystemInterface support for the caps lock indicator
  60995. * platform/mac/WebCoreSystemInterface.h:
  60996. * platform/mac/WebCoreSystemInterface.mm:
  60997. 2007-10-26 Tristan O'Tierney <tristan@apple.com>
  60998. Reviewed by Darin Adler.
  60999. <rdar://problem/5555053> REGRESSION:9A581: Window disappears when opening http://research.microsoft.com/users/darkok/
  61000. The problem was caused by checkin r24654. This change moved explicit bounds checking into adjustWindowRect
  61001. but failed to account for bounds checking (instead replaced with bounds clipping). This caused issues
  61002. when NaN was used. This patch goes one step further and does NaN checking to prevent the possibility of
  61003. setting window bounds to NaN before an update occurs.
  61004. Test: fast/dom/Window/window-resize-nan.html
  61005. * bindings/js/kjs_window.cpp:
  61006. (KJS::adjustWindowRect):
  61007. Added a new parameter, pendingChanges, which takes pending changes to the window
  61008. rect, and if they are valid (not NaN) sets them on window.
  61009. (KJS::WindowFunc::callAsFunction):
  61010. Adjusted uses of adjustWindowRect to take new update parameter.
  61011. 2007-10-26 Sam Weinig <sam@webkit.org>
  61012. Reviewed by Tim Hatcher.
  61013. Fix for http://bugs.webkit.org/show_bug.cgi?id=15175
  61014. Cannot copy text of errors from Web Inspector from Console view
  61015. * page/inspector/inspector.css: add -webkit-user-select: text for console messages.
  61016. 2007-10-26 Sam Weinig <sam@webkit.org>
  61017. Reviewed by Tim Hatcher.
  61018. Fix for http://bugs.webkit.org/show_bug.cgi?id=15446
  61019. Web Inspector find window is not resizable
  61020. - Adds ability to resize the find window.
  61021. - Fixes bug that messed up the find window when resizing the left sidebar.
  61022. * page/inspector/inspector.css:
  61023. * page/inspector/inspector.html:
  61024. * page/inspector/inspector.js:
  61025. 2007-10-26 Ada Chan <adachan@apple.com>
  61026. Update m_current index after we've removed an item:
  61027. - if item removed is before m_current, decrement m_current
  61028. - if the current item is removed, make sure m_current is within bounds.
  61029. Reviewed by Darin.
  61030. * history/BackForwardList.cpp:
  61031. (WebCore::BackForwardList::removeItem):
  61032. 2007-10-26 Mark Rowe <mrowe@apple.com>
  61033. Debug build fix.
  61034. * bindings/js/kjs_proxy.cpp:
  61035. (WebCore::KJSProxy::~KJSProxy):
  61036. 2007-10-26 Maciej Stachowiak <mjs@apple.com>
  61037. No review, build fix.
  61038. * bindings/objc/WebScriptObject.mm:
  61039. (+[WebScriptObject throwException:]):
  61040. (-[WebScriptObject setException:]):
  61041. 2007-10-26 Maciej Stachowiak <mjs@apple.com>
  61042. Rubber Stamped by Mark.
  61043. - fix build
  61044. * bridge/mac/WebCoreScriptDebugger.mm:
  61045. (-[WebCoreScriptCallFrame scopeChain]):
  61046. (-[WebCoreScriptCallFrame functionName]):
  61047. (-[WebCoreScriptCallFrame evaluateWebScript:]):
  61048. 2007-10-26 Maciej Stachowiak <mjs@apple.com>
  61049. Reviewed by Oliver.
  61050. - update for JavaScriptCore header changes
  61051. * bindings/objc/WebScriptObject.mm:
  61052. * bridge/mac/WebCoreScriptDebugger.mm:
  61053. 2007-10-26 Alp Toker <alp@atoker.com>
  61054. Reviewed by Mark Rowe.
  61055. http://bugs.webkit.org/show_bug.cgi?id=15693
  61056. [GTK] Paging does not work when widget is added to a GtkScrolledWindow
  61057. Eliminate MagicGtkScrollConstant in favour of the same calculations as
  61058. GtkTextView for step and page increments. This also makes paging work,
  61059. as the page increment was previously always 0.
  61060. * platform/gtk/ScrollViewGtk.cpp:
  61061. (WebCore::ScrollView::updateScrollbars):
  61062. 2007-10-25 Dan Bernstein <mitz@apple.com>
  61063. Reviewed by Dave Hyatt and Sam Weinig.
  61064. Build fix
  61065. * platform/graphics/cg/ImageCG.cpp:
  61066. (WebCore::Image::drawPattern):
  61067. 2007-10-23 Jan Michael Alonzo <jmalonzo@unpluggable.com>
  61068. Reviewed by Alp.
  61069. http://bugs.webkit.org/show_bug.cgi?id=15656
  61070. [GTK] Implement WebCore::Widget::isEnabled/setEnabled
  61071. * platform/gtk/WidgetGtk.cpp:
  61072. (WebCore::Widget::isEnabled):
  61073. (WebCore::Widget::setEnabled): Implemented.
  61074. 2007-10-25 David Hyatt <hyatt@apple.com>
  61075. Fix for bug 15672, background images don't tile properly inside transforms. This patch fixes background
  61076. tiling to work in the presence of transforms and fixes bugs in both SVG and CSS transforms.
  61077. Reviewed by aroben and mitz
  61078. * WebCore.base.exp:
  61079. * platform/graphics/Image.cpp:
  61080. (WebCore::Image::setData):
  61081. * platform/graphics/cg/ImageCG.cpp:
  61082. (WebCore::ImageInfo::ImageInfo):
  61083. (WebCore::Image::drawPatternCallback):
  61084. (WebCore::Image::drawPattern):
  61085. * platform/graphics/mac/GraphicsContextMac.mm:
  61086. (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
  61087. * platform/mac/WebCoreSystemInterface.h:
  61088. * platform/mac/WebCoreSystemInterface.mm:
  61089. 2007-10-25 Brady Eidson <beidson@apple.com>
  61090. Blind build fix attempt
  61091. * WebCore.pro:
  61092. 2007-10-25 Brady Eidson <beidson@apple.com>
  61093. Reviewed by Anders and Sam
  61094. Bulk rename of platform/sql/SQL* to platform/sql/SQLite*
  61095. This is more accurate in that there is no realistic "SQL" abstraction, the classes are obviously
  61096. tied extremely close to SQLite, and is necessitated by the introduction of "SQLTransaction" in
  61097. the HTML5 database API which we are adopting.
  61098. * WebCore.vcproj/WebCore.vcproj:
  61099. * WebCore.xcodeproj/project.pbxproj:
  61100. * loader/icon/IconDatabase.cpp:
  61101. (WebCore::IconDatabase::iconDatabaseSyncThread):
  61102. (WebCore::databaseVersionNumber):
  61103. (WebCore::isValidDatabase):
  61104. (WebCore::createDatabaseTables):
  61105. (WebCore::IconDatabase::performOpenInitialization):
  61106. (WebCore::IconDatabase::checkIntegrity):
  61107. (WebCore::IconDatabase::performURLImport):
  61108. (WebCore::IconDatabase::writeToDatabase):
  61109. (WebCore::IconDatabase::pruneUnretainedIcons):
  61110. (WebCore::IconDatabase::checkForDanglingPageURLs):
  61111. (WebCore::IconDatabase::imported):
  61112. (WebCore::IconDatabase::setImported):
  61113. (WebCore::readySQLiteStatement):
  61114. (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):
  61115. (WebCore::IconDatabase::removePageURLFromSQLDatabase):
  61116. (WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase):
  61117. (WebCore::IconDatabase::addIconURLToSQLDatabase):
  61118. (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase):
  61119. (WebCore::IconDatabase::removeIconFromSQLDatabase):
  61120. (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase):
  61121. * loader/icon/IconDatabase.h:
  61122. * loader/icon/IconRecord.cpp:
  61123. * platform/sql/SQLAuthorizer.cpp: Removed.
  61124. * platform/sql/SQLAuthorizer.h: Removed.
  61125. * platform/sql/SQLDatabase.cpp: Removed.
  61126. * platform/sql/SQLDatabase.h: Removed.
  61127. * platform/sql/SQLStatement.cpp: Removed.
  61128. * platform/sql/SQLStatement.h: Removed.
  61129. * platform/sql/SQLTransaction.cpp: Removed.
  61130. * platform/sql/SQLTransaction.h: Removed.
  61131. * platform/sql/SQLiteAuthorizer.cpp: Copied from platform/sql/SQLAuthorizer.cpp.
  61132. * platform/sql/SQLiteAuthorizer.h: Copied from platform/sql/SQLAuthorizer.h.
  61133. (WebCore::SQLiteAuthorizer::~SQLiteAuthorizer):
  61134. * platform/sql/SQLiteDatabase.cpp: Copied from platform/sql/SQLDatabase.cpp.
  61135. (WebCore::SQLiteDatabase::SQLiteDatabase):
  61136. (WebCore::SQLiteDatabase::~SQLiteDatabase):
  61137. (WebCore::SQLiteDatabase::open):
  61138. (WebCore::SQLiteDatabase::close):
  61139. (WebCore::SQLiteDatabase::setFullsync):
  61140. (WebCore::SQLiteDatabase::setSynchronous):
  61141. (WebCore::SQLiteDatabase::setBusyTimeout):
  61142. (WebCore::SQLiteDatabase::setBusyHandler):
  61143. (WebCore::SQLiteDatabase::executeCommand):
  61144. (WebCore::SQLiteDatabase::returnsAtLeastOneResult):
  61145. (WebCore::SQLiteDatabase::tableExists):
  61146. (WebCore::SQLiteDatabase::clearAllTables):
  61147. (WebCore::SQLiteDatabase::runVacuumCommand):
  61148. (WebCore::SQLiteDatabase::lastInsertRowID):
  61149. (WebCore::SQLiteDatabase::lastChanges):
  61150. (WebCore::SQLiteDatabase::lastError):
  61151. (WebCore::SQLiteDatabase::lastErrorMsg):
  61152. (WebCore::SQLiteDatabase::authorizerFunction):
  61153. (WebCore::SQLiteDatabase::setAuthorizer):
  61154. (WebCore::SQLiteDatabase::lock):
  61155. (WebCore::SQLiteDatabase::unlock):
  61156. * platform/sql/SQLiteDatabase.h: Copied from platform/sql/SQLDatabase.h.
  61157. * platform/sql/SQLiteStatement.cpp: Copied from platform/sql/SQLStatement.cpp.
  61158. (WebCore::SQLiteStatement::SQLiteStatement):
  61159. (WebCore::SQLiteStatement::~SQLiteStatement):
  61160. (WebCore::SQLiteStatement::prepare):
  61161. * platform/sql/SQLiteStatement.h: Copied from platform/sql/SQLStatement.h.
  61162. (WebCore::SQLiteStatement::database):
  61163. * platform/sql/SQLiteTransaction.cpp: Copied from platform/sql/SQLTransaction.cpp.
  61164. (WebCore::SQLiteTransaction::SQLiteTransaction):
  61165. (WebCore::SQLiteTransaction::~SQLiteTransaction):
  61166. (WebCore::SQLiteTransaction::begin):
  61167. (WebCore::SQLiteTransaction::commit):
  61168. (WebCore::SQLiteTransaction::rollback):
  61169. * platform/sql/SQLiteTransaction.h: Copied from platform/sql/SQLTransaction.h.
  61170. * storage/Database.cpp:
  61171. (WebCore::retrieveTextResultFromDatabase):
  61172. (WebCore::setTextValueInDatabase):
  61173. (WebCore::Database::performExecuteSql):
  61174. (WebCore::Database::performGetTableNames):
  61175. (WebCore::Database::executeSql):
  61176. * storage/Database.h:
  61177. * storage/DatabaseAuthorizer.h:
  61178. * storage/DatabaseTracker.cpp:
  61179. (WebCore::DatabaseTracker::fullPathForDatabase):
  61180. (WebCore::DatabaseTracker::populateOrigins):
  61181. (WebCore::DatabaseTracker::databaseNamesForOrigin):
  61182. (WebCore::DatabaseTracker::addDatabase):
  61183. * storage/DatabaseTracker.h:
  61184. 2007-10-25 Alexey Proskuryakov <ap@webkit.org>
  61185. Reviewed by Darin.
  61186. http://bugs.webkit.org/show_bug.cgi?id=15650
  61187. XML attribute nodes are not importable
  61188. Tests: fast/dom/import-attribute-node.html
  61189. fast/dom/import-document-fragment.html
  61190. * dom/Document.cpp:
  61191. (WebCore::Document::importNode): Implemented for Attribute and DocumentFragment nodes.
  61192. 2007-10-25 Dan Bernstein <mitz@apple.com>
  61193. Reviewed by Dave Hyatt.
  61194. - fix http://bugs.webkit.org/show_bug.cgi?id=15362
  61195. <rdar://problem/5558715> Safari Crashes when opening a JS TreeGrid widget
  61196. Test: fast/dynamic/insert-before-table-part-in-continuation.html
  61197. * rendering/RenderFlow.cpp:
  61198. (WebCore::RenderFlow::addChildWithContinuation): If beforeChild's
  61199. parent is an anonymous table part, let the table figure out where to
  61200. insert the new child.
  61201. 2007-10-25 Alp Toker <alp@atoker.com>
  61202. Reviewed by Brady.
  61203. http://bugs.webkit.org/show_bug.cgi?id=15686
  61204. GtkLauncher aborts on launch due to uninitialized threading subsystem
  61205. Re-enable database support in the GTK+ port, with a fix.
  61206. * WebCore.pro:
  61207. 2007-10-25 Jon Honeycutt <jhoneycutt@apple.com>
  61208. Reviewed by Steve.
  61209. <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a
  61210. java page
  61211. Previous patch erroneously compared a path and a
  61212. path-including-filename. This corrects that. It also caches the result
  61213. of safariPluginsPath() and uses shell API funcs for determining filename
  61214. and parent directory from a full path.
  61215. * plugins/win/PluginDatabaseWin.cpp:
  61216. (WebCore::safariPluginsPath): Cache return value. Use API functions to
  61217. build the path
  61218. (WebCore::PluginDatabaseWin::pluginForMIMEType): Compare again plugin's
  61219. parent directory, not full path
  61220. (WebCore::PluginDatabaseWin::pluginForExtension): Same
  61221. * plugins/win/PluginPackageWin.cpp:
  61222. (WebCore::PluginPackageWin::PluginPackageWin): Store parent directory
  61223. * plugins/win/PluginPackageWin.h:
  61224. (WebCore::PluginPackageWin::parentDirectory):
  61225. * plugins/win/PluginStreamWin.cpp:
  61226. (WebCore::PluginStreamWin::didReceiveData):
  61227. 2007-10-25 Alp Toker <alp@atoker.com>
  61228. Unreviewed fix to make the GTK+ port run.
  61229. http://bugs.webkit.org/show_bug.cgi?id=15686
  61230. GtkLauncher aborts on launch due to uninitialized threading subsystem
  61231. Disable database support until #15686 is fixed.
  61232. * WebCore.pro:
  61233. 2007-10-25 Simon Hausmann <hausmann@kde.org>
  61234. Reviewed by Lars.
  61235. Fixed a crash in the Qt 4.4 based text iterators when they're called with a null string.
  61236. * platform/qt/TextBreakIteratorQt.cpp:
  61237. (WebCore::wordBreakIterator):
  61238. (WebCore::characterBreakIterator):
  61239. (WebCore::lineBreakIterator):
  61240. (WebCore::sentenceBreakIterator):
  61241. 2007-10-25 Holger Freyther <zecke@selfish.org>
  61242. Reviewed by Simon Hausmann <hausmann@kde.org>.
  61243. * We need to set a != 0 status code for the fast/loader/xmlhttprequest-missing-file-exception.html
  61244. * libxml2 has the semantic that when writing an empty string and finishing it will report an error. For QXmlStreamReader this is valid.
  61245. * This is causing some regressions...
  61246. * dom/XMLTokenizer.cpp:
  61247. (WebCore::XMLTokenizer::XMLTokenizer):
  61248. (WebCore::XMLTokenizer::write):
  61249. (WebCore::XMLTokenizer::end):
  61250. * dom/XMLTokenizer.h:
  61251. 2007-10-25 Holger Freyther <zecke@selfish.org>
  61252. Reviewed by Simon Hausmann <hausmann@kde.org>.
  61253. * fast/dom/onerror-img.html regressed due checking the JobStates because in case of error (e.g. not being able to connect) the job will no be started.
  61254. * Use the error message from Qt. It might or might not be translated.
  61255. * platform/network/qt/ResourceHandleQt.cpp:
  61256. (WebCore::WebCoreSynchronousLoader::didFail):
  61257. 2007-10-25 Holger Freyther <zecke@selfish.org>
  61258. Reviewed by Simon Hausmann <hausmann@kde.org>.
  61259. * Implement our own queuing of network jobs to allow special handling of synchronous jobs. This makes us pass the fast/dom/xmlhttprequest-html-response-encoding.html test without a crash. Sync jobs will get a special treatment over the normals ones and in theory more than one sync job is supported.
  61260. * This should be thread-safe besides QWebNetworkJob::{ref,deref}
  61261. * platform/network/qt/ResourceHandleQt.cpp:
  61262. (WebCore::ResourceHandle::loadResourceSynchronously):
  61263. 2007-10-25 Alp Toker <alp@atoker.com>
  61264. Reviewed by Mark Rowe.
  61265. Add support for list box theme colors and styled menu list buttons.
  61266. Remove obsolete FIXMEs.
  61267. * platform/gtk/RenderThemeGtk.cpp:
  61268. (WebCore::RenderThemeGtk::RenderThemeGtk):
  61269. (WebCore::RenderThemeGtk::paintCheckbox):
  61270. (WebCore::RenderThemeGtk::paintRadio):
  61271. (WebCore::RenderThemeGtk::paintButton):
  61272. (WebCore::RenderThemeGtk::adjustMenuListStyle):
  61273. (WebCore::RenderThemeGtk::paintMenuList):
  61274. (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
  61275. (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
  61276. (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
  61277. (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
  61278. (WebCore::RenderThemeGtk::gtkTreeView):
  61279. * platform/gtk/RenderThemeGtk.h:
  61280. 2007-10-25 Eric Seidel <eric@webkit.org>
  61281. Reviewed by Geoff.
  61282. * bindings/js/kjs_window.h: fix bogus comment, s/DOMNode/DOMObject/
  61283. 2007-10-24 Eric Seidel <eric@webkit.org>
  61284. Reviewed by Maciej.
  61285. Make Window subclass from JSGlobalObject (for a .5% win in Sunspider)
  61286. http://bugs.webkit.org/show_bug.cgi?id=15681
  61287. No test cases necessary, no functional changes.
  61288. * WebCore.xcodeproj/project.pbxproj:
  61289. * bindings/js/kjs_binding.cpp:
  61290. (KJS::ScriptInterpreter::ScriptInterpreter):
  61291. * bindings/js/kjs_binding.h:
  61292. * bindings/js/kjs_proxy.cpp:
  61293. (WebCore::KJSProxy::initScriptIfNeeded):
  61294. * bindings/js/kjs_window.cpp:
  61295. (KJS::Window::Window):
  61296. * bindings/js/kjs_window.h:
  61297. * bindings/objc/WebScriptObject.mm:
  61298. (_didExecute):
  61299. * bridge/mac/WebCoreScriptDebugger.mm:
  61300. 2007-10-24 Adam Roben <aroben@apple.com>
  61301. Add font database initialization code to WebCore
  61302. Reviewed by Ada.
  61303. * WebCore.vcproj/WebCore.vcproj: Added FontDatabase.{cpp,h}.
  61304. * platform/win/FontDatabase.cpp: Added.
  61305. (WebCore::systemFontsDirectory):
  61306. (WebCore::fontsPlistPath):
  61307. (WebCore::systemHasFontsNewerThanFontsPlist):
  61308. (WebCore::readFontPlist):
  61309. (WebCore::populateFontDatabaseFromPlist):
  61310. (WebCore::populateFontDatabaseFromFileSystem):
  61311. (WebCore::writeFontDatabaseToPlist):
  61312. (WebCore::populateFontDatabase): This is the only function callable
  61313. from outside this file. It populates the font database once, either
  61314. from the fonts plist, or from the filesystem (and then saves a new
  61315. fonts plist).
  61316. * platform/win/FontDatabase.h: Added.
  61317. 2007-10-24 Justin Garcia <justin.garcia@apple.com>
  61318. Reviewed by Darin Adler.
  61319. Correcting the fix for:
  61320. <rdar://problem/5544856>
  61321. REGRESSION: After typing 2-byte text, undo only undoes one keystroke at a time
  61322. Made removal of the previous composition part of the current Undo step in the
  61323. case where the new composition is the empty string, too.
  61324. * editing/Editor.cpp:
  61325. (WebCore::Editor::confirmComposition): Call the new TypingCommand::deleteSelection,
  61326. which either has the currently open typing command delete the current selection, or
  61327. opens a new typing command (of type DeleteSelection) if one is not already open.
  61328. (WebCore::Editor::setComposition): Ditto.
  61329. * editing/TypingCommand.cpp:
  61330. (WebCore::TypingCommand::deleteSelection): Added.
  61331. (WebCore::TypingCommand::doApply): Handle DeleteSelection.
  61332. (WebCore::TypingCommand::deleteKeyPressed): Clarified which deleteSelection
  61333. is called.
  61334. (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
  61335. (WebCore::TypingCommand::preservesTypingStyle): Handle DeleteSelection.
  61336. * editing/TypingCommand.h:
  61337. 2007-10-24 Sam Weinig <sam@webkit.org>
  61338. Build fix.
  61339. * WebCore.vcproj/WebCore.vcproj:
  61340. 2007-10-24 Alice Liu <alice.liu@apple.com>
  61341. Reviewed by Oliver.
  61342. Fix <rdar://5410959> editing/selection/drag-to-contenteditable-iframe.html fails on Windows
  61343. * page/win/EventHandlerWin.cpp:
  61344. (WebCore::EventHandler::passMouseMoveEventToSubframe):
  61345. Some mouse move events are actually drags, which on mac return early from this function.
  61346. Adding the same logic to its Windows equivalent.
  61347. 2007-10-24 Brady Eidson <beidson@apple.com>
  61348. Reviewed by Anders
  61349. <rdar://5554130> DatabaseTracker.o has a global initializer
  61350. Since DatabaseTracker is a singleton, it makes much more sense to keep the database path as a member variable.
  61351. Now constructing the shared DatabaseTracker no longer implicitly opens it - It is only opened when the databases
  61352. path is set.
  61353. * WebCore.vcproj/WebCore.vcproj: Copy WebCore/storage headers for WebKit build
  61354. * storage/Database.cpp:
  61355. (WebCore::Database::~Database): Remove bogus assertion
  61356. * storage/DatabaseTracker.cpp:
  61357. (WebCore::DatabaseTracker::DatabaseTracker): Does nothing now! Move this code to openTrackerDatabase
  61358. (WebCore::DatabaseTracker::setDatabasePath): Set the member variable, also closing/opening the database if needed
  61359. (WebCore::DatabaseTracker::databasePath):
  61360. (WebCore::DatabaseTracker::openTrackerDatabase): To open and validate the Databases db, moved from the c'tor
  61361. (WebCore::DatabaseTracker::fullPathForDatabase): Return the member variable
  61362. * storage/DatabaseTracker.h:
  61363. 2007-10-24 David Hyatt <hyatt@apple.com>
  61364. Don't try to gap fill transformed selections. Fix the invalidation of selection to use the clip to visible content
  61365. code path so that it works with multi-column layouts and transforms.
  61366. Reviewed by aroben
  61367. * rendering/RenderBlock.cpp:
  61368. (WebCore::RenderBlock::isSelectionRoot):
  61369. (WebCore::RenderBlock::fillSelectionGaps):
  61370. * rendering/RenderView.cpp:
  61371. (WebCore::RenderView::setSelection):
  61372. 2007-10-24 Eric Seidel <eric@webkit.org>
  61373. No review, I want to tickle the CIA bot to test changes,
  61374. and took this as an opportunity to clean up some old change logs.
  61375. * ChangeLog-2005-08-23: update email address
  61376. * ChangeLog-2006-12-31: fix spelling mistakes
  61377. 2007-10-24 Dan Bernstein <mitz@apple.com>
  61378. Reviewed by Oliver Hunt.
  61379. - add "(anonymous)" to the renderName of anonymous table cells, rows and sections
  61380. * rendering/RenderTableCell.h:
  61381. (WebCore::RenderTableCell::renderName):
  61382. * rendering/RenderTableRow.h:
  61383. (WebCore::RenderTableRow::renderName):
  61384. * rendering/RenderTableSection.h:
  61385. (WebCore::RenderTableSection::renderName):
  61386. 2007-10-24 Timothy Hatcher <timothy@apple.com>
  61387. Reviewed by Adam.
  61388. Bug 15476: DOM tree fully expands some elements when arrowing up
  61389. http://bugs.webkit.org/show_bug.cgi?id=15476
  61390. Add a new expandTreeElementsWhenArrowing option to TreeOutline. This option
  61391. is used only for the sidebar and search results.
  61392. * page/inspector/inspector.js: Opt-in for the sidebar and search results.
  61393. * page/inspector/treeoutline.js: Add expandTreeElementsWhenArrowing and pass
  61394. this option to traverseNextTreeElement and traversePreviousTreeElement.
  61395. 2007-10-24 Anders Carlsson <andersca@apple.com>
  61396. Reviewed by Geoff and Mitz.
  61397. <rdar://problem/5493833>
  61398. REGRESSION: ~5MB of image data leaked @ cuteoverload.com (often seen while browsing other sites, too)
  61399. * bindings/js/kjs_binding.cpp:
  61400. (KJS::ScriptInterpreter::markDOMNodesForDocument):
  61401. If an image element that is currently loading an image is not in the document,
  61402. it should still be marked.
  61403. * bindings/js/kjs_html.cpp:
  61404. (WebCore::ImageConstructorImp::construct):
  61405. Force the document wrapper to be created.
  61406. * html/HTMLImageElement.h:
  61407. (WebCore::HTMLImageElement::haveFiredLoadEvent):
  61408. New method which calls down to the image loader.
  61409. * html/HTMLImageLoader.cpp:
  61410. (WebCore::HTMLImageLoader::HTMLImageLoader):
  61411. (WebCore::HTMLImageLoader::~HTMLImageLoader):
  61412. (WebCore::HTMLImageLoader::setLoadingImage):
  61413. (WebCore::HTMLImageLoader::dispatchLoadEvent):
  61414. Remove code that's not needed anymore.
  61415. * html/HTMLImageLoader.h:
  61416. (WebCore::HTMLImageLoader::haveFiredLoadEvent):
  61417. Make this public.
  61418. 2007-10-23 Adam Roben <aroben@apple.com>
  61419. Move Windows safe file creation code into WebCore from WebPreferences
  61420. Reviewed by Brady.
  61421. * platform/FileSystem.h:
  61422. * platform/win/FileSystemWin.cpp:
  61423. (WebCore::safeCreateFile): Moved here from WebKit/win/WebPreferences.cpp.
  61424. 2007-10-23 Adam Roben <aroben@apple.com>
  61425. Add methods to FileSystemWin to get some user profile directories
  61426. These directories are used to hold things like preferences, caches,
  61427. etc.
  61428. Reviewed by Brady.
  61429. * platform/FileSystem.h: Added new method declarations for Windows
  61430. only.
  61431. * platform/win/FileSystemWin.cpp:
  61432. (WebCore::bundleName): Added.
  61433. (WebCore::storageDirectory): Added.
  61434. (WebCore::cachedStorageDirectory): Added.
  61435. (WebCore::localUserSpecificStorageDirectory): Added. Returns the
  61436. directory where WebKit should store any user-specific data that should
  61437. stay local to the current machine (i.e., shouldn't be stored in a
  61438. roaming profile).
  61439. (WebCore::roamingUserSpecificStorageDirectory): Added. Returns the
  61440. directory where WebKit should store any user-specific data that should
  61441. move with the user from machine to machine (i.e., should be stored in
  61442. a roaming profile).
  61443. 2007-10-24 Alp Toker <alp@atoker.com>
  61444. Reviewed by Mark Rowe.
  61445. http://bugs.webkit.org/show_bug.cgi?id=15659
  61446. InlineTextBox does not setStrokeStyle() as needed
  61447. GraphicsContextCairo workaround to support a GraphicsContextCG quirk:
  61448. Save and restore the StrokeStyle manually.
  61449. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  61450. (WebCore::GraphicsContext::drawLineForText):
  61451. 2007-10-24 Julien Chaffraix <julien.chaffraix@gmail.com>
  61452. Reviewed by Darin.
  61453. Patch for http://bugs.webkit.org/show_bug.cgi?id=15356
  61454. Bug 15356: getResponseHeader and getAllResponseHeaders do not throw exceptions
  61455. - getAllResponseHeaders and getResponseHeader throws INVALID_STATE_ERR exception as specified in the specification
  61456. - Add the check to field-name production in getResponseHeader (call to isValidToken) and returns an empty string if the header is not valid (Opera and IE behaviour)
  61457. - Updated XMLHttpRequest::responseMIMEType() to keep its behaviour
  61458. Tests: http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getAllRequestHeaders.html
  61459. http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getRequestHeader.html
  61460. http/tests/xmlhttprequest/xmlhttprequest-invalidHeader-getRequestHeader.html
  61461. * bindings/js/JSXMLHttpRequest.cpp:
  61462. (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction):
  61463. * xml/XMLHttpRequest.cpp:
  61464. (WebCore::XMLHttpRequest::getAllResponseHeaders):
  61465. (WebCore::XMLHttpRequest::getResponseHeader):
  61466. (WebCore::XMLHttpRequest::responseMIMEType):
  61467. * xml/XMLHttpRequest.h:
  61468. 2007-10-24 Lars Knoll <lars@trolltech.com>
  61469. Reviewed by Simon.
  61470. implement most of DragData.
  61471. * platform/qt/DragDataQt.cpp:
  61472. (WebCore::DragData::containsColor):
  61473. (WebCore::DragData::containsFiles):
  61474. (WebCore::DragData::asFilenames):
  61475. (WebCore::DragData::containsPlainText):
  61476. (WebCore::DragData::asPlainText):
  61477. (WebCore::DragData::asColor):
  61478. (WebCore::DragData::containsCompatibleContent):
  61479. (WebCore::DragData::containsURL):
  61480. 2007-10-24 Lars Knoll <lars@trolltech.com>
  61481. Reviewed by Simon.
  61482. remove a stupid notImplemented() warning and implement PasteBoad::clear().
  61483. * platform/qt/PasteboardQt.cpp:
  61484. 2007-10-24 Lars Knoll <lars@trolltech.com>
  61485. Reviewed by Simon.
  61486. implement Pasteboard::documentFragment(), and fix a mem leak.
  61487. * platform/qt/PasteboardQt.cpp:
  61488. (WebCore::Pasteboard::generalPasteboard):
  61489. (WebCore::Pasteboard::documentFragment):
  61490. 2007-10-24 Lars Knoll <lars@trolltech.com>
  61491. Reviewed by Simon.
  61492. Simplify the PlatformKeyEvent constructor. No need to have an extra boolean for isKeyUp in there, as the QKeyEvent has the information.
  61493. * platform/PlatformKeyboardEvent.h:
  61494. * platform/qt/PlatformKeyboardEventQt.cpp:
  61495. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
  61496. 2007-10-24 Lars Knoll <lars@trolltech.com>
  61497. Reviewed by Simon.
  61498. use the new QTextBoundaryFinder class in Qt.
  61499. * platform/qt/TextBoundaries.cpp:
  61500. (WebCore::findNextWordFromIndex):
  61501. (WebCore::findWordBoundary):
  61502. * platform/qt/TextBreakIteratorQt.cpp:
  61503. (WebCore::wordBreakIterator):
  61504. (WebCore::characterBreakIterator):
  61505. (WebCore::lineBreakIterator):
  61506. (WebCore::sentenceBreakIterator):
  61507. (WebCore::textBreakFirst):
  61508. (WebCore::textBreakNext):
  61509. (WebCore::textBreakPreceding):
  61510. (WebCore::textBreakFollowing):
  61511. (WebCore::textBreakCurrent):
  61512. (WebCore::isTextBreak):
  61513. 2007-10-24 Darin Adler <darin@apple.com>
  61514. Reviewed by Maciej.
  61515. - http://bugs.webkit.org/show_bug.cgi?id=15657
  61516. change static hash tables to use powers of two for speed
  61517. * bindings/scripts/CodeGeneratorJS.pm: Updated to generate new format.
  61518. 2007-10-24 Simon Hausmann <hausmann@kde.org>
  61519. Reviewed by Lars.
  61520. Make the implementation of pathByAppendingComponent use QDir.
  61521. * platform/qt/FileSystemQt.cpp:
  61522. 2007-10-24 David Hyatt <hyatt@apple.com>
  61523. Make repainting work with transforms.
  61524. Reviewed by John Sullivan
  61525. * rendering/RenderBox.cpp:
  61526. (WebCore::RenderBox::computeAbsoluteRepaintRect):
  61527. 2007-10-23 Alp Toker <alp@atoker.com>
  61528. Reviewed by Maciej.
  61529. http://bugs.webkit.org/show_bug.cgi?id=14412
  61530. [GDK] Clipboard support
  61531. Initial clipboard implementation for the GTK+ port.
  61532. * platform/gtk/ClipboardGtk.cpp:
  61533. (WebCore::Editor::newGeneralClipboard):
  61534. * platform/gtk/PasteboardGtk.cpp:
  61535. (WebCore::Pasteboard::generalPasteboard):
  61536. (WebCore::Pasteboard::Pasteboard):
  61537. (WebCore::Pasteboard::~Pasteboard):
  61538. (WebCore::Pasteboard::writeSelection):
  61539. (WebCore::Pasteboard::writeImage):
  61540. (WebCore::Pasteboard::clear):
  61541. (WebCore::Pasteboard::plainText):
  61542. * platform/gtk/TemporaryLinkStubs.cpp:
  61543. 2007-10-23 Timothy Hatcher <timothy@apple.com>
  61544. Reviewed by Adam.
  61545. Fixes the Network panel so that it refreshes as needed.
  61546. * page/inspector/ConsolePanel.js: Call the base class show() and hide() first.
  61547. * page/inspector/NetworkPanel.js: Add refreshNeeded and refreshIfNeeded back. Ditto.
  61548. 2007-10-23 Justin Garcia <justin.garcia@apple.com>
  61549. Reviewed by Oliver Hunt.
  61550. <rdar://problem/5544856>
  61551. REGRESSION: After typing 2-byte text, undo only undoes one keystroke at a time
  61552. No layout test for now because I'm having trouble getting Undo during a layout
  61553. test to only undo the last Undo step, and I want to write a test that fails
  61554. without the code change.
  61555. * editing/Editor.cpp:
  61556. (WebCore::Editor::confirmComposition): When we replace the previous composition,
  61557. delete it with a sub-command of the command used to insert the new composition,
  61558. instead of with a separate command. No new code was added because insertText
  61559. already deletes the current selection.
  61560. (WebCore::Editor::setComposition): Ditto.
  61561. 2007-10-23 Adam Roben <aroben@apple.com>
  61562. Fix the behavior of pathByAppendingComponent when path is empty
  61563. We now use the Windows Shell API function PathAppendW instead of
  61564. rolling our own broken implementation.
  61565. Reviewed by Anders.
  61566. * platform/win/FileSystemWin.cpp:
  61567. (WebCore::pathByAppendingComponent):
  61568. 2007-10-23 Adele Peterson <adele@apple.com>
  61569. Reviewed by Darin.
  61570. Fix for <rdar://problem/5543228> CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::HTMLInputElement::defaultEventHandler + 872
  61571. Test: fast/forms/textfield-onchange-deletion.html
  61572. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
  61573. Refetch the renderer since arbitrary JS code run during onchange can do anything, including destroying it.
  61574. 2007-10-23 Timothy Hatcher <timothy@apple.com>
  61575. Reviewed by Sam Weinig.
  61576. - Made seperate files for the various classes in ResourcePanel.js.
  61577. - Broke up ResourcePanel.js and created seperate panel classes for different resource types.
  61578. - Moved View code down to the Panel base-class.
  61579. - Reduced code duplication in DatabasePanel.js by sub-classing from the new ResourcePanel.
  61580. * page/inspector/DatabasePanel.js:
  61581. * page/inspector/DocumentPanel.js: Added.
  61582. * page/inspector/FontPanel.js: Added.
  61583. * page/inspector/ImagePanel.js: Added.
  61584. * page/inspector/Panel.js: Added.
  61585. * page/inspector/PropertiesSection.js: Added.
  61586. * page/inspector/Resource.js:
  61587. * page/inspector/ResourcePanel.js:
  61588. * page/inspector/SidebarPane.js: Added.
  61589. * page/inspector/SourcePanel.js: Added.
  61590. * page/inspector/inspector.css:
  61591. * page/inspector/inspector.html:
  61592. * page/inspector/inspector.js:
  61593. 2007-10-23 Anders Carlsson <andersca@apple.com>
  61594. Correct the version #if check.
  61595. * platform/sql/SQLDatabase.cpp:
  61596. (WebCore::SQLDatabase::authorizerFunction):
  61597. 2007-10-23 Jon Honeycutt <jhoneycutt@apple.com>
  61598. Reviewed by Anders.
  61599. <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a
  61600. java page
  61601. It is possible to load Mozilla's Java plugin instead of our own, which
  61602. can lead to a crash. The fix is to prefer plugins in our own Plugins
  61603. directory when searching for a plugin.
  61604. * plugins/win/PluginDatabaseWin.cpp:
  61605. (WebCore::safariPluginsPath): Return the path to our own Plugins
  61606. directory
  61607. (WebCore::PluginDatabaseWin::defaultPluginPaths): Use new method
  61608. safariPluginsPath()
  61609. (WebCore::PluginDatabaseWin::pluginForMIMEType): If the plugin's path is
  61610. our Plugins path, return this plugin. Otherwise, continue scanning the
  61611. list of plugins
  61612. (WebCore::PluginDatabaseWin::pluginForExtension): Same
  61613. * plugins/win/PluginPackageWin.h:
  61614. (WebCore::PluginPackageWin::path): Return this plugin's path
  61615. 2007-10-23 Jasper Bryant-Greene <m@ni.ac.nz>
  61616. Reviewed by Darin.
  61617. http://bugs.webkit.org/show_bug.cgi?id=15058
  61618. Precedence fault in KeyEventGdk causes shift, control, alt etc to work incorrectly
  61619. Corrected precendence fault which was causing Shift, Alt, Control and
  61620. Meta to behave incorrectly on GTK.
  61621. Coding style fix by Alp.
  61622. * platform/gtk/KeyEventGtk.cpp:
  61623. (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
  61624. 2007-10-23 Sam Weinig <sam@webkit.org>
  61625. Reviewed by Tim Hatcher.
  61626. Add resizing of the DOM view right sidebar. This allows us to actually see the values now.
  61627. * page/inspector/ResourcePanel.js:
  61628. * page/inspector/inspector.css:
  61629. * page/inspector/inspector.js:
  61630. * page/inspector/utilities.js:
  61631. 2007-10-23 David Hyatt <hyatt@apple.com>
  61632. Get basic hit testing right for transforms.
  61633. Reviewed by ollliej
  61634. * platform/graphics/AffineTransform.cpp:
  61635. (WebCore::AffineTransform::mapPoint):
  61636. * platform/graphics/AffineTransform.h:
  61637. * rendering/InlineBox.cpp:
  61638. (WebCore::InlineBox::nodeAtPoint):
  61639. * rendering/RenderBlock.cpp:
  61640. (WebCore::RenderBlock::nodeAtPoint):
  61641. * rendering/RenderLayer.cpp:
  61642. (WebCore::RenderLayer::paintLayer):
  61643. (WebCore::RenderLayer::hitTest):
  61644. (WebCore::RenderLayer::hitTestLayer):
  61645. * rendering/RenderLayer.h:
  61646. * rendering/RenderObject.cpp:
  61647. (WebCore::RenderObject::hitTest):
  61648. * rendering/RenderObject.h:
  61649. 2007-10-23 Eric Seidel <eric@webkit.org>
  61650. Reviewed by Mark Rowe.
  61651. Fix leaks seen on TOT from new font-face code.
  61652. * ksvg2/svg/SVGFontFaceElement.cpp:
  61653. (WebCore::SVGFontFaceElement::rebuildFontFace): use a stack allocated CSSProperty instead of mallocing
  61654. 2007-10-23 Eric Seidel <eric@webkit.org>
  61655. Build fix only, no review.
  61656. Sacrifice three virgin hours upon the altar of the heathen XCode gods
  61657. and pray that our build troubles are finally over. :(
  61658. * DerivedSources.make: add DOMSVGException.h
  61659. * WebCore.xcodeproj/project.pbxproj: Remove DOMSVG*Interal.h files from "Copy Generated Headers" phase. Why? Who knows.
  61660. 2007-10-22 Steve Falkenburg <sfalken@apple.com>
  61661. Fix build.
  61662. * plugins/win/PluginViewWin.cpp:
  61663. 2007-10-22 Eric Seidel <eric@webkit.org>
  61664. Build fix only, no review.
  61665. * WebCore.xcodeproj/project.pbxproj: re-add all DOMSVG headers to copy-files phase to make sure.
  61666. 2007-10-22 Eric Seidel <eric@webkit.org>
  61667. Build fix only, no review.
  61668. * WebCore.xcodeproj/project.pbxproj: make sure DOMSVGAnimateElement.h is copied into headers.
  61669. 2007-10-22 Eric Seidel <eric@webkit.org>
  61670. Reviewed by Maciej.
  61671. Fix build by properly exposing SVG font-face dom bindings.
  61672. * DerivedSources.make:
  61673. * WebCore.vcproj/WebCore.vcproj: add font-face files to build
  61674. * WebCore.xcodeproj/project.pbxproj: add missing DOM bindings files
  61675. * bindings/js/JSSVGElementWrapperFactory.cpp:
  61676. * bindings/objc/DOM.mm:
  61677. (WebCore::createElementClassMap):
  61678. * bindings/objc/DOMSVG.h:
  61679. * ksvg2/svg/SVGDefinitionSrcElement.idl: inherit from SVGElement
  61680. 2007-10-22 Mark Rowe <mrowe@apple.com>
  61681. Gtk build fix.
  61682. * WebCore.pro:
  61683. 2007-10-22 Darin Adler <darin@apple.com>
  61684. - a first cut at fixing the Qt and GTK builds
  61685. * WebCore.pro: Add new .idl and .cpp files.
  61686. * DerivedSources.make: Re-sorted.
  61687. 2007-10-22 Eric Seidel <eric@webkit.org>
  61688. Reviewed by hyatt.
  61689. Implement <font-face> and friends for SVG.
  61690. http://bugs.webkit.org/show_bug.cgi?id=10652
  61691. * DerivedSources.make:
  61692. * WebCore.xcodeproj/project.pbxproj:
  61693. * bindings/js/JSSVGElementWrapperFactory.cpp:
  61694. * dom/Document.cpp:
  61695. (WebCore::Document::mappedElementSheet):
  61696. (WebCore::Document::recalcStyleSelector):
  61697. * dom/Document.h:
  61698. * ksvg2/scripts/make_names.pl:
  61699. * ksvg2/svg/SVGDefinitionSrcElement.cpp: Added.
  61700. (WebCore::SVGDefinitionSrcElement::SVGDefinitionSrcElement):
  61701. (WebCore::SVGDefinitionSrcElement::~SVGDefinitionSrcElement):
  61702. (WebCore::SVGDefinitionSrcElement::childrenChanged):
  61703. * ksvg2/svg/SVGDefinitionSrcElement.h: Added.
  61704. * ksvg2/svg/SVGDefinitionSrcElement.idl: Added.
  61705. * ksvg2/svg/SVGFontFaceElement.cpp: Added.
  61706. (WebCore::SVGFontFaceElement::SVGFontFaceElement):
  61707. (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
  61708. (WebCore::cssPropertyIdForName):
  61709. (WebCore::mapAttributeToCSSProperty):
  61710. (WebCore::cssPropertyIdForSVGAttributeName):
  61711. (WebCore::SVGFontFaceElement::parseMappedAttribute):
  61712. (WebCore::SVGFontFaceElement::rebuildFontFace):
  61713. (WebCore::SVGFontFaceElement::childrenChanged):
  61714. * ksvg2/svg/SVGFontFaceElement.h: Added.
  61715. * ksvg2/svg/SVGFontFaceElement.idl: Added.
  61716. * ksvg2/svg/SVGFontFaceFormatElement.cpp: Added.
  61717. (WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement):
  61718. (WebCore::SVGFontFaceFormatElement::~SVGFontFaceFormatElement):
  61719. (WebCore::SVGFontFaceFormatElement::childrenChanged):
  61720. * ksvg2/svg/SVGFontFaceFormatElement.h: Added.
  61721. * ksvg2/svg/SVGFontFaceFormatElement.idl: Added.
  61722. * ksvg2/svg/SVGFontFaceNameElement.cpp: Added.
  61723. (WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement):
  61724. (WebCore::SVGFontFaceNameElement::~SVGFontFaceNameElement):
  61725. (WebCore::SVGFontFaceNameElement::srcValue):
  61726. * ksvg2/svg/SVGFontFaceNameElement.h: Added.
  61727. * ksvg2/svg/SVGFontFaceNameElement.idl: Added.
  61728. * ksvg2/svg/SVGFontFaceSrcElement.cpp: Added.
  61729. (WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement):
  61730. (WebCore::SVGFontFaceSrcElement::~SVGFontFaceSrcElement):
  61731. (WebCore::SVGFontFaceSrcElement::srcValue):
  61732. (WebCore::SVGFontFaceSrcElement::childrenChanged):
  61733. * ksvg2/svg/SVGFontFaceSrcElement.h: Added.
  61734. * ksvg2/svg/SVGFontFaceSrcElement.idl: Added.
  61735. * ksvg2/svg/SVGFontFaceUriElement.cpp: Added.
  61736. (WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement):
  61737. (WebCore::SVGFontFaceUriElement::~SVGFontFaceUriElement):
  61738. (WebCore::SVGFontFaceUriElement::srcValue):
  61739. (WebCore::SVGFontFaceUriElement::childrenChanged):
  61740. * ksvg2/svg/SVGFontFaceUriElement.h: Added.
  61741. * ksvg2/svg/SVGFontFaceUriElement.idl: Added.
  61742. * ksvg2/svg/svgtags.in:
  61743. 2007-10-22 Jon Honeycutt <jhoneycutt@apple.com>
  61744. Reviewed by Anders.
  61745. <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a
  61746. java page
  61747. We purposefully do not destroy our Java VM when its reference count
  61748. reaches 0, but we were unloading our JavaPlugin.dll when its reference
  61749. count reached 0, which lost the reference to the VM. This led to our
  61750. process trying to create a new VM the next time a page using Java was
  61751. loaded, and the JNI spec states that a single process is not allowed to
  61752. create more than one VM. The fix is to avoid unloading the Java plugin
  61753. via our PluginQuirkDontUnloadPlugin.
  61754. * plugins/win/PluginViewWin.cpp:
  61755. (WebCore::PluginViewWin::determineQuirks):
  61756. 2007-10-22 David Hyatt <hyatt@apple.com>
  61757. Fix for bug 15624, make transforms work properly with opacity.
  61758. Make sure a unitless 0 is allowed as an angle argument to rotation/skew.
  61759. Reviewed by Mitz Pettel
  61760. fast/transforms/transforms-with-opacity.html
  61761. fast/transforms/skew-with-unitless-zero.html
  61762. * css/CSSParser.cpp:
  61763. (WebCore::CSSParser::validUnit):
  61764. * rendering/RenderLayer.cpp:
  61765. (WebCore::transparencyClipBox):
  61766. (WebCore::RenderLayer::beginTransparencyLayers):
  61767. (WebCore::RenderLayer::paintLayer):
  61768. (WebCore::RenderLayer::calculateClipRects):
  61769. * rendering/RenderLayer.h:
  61770. (WebCore::RenderLayer::transform):
  61771. 2007-10-22 Adam Roben <aroben@apple.com>
  61772. Windows build fix
  61773. * WebCore.vcproj/WebCore.vcproj: Copy header files from platform/sql.
  61774. * page/Page.cpp: Touched to force the header files to be copied.
  61775. 2007-10-22 Nikolas Zimmermann <zimmermann@kde.org>
  61776. Reviewed by Simon.
  61777. Move textPath related SVGChar data in it's own structure SVGCharOnPath.
  61778. Store a pointer to that datastructure inside SVGChar, instead of 4 floats & one bool.
  61779. Saves space for the common case. And allows me to add more data (another float) to support
  61780. glyph-orientation-* on textPath later on...
  61781. * rendering/SVGCharacterLayoutInfo.cpp:
  61782. (WebCore::SVGChar::characterTransform):
  61783. * rendering/SVGCharacterLayoutInfo.h:
  61784. * rendering/SVGRootInlineBox.cpp:
  61785. (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
  61786. (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
  61787. 2007-10-22 Alp Toker <alp@atoker.com>
  61788. Reviewed by Nikolas Zimmermann.
  61789. Implement more GraphicsContextCairo stubs.
  61790. Remove a hack "to work around no current point bug" that was breaking
  61791. canvas tests.
  61792. Fix warnings.
  61793. * platform/graphics/cairo/CairoPath.h:
  61794. (WebCore::CairoPath::CairoPath):
  61795. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  61796. (WebCore::GraphicsContext::addInnerRoundedRectClip):
  61797. (WebCore::GraphicsContext::strokeRect):
  61798. * platform/graphics/cairo/PathCairo.cpp:
  61799. (WebCore::Path::isEmpty):
  61800. * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp:
  61801. (WebCore::SVGPaintServerGradient::setup):
  61802. * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp:
  61803. (WebCore::SVGPaintServerSolid::setup):
  61804. 2007-10-22 Simon Hausmann <hausmann@kde.org>
  61805. Reviewed by Nikolas.
  61806. Fix compilation from a clean build with the database feature disabled.
  61807. JSCustomVersionChangeCallback.cpp doesn't actually need the SQL header file, just ScriptInterpreter.
  61808. * bindings/js/JSCustomVersionChangeCallback.cpp:
  61809. * page/InspectorController.cpp:
  61810. 2007-10-22 Andrew Wellington <proton@wiretapped.net>
  61811. Reviewed by Mark Rowe.
  61812. Fix for local database support after r26879
  61813. Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set
  61814. * Configurations/WebCore.xcconfig:
  61815. * WebCore.pro:
  61816. * WebCore.vcproj/build-generated-files.sh:
  61817. 2007-10-22 Simon Hausmann <hausmann@kde.org>
  61818. Reviewed by Lars.
  61819. Disable the Database feature for the qmake build for now.
  61820. * WebCore.pro:
  61821. 2007-10-22 Simon Hausmann <hausmann@kde.org>
  61822. Reviewed by Lars.
  61823. Make disabling the database feature (ENABLE_DATABASE=0) work by
  61824. placing various #ifdefs into the code and making the compilation of
  61825. some files optional.
  61826. * WebCore.pro:
  61827. * dom/Document.cpp:
  61828. (WebCore::Document::~Document):
  61829. (WebCore::Document::defaultEventHandler):
  61830. * dom/Document.h:
  61831. * page/DOMWindow.cpp:
  61832. * page/DOMWindow.h:
  61833. * page/DOMWindow.idl:
  61834. * page/InspectorController.cpp:
  61835. (WebCore::InspectorController::windowScriptObjectAvailable):
  61836. (WebCore::InspectorController::populateScriptResources):
  61837. (WebCore::InspectorController::clearDatabaseScriptResources):
  61838. (WebCore::InspectorController::didCommitLoad):
  61839. * page/InspectorController.h:
  61840. 2007-10-22 Alp Toker <alp@atoker.com>
  61841. Reviewed by Mark Rowe.
  61842. http://bugs.webkit.org/show_bug.cgi?id=15611
  61843. [GTK] Text selection behaviour different in Debug and Release builds
  61844. http://bugs.webkit.org/show_bug.cgi?id=15578
  61845. [GTK] Text editor caret does not blink
  61846. Never allow control to reach the end of non-void functions.
  61847. Return more sensible values, or in some cases, nulls.
  61848. * page/gtk/EventHandlerGtk.cpp:
  61849. (WebCore::isKeyboardOptionTab):
  61850. (WebCore::EventHandler::tabsToAllControls):
  61851. (WebCore::EventHandler::eventActivatedView):
  61852. 2007-10-22 Holger Freyther <zecke@selfish.org>
  61853. Reviewed by Simon Hausmann <hausmann@kde.org>.
  61854. Implement ResourceHandle::loadResourceSynchronously using ResourceHandle and a special ResourceHandleClient. This approach has the possible danger of reentrancy.
  61855. * platform/network/qt/ResourceHandleQt.cpp:
  61856. (WebCore::WebCoreSynchronousLoader::resourceResponse):
  61857. (WebCore::WebCoreSynchronousLoader::resourceError):
  61858. (WebCore::WebCoreSynchronousLoader::data):
  61859. (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
  61860. (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
  61861. (WebCore::WebCoreSynchronousLoader::didReceiveData):
  61862. (WebCore::WebCoreSynchronousLoader::didFinishLoading):
  61863. (WebCore::WebCoreSynchronousLoader::didFail):
  61864. (WebCore::WebCoreSynchronousLoader::waitForCompletion):
  61865. (WebCore::ResourceHandle::loadResourceSynchronously):
  61866. 2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org>
  61867. Reviewed by Lars Knoll <lars@trolltech.com>.
  61868. Style fix. It is allowed to attempt to delete 0.
  61869. * platform/qt/ClipboardQt.cpp:
  61870. 2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org>
  61871. Reviewed by Lars Knoll <lars@trolltech.com>.
  61872. Make it actually localizable....
  61873. * platform/qt/Localizations.cpp:
  61874. (WebCore::submitButtonDefaultLabel):
  61875. (WebCore::inputElementAltText):
  61876. (WebCore::searchableIndexIntroduction):
  61877. (WebCore::fileButtonChooseFileLabel):
  61878. (WebCore::fileButtonNoFileSelectedLabel):
  61879. (WebCore::contextMenuItemTagOpenLinkInNewWindow):
  61880. (WebCore::contextMenuItemTagDownloadLinkToDisk):
  61881. (WebCore::contextMenuItemTagCopyLinkToClipboard):
  61882. (WebCore::contextMenuItemTagOpenImageInNewWindow):
  61883. (WebCore::contextMenuItemTagDownloadImageToDisk):
  61884. (WebCore::contextMenuItemTagCopyImageToClipboard):
  61885. (WebCore::contextMenuItemTagOpenFrameInNewWindow):
  61886. (WebCore::contextMenuItemTagCopy):
  61887. (WebCore::contextMenuItemTagGoBack):
  61888. (WebCore::contextMenuItemTagGoForward):
  61889. (WebCore::contextMenuItemTagStop):
  61890. (WebCore::contextMenuItemTagReload):
  61891. (WebCore::contextMenuItemTagCut):
  61892. (WebCore::contextMenuItemTagPaste):
  61893. (WebCore::contextMenuItemTagNoGuessesFound):
  61894. (WebCore::contextMenuItemTagIgnoreSpelling):
  61895. (WebCore::contextMenuItemTagLearnSpelling):
  61896. (WebCore::contextMenuItemTagSearchWeb):
  61897. (WebCore::contextMenuItemTagLookUpInDictionary):
  61898. (WebCore::contextMenuItemTagOpenLink):
  61899. (WebCore::contextMenuItemTagIgnoreGrammar):
  61900. (WebCore::contextMenuItemTagSpellingMenu):
  61901. (WebCore::contextMenuItemTagShowSpellingPanel):
  61902. (WebCore::contextMenuItemTagCheckSpelling):
  61903. (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
  61904. (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
  61905. (WebCore::contextMenuItemTagFontMenu):
  61906. (WebCore::contextMenuItemTagBold):
  61907. (WebCore::contextMenuItemTagItalic):
  61908. (WebCore::contextMenuItemTagUnderline):
  61909. (WebCore::contextMenuItemTagOutline):
  61910. (WebCore::contextMenuItemTagWritingDirectionMenu):
  61911. (WebCore::contextMenuItemTagDefaultDirection):
  61912. (WebCore::contextMenuItemTagLeftToRight):
  61913. (WebCore::contextMenuItemTagRightToLeft):
  61914. (WebCore::contextMenuItemTagInspectElement):
  61915. (WebCore::searchMenuNoRecentSearchesText):
  61916. (WebCore::searchMenuRecentSearchesText):
  61917. 2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org>
  61918. Reviewed by Lars Knoll <lars@trolltech.com>.
  61919. Adjust the code to obey the Coding Style.
  61920. * platform/qt/Localizations.cpp:
  61921. (WebCore::submitButtonDefaultLabel):
  61922. (WebCore::inputElementAltText):
  61923. (WebCore::resetButtonDefaultLabel):
  61924. (WebCore::defaultLanguage):
  61925. (WebCore::searchableIndexIntroduction):
  61926. (WebCore::fileButtonChooseFileLabel):
  61927. (WebCore::fileButtonNoFileSelectedLabel):
  61928. (WebCore::contextMenuItemTagOpenLinkInNewWindow):
  61929. (WebCore::contextMenuItemTagDownloadLinkToDisk):
  61930. (WebCore::contextMenuItemTagCopyLinkToClipboard):
  61931. (WebCore::contextMenuItemTagOpenImageInNewWindow):
  61932. (WebCore::contextMenuItemTagDownloadImageToDisk):
  61933. (WebCore::contextMenuItemTagCopyImageToClipboard):
  61934. (WebCore::contextMenuItemTagOpenFrameInNewWindow):
  61935. (WebCore::contextMenuItemTagCopy):
  61936. (WebCore::contextMenuItemTagGoBack):
  61937. (WebCore::contextMenuItemTagGoForward):
  61938. (WebCore::contextMenuItemTagStop):
  61939. (WebCore::contextMenuItemTagReload):
  61940. (WebCore::contextMenuItemTagCut):
  61941. (WebCore::contextMenuItemTagPaste):
  61942. (WebCore::contextMenuItemTagNoGuessesFound):
  61943. (WebCore::contextMenuItemTagIgnoreSpelling):
  61944. (WebCore::contextMenuItemTagLearnSpelling):
  61945. (WebCore::contextMenuItemTagSearchWeb):
  61946. (WebCore::contextMenuItemTagLookUpInDictionary):
  61947. (WebCore::contextMenuItemTagOpenLink):
  61948. (WebCore::contextMenuItemTagIgnoreGrammar):
  61949. (WebCore::contextMenuItemTagSpellingMenu):
  61950. (WebCore::contextMenuItemTagShowSpellingPanel):
  61951. (WebCore::contextMenuItemTagCheckSpelling):
  61952. (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
  61953. (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
  61954. (WebCore::contextMenuItemTagFontMenu):
  61955. (WebCore::contextMenuItemTagBold):
  61956. (WebCore::contextMenuItemTagItalic):
  61957. (WebCore::contextMenuItemTagUnderline):
  61958. (WebCore::contextMenuItemTagOutline):
  61959. (WebCore::contextMenuItemTagWritingDirectionMenu):
  61960. (WebCore::contextMenuItemTagDefaultDirection):
  61961. (WebCore::contextMenuItemTagLeftToRight):
  61962. (WebCore::contextMenuItemTagRightToLeft):
  61963. (WebCore::contextMenuItemTagInspectElement):
  61964. (WebCore::searchMenuNoRecentSearchesText):
  61965. (WebCore::searchMenuRecentSearchesText):
  61966. (WebCore::searchMenuClearRecentSearchesText):
  61967. (WebCore::AXWebAreaText):
  61968. (WebCore::AXLinkText):
  61969. (WebCore::AXListMarkerText):
  61970. (WebCore::AXImageMapText):
  61971. (WebCore::AXHeadingText):
  61972. (WebCore::unknownFileSizeText):
  61973. 2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org>
  61974. Reviewed by Lars Knoll <lars@trolltech.com>.
  61975. Return a non empty string in more functions.
  61976. * platform/qt/Localizations.cpp:
  61977. (WebCore::contextMenuItemTagShowSpellingPanel):
  61978. 2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org>
  61979. Reviewed by Lars Knoll <lars@trolltech.com>.
  61980. Shrink the TemporaryLinkStubs and move the
  61981. Frame::setNeedsReapplyStyles stub to FrameQt.cpp
  61982. * page/qt/FrameQt.cpp:
  61983. (WebCore::Frame::setNeedsReapplyStyles):
  61984. * platform/qt/TemporaryLinkStubs.cpp:
  61985. 2007-10-22 Holger Freyther <zecke@selfish.org>
  61986. Reviewed by Lars Knoll <lars@trolltech.com>.
  61987. Implement the WebCore::fileSize function. The
  61988. implementation assumes that QFileInfo will cache
  61989. the result of the stat so that info.size() and
  61990. info.exists() use the same stat result.
  61991. * platform/qt/FileSystemQt.cpp:
  61992. (WebCore::deleteFile):
  61993. * platform/qt/TemporaryLinkStubs.cpp:
  61994. 2007-10-21 Alp Toker <alp@atoker.com>
  61995. Reviewed by Mark Rowe.
  61996. Use the portable GLib time function.
  61997. Use event timestamps rather than the current time where available.
  61998. Rename SharedTimerLinux.cpp since it isn't Linux-specific.
  61999. * WebCore.pro:
  62000. * platform/gtk/MouseEventGtk.cpp:
  62001. (WebCore::PlatformMouseEvent::PlatformMouseEvent):
  62002. * platform/gtk/SystemTimeGtk.cpp: Added.
  62003. (WebCore::currentTime):
  62004. * platform/gtk/SharedTimerGtk.cpp: Copied from platform/gtk/SharedTimerLinux.cpp.
  62005. * platform/gtk/SharedTimerLinux.cpp: Removed.
  62006. 2007-10-22 David Hyatt <hyatt@apple.com>
  62007. Fix for 15596, regression from my transform changes. Preserve null checks on the clip rects calls for parent(),
  62008. since the method is called on orphaned layers. This is not very well understood.
  62009. Reviewed by eric
  62010. * rendering/RenderLayer.cpp:
  62011. (WebCore::RenderLayer::calculateClipRects):
  62012. (WebCore::RenderLayer::calculateRects):
  62013. 2007-10-21 Mark Rowe <mrowe@apple.com>
  62014. Reviewed by Alp.
  62015. http://bugs.webkit.org/show_bug.cgi?id=15575
  62016. Bug 15575: [GTK] Implement threading using GThread
  62017. * WebCore.pro: Remove ThreadingPthreads.cpp from the Gtk build and link against libgthreads.
  62018. * loader/icon/IconDatabase.cpp: Initialize threading before the mutex is created to be compatible with gthreads.
  62019. (WebCore::iconDatabase):
  62020. (WebCore::IconDatabase::open):
  62021. * platform/Threading.h:
  62022. * platform/gtk/ThreadingGtk.cpp: Threading implementation in terms of GThread, based heavily on the pthreads implementation.
  62023. (WebCore::initializeThreading):
  62024. (WebCore::threadMapMutex):
  62025. (WebCore::threadMap):
  62026. (WebCore::establishIdentifierForThread):
  62027. (WebCore::threadForIdentifier):
  62028. (WebCore::clearThreadForIdentifier):
  62029. (WebCore::createThread):
  62030. (WebCore::waitForThreadCompletion):
  62031. (WebCore::detachThread):
  62032. (WebCore::Mutex::Mutex):
  62033. (WebCore::Mutex::~Mutex):
  62034. (WebCore::Mutex::lock):
  62035. (WebCore::Mutex::tryLock):
  62036. (WebCore::Mutex::unlock):
  62037. (WebCore::ThreadCondition::ThreadCondition):
  62038. (WebCore::ThreadCondition::~ThreadCondition):
  62039. (WebCore::ThreadCondition::wait):
  62040. (WebCore::ThreadCondition::signal):
  62041. (WebCore::ThreadCondition::broadcast):
  62042. * storage/Database.cpp:
  62043. (WebCore::Database::Database): Initialize threading when Database is used so that it will be initialized even
  62044. if the icon database is compiled out
  62045. 2007-10-21 Mark Rowe <mrowe@apple.com>
  62046. Build fix.
  62047. * ksvg2/css/SVGCSSStyleSelector.cpp: Use fabsf when dealing with a float to prevent the
  62048. implicit conversion warning.
  62049. 2007-10-21 Alp Toker <alp@atoker.com>
  62050. Reviewed by Mark Rowe.
  62051. Implement spelling and grammar mistake underlining with Pango/Cairo.
  62052. This change does not add any actual support for spelling or grammar
  62053. checking to any port.
  62054. * platform/graphics/cairo/GraphicsContextCairo.cpp:
  62055. (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
  62056. 2007-10-21 Alp Toker <alp@atoker.com>
  62057. Reviewed by Mark Rowe.
  62058. Cairo canvas fixes:
  62059. Fix a refcounting issue leading to leaks and crashes on canvas
  62060. content.
  62061. Delegate memory management of canvas images to Cairo.
  62062. Mark unhandled conditions with notImplemented() instead of silently
  62063. ignoring them.
  62064. * html/CanvasRenderingContext2D.cpp:
  62065. (WebCore::CanvasRenderingContext2D::drawImage):
  62066. * html/CanvasStyle.cpp:
  62067. (WebCore::CanvasStyle::applyStrokeColor):
  62068. * html/CanvasStyle.h:
  62069. * html/HTMLCanvasElement.cpp:
  62070. (WebCore::HTMLCanvasElement::HTMLCanvasElement):
  62071. (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
  62072. (WebCore::HTMLCanvasElement::reset):
  62073. (WebCore::HTMLCanvasElement::paint):
  62074. (WebCore::HTMLCanvasElement::createDrawingContext):
  62075. (WebCore::HTMLCanvasElement::createPlatformImage):
  62076. 2007-10-21 Nikolas Zimmermann <zimmermann@kde.org>
  62077. Reviewed by Eric.
  62078. Handle glyph-orientation-vertical / glyph-orientation-horizontal SVG CSS properties.
  62079. The SVG layouting code itself doesn't handle these properties yet,
  62080. it's just about recognizing them in the SVG CSS engine.
  62081. * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp:
  62082. (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
  62083. * ksvg2/css/SVGCSSParser.cpp:
  62084. (WebCore::CSSParser::parseSVGValue):
  62085. * ksvg2/css/SVGCSSStyleSelector.cpp:
  62086. (WebCore::CSSStyleSelector::applySVGProperty):
  62087. * ksvg2/css/SVGRenderStyle.h:
  62088. (WebCore::SVGRenderStyle::InheritedFlags::operator==):
  62089. (WebCore::SVGRenderStyle::InheritedFlags::operator!=):
  62090. (WebCore::SVGRenderStyle::setBitDefaults):
  62091. * ksvg2/css/SVGRenderStyleDefs.h:
  62092. 2007-10-21 Christian Dywan <christian@twotoasts.de>
  62093. Reviewed by Alp.
  62094. http://bugs.webkit.org/show_bug.cgi?id=15589
  62095. Use glib's path separator on gtk
  62096. * platform/gtk/FileSystemGtk.cpp:
  62097. (WebCore::pathByAppendingComponent):
  62098. 2007-10-21 Dan Bernstein <mitz@apple.com>
  62099. Reviewed by Dave Hyatt.
  62100. - fix http://bugs.webkit.org/show_bug.cgi?id=15259
  62101. <rdar://problem/5499902> REGRESSION: Text overflows when using word spacing and centering (affects myspace.com music videos page)
  62102. Test: fast/text/word-space.html
  62103. * rendering/RenderBlock.cpp:
  62104. (WebCore::stripTrailingSpace): Added word-spacing to the width of the
  62105. space being stripped out.
  62106. * rendering/RenderText.cpp:
  62107. (WebCore::RenderText::trimmedPrefWidths): Changed handling of
  62108. leading space. Since Font::width includes leading space width but not
  62109. leading word spacing, this method needs to either remove the width of a
  62110. space character or add word spacing,
  62111. depending on stripFrontSpaces.
  62112. (WebCore::RenderText::calcPrefWidths): Corrected the check for adding
  62113. trailing word spacing so that it would work in the case where the last
  62114. space is ignored.
  62115. * rendering/bidi.cpp:
  62116. (WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed to
  62117. actually add word spacing to the total width.
  62118. 2007-10-20 David Hyatt <hyatt@apple.com>
  62119. Land support for the transform CSS property. Basic painting now works properly. There are many open issues
  62120. that will have to be covered by individual bugs.
  62121. Reviewed by olliej
  62122. * css/CSSParser.cpp:
  62123. (WebCore::CSSParser::validUnit):
  62124. (WebCore::CSSParser::parseTransform):
  62125. * rendering/RenderLayer.cpp:
  62126. (WebCore::RenderLayer::RenderLayer):
  62127. (WebCore::RenderLayer::~RenderLayer):
  62128. (WebCore::RenderLayer::updateLayerPositions):
  62129. (WebCore::RenderLayer::updateTransform):
  62130. (WebCore::transparencyClipBox):
  62131. (WebCore::RenderLayer::beginTransparencyLayers):
  62132. (WebCore::RenderLayer::paintLayer):
  62133. (WebCore::RenderLayer::calculateClipRects):
  62134. (WebCore::RenderLayer::calculateRects):
  62135. (WebCore::RenderLayer::childrenClipRect):
  62136. (WebCore::RenderLayer::selfClipRect):
  62137. (WebCore::RenderLayer::intersectsDamageRect):
  62138. (WebCore::RenderLayer::boundingBox):
  62139. * rendering/RenderLayer.h:
  62140. * rendering/RenderObject.cpp:
  62141. (WebCore::RenderObject::containingBlock):
  62142. (WebCore::RenderObject::container):
  62143. * rendering/RenderStyle.cpp:
  62144. (WebCore::RenderStyle::applyTransform):
  62145. * rendering/RenderStyle.h:
  62146. (WebCore::TransformOperation::isScaleOperation):
  62147. (WebCore::TransformOperation::isRotateOperation):
  62148. (WebCore::TransformOperation::isSkewOperation):
  62149. (WebCore::TransformOperation::isTranslateOperation):
  62150. (WebCore::TransformOperation::isMatrixOperation):
  62151. (WebCore::ScaleTransformOperation::isScaleOperation):
  62152. (WebCore::RotateTransformOperation::isRotateOperation):
  62153. (WebCore::SkewTransformOperation::isSkewOperation):
  62154. (WebCore::TranslateTransformOperation::isTranslateOperation):
  62155. (WebCore::MatrixTransformOperation::isMatrixOperation):
  62156. * rendering/RenderTableRow.h:
  62157. (WebCore::RenderTableRow::requiresLayer):
  62158. * rendering/RenderTreeAsText.cpp:
  62159. (WebCore::writeLayers):
  62160. 2007-10-20 Timothy Hatcher <timothy@apple.com>
  62161. Reviewed by Adam.
  62162. Add basic @font-face to the Web Inspector.
  62163. * page/InspectorController.cpp:
  62164. (WebCore::InspectorResource::type): Check for CachedResource::FontResource.
  62165. * page/inspector/Resource.js: Add support for Font types and font preview in the icon.
  62166. * page/inspector/ResourcePanel.js: Show a font preview for font resources.
  62167. * page/inspector/inspector.css: Style for the font preview and font icon.
  62168. * page/inspector/inspector.js: Add font mime types.
  62169. 2007-10-20 Sam Weinig <sam@webkit.org>
  62170. Reviewed by Mark Rowe.
  62171. Fixes:
  62172. - http://bugs.webkit.org/show_bug.cgi?id=14393
  62173. Column on the left side of the Web Inspector should have a smaller minimum width for resizing
  62174. - http://bugs.webkit.org/show_bug.cgi?id=14394
  62175. Left pane of the Web Inspector "shakes" when resizing it to maximum width
  62176. * page/inspector/inspector.js: Change the constraint logic to only enforce a 100px min-width
  62177. and window.innerWidth - 100 max-width for the sidebar. The change also makes the viewbuttons
  62178. move with the sidebar.
  62179. 2007-10-20 Dan Bernstein <mitz@apple.com>
  62180. Reviewed by Dave Hyatt.
  62181. - fix http://bugs.webkit.org/show_bug.cgi?id=15208
  62182. display:table causes the collapsed text to show at a different position when expanded
  62183. Test: fast/table/insert-before-anonymous-ancestors.html
  62184. * rendering/RenderTable.cpp:
  62185. (WebCore::RenderTable::addChild): Rolled out r11579. I think whatever
  62186. that change was supposed to accomplish has since been done in other
  62187. places in the code.
  62188. 2007-10-20 Mark Rowe <mrowe@apple.com>
  62189. Reviewed by Dave Hyatt.
  62190. Fix http://bugs.webkit.org/show_bug.cgi?id=15584
  62191. Bug 15584: REGRESSION(r26696): GtkLauncher segfaults on WebCore::WidthIterator::advance
  62192. * platform/Font.cpp:
  62193. (WebCore::Font::glyphDataForCharacter): If the fallback page exists but does not have a
  62194. glyph for the character, fall back to the missing glyph data rather than returning an
  62195. invalid GlyphData.
  62196. 2007-10-20 Jasper Bryant-Greene <m@ni.ac.nz>
  62197. Reviewed by Maciej.
  62198. Changed the hard-coded scroll delta in WheelEventGtk from 120 to 0.25,
  62199. as suggested by George Wright in #15108 (which this patch will
  62200. resolve).
  62201. This gives a more sane scrolling behaviour, rather than the
  62202. jumping to the end or start of the document as occurred previously.
  62203. * platform/gtk/WheelEventGtk.cpp:
  62204. (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  62205. 2007-10-20 Alp Toker <alp@atoker.com>
  62206. Reviewed by Eric.
  62207. Support text boundary detection.
  62208. Move TextBoundariesWin.cpp to platform/ since it's portable and useful.
  62209. Split out and implement some TemporaryLinkStubs.
  62210. * WebCore.pro:
  62211. * WebCore.vcproj/WebCore.vcproj:
  62212. * platform/TextBoundariesICU.cpp: Copied from WebCore/platform/win/TextBoundariesWin.cpp.
  62213. * platform/gtk/Language.cpp: Added.
  62214. (WebCore::defaultLanguage):
  62215. * platform/gtk/TemporaryLinkStubs.cpp:
  62216. * platform/gtk/TextBreakIteratorInternalICUGtk.cpp: Added.
  62217. (WebCore::currentTextBreakLocaleID):
  62218. * platform/win/TextBoundariesWin.cpp: Removed.
  62219. 2007-10-20 Mark Rowe <mrowe@apple.com>
  62220. Reviewed by Tim Hatcher.
  62221. Workaround for http://bugs.webkit.org/show_bug.cgi?id=15574
  62222. Bug 15574: Web Inspector doesn't work with the new Database feature
  62223. The executeSql callback is executed in the security domain of the web page that owns the database,
  62224. while the inspector's window object is in the callback functions scope chain. This is leading to a
  62225. security violation when the callback attempts to access "document". We can work around this by
  62226. ensuring that "document" can be found in the scope chain before the window object.
  62227. * page/inspector/DatabasePanel.js:
  62228. 2007-10-20 Darin Adler <darin@apple.com>
  62229. Reviewed by Maciej.
  62230. - http://bugs.webkit.org/show_bug.cgi?id=15567
  62231. speed up hashing const char* by removing call to strlen
  62232. This includes one other fix as well. Both were from a day where I did some
  62233. profiling to find hot spots when running the page load test.
  62234. * platform/StringImpl.cpp:
  62235. (WebCore::StringImpl::computeHash): Compute the hash without calling strlen.
  62236. Also change the argument names to not confusingly use m_ prefixes.
  62237. (WebCore::StringImpl::createStrippingNull): Added a faster case for strings that
  62238. don't have null.
  62239. 2007-10-20 Mark Rowe <mrowe@apple.com>
  62240. Reviewed by Alp.
  62241. Gtk changes needed to enable HTML 5 client-side database storage.
  62242. * WebCore.pro: Have Gtk use ThreadingPthreads.cpp.
  62243. * platform/pthreads/ThreadingPthreads.cpp: Include errno so that EDEADLK and EBUSY are available.
  62244. 2007-10-20 Mark Rowe <mrowe@apple.com>
  62245. Reviewed by Alp.
  62246. Implement callOnMainThread for Gtk+ via a one-shot zero-delay timer that will be dispatched
  62247. from the main event loop.
  62248. * WebCore.pro:
  62249. * platform/gtk/TemporaryLinkStubs.cpp:
  62250. * platform/gtk/ThreadingGtk.cpp: Added.
  62251. (WebCore::callFunctionOnMainThread):
  62252. (WebCore::callOnMainThread):
  62253. 2007-10-20 Nikolas Zimmermann <zimmermann@kde.org>
  62254. Reviewed by Eric.
  62255. Fix non-functional display="inline" / display="none" for SVG text.
  62256. Fixes: svg/W3C-SVG-1.1/animate-elem-39-t.svg (display="inline" support)
  62257. Fixes: svg/batik/text/textProperties2.svg (display="inline/none" support)
  62258. Fixes: svg/carto.net/tabgroup.svg (display="none" support, stray content before layouting)
  62259. * css/svg.css: Remove "important" flag on text/foreignObject display: block property
  62260. * rendering/RenderSVGBlock.cpp:
  62261. (WebCore::RenderSVGBlock::setStyle):
  62262. 2007-10-20 Mark Rowe <mrowe@apple.com>
  62263. Reviewed by Alp.
  62264. Replace #ifdef'd code with the appropriate use of a forwarding header.
  62265. * ForwardingHeaders/kjs/array_instance.h: Added.
  62266. * bindings/js/JSDatabaseCustom.cpp:
  62267. 2007-10-20 Nikolas Zimmermann <zimmermann@kde.org>
  62268. Reviewed by Oliver.
  62269. Add support for 'kerning' property in SVG text layout code.
  62270. Support all textLength/lengthAdjust modes on normal text & textPaths.
  62271. Support letter & word spacing on textPath.
  62272. Fix text selection when any spacing (letter/word/kerning) is involved.
  62273. Fixes: http://bugs.webkit.org/show_bug.cgi?id=15571
  62274. Fixes: svg/batik/text/textOnPathSpaces.svg (spacing)
  62275. svg/batik/text/textLayout.svg (kerning support)
  62276. svg/text/text-spacing-01-b.svg (text selection)
  62277. * platform/Font.cpp:
  62278. (WebCore::WidthIterator::advance):
  62279. * platform/TextStyle.h:
  62280. (WebCore::TextStyle::TextStyle):
  62281. (WebCore::TextStyle::spacingDisabled):
  62282. (WebCore::TextStyle::disableSpacing):
  62283. * rendering/SVGCharacterLayoutInfo.cpp:
  62284. (WebCore::SVGCharacterLayoutInfo::SVGCharacterLayoutInfo):
  62285. (WebCore::SVGCharacterLayoutInfo::nextPathLayoutPointAndAngle):
  62286. (WebCore::SVGCharacterLayoutInfo::setInPathLayout):
  62287. (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
  62288. (WebCore::SVGChar::characterTransform):
  62289. * rendering/SVGCharacterLayoutInfo.h:
  62290. (WebCore::SVGTextChunkLayoutInfo::SVGTextChunkLayoutInfo):
  62291. * rendering/SVGRootInlineBox.cpp:
  62292. (WebCore::closeTextChunk):
  62293. (WebCore::calculateKerning):
  62294. (WebCore::SVGRootInlineBox::placeBoxesHorizontally):
  62295. (WebCore::svgTextStyleForInlineTextBox):
  62296. (WebCore::calculateTextAnchorShiftForTextChunk):
  62297. (WebCore::applyTextAnchorToTextChunk):
  62298. (WebCore::calculateTextLengthCorrectionForTextChunk):
  62299. (WebCore::applyTextLengthCorrectionToTextChunk):
  62300. (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
  62301. (WebCore::SVGRootInlineBox::buildLayoutInformation):
  62302. (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
  62303. (WebCore::SVGRootInlineBox::buildTextChunks):
  62304. (WebCore::SVGRootInlineBox::layoutTextChunks):
  62305. * rendering/SVGRootInlineBox.h:
  62306. 2007-10-20 Rodney Dawes <dobey@wayofthemonkey.com>
  62307. Reviewd by Darin.
  62308. http://bugs.webkit.org/show_bug.cgi?id=15563
  62309. Fix conflict with X11 Window type in WebCore
  62310. * WebCore/bindings/js/JSDocumentCustom.cpp:
  62311. * WebCore/bindings/js/JSHTMLDocumentCustom.cpp:
  62312. * WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp:
  62313. * WebCore/bindings/js/kjs_dom.cpp:
  62314. * WebCore/bindings/js/kjs_events.cpp:
  62315. * WebCore/bindings/js/kjs_proxy.cpp:
  62316. * WebCore/history/CachedPage.cpp:
  62317. * WebCore/page/Chrome.cpp:
  62318. * WebCore/page/Frame.cpp:
  62319. 2007-10-20 Simon Hausmann <hausmann@kde.org>
  62320. Build fix, not reviewed.
  62321. Fix the Qt build by adding the two missing FileSystem functions.
  62322. * platform/qt/FileSystemQt.cpp:
  62323. (WebCore::makeAllDirectories):
  62324. (WebCore::pathByAppendingComponent):
  62325. 2007-10-19 Alp Toker <alp@atoker.com>
  62326. Reviewed by Oliver.
  62327. GTK+ build fix enabling the new local database storage feature.
  62328. There is also a prospective Qt build fix.
  62329. * WebCore.pro:
  62330. * bindings/js/JSDatabaseCustom.cpp:
  62331. * platform/gtk/FileSystemGtk.cpp:
  62332. (WebCore::pathByAppendingComponent):
  62333. (WebCore::makeAllDirectories):
  62334. 2007-10-19 Andrew Wellington <proton@wiretapped.net>
  62335. Reviewed by Brady Eidson.
  62336. Mac build fix.
  62337. * WebCore.xcodeproj/project.pbxproj:
  62338. 2007-10-19 Alp Toker <alp@atoker.com>
  62339. Reviewed by Oliver.
  62340. Use platform colors for text selection.
  62341. Update the cache when the GTK style is changed.
  62342. * platform/gtk/RenderThemeGtk.cpp:
  62343. (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
  62344. (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
  62345. (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
  62346. (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
  62347. (WebCore::RenderThemeGtk::gtkStyleSet):
  62348. (WebCore::RenderThemeGtk::gtkEntry):
  62349. * platform/gtk/RenderThemeGtk.h:
  62350. 2007-10-19 Adele Peterson <adele@apple.com>
  62351. Reviewed by Beth.
  62352. Fix for: <rdar://problem/5518461> REGRESSION (2.0.4-3): Popup arrows are missing in small popups at homedepot.com
  62353. Test: fast/forms/menulist-no-overflow.html
  62354. * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::setStyle): Don't allow overflow on menu lists.
  62355. 2007-10-19 Anders Carlsson <andersca@apple.com>
  62356. Reviewed by Brady.
  62357. Move some SQL-related classes to platform/sql.
  62358. * WebCore.vcproj/WebCore.vcproj:
  62359. * WebCore.xcodeproj/project.pbxproj:
  62360. * loader/icon/SQLDatabase.cpp: Removed.
  62361. * loader/icon/SQLDatabase.h: Removed.
  62362. * loader/icon/SQLStatement.cpp: Removed.
  62363. * loader/icon/SQLStatement.h: Removed.
  62364. * loader/icon/SQLTransaction.cpp: Removed.
  62365. * loader/icon/SQLTransaction.h: Removed.
  62366. * platform/sql/SQLDatabase.cpp: Copied from loader/icon/SQLDatabase.cpp.
  62367. * platform/sql/SQLDatabase.h: Copied from loader/icon/SQLDatabase.h.
  62368. * platform/sql/SQLStatement.cpp: Copied from loader/icon/SQLStatement.cpp.
  62369. * platform/sql/SQLStatement.h: Copied from loader/icon/SQLStatement.h.
  62370. * platform/sql/SQLTransaction.cpp: Copied from loader/icon/SQLTransaction.cpp.
  62371. * platform/sql/SQLTransaction.h: Copied from loader/icon/SQLTransaction.h.
  62372. 2007-10-19 Anders Carlsson <andersca@apple.com>
  62373. Reviewed by Adam.
  62374. Update to match the latest version of the spec. Now, executeSQL takes an array
  62375. of SQL parameters instead of them being passed as arguments.
  62376. * bindings/js/JSDatabaseCustom.cpp:
  62377. (WebCore::JSDatabase::executeSql):
  62378. * page/inspector/DatabasePanel.js:
  62379. * storage/Database.idl:
  62380. 2007-10-19 Brady Eidson <beidson@apple.com>
  62381. Reviewed by Tim
  62382. Tiger's SQLite doesn't support CREATE TABLE IF NOT EXISTS :(
  62383. * storage/Database.cpp:
  62384. (WebCore::Database::performOpenAndVerify):
  62385. * storage/DatabaseTracker.cpp:
  62386. (WebCore::DatabaseTracker::DatabaseTracker):
  62387. 2007-10-19 Anders Carlsson <andersca@apple.com>
  62388. Release build fix.
  62389. * WebCore.vcproj/WebCore.vcproj:
  62390. 2007-10-19 Brady Eidson <beidson@apple.com>
  62391. Remove stray printfs
  62392. * dom/Document.cpp:
  62393. (WebCore::Document::Document):
  62394. (WebCore::Document::~Document):
  62395. 2007-10-19 Anders Carlsson <andersca@apple.com>
  62396. Reviewed by Brady.
  62397. Apparently the Win32 pthreads impl we use does not allow unlocking a mutex that has not
  62398. already been locked, so lock the mutex first.
  62399. * storage/DatabaseThread.cpp:
  62400. (WebCore::DatabaseThread::databaseThread):
  62401. 2007-10-19 Brady Eidson <beidson@apple.com>
  62402. Better build fix
  62403. * loader/icon/SQLDatabase.cpp:
  62404. (WebCore::SQLDatabase::authorizerFunction): Definite works by 3.3.13
  62405. 2007-10-19 Brady Eidson <beidson@apple.com>
  62406. Build fix
  62407. * loader/icon/SQLDatabase.cpp:
  62408. (WebCore::SQLDatabase::authorizerFunction): I don't know *when* these constants were
  62409. added to SQLite, but I know they were by 3.4.0
  62410. 2007-10-19 Brady Eidson <beidson@apple.com>
  62411. Reviewed by Anders
  62412. Windows specific changes, as well as renaming Queue -> Deque
  62413. * ForwardingHeaders/wtf/Deque.h: Added.
  62414. * ForwardingHeaders/wtf/Queue.h: Removed.
  62415. * platform/win/FileSystemWin.cpp:
  62416. (WebCore::fileSize):
  62417. (WebCore::fileExists):
  62418. (WebCore::deleteFile):
  62419. (WebCore::pathByAppendingComponent):
  62420. (WebCore::fileSystemRepresentation):
  62421. (WebCore::makeAllDirectories):
  62422. (WebCore::homeDirectoryPath):
  62423. * storage/Database.h:
  62424. * storage/DatabaseThread.cpp:
  62425. (WebCore::DatabaseThread::documentGoingAway):
  62426. (WebCore::DatabaseThread::databaseGoingAway):
  62427. (WebCore::DatabaseThread::dispatchNextTaskIdentifier):
  62428. (WebCore::DatabaseThread::scheduleTask):
  62429. (WebCore::DatabaseThread::scheduleImmediateTask):
  62430. * storage/DatabaseThread.h:
  62431. 2007-10-19 Brady Eidson <beidson@apple.com>
  62432. Reviewed by Tim and Anders
  62433. Preliminary support for HTML5 local database storage (http://www.whatwg.org/specs/web-apps/current-work/)
  62434. The specification is still in flux but the fundamentals are pretty solid and we can start using and testing
  62435. this implementation even while filing bugs to track changes in the spec as it becomes more final
  62436. There are some implementation details in this patch that seem unused or useless, but they remain in place
  62437. while the spec is in flux and might go one way or another.
  62438. * platform/Logging.cpp: Add StorageAPI logging channel
  62439. * platform/Logging.h:
  62440. * storage/Database.cpp: Added.
  62441. (WebCore::Database::databaseInfoTableName):
  62442. (WebCore::databaseVersionKey):
  62443. (WebCore::Database::openDatabase): C++ version of the window.openDatabase() javascript API
  62444. (WebCore::Database::Database):
  62445. (WebCore::Database::~Database):
  62446. (WebCore::Database::openAndVerifyVersion):
  62447. (WebCore::retrieveTextResultFromDatabase):
  62448. (WebCore::Database::getVersionFromDatabase):
  62449. (WebCore::setTextValueInDatabase):
  62450. (WebCore::Database::setVersionInDatabase):
  62451. (WebCore::Database::databaseThreadGoingAway): May be removed in the future
  62452. (WebCore::Database::disableAuthorizer): For internal (WebInspector) use to get around the authorizer's restrictions
  62453. (WebCore::Database::enableAuthorizer):
  62454. (WebCore::Database::guidForOriginAndName): Candidate for refactoring and/or moving to the database tracker.
  62455. The GUID for each database identifier is currently for tracking the database version, but might be rescoped in the future
  62456. (WebCore::Database::resetAuthorizer):
  62457. (WebCore::Database::performPolicyChecks): Currently, the only post-executeSql policy check planned is the origin size usage
  62458. (WebCore::Database::scheduleDatabaseCallback):
  62459. (WebCore::Database::performOpenAndVerify):
  62460. (WebCore::Database::performChangeVersion):
  62461. (WebCore::Database::performExecuteSql):
  62462. (WebCore::Database::performCloseTransaction):
  62463. (WebCore::Database::performGetTableNames):
  62464. (WebCore::Database::version): C++ version of the javascript API
  62465. (WebCore::Database::changeVersion): Ditto
  62466. (WebCore::Database::executeSql): Ditto
  62467. (WebCore::Database::closeTransaction): Ditto
  62468. (WebCore::Database::tableNames): For internal (WebInspector) use
  62469. (WebCore::Database::deliverAllPendingCallbacks):
  62470. (WebCore::Database::deliverPendingCallbacks):
  62471. * storage/Database.h: Added.
  62472. (WebCore::Database::databaseDebugName): For debug logging purposes
  62473. * storage/Database.idl: Added.
  62474. * storage/DatabaseAuthorizer.cpp: Added.
  62475. The DatabaseAuthorizer is used to both prevent the script from doing "illegal" things in sql as well as
  62476. tracking when effects certain sql statements might have (such as increasing the size of the database)
  62477. (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
  62478. (WebCore::DatabaseAuthorizer::reset):
  62479. (WebCore::DatabaseAuthorizer::createTable):
  62480. (WebCore::DatabaseAuthorizer::createTempTable):
  62481. (WebCore::DatabaseAuthorizer::dropTable):
  62482. (WebCore::DatabaseAuthorizer::dropTempTable):
  62483. (WebCore::DatabaseAuthorizer::allowAlterTable):
  62484. (WebCore::DatabaseAuthorizer::createIndex):
  62485. (WebCore::DatabaseAuthorizer::createTempIndex):
  62486. (WebCore::DatabaseAuthorizer::dropIndex):
  62487. (WebCore::DatabaseAuthorizer::dropTempIndex):
  62488. (WebCore::DatabaseAuthorizer::createTrigger):
  62489. (WebCore::DatabaseAuthorizer::createTempTrigger):
  62490. (WebCore::DatabaseAuthorizer::dropTrigger):
  62491. (WebCore::DatabaseAuthorizer::dropTempTrigger):
  62492. (WebCore::DatabaseAuthorizer::createVTable):
  62493. (WebCore::DatabaseAuthorizer::dropVTable):
  62494. (WebCore::DatabaseAuthorizer::allowDelete):
  62495. (WebCore::DatabaseAuthorizer::allowInsert):
  62496. (WebCore::DatabaseAuthorizer::allowUpdate):
  62497. (WebCore::DatabaseAuthorizer::allowRead):
  62498. (WebCore::DatabaseAuthorizer::allowAnalyze):
  62499. (WebCore::DatabaseAuthorizer::allowPragma):
  62500. (WebCore::DatabaseAuthorizer::allowAttach):
  62501. (WebCore::DatabaseAuthorizer::allowDetach):
  62502. (WebCore::DatabaseAuthorizer::allowFunction):
  62503. (WebCore::DatabaseAuthorizer::disable):
  62504. (WebCore::DatabaseAuthorizer::enable):
  62505. (WebCore::DatabaseAuthorizer::denyBasedOnTableName): Don't allow access to the __WebKit meta info table as
  62506. it should be invisible to scripts
  62507. * storage/DatabaseAuthorizer.h: Added.
  62508. (WebCore::DatabaseAuthorizer::lastActionWasInsert):
  62509. (WebCore::DatabaseAuthorizer::lastActionIncreasedSize):
  62510. * storage/DatabaseCallback.cpp: Added.
  62511. Generic item to queue up for callbacks on the main thread for database activities that take place on
  62512. a secondary thread
  62513. (WebCore::DatabaseChangeVersionCallback::DatabaseChangeVersionCallback):
  62514. (WebCore::DatabaseChangeVersionCallback::performCallback):
  62515. (WebCore::DatabaseExecuteSqlCallback::DatabaseExecuteSqlCallback):
  62516. (WebCore::DatabaseExecuteSqlCallback::performCallback):
  62517. * storage/DatabaseCallback.h: Added.
  62518. (WebCore::DatabaseCallback::~DatabaseCallback):
  62519. (WebCore::DatabaseChangeVersionCallback::~DatabaseChangeVersionCallback):
  62520. (WebCore::DatabaseExecuteSqlCallback::~DatabaseExecuteSqlCallback):
  62521. * storage/DatabaseTask.h: Added.
  62522. Generic work-item to be queued up on the background database thread
  62523. (WebCore::DatabaseTask::isComplete):
  62524. (WebCore::DatabaseOpenTask::exceptionCode):
  62525. (WebCore::DatabaseOpenTask::openSuccessful):
  62526. (WebCore::DatabaseTableNamesTask::tableNames):
  62527. * storage/DatabaseTask.cpp: Added.
  62528. (WebCore::DatabaseTask::DatabaseTask):
  62529. (WebCore::DatabaseTask::~DatabaseTask):
  62530. (WebCore::DatabaseTask::performTask):
  62531. (WebCore::DatabaseTask::lockForSynchronousScheduling): Used when the main thread needs this task accomplished
  62532. synchronously
  62533. (WebCore::DatabaseTask::waitForSynchronousCompletion):
  62534. (WebCore::DatabaseOpenTask::DatabaseOpenTask):
  62535. (WebCore::DatabaseOpenTask::doPerformTask):
  62536. (WebCore::DatabaseExecuteSqlTask::DatabaseExecuteSqlTask):
  62537. (WebCore::DatabaseExecuteSqlTask::doPerformTask):
  62538. (WebCore::DatabaseChangeVersionTask::DatabaseChangeVersionTask):
  62539. (WebCore::DatabaseChangeVersionTask::doPerformTask):
  62540. (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask):
  62541. (WebCore::DatabaseTableNamesTask::doPerformTask):
  62542. * storage/DatabaseThread.cpp: Added.
  62543. The current design is that each Document will have its own DatabaseThread. This makes scripts on each
  62544. individual document more response at the cost of adding more threads and potentially creating concurrency
  62545. issues when the same database is open twice from two different documents
  62546. (WebCore::DatabaseThread::DatabaseThread):
  62547. (WebCore::DatabaseThread::~DatabaseThread):
  62548. (WebCore::DatabaseThread::start):
  62549. (WebCore::DatabaseThread::documentGoingAway): Called to shut the thread down when the document is destroyed
  62550. (WebCore::DatabaseThread::databaseGoingAway): Remove all pending tasks for this database
  62551. (WebCore::DatabaseThread::databaseThreadStart):
  62552. (WebCore::DatabaseThread::databaseThread):
  62553. (WebCore::DatabaseThread::dispatchNextTaskIdentifier):
  62554. (WebCore::DatabaseThread::scheduleTask):
  62555. (WebCore::DatabaseThread::scheduleImmediateTask): Schedule a task that gets to "cut to the front of the line" when
  62556. the main thread requires a task be performed synchronously
  62557. (WebCore::DatabaseThread::wakeWorkThread):
  62558. * storage/DatabaseThread.h: Added.
  62559. * storage/DatabaseTracker.cpp: Added.
  62560. The DatabaseTracker is the master management of all databases. It will keep track of the filename for a given
  62561. unique database, keep track of the total disk usage per-origin, and policys per database/origin
  62562. (WebCore::DatabaseTracker::setDatabasePath):
  62563. (WebCore::DatabaseTracker::databasePath):
  62564. (WebCore::DatabaseTracker::tracker):
  62565. (WebCore::DatabaseTracker::DatabaseTracker):
  62566. (WebCore::DatabaseTracker::fullPathForDatabase):
  62567. (WebCore::DatabaseTracker::populateOrigins):
  62568. (WebCore::DatabaseTracker::origins):
  62569. (WebCore::DatabaseTracker::databaseNamesForOrigin):
  62570. (WebCore::DatabaseTracker::addDatabase):
  62571. (WebCore::DatabaseTracker::deleteAllDatabases):
  62572. (WebCore::DatabaseTracker::deleteAllDatabasesForOrigin):
  62573. * storage/DatabaseTracker.h: Added.
  62574. * storage/SQLCallback.h: Added. C++ version of the javascript executeSql() callback
  62575. (WebCore::SQLCallback::~SQLCallback):
  62576. * storage/SQLCallback.idl: Added.
  62577. * storage/SQLResultSet.cpp: Added. C++ version of the javascript SQLResultSet object
  62578. (WebCore::SQLResultSet::SQLResultSet):
  62579. (WebCore::SQLResultSet::insertId):
  62580. (WebCore::SQLResultSet::rowsAffected):
  62581. (WebCore::SQLResultSet::errorCode):
  62582. (WebCore::SQLResultSet::error):
  62583. (WebCore::SQLResultSet::rows):
  62584. (WebCore::SQLResultSet::setInsertId):
  62585. (WebCore::SQLResultSet::setRowsAffected):
  62586. (WebCore::SQLResultSet::setErrorCode):
  62587. (WebCore::SQLResultSet::setErrorMessage):
  62588. * storage/SQLResultSet.h: Added.
  62589. * storage/SQLResultSet.idl: Added.
  62590. * storage/SQLResultSetRowList.cpp: Added. C++ version of the javascript SQLResultSetRowList object
  62591. (WebCore::SQLResultSetRowList::length):
  62592. * storage/SQLResultSetRowList.h: Added.
  62593. (WebCore::SQLResultSetRowList::columnNames):
  62594. (WebCore::SQLResultSetRowList::values):
  62595. (WebCore::SQLResultSetRowList::addColumn):
  62596. (WebCore::SQLResultSetRowList::addResult):
  62597. * storage/SQLResultSetRowList.idl: Added.
  62598. * storage/VersionChangeCallback.h: Added. C++ version of the javascript changeVersion() callback
  62599. (WebCore::VersionChangeCallback::~VersionChangeCallback):
  62600. * storage/VersionChangeCallback.idl: Added.
  62601. 2007-10-19 Brady Eidson <beidson@apple.com>
  62602. Reviewed by Oliver + Same
  62603. Forwarding header for the new wtf/Queue.h
  62604. * ForwardingHeaders/wtf/Queue.h: Added.
  62605. 2007-10-19 Anders Carlsson <beidson@apple.com>
  62606. Reviewed by Sam Weinig
  62607. Most of the Javascript binding support for the Storage API
  62608. * bindings/js/JSCustomSQLCallback.cpp: Added.
  62609. (WebCore::JSCustomSQLCallback::JSCustomSQLCallback):
  62610. (WebCore::JSCustomSQLCallback::handleEvent):
  62611. * bindings/js/JSCustomSQLCallback.h: Added.
  62612. Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches
  62613. handleEvent to a JS function or a JS object with a handleEvent function.
  62614. * bindings/js/JSCustomVersionChangeCallback.cpp: Added.
  62615. (WebCore::JSCustomVersionChangeCallback::JSCustomVersionChangeCallback):
  62616. (WebCore::JSCustomVersionChangeCallback::handleEvent):
  62617. * bindings/js/JSCustomVersionChangeCallback.h: Added.
  62618. Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches
  62619. handleEvent to a JS function or a JS object with a handleEvent function.
  62620. * bindings/js/JSDatabaseCustom.cpp: Added.
  62621. (WebCore::JSDatabase::executeSql):
  62622. Custom implementation of executeSql that takes an array of parameters.
  62623. (WebCore::JSDatabase::changeVersion):
  62624. Custom implementation of changeVersion.
  62625. * bindings/js/JSSQLResultSetRowListCustom.cpp: Added.
  62626. (WebCore::JSSQLResultSetRowList::item):
  62627. Custom method that returns a JS object that corresponds to a given row in the database.
  62628. * bindings/scripts/CodeGeneratorJS.pm:
  62629. * page/DOMWindow.cpp:
  62630. (WebCore::DOMWindow::openDatabase):
  62631. * page/DOMWindow.h:
  62632. * page/DOMWindow.idl:
  62633. Add openDatabase implementation.
  62634. 2007-10-19 Brady Eidson <beidson@apple.com>
  62635. Reviewed by Oliver
  62636. Added tons of utility to the FileSystem abstractions, including moving
  62637. some stuff over from IconDatabase
  62638. * platform/FileSystem.h:
  62639. * platform/cf/FileSystemCF.cpp: Added.
  62640. (WebCore::fileSystemRepresentation):
  62641. * platform/mac/FileSystemMac.mm:
  62642. * platform/posix/FileSystemPOSIX.cpp: Added.
  62643. (WebCore::fileExists):
  62644. (WebCore::deleteFile):
  62645. (WebCore::fileSize):
  62646. (WebCore::pathByAppendingComponent):
  62647. (WebCore::makeAllDirectories):
  62648. 2007-10-19 Timothy Hatcher <timothy@apple.com>
  62649. Reviewed by Adam Roben
  62650. Preliminary Web Inspector support for the Storage API
  62651. (This patch does not include the support artwork)
  62652. * page/InspectorController.cpp:
  62653. (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
  62654. (WebCore::InspectorDatabaseResource::setScriptObject):
  62655. (WebCore::databaseTableNames): Return the table names for a Database object.
  62656. (WebCore::InspectorController::setWindowVisible):
  62657. (WebCore::InspectorController::windowScriptObjectAvailable):
  62658. (WebCore::InspectorController::populateScriptResources):
  62659. (WebCore::InspectorController::addDatabaseScriptResource): Add the script object for the database.
  62660. (WebCore::InspectorController::removeDatabaseScriptResource): Remove the script object for the database.
  62661. (WebCore::InspectorController::clearDatabaseScriptResources): Remove all the database resources.
  62662. (WebCore::InspectorController::didCommitLoad): Call clearDatabaseScriptResources().
  62663. (WebCore::InspectorController::didOpenDatabase): Make a new InspectorDatabaseResource and add it to m_databaseResources.
  62664. * page/InspectorController.h:
  62665. * page/inspector/Database.js: Added.
  62666. * page/inspector/DatabasePanel.js: Added.
  62667. * page/inspector/ResourceCategory.js: Make resource categories assume less about the resource.
  62668. * page/inspector/inspector.css: Add styles for the database panel.
  62669. * page/inspector/inspector.html: Include DatabasePanel.js
  62670. * page/inspector/inspector.js: Support for adding and removing Database resources.
  62671. 2007-10-19 Brady Eidson <beidson@apple.com>
  62672. Reviewed by Tim Hatcher
  62673. Added support for Chrome prompts required by the Storage API
  62674. * page/Chrome.cpp:
  62675. (WebCore::Chrome::runDatabaseSizeLimitPrompt):
  62676. * page/Chrome.h:
  62677. * page/ChromeClient.h:
  62678. * platform/graphics/svg/SVGImageEmptyClients.h:
  62679. 2007-10-19 Brady Eidson <beidson@apple.com>
  62680. Contributions and Review by Anders
  62681. Various SQLite tweaks in preparation for the storage API
  62682. * loader/icon/SQLDatabase.cpp:
  62683. (WebCore::SQLDatabase::~SQLDatabase):
  62684. (WebCore::SQLDatabase::authorizerFunction): Static callback from sqlite for authorizer functions
  62685. (WebCore::SQLDatabase::setAuthorizer):
  62686. (WebCore::SQLDatabase::lock):
  62687. (WebCore::SQLDatabase::unlock):
  62688. * loader/icon/SQLDatabase.h:
  62689. * loader/icon/SQLStatement.cpp:
  62690. (WebCore::SQLStatement::prepare): Switch to prepare16_v2
  62691. (WebCore::SQLStatement::bindDouble): Added
  62692. (WebCore::SQLStatement::bindValue): Bind a wrapped SQLValue object (described later)
  62693. (WebCore::SQLStatement::bindParameterCount): Accessor to the sqlite3 API for validating statements
  62694. * loader/icon/SQLStatement.h:
  62695. (WebCore::SQLStatement::isPrepared):
  62696. * platform/sql/SQLAuthorizer.cpp: Added. Fully virtual interface to implement your own SQLite authorizer
  62697. * platform/sql/SQLAuthorizer.h: Added.
  62698. (WebCore::SQLAuthorizer::~SQLAuthorizer):
  62699. (WebCore::SQLAuthorizer::createTable):
  62700. (WebCore::SQLAuthorizer::createTempTable):
  62701. (WebCore::SQLAuthorizer::dropTable):
  62702. (WebCore::SQLAuthorizer::dropTempTable):
  62703. (WebCore::SQLAuthorizer::allowAlterTable):
  62704. (WebCore::SQLAuthorizer::createIndex):
  62705. (WebCore::SQLAuthorizer::createTempIndex):
  62706. (WebCore::SQLAuthorizer::dropIndex):
  62707. (WebCore::SQLAuthorizer::dropTempIndex):
  62708. (WebCore::SQLAuthorizer::createTrigger):
  62709. (WebCore::SQLAuthorizer::createTempTrigger):
  62710. (WebCore::SQLAuthorizer::dropTrigger):
  62711. (WebCore::SQLAuthorizer::dropTempTrigger):
  62712. (WebCore::SQLAuthorizer::createView):
  62713. (WebCore::SQLAuthorizer::createTempView):
  62714. (WebCore::SQLAuthorizer::dropView):
  62715. (WebCore::SQLAuthorizer::dropTempView):
  62716. (WebCore::SQLAuthorizer::createVTable):
  62717. (WebCore::SQLAuthorizer::dropVTable):
  62718. (WebCore::SQLAuthorizer::allowDelete):
  62719. (WebCore::SQLAuthorizer::allowInsert):
  62720. (WebCore::SQLAuthorizer::allowUpdate):
  62721. (WebCore::SQLAuthorizer::allowTransaction):
  62722. (WebCore::SQLAuthorizer::allowSelect):
  62723. (WebCore::SQLAuthorizer::allowRead):
  62724. (WebCore::SQLAuthorizer::allowAttach):
  62725. (WebCore::SQLAuthorizer::allowDetach):
  62726. (WebCore::SQLAuthorizer::allowReindex):
  62727. (WebCore::SQLAuthorizer::allowAnalyze):
  62728. (WebCore::SQLAuthorizer::allowFunction):
  62729. * platform/sql/SQLValue.cpp: Added. Contains a value for a SQLite database that can be one of a few types.
  62730. For now, just a String or a double
  62731. (WebCore::SQLValue::SQLValue):
  62732. (WebCore::SQLValue::string):
  62733. (WebCore::SQLValue::number):
  62734. * platform/sql/SQLValue.h: Added.
  62735. (WebCore::SQLValue::):
  62736. (WebCore::SQLValue::SQLValue):
  62737. (WebCore::SQLValue::type):
  62738. 2007-10-19 Brady Eidson <beidson@apple.com>
  62739. Reviewed by Maciej
  62740. Changed IconDatabase over to use new FileSystem apis
  62741. * loader/icon/IconDatabase.cpp:
  62742. (WebCore::IconDatabase::open):
  62743. 2007-10-19 David Hyatt <hyatt@apple.com>
  62744. Fix for ebay parser crash.
  62745. Reviewed by Beth
  62746. fast/invalid/table-residual-style-crash.html added as a test
  62747. * html/HTMLParser.cpp:
  62748. (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
  62749. 2007-10-19 Sam Weinig <sam@webkit.org>
  62750. Fix Windows, Qt and GTK builds.
  62751. * WebCore.pro:
  62752. * WebCore.vcproj/WebCore.vcproj:
  62753. 2007-10-19 Sam Weinig <sam@webkit.org>
  62754. Reviewed by Darin.
  62755. Encapsulate the same origin check into the new SecurityOrigin class.
  62756. * WebCore.xcodeproj/project.pbxproj:
  62757. * bindings/js/kjs_window.cpp:
  62758. (KJS::Window::isSafeScript):
  62759. * dom/Document.cpp:
  62760. (WebCore::Document::Document):
  62761. (WebCore::Document::defaultEventHandler):
  62762. * dom/Document.h:
  62763. (WebCore::Document::securityOrigin):
  62764. * loader/FrameLoader.cpp:
  62765. (WebCore::FrameLoader::begin):
  62766. (WebCore::FrameLoader::setOpener):
  62767. * loader/FrameLoader.h:
  62768. * platform/SecurityOrigin.cpp: Added.
  62769. (WebCore::SecurityOrigin::SecurityOrigin):
  62770. (WebCore::SecurityOrigin::clear):
  62771. (WebCore::SecurityOrigin::isEmpty):
  62772. (WebCore::SecurityOrigin::setForFrame):
  62773. (WebCore::SecurityOrigin::setDomainFromDOM):
  62774. (WebCore::SecurityOrigin::allowsAccessFrom):
  62775. (WebCore::SecurityOrigin::isSecureTransitionTo):
  62776. * platform/SecurityOrigin.h: Added.
  62777. 2007-10-19 Simon Hausmann <hausmann@kde.org>
  62778. Fix the Qt/Windows build: Added missing FontSelector.h include.
  62779. * platform/qt/FontQt.cpp:
  62780. 2007-10-19 Simon Hausmann <hausmann@kde.org>
  62781. Reviewed by Lars.
  62782. Qt/Windows build fix: Threading.h uses int32_t but doesn't include stdint.h.
  62783. * platform/Threading.h:
  62784. 2007-10-19 Simon Hausmann <hausmann@kde.org>
  62785. Reviewed by Lars.
  62786. Fix the Qt/Windows build, don't use cat but use the perl print trick
  62787. instead.
  62788. * WebCore.pro:
  62789. 2007-10-18 Justin Garcia <justin.garcia@apple.com>
  62790. Reviewed by Kevin McCullough.
  62791. <rdar://problem/5483526>
  62792. GoogleDocs: A hang occurs when applying list styling to a selection containing a table and line breaks
  62793. * editing/TextIterator.cpp:
  62794. (WebCore::TextIterator::exitNode): For selection preservation, we must emit a character
  62795. between every VisiblePosition. We weren't emitting a space after some tables, because
  62796. we won't try to emit a space if shouldEmitNewlineAFterNode is true, even if no newline
  62797. was emitted.
  62798. 2007-10-18 Dan Bernstein <mitz@apple.com>
  62799. Reviewed by Adam Roben.
  62800. - fix <rdar://problem/5313523>
  62801. REGRESSION(Leopard): http/tests/incremental/slow-utf8-text.pl fails on Leopard
  62802. * platform/network/mac/ResourceResponseMac.mm:
  62803. (WebCore::ResourceResponse::doUpdateResourceResponse): Work around
  62804. <rdar://problem/5321972> by testing for the case of a response
  62805. with a MIME type of application/octet-stream and a Content-Type header
  62806. starting with text/plain and setting the MIME type to text/plain in
  62807. that case.
  62808. 2007-10-18 Mark Rowe <mrowe@apple.com>
  62809. Fix the no-SVG build.
  62810. * css/CSSPrimitiveValueMappings.h: Move the CSSPrimitiveValue implementations for
  62811. LineCap, LineJoin and WindRule inside #if ENABLE(SVG).
  62812. 2007-10-18 Darin Adler <darin@apple.com>
  62813. Reviewed by Anders.
  62814. - some small tweaks to the threading implementation
  62815. I had trouble building on Windows. Either the problem went away by itself
  62816. or one of these changes fixed it.
  62817. * platform/Threading.h: Eliminated the use of friend, and shared a single
  62818. declaration for the initializeThreading function.
  62819. * platform/pthreads/ThreadingPthreads.cpp: (WebCore::ThreadCondition::wait):
  62820. Call impl() here.
  62821. * platform/win/ThreadingWin.cpp: Got rid of two globals here with static
  62822. constructors. Also added a typedef for the type of the function queue.
  62823. (WebCore::functionQueueMutex): Added function.
  62824. (WebCore::functionQueue): Ditto.
  62825. (WebCore::callFunctionsOnMainThread): Use functions instead of using the
  62826. globals directly.
  62827. (WebCore::callOnMainThread): Ditto.
  62828. * css/CSSParser.cpp: Had to touch this file to make things build.
  62829. 2007-10-18 Adam Roben <aroben@apple.com>
  62830. Fix <rdar://5547462> Need to copy Inspector resources in Production builds
  62831. I also added an excludes file for the xcopy command to avoid copying
  62832. .svn folders.
  62833. Reviewed by Geoff.
  62834. * WebCore.vcproj/WebCore.make: Make sure we copy the Inspector
  62835. resources.
  62836. * WebCore.vcproj/WebCore.vcproj: Pass /exclude:xcopy.excludes to
  62837. xcopy.
  62838. * WebCore.vcproj/xcopy.excludes: Added.
  62839. 2007-10-18 Darin Adler <darin@apple.com>
  62840. Reviewed by Sam.
  62841. - fix http://bugs.webkit.org/show_bug.cgi?id=15541
  62842. REGRESSION (r26616): prompt with one argument uses the literal "undefined" as default reply
  62843. * page/DOMWindow.idl: Add ConvertUndefinedOrNullToNullString back for defaultValue.
  62844. 2007-10-18 Nikolas Zimmermann <zimmermann@kde.org>
  62845. Build fix. Not reviewed.
  62846. Hopefully fix win build by including wtf/MathExtras.h.
  62847. * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
  62848. 2007-10-18 Dan Bernstein <mitz@apple.com>
  62849. Reviewed by Nikolas Zimmermann.
  62850. - fix http://bugs.webkit.org/show_bug.cgi?id=15367
  62851. Assertion failure inspecting a document including soft hyphen code (0xad)
  62852. Test: fast/text/word-break-soft-hyphen.html
  62853. * rendering/RenderText.cpp:
  62854. (WebCore::RenderText::calcPrefWidths): Changed to treat soft hyphens as
  62855. word boundaries. This fixes the bug and is consistent with the fact that
  62856. run rounding does occur at soft hyphens.
  62857. 2007-10-18 Nikolas Zimmermann <zimmermann@kde.org>
  62858. Reviewed by Anders.
  62859. Fix last layout test failure seen on buildbot "trunk-mac-ppc-release".
  62860. Problem: "svg/custom/mask-excessive-malloc.svg -> crashed"
  62861. Clamp any ImageBuffer allocation within SVG to the RenderView's visibleSize
  62862. to avoid excessive mallocs (in the testcase above 1000000x1000000)
  62863. * ksvg2/svg/SVGMaskElement.cpp:
  62864. (WebCore::SVGMaskElement::drawMaskerContent):
  62865. * ksvg2/svg/SVGPatternElement.cpp:
  62866. (WebCore::SVGPatternElement::buildPattern):
  62867. * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
  62868. (WebCore::SVGPaintServerGradient::teardown):
  62869. (WebCore::SVGPaintServerGradient::setup):
  62870. * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
  62871. (WebCore::SVGResourceMasker::applyMask):
  62872. * rendering/SVGRenderSupport.cpp:
  62873. (WebCore::clampImageBufferSizeToViewport):
  62874. * rendering/SVGRenderSupport.h:
  62875. 2007-10-18 Alexey Proskuryakov <ap@webkit.org>
  62876. Windows build fix.
  62877. * css/CSSStyleSelector.cpp:
  62878. (WebCore::CSSStyleSelector::applyProperty): Add braces around cases that have local variables now.
  62879. 2007-10-18 Alexey Proskuryakov <ap@webkit.org>
  62880. Release build fix.
  62881. * css/CSSStyleSelector.cpp:
  62882. (WebCore::CSSStyleSelector::applyProperty):
  62883. 2007-10-18 Alexey Proskuryakov <ap@webkit.org>
  62884. Reviewed by Darin.
  62885. Split most of CSSPrimitiveValue enum mapping out of CSSComputedStyleDeclaration::getPropertyCSSValue()
  62886. and CSSStyleSelector::applyProperty() (and their SVG counterparts). This should make the code more readable.
  62887. * WebCore.xcodeproj/project.pbxproj:
  62888. * css/CSSComputedStyleDeclaration.cpp:
  62889. (WebCore::getPositionOffsetValue):
  62890. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  62891. * css/CSSPrimitiveValue.cpp:
  62892. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  62893. (WebCore::CSSPrimitiveValue::init):
  62894. * css/CSSPrimitiveValue.h:
  62895. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  62896. * css/CSSPrimitiveValueMappings.h: Added.
  62897. (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
  62898. (WebCore::CSSPrimitiveValue::operator EBorderStyle):
  62899. (WebCore::CSSPrimitiveValue::operator CompositeOperator):
  62900. (WebCore::CSSPrimitiveValue::operator EAppearance):
  62901. (WebCore::CSSPrimitiveValue::operator EBackgroundBox):
  62902. (WebCore::CSSPrimitiveValue::operator EBackgroundRepeat):
  62903. (WebCore::CSSPrimitiveValue::operator EBoxAlignment):
  62904. (WebCore::CSSPrimitiveValue::operator EBoxDirection):
  62905. (WebCore::CSSPrimitiveValue::operator EBoxLines):
  62906. (WebCore::CSSPrimitiveValue::operator EBoxOrient):
  62907. (WebCore::CSSPrimitiveValue::operator ECaptionSide):
  62908. (WebCore::CSSPrimitiveValue::operator EClear):
  62909. (WebCore::CSSPrimitiveValue::operator ECursor):
  62910. (WebCore::CSSPrimitiveValue::operator EDisplay):
  62911. (WebCore::CSSPrimitiveValue::operator EEmptyCell):
  62912. (WebCore::CSSPrimitiveValue::operator EFloat):
  62913. (WebCore::CSSPrimitiveValue::operator EKHTMLLineBreak):
  62914. (WebCore::CSSPrimitiveValue::operator EListStylePosition):
  62915. (WebCore::CSSPrimitiveValue::operator EListStyleType):
  62916. (WebCore::CSSPrimitiveValue::operator EMarginCollapse):
  62917. (WebCore::CSSPrimitiveValue::operator EMarqueeBehavior):
  62918. (WebCore::CSSPrimitiveValue::operator EMarqueeDirection):
  62919. (WebCore::CSSPrimitiveValue::operator EMatchNearestMailBlockquoteColor):
  62920. (WebCore::CSSPrimitiveValue::operator ENBSPMode):
  62921. (WebCore::CSSPrimitiveValue::operator EOverflow):
  62922. (WebCore::CSSPrimitiveValue::operator EPageBreak):
  62923. (WebCore::CSSPrimitiveValue::operator EPosition):
  62924. (WebCore::CSSPrimitiveValue::operator EResize):
  62925. (WebCore::CSSPrimitiveValue::operator ETableLayout):
  62926. (WebCore::CSSPrimitiveValue::operator ETextAlign):
  62927. (WebCore::CSSPrimitiveValue::operator ETextSecurity):
  62928. (WebCore::CSSPrimitiveValue::operator ETextTransform):
  62929. (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
  62930. (WebCore::CSSPrimitiveValue::operator EUserDrag):
  62931. (WebCore::CSSPrimitiveValue::operator EUserModify):
  62932. (WebCore::CSSPrimitiveValue::operator EUserSelect):
  62933. (WebCore::CSSPrimitiveValue::operator EVisibility):
  62934. (WebCore::CSSPrimitiveValue::operator EWhiteSpace):
  62935. (WebCore::CSSPrimitiveValue::operator EWordBreak):
  62936. (WebCore::CSSPrimitiveValue::operator EWordWrap):
  62937. (WebCore::CSSPrimitiveValue::operator LineCap):
  62938. (WebCore::CSSPrimitiveValue::operator LineJoin):
  62939. (WebCore::CSSPrimitiveValue::operator TextDirection):
  62940. (WebCore::CSSPrimitiveValue::operator WindRule):
  62941. (WebCore::CSSPrimitiveValue::operator EAlignmentBaseline):
  62942. (WebCore::CSSPrimitiveValue::operator EColorInterpolation):
  62943. (WebCore::CSSPrimitiveValue::operator EColorRendering):
  62944. (WebCore::CSSPrimitiveValue::operator EDominantBaseline):
  62945. (WebCore::CSSPrimitiveValue::operator EImageRendering):
  62946. (WebCore::CSSPrimitiveValue::operator EPointerEvents):
  62947. (WebCore::CSSPrimitiveValue::operator EShapeRendering):
  62948. (WebCore::CSSPrimitiveValue::operator ETextAnchor):
  62949. (WebCore::CSSPrimitiveValue::operator ETextRendering):
  62950. (WebCore::CSSPrimitiveValue::operator EWritingMode):
  62951. * css/CSSStyleSelector.cpp:
  62952. (WebCore::CSSStyleSelector::checkSelector):
  62953. (WebCore::CSSStyleSelector::checkOneSelector):
  62954. (WebCore::CSSRuleSet::addRulesFromSheet):
  62955. (WebCore::convertToLength):
  62956. (WebCore::CSSStyleSelector::applyDeclarations):
  62957. (WebCore::CSSStyleSelector::applyProperty):
  62958. (WebCore::CSSStyleSelector::mapBackgroundAttachment):
  62959. (WebCore::CSSStyleSelector::mapBackgroundClip):
  62960. (WebCore::CSSStyleSelector::mapBackgroundComposite):
  62961. (WebCore::CSSStyleSelector::mapBackgroundOrigin):
  62962. (WebCore::CSSStyleSelector::mapBackgroundRepeat):
  62963. (WebCore::CSSStyleSelector::mapBackgroundXPosition):
  62964. (WebCore::CSSStyleSelector::mapBackgroundYPosition):
  62965. * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp:
  62966. (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
  62967. * ksvg2/css/SVGCSSStyleSelector.cpp:
  62968. (WebCore::CSSStyleSelector::applySVGProperty):
  62969. 2007-10-18 Eric Seidel <eric@webkit.org>
  62970. Reviewed by Maciej.
  62971. Fix crashers in SVGViewSpec::parseViewSpec
  62972. http://bugs.webkit.org/show_bug.cgi?id=15504
  62973. Test is blocked by bug 15503, landed as:
  62974. * svg/dom/viewspec-parser.html-disabled
  62975. * bindings/scripts/CodeGeneratorObjC.pm: support classes where all parents are interfaces
  62976. * ksvg2/svg/SVGViewSpec.cpp:
  62977. (WebCore::SVGViewSpec::parseViewSpec):
  62978. * ksvg2/svg/SVGViewSpec.idl: Added.
  62979. 2007-10-17 Rob Buis <buis@kde.org>
  62980. Reviewed by Darin, Adam, and Maciej.
  62981. http://bugs.webkit.org/show_bug.cgi?id=12988
  62982. First element (in document order) is not returned when other duplicate ID-ed elements were created first
  62983. Reset the element id cache when an id is added and there is a duplicate for that id.
  62984. * dom/Document.cpp:
  62985. (WebCore::Document::addElementById):
  62986. 2007-10-17 Mark Rowe <mrowe@apple.com>
  62987. Mac build fix.
  62988. * Configurations/WebCore.xcconfig: Make it possible to include CoreGraphics header files.
  62989. 2007-10-17 Adam Roben <aroben@apple.com>
  62990. Fix an ASSERT on launch on Windows
  62991. Fix dictated to me by Brady.
  62992. * loader/icon/IconDatabase.cpp:
  62993. (WebCore::IconDatabase::syncThreadMainLoop): Make sure we hold
  62994. m_syncLock before going into the loop.
  62995. 2007-10-17 Adam Roben <aroben@apple.com>
  62996. Windows build fix
  62997. * platform/graphics/AffineTransform.h: Don't #include
  62998. ApplicationServices.h.
  62999. * platform/graphics/cg/GraphicsContextCG.cpp: Add an #include that's
  63000. needed now that we're not #including ApplicationServices.h.
  63001. 2007-10-17 Mark Rowe <mrowe@apple.com>
  63002. Gtk build fix. Move non-pthread stubs from Threading.h to ThreadingNone.cpp to prevent
  63003. multiple-definition link errors.
  63004. * WebCore.pro:
  63005. * platform/Threading.h:
  63006. * platform/ThreadingNone.cpp: Added.
  63007. (WebCore::createThread):
  63008. (WebCore::waitForThreadCompletion):
  63009. (WebCore::detachThread):
  63010. (WebCore::Mutex::Mutex):
  63011. (WebCore::Mutex::~Mutex):
  63012. (WebCore::Mutex::lock):
  63013. (WebCore::Mutex::tryLock):
  63014. (WebCore::Mutex::unlock):
  63015. (WebCore::ThreadCondition::ThreadCondition):
  63016. 2007-10-17 Anders Carlsson <andersca@apple.com>
  63017. Reviewed by Oliver.
  63018. * WebCore.xcodeproj/project.pbxproj:
  63019. * WebCore.vcproj/WebCore.vcproj:
  63020. * config.h:
  63021. #define USE_PTHREADS on Windows.
  63022. * loader/icon/IconDatabase.cpp:
  63023. (WebCore::IconDatabase::getOrCreateIconRecord):
  63024. (WebCore::IconDatabase::getOrCreatePageURLRecord):
  63025. Update for mutex changes.
  63026. * platform/Threading.h:
  63027. (WebCore::ThreadSafeShared::ThreadSafeShared):
  63028. (WebCore::ThreadSafeShared::ref):
  63029. (WebCore::ThreadSafeShared::deref):
  63030. (WebCore::ThreadSafeShared::hasOneRef):
  63031. (WebCore::ThreadSafeShared::refCount):
  63032. (WebCore::ThreadSafeShared::isThreadSafe):
  63033. Add a new Shared base class that uses a mutex to manage its refcount.
  63034. (WebCore::createThread):
  63035. (WebCore::waitForThreadCompletion):
  63036. (WebCore::detachThread):
  63037. New functions for thread creation.
  63038. (WebCore::Mutex::Mutex):
  63039. (WebCore::Mutex::~Mutex):
  63040. (WebCore::Mutex::lock):
  63041. (WebCore::Mutex::tryLock):
  63042. (WebCore::Mutex::unlock):
  63043. Move the definitions to ThreadingPthreads.cpp
  63044. (WebCore::ThreadCondition::ThreadCondition):
  63045. (WebCore::ThreadCondition::~ThreadCondition):
  63046. (WebCore::ThreadCondition::wait):
  63047. (WebCore::ThreadCondition::signal):
  63048. (WebCore::ThreadCondition::broadcast):
  63049. Move the definitions to ThreadingPthreads.cpp
  63050. * platform/pthreads: Added.
  63051. * platform/pthreads/ThreadingPthreads.cpp: Added.
  63052. Add pthread specific implementation of the thread creation functions, Mutex and ThreadCondition.
  63053. 2007-10-17 David Hyatt <hyatt@apple.com>
  63054. Add support for creating a layer when a transform is in effect. Add support to RenderStyle for
  63055. handing back a computed AffineTransform.
  63056. Reviewed by Mitz Pettel
  63057. * css/CSSStyleSelector.cpp:
  63058. (WebCore::CSSStyleSelector::adjustRenderStyle):
  63059. * rendering/RenderBox.cpp:
  63060. (WebCore::RenderBox::setStyle):
  63061. * rendering/RenderObject.cpp:
  63062. (WebCore::RenderObject::RenderObject):
  63063. (WebCore::RenderObject::requiresLayer):
  63064. (WebCore::RenderObject::setStyle):
  63065. * rendering/RenderObject.h:
  63066. (WebCore::RenderObject::hasTransform):
  63067. (WebCore::RenderObject::setHasTransform):
  63068. * rendering/RenderStyle.cpp:
  63069. (WebCore::RenderStyle::applyTransform):
  63070. * rendering/RenderStyle.h:
  63071. (WebCore::RenderStyle::hasTransform):
  63072. * rendering/RenderTableCell.cpp:
  63073. (WebCore::RenderTableCell::requiresLayer):
  63074. * rendering/RenderTableRow.h:
  63075. (WebCore::RenderTableRow::requiresLayer):
  63076. 2007-10-17 David Hyatt <hyatt@apple.com>
  63077. Add support for mapping of the transform CSS property into RenderStyles. Everything is now ready for the front
  63078. end to use.
  63079. Reviewed by Mitz Pettel
  63080. * WebCore.xcodeproj/project.pbxproj:
  63081. * css/CSSStyleSelector.cpp:
  63082. (WebCore::CSSStyleSelector::applyProperty):
  63083. * css/CSSTransformValue.h:
  63084. (WebCore::CSSTransformValue::type):
  63085. (WebCore::CSSTransformValue::values):
  63086. * platform/graphics/AffineTransform.cpp:
  63087. (WebCore::AffineTransform::skew):
  63088. * platform/graphics/AffineTransform.h:
  63089. * rendering/RenderStyle.cpp:
  63090. (WebCore::StyleTransformData::StyleTransformData):
  63091. (WebCore::StyleTransformData::operator==):
  63092. (WebCore::StyleTransformData::transformDataEquivalent):
  63093. * rendering/RenderStyle.h:
  63094. (WebCore::TransformOperation::~TransformOperation):
  63095. (WebCore::TransformOperation::operator!=):
  63096. (WebCore::TransformOperation::isScaleOperation):
  63097. (WebCore::TransformOperation::isRotateOperation):
  63098. (WebCore::TransformOperation::isSkewOperation):
  63099. (WebCore::TransformOperation::isTranslateOperation):
  63100. (WebCore::TransformOperation::isMatrixOperation):
  63101. (WebCore::ScaleTransformOperation::ScaleTransformOperation):
  63102. (WebCore::ScaleTransformOperation::isScaleOperation):
  63103. (WebCore::ScaleTransformOperation::operator==):
  63104. (WebCore::ScaleTransformOperation::apply):
  63105. (WebCore::RotateTransformOperation::RotateTransformOperation):
  63106. (WebCore::RotateTransformOperation::isRotateOperation):
  63107. (WebCore::RotateTransformOperation::operator==):
  63108. (WebCore::RotateTransformOperation::apply):
  63109. (WebCore::SkewTransformOperation::SkewTransformOperation):
  63110. (WebCore::SkewTransformOperation::isSkewOperation):
  63111. (WebCore::SkewTransformOperation::operator==):
  63112. (WebCore::SkewTransformOperation::apply):
  63113. (WebCore::TranslateTransformOperation::TranslateTransformOperation):
  63114. (WebCore::TranslateTransformOperation::isTranslateOperation):
  63115. (WebCore::TranslateTransformOperation::operator==):
  63116. (WebCore::TranslateTransformOperation::apply):
  63117. (WebCore::MatrixTransformOperation::MatrixTransformOperation):
  63118. (WebCore::MatrixTransformOperation::isMatrixOperation):
  63119. (WebCore::MatrixTransformOperation::operator==):
  63120. (WebCore::MatrixTransformOperation::apply):
  63121. (WebCore::StyleTransformData::operator!=):
  63122. (WebCore::RenderStyle::transform):
  63123. (WebCore::RenderStyle::setTransform):
  63124. (WebCore::RenderStyle::initialTransform):
  63125. 2007-10-17 Adam Roben <aroben@apple.com>
  63126. * page/Frame.cpp: I had to touch this file when fixing the Windows
  63127. build. Checking it in in case it helps others, too.
  63128. 2007-10-17 Eric Seidel <eric@webkit.org>
  63129. Reviewed by Mark Rowe.
  63130. Remove a couple more uses of svg_dynamic_cast.
  63131. No functional changes, no tests.
  63132. * ksvg2/svg/SVGPatternElement.cpp:
  63133. (WebCore::SVGPatternElement::buildPattern):
  63134. 2007-10-17 Mark Rowe <mrowe@apple.com>
  63135. Reviewed by Eric and Geoff.
  63136. <rdar://problem/5453743> Repro ASSERT in CachedResource::setEncodedSize() loading image in background tab
  63137. http://bugs.webkit.org/show_bug.cgi?id=15191
  63138. * loader/DocLoader.cpp:
  63139. (WebCore::DocLoader::setAutoLoadImages): Don't start a load if the CachedImage is already loading.
  63140. 2007-10-17 Justin Garcia <justin.garcia@apple.com>
  63141. Reviewed by Harrison.
  63142. <rdar://problem/5481523>
  63143. GoogleDocs: Safari hangs when indenting a particular table twice
  63144. Fixed by fixing problems with the selection preservation done by IndentOutdentCommand.
  63145. It is now more difficult to create selections that cause hangs. Those are covered by:
  63146. <rdar://problem/5543472>
  63147. * editing/IndentOutdentCommand.cpp:
  63148. (WebCore::indexForVisiblePosition): Compute indices from the first VisiblePosition
  63149. in the document, instead of the first Position.
  63150. Use rangeCompliantEquivalents when creating the Range that we pass to rangeLength.
  63151. Tell TextIterator::rangeLength that we're doing selection preservation, so that it
  63152. will emit characters between all VisiblePositions.
  63153. (WebCore::IndentOutdentCommand::indentRegion): Fixed a bug where the range and location
  63154. passed to rangeFromLocationAndLength were reversed.
  63155. Tell rangeFromLocationAndLength that we're doing doing selection preservation, as
  63156. above.
  63157. * editing/TextIterator.cpp:
  63158. (WebCore::CharacterIterator::CharacterIterator):
  63159. (WebCore::TextIterator::rangeLength): Rename emitSpacesForReplacedElements
  63160. to forSelectionPreservation, to match the name of the boolean inside TextIterator and
  63161. to match its meaning after r25522.
  63162. (WebCore::TextIterator::rangeFromLocationAndLength): Ditto.
  63163. 2007-10-16 Darin Adler <darin@apple.com>
  63164. Reviewed by Mitz.
  63165. - fix http://bugs.webkit.org/show_bug.cgi?id=15536
  63166. need to cache missing glyph so we're not slow on pages that show missing glyphs
  63167. - <rdar://problem/5404359> UI thread stall (>60sec) in MLANG running stress test
  63168. (related to font data caching)
  63169. * platform/Font.cpp: (WebCore::Font::glyphDataForCharacter): Check for a null value
  63170. for fontData rather than for glyph to detect non-cached entries in the glyph data.
  63171. * platform/gtk/GlyphPageTreeNodeGtk.cpp: (WebCore::GlyphPage::fill):
  63172. * platform/mac/GlyphPageTreeNodeMac.cpp: (WebCore::GlyphPage::fill):
  63173. * platform/win/GlyphPageTreeNodeWin.cpp: (WebCore::GlyphPage::fill):
  63174. Set fontData to 0 for missing glyph entries. Also fixed the Windows and GTK versions
  63175. to return the proper value for haveGlyphs.
  63176. 2007-10-16 Mark Rowe <mrowe@apple.com>
  63177. Gtk build fix. Replace use of assert with ASSERT_NOT_REACHED.
  63178. * platform/gtk/FontCacheGtk.cpp:
  63179. (WebCore::FontCache::platformInit):
  63180. 2007-10-16 Darin Adler <darin@apple.com>
  63181. Reviewed by Adam.
  63182. - fix http://bugs.webkit.org/show_bug.cgi?id=15534
  63183. WebScriptObject.h has some formatting and editorial mistakes
  63184. * bindings/objc/WebScriptObject.h: Fix wording and formatting.
  63185. 2007-10-16 Darin Adler <darin@apple.com>
  63186. - try to fix the Qt build
  63187. * config.h: Don't use DisallowCType.h, since it's incompatible with some C++ headers
  63188. that are used in some Qt-specific source files.
  63189. 2007-10-16 Darin Adler <darin@apple.com>
  63190. Reviewed by Adele.
  63191. - fix http://bugs.webkit.org/show_bug.cgi?id=15525
  63192. transpose (control-T) should do the last two characters on a line if at end of line
  63193. - remove unused CommandByName class
  63194. - move transpose command implementation here from Mac OS X WebKit
  63195. * editing/Editor.h:
  63196. * editing/Editor.cpp:
  63197. (WebCore::execTranspose): Added.
  63198. (WebCore::Editor::transpose): Added. This has the transpose implementation from
  63199. WebCoreFrameBridge and WebHTMLView, translated into WebCore-style C++ and with
  63200. a special case for the end of a paragraph.
  63201. * page/Frame.h: Removed unused command() function member.
  63202. * page/FramePrivate.h: Removed unused m_command data member.
  63203. * page/Frame.cpp: Ditto.
  63204. * page/mac/WebCoreFrameBridge.h: Removed rangeOfCharactersAroundCaret method.
  63205. * page/mac/WebCoreFrameBridge.mm: Ditto.
  63206. * WebCore.pro: Removed CommandByName.h/cpp.
  63207. * WebCore.vcproj/WebCore.vcproj: Ditto.
  63208. * WebCore.xcodeproj/project.pbxproj: Ditto.
  63209. * editing/CommandByName.cpp: Removed.
  63210. * editing/CommandByName.h: Removed.
  63211. 2007-10-16 Darin Adler <darin@apple.com>
  63212. Reviewed by Maciej and Geoff (and looked over by Eric).
  63213. - http://bugs.webkit.org/show_bug.cgi?id=15519
  63214. eliminate use of <ctype.h> for processing ASCII
  63215. * ForwardingHeaders/wtf/ASCIICType.h: Added.
  63216. * ForwardingHeaders/wtf/DisallowCType.h: Added.
  63217. * WebCorePrefix.h: Get rid of inclusion of <ctype.h>.
  63218. * config.h: Include DisallowCType.h.
  63219. * css/CSSParser.cpp:
  63220. (WebCore::ParseString::lower):
  63221. * css/CSSPrimitiveValue.cpp:
  63222. (WebCore::isCSSTokenizerIdentifier):
  63223. * css/CSSStyleDeclaration.cpp:
  63224. (WebCore::propertyID):
  63225. * html/HTMLSelectElement.cpp:
  63226. (WebCore::stripLeadingWhiteSpace):
  63227. * html/HTMLTokenizer.cpp:
  63228. (WebCore::tagMatch):
  63229. * loader/FTPDirectoryParser.cpp:
  63230. (WebCore::parseOneFTPLine):
  63231. * loader/TextResourceDecoder.cpp:
  63232. (WebCore::TextResourceDecoder::checkForHeadCharset):
  63233. * platform/DeprecatedCString.cpp:
  63234. (WebCore::DeprecatedCString::lower):
  63235. (WebCore::DeprecatedCString::upper):
  63236. (WebCore::DeprecatedCString::find):
  63237. (WebCore::DeprecatedCString::contains):
  63238. * platform/DeprecatedString.cpp:
  63239. (WebCore::equalCaseInsensitive):
  63240. (WebCore::isCharacterAllowedInBase):
  63241. (WebCore::DeprecatedString::find):
  63242. (WebCore::DeprecatedString::contains):
  63243. (WebCore::toIntegralType):
  63244. * platform/DeprecatedString.h:
  63245. (WebCore::DeprecatedChar::isSpace):
  63246. (WebCore::DeprecatedChar::lower):
  63247. (WebCore::DeprecatedChar::upper):
  63248. * platform/KURL.cpp:
  63249. (WebCore::KURL::parse):
  63250. * platform/StringImpl.cpp:
  63251. (WebCore::isSpace):
  63252. (WebCore::StringImpl::containsOnlyWhitespace):
  63253. (WebCore::StringImpl::isLower):
  63254. (WebCore::StringImpl::lower):
  63255. (WebCore::StringImpl::find):
  63256. (WebCore::StringImpl::reverseFind):
  63257. (WebCore::equalIgnoringCase):
  63258. * platform/TextEncodingRegistry.cpp:
  63259. (WebCore::TextEncodingNameHash::equal):
  63260. (WebCore::TextEncodingNameHash::hash):
  63261. (WebCore::atomicCanonicalTextEncodingName):
  63262. * platform/mac/KeyEventMac.mm:
  63263. (WebCore::keyIdentifierForKeyEvent):
  63264. * platform/win/KeyEventWin.cpp:
  63265. (WebCore::keyIdentifierForWindowsKeyCode):
  63266. * platform/win/PopupMenuWin.cpp:
  63267. (WebCore::isASCIIPrintable):
  63268. (WebCore::PopupWndProc):
  63269. * plugins/win/PluginViewWin.cpp:
  63270. (WebCore::capitalizeRFC822HeaderFieldName):
  63271. * rendering/RenderText.cpp:
  63272. (WebCore::RenderText::widthFromCache):
  63273. Use ASCIICType.h functions instead of ctype.h ones.
  63274. 2007-10-16 Mitz Pettel <mitz@webkit.org>
  63275. Reviewed by Dave Hyatt.
  63276. - fix http://bugs.webkit.org/show_bug.cgi?id=15296
  63277. REGRESSION (r19716-r19719): width not specified for <marquee> tag is causing the alignment issue.
  63278. Test: fast/block/float/marquee-shrink-to-avoid-floats.html
  63279. * rendering/RenderObject.cpp:
  63280. (WebCore::RenderObject::shrinkToAvoidFloats): Changed to return 'true' for <marquee>s with auto width.
  63281. 2007-10-16 Beth Dakin <bdakin@apple.com>
  63282. Reviewed by Darin.
  63283. Fix for <rdar://problem/5517118> REGRESSION: 9A570 - Safari renders
  63284. Amazon seller page way too small
  63285. The font size at Amazon was way too small because the calls to
  63286. getComputedStyle and getPropertyValue did not cause the div to
  63287. attach because there was a pending stylesheet. The fix is to call
  63288. updateLayoutIgnorePendingStylesheets() instead of just
  63289. updateLayout().
  63290. * css/CSSComputedStyleDeclaration.cpp:
  63291. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  63292. 2007-10-16 David Hyatt <hyatt@apple.com>
  63293. Get transform-origin(x/y) mapped into the front end RenderStyle. Adds a new StyleTransformData struct that
  63294. holds transform-origin (and that will also eventually hold the parsed transform operations as well).
  63295. Reviewed by Beth
  63296. * css/CSSStyleSelector.cpp:
  63297. (WebCore::CSSStyleSelector::applyProperty):
  63298. * rendering/RenderStyle.cpp:
  63299. (WebCore::StyleTransformData::StyleTransformData):
  63300. (WebCore::StyleTransformData::operator==):
  63301. (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  63302. (WebCore::StyleRareNonInheritedData::operator==):
  63303. (WebCore::RenderStyle::RenderStyle):
  63304. (WebCore::RenderStyle::diff):
  63305. * rendering/RenderStyle.h:
  63306. (WebCore::StyleTransformData::operator!=):
  63307. (WebCore::RenderStyle::transformOriginX):
  63308. (WebCore::RenderStyle::transformOriginY):
  63309. (WebCore::RenderStyle::setTransformOriginX):
  63310. (WebCore::RenderStyle::setTransformOriginY):
  63311. (WebCore::RenderStyle::initialTransformOriginX):
  63312. (WebCore::RenderStyle::initialTransformOriginY):
  63313. 2007-10-16 Adele Peterson <adele@apple.com>
  63314. Reviewed by Alice.
  63315. Fix for <rdar://problem/5538793> REGRESSION: Failing layout test: fast/forms/select-change-listbox-to-popup.html (due to landing feature branch)
  63316. * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::parseMappedAttribute): When switching between types of select elements, call setRecalcListItems
  63317. since recalcListItems updates the default selection in different ways for the different controls.
  63318. 2007-10-16 Alice Liu <alice.liu@apple.com>
  63319. rubber-stamped by Darin.
  63320. flipping my previous fix around so that mac is special-cased instead of win.
  63321. * dom/Document.cpp:
  63322. (WebCore::Document::defaultEventHandler):
  63323. 2007-10-16 David Hyatt <hyatt@apple.com>
  63324. Clean up transform parsing. Fix a crash, ditch the extra parse context class, and use RefPtr/PassRefPtr more
  63325. to simplify the code.
  63326. Reviewed by aroben
  63327. * css/CSSParser.cpp:
  63328. (WebCore::CSSParser::parseValue):
  63329. (WebCore::CSSParser::parseTransform):
  63330. * css/CSSParser.h:
  63331. 2007-10-16 Alice Liu <alice.liu@apple.com>
  63332. Reviewed by Adele.
  63333. fixed <rdar://5085596> Accesskeys don't work
  63334. * dom/Document.cpp:
  63335. (WebCore::Document::defaultEventHandler):
  63336. accesskey modifier is platform-depedent.
  63337. 2007-10-15 Mark Rowe <mrowe@apple.com>
  63338. Reviewed by John.
  63339. <rdar://problem/5494040> Reproducible assertion failure in WebCore::IconDatabase::iconForPageURL
  63340. A race condition between icon database import and Safari asking for an icon for the empty URL
  63341. was resulting in a PageURLRecord being created for a URL that can never be retained. By enforcing
  63342. that PageURLRecord's cannot be created for the empty URL we can prevent the assertion from failing.
  63343. * loader/icon/IconDatabase.cpp:
  63344. (WebCore::IconDatabase::iconForPageURL):
  63345. (WebCore::IconDatabase::getOrCreatePageURLRecord): Bail out early if the URL is empty.
  63346. (WebCore::IconDatabase::performURLImport): Don't create the PageURLRecord if the URL is empty.
  63347. 2007-10-15 Jon Honeycutt <jhoneycutt@apple.com>
  63348. Reviewed by Ollie.
  63349. Use OwnPtr for m_deliveryData, and fix a bug where we were memmove()ing
  63350. over m_deliveryData instead of its data buffer
  63351. * plugins/win/PluginStreamWin.cpp:
  63352. (WebCore::PluginStreamWin::~PluginStreamWin): Don't delete
  63353. m_deliveryData
  63354. (WebCore::PluginStreamWin::deliverData): Fix memmove() call
  63355. (WebCore::PluginStreamWin::didReceiveData): Assign using OwnPtr::set()
  63356. * plugins/win/PluginStreamWin.h: Use OwnPtr
  63357. 2007-10-15 Steve Falkenburg <sfalken@apple.com>
  63358. Reviewed by Oliver.
  63359. Add missing null check.
  63360. * platform/network/cf/AuthenticationCF.cpp:
  63361. (WebCore::core):
  63362. 2007-10-15 Mark Rowe <mrowe@apple.com>
  63363. Fix the no-SVG build again. Add new transform CSS properties to the switch statements.
  63364. * css/CSSComputedStyleDeclaration.cpp:
  63365. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  63366. * css/CSSStyleSelector.cpp:
  63367. (WebCore::CSSStyleSelector::applyProperty):
  63368. 2007-10-15 Darin Adler <darin@apple.com>
  63369. Reviewed by Mitz.
  63370. - http://bugs.webkit.org/show_bug.cgi?id=15518
  63371. Remove the unused attemptFontSubstitution feature and do some
  63372. cleanup of glyphDataForCharacter.
  63373. * platform/Font.h:
  63374. * platform/Font.cpp:
  63375. (WebCore::WidthIterator::advance): Eliminated uneeded attemptFontSubstitution
  63376. and cluster parameters to the glyphDataForCharacter function.
  63377. (WebCore::Font::glyphDataForCharacter): Removed the cluster parameter and
  63378. attemptFontSubstitution parameter. Removed the isUpper check before calling
  63379. toUpper in the small caps code path. Split up the inner loop into separate
  63380. copies for non-small-caps and small caps. Broke out the system fallback
  63381. page handling so it's not inside the loop. Changed system fallback so it uses
  63382. the character and breaks it up into UTF-16 as needed, instead of using a
  63383. passed-in "character cluster".
  63384. * platform/TextStyle.h:
  63385. (WebCore::TextStyle::TextStyle): Removed attemptFontSubstitution.
  63386. (WebCore::TextStyle::applyWordRounding): Ditto.
  63387. 2007-10-15 Jon Honeycutt <jhoneycutt@apple.com>
  63388. Reviewed by Ollie.
  63389. Remove an operator precedence warning on Windows
  63390. * editing/markup.cpp:
  63391. (WebCore::escapeContentText): Use (a) | (b)
  63392. (WebCore::appendEscapedContent): Use (a) | (b)
  63393. 2007-10-15 Kevin McCullough <kmccullough@apple.com>
  63394. Reviewed by Darin.
  63395. - <rdar://problem/5238818> window.resizeTo doesn't restrict the resized window to the size of the screen
  63396. - Now we take the doc into account when resizing.
  63397. - Also I found an issue where we would resize to outside the window, because
  63398. the resize would be smaller than the window size but the location of the
  63399. window would make the resize go off-screen. Now we move the window back into the screen.
  63400. * bindings/js/kjs_window.cpp:
  63401. (KJS::adjustWindowRect):
  63402. (KJS::WindowFunc::callAsFunction):
  63403. 2007-10-15 Jon Honeycutt <jhoneycutt@apple.com>
  63404. Reviewed by Anders.
  63405. <rdar://5510700> Repro crash loading embedded Windows Media Player
  63406. content
  63407. Anders noticed that the older Windows Media Player plugin (npdsplay.dll)
  63408. will crash if it receives its resource requests out of order, whereas we
  63409. were immediately fulfilling untargeted, non-JavaScript requests and
  63410. scheduling targeted or JavaScript resource requests. Implement his
  63411. suggested fix, which is to schedule PluginRequests for all resource
  63412. requests
  63413. * plugins/win/PluginViewWin.cpp:
  63414. (WebCore::getString):
  63415. (WebCore::PluginViewWin::performRequest): If this non-JavaScript request
  63416. has no target, create a stream for it
  63417. (WebCore::PluginViewWin::load): Schedule PluginRequests for all resource
  63418. requests
  63419. 2007-10-15 Mark Rowe <mrowe@apple.com>
  63420. Gtk and Qt build fix. Add new .cpp file to project.
  63421. * WebCore.pro:
  63422. 2007-10-15 John Sullivan <sullivan@apple.com>
  63423. * platform/mac/FontDataMac.mm:
  63424. D'oh! Added missing #import to fix build
  63425. 2007-10-15 John Sullivan <sullivan@apple.com>
  63426. Reviewed by Geoff
  63427. * platform/mac/FontDataMac.mm:
  63428. (WebCore::FontData::smallCapsFontData):
  63429. replace NS_DURING/NS_HANDLER with WebCore-style BEGIN/END_BLOCK_OBJC_EXCEPTIONS
  63430. 2007-10-15 David Hyatt <hyatt@apple.com>
  63431. The CSS WG has been discussing the concept of rotation. In the latest draft specification, two properties
  63432. have been introduced: rotation and rotation-point. I believe these properties should be generalized to
  63433. allow for arbitrary transformations (e.g., translation, skew, rotate, scale).
  63434. This patch adds support for the back-end parsing of two new CSS properties: transform and transform-origin.
  63435. They are directly analogous to the properties specified by the CSS WG, except that they are designed to allow
  63436. for arbitrary affine transforms rather than just rotation.
  63437. Reviewed by Beth Dakin
  63438. * WebCore.xcodeproj/project.pbxproj:
  63439. * WebCore.vcproj/WebCore.vcproj:
  63440. * css/CSSComputedStyleDeclaration.cpp:
  63441. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  63442. * css/CSSParser.cpp:
  63443. (WebCore::CSSParser::parseValue):
  63444. (WebCore::TransformParseContext:::m_list):
  63445. (WebCore::TransformParseContext::list):
  63446. (WebCore::TransformParseContext::failed):
  63447. (WebCore::TransformParseContext::addValue):
  63448. (WebCore::TransformOperationInfo::TransformOperationInfo):
  63449. (WebCore::TransformOperationInfo::type):
  63450. (WebCore::TransformOperationInfo::argCount):
  63451. (WebCore::TransformOperationInfo::unit):
  63452. (WebCore::TransformOperationInfo::unknown):
  63453. (WebCore::TransformOperationInfo::hasCorrectArgCount):
  63454. (WebCore::CSSParser::parseTransform):
  63455. (WebCore::CSSParser::parseTransformOrigin):
  63456. * css/CSSParser.h:
  63457. * css/CSSPropertyNames.in:
  63458. * css/CSSTransformValue.cpp: Added.
  63459. (WebCore::CSSTransformValue::CSSTransformValue):
  63460. (WebCore::CSSTransformValue::~CSSTransformValue):
  63461. (WebCore::CSSTransformValue::addValue):
  63462. (WebCore::CSSTransformValue::cssText):
  63463. * css/CSSTransformValue.h: Added.
  63464. (WebCore::CSSTransformValue::):
  63465. 2007-10-15 Mark Rowe <mrowe@apple.com>
  63466. Reviewed by Oliver.
  63467. Fix the no-SVG build.
  63468. * DerivedSources.make: Use the correct file as input to generate CSSPropertyNames.h.
  63469. * rendering/RenderObject.cpp:
  63470. (WebCore::objectIsRelayoutBoundary):
  63471. 2007-10-15 Darin Adler <darin@apple.com>
  63472. Reviewed by Sam.
  63473. - fix http://bugs.webkit.org/show_bug.cgi?id=15520
  63474. alert(undefined) should say "undefined" in the alert
  63475. Test: fast/dom/Window/alert-undefined.html
  63476. * page/DOMWindow.idl: Remove ConvertUndefinedOrNullToNullString from alert, confirm, and prompt.
  63477. It turns out that the default behavior is what the other browsers do (browsers tested: IE 7,
  63478. Firefox 2).
  63479. 2007-10-15 Adele Peterson <adele@apple.com>
  63480. Reviewed by Darin.
  63481. Fix for http://bugs.webkit.org/show_bug.cgi?id=15252
  63482. <rdar://problem/5498184> REGRESSION: <select multiple> doesn't scroll to top when old options are removed and new ones are added, leaving listbox empty-looking
  63483. * rendering/RenderListBox.cpp: (WebCore::RenderListBox::calcHeight): If the scrollbar is disabled, make sure the scroll offset gets reset to 0. In general,
  63484. we don't want to unnecessarily adjust the scroll offset, but in this case, there won't be an obvious way for the user to adjust the scroller position once it's disabled.
  63485. 2007-10-15 Jon Honeycutt <jhoneycutt@apple.com>
  63486. Reviewed by Maciej.
  63487. Return a more appropriate error from NPN_RequestRange, which is
  63488. currently unimplemented
  63489. * plugins/win/npapi.cpp: return NPERR_STREAM_NOT_SEEKABLE
  63490. (NPN_RequestRead):
  63491. 2007-10-15 Jon Honeycutt <jhoneycutt@apple.com>
  63492. Reviewed by Maciej.
  63493. Add a missing function pointer to the m_browserFuncs structure
  63494. * plugins/win/PluginPackageWin.cpp:
  63495. (WebCore::PluginPackageWin::load):
  63496. 2007-10-15 Simon Hausmann <hausmann@kde.org>
  63497. Reviewed by Lars.
  63498. Fix the compilation of the Font code in the Qt port by adding the necessary stubs to support downloadable fonts through the @font-face rules.
  63499. * WebCore.pro:
  63500. * loader/CachedFont.cpp:
  63501. * platform/qt/FontCacheQt.cpp: Removed.
  63502. * platform/qt/FontCustomPlatformData.cpp: Removed.
  63503. * platform/qt/FontCustomPlatformData.h: Removed.
  63504. * platform/qt/FontDataQt.cpp: Removed.
  63505. * platform/qt/FontPlatformData.h: Removed.
  63506. * platform/qt/FontQt.cpp:
  63507. * platform/qt/GlyphPageTreeNodeQt.cpp: Removed.
  63508. 2007-10-15 Simon Hausmann <hausmann@kde.org>
  63509. Reviewed by Lars.
  63510. Adapt to the latest API changes in the SVG API/Code.
  63511. * platform/graphics/svg/qt/RenderPathQt.cpp:
  63512. (WebCore::RenderPath::strokeContains):
  63513. (WebCore::getPathStroke):
  63514. * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
  63515. (WebCore::SVGPaintServer::setPenProperties):
  63516. * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:
  63517. 2007-10-14 Nikolas Zimmermann <zimmermann@kde.org>
  63518. Reviewed by Eric.
  63519. Fix bad abstraction in ImageBuffer class.
  63520. While the class itself is platform-aware and thus it's location in platform/graphics
  63521. is fine, it contains the "renderSubtreeToImage" method which operates on RenderObject.
  63522. As it's SVG specific I decided to move this method into SVGRenderSupport, to avoid
  63523. implicit platform/ <-> rendering/ dependencies.
  63524. * WebCore.pro:
  63525. * WebCore.vcproj/WebCore.vcproj:
  63526. * WebCore.xcodeproj/project.pbxproj:
  63527. * ksvg2/svg/SVGMaskElement.cpp:
  63528. (WebCore::SVGMaskElement::drawMaskerContent):
  63529. * ksvg2/svg/SVGPatternElement.cpp:
  63530. (WebCore::SVGPatternElement::buildPattern):
  63531. * platform/graphics/ImageBuffer.cpp: Removed.
  63532. * platform/graphics/ImageBuffer.h:
  63533. (WebCore::ImageBuffer::size):
  63534. * platform/graphics/svg/SVGImage.cpp:
  63535. (WebCore::SVGImage::nativeImageForCurrentFrame):
  63536. * rendering/SVGRenderSupport.cpp:
  63537. (WebCore::renderSubtreeToImage):
  63538. * rendering/SVGRenderSupport.h:
  63539. 2007-10-14 Peter Kasting <pkasting@google.com>
  63540. Reviewed by Maciej.
  63541. http://bugs.webkit.org/show_bug.cgi?id=15210
  63542. Draw the image outline even for broken images.
  63543. * rendering/RenderImage.cpp:
  63544. (WebCore::RenderImage::paint):
  63545. 2007-10-14 Kevin Ollivier <kevino@theolliviers.com>
  63546. Reviewed by Adam.
  63547. Add support for MSVC7, and fix cases where PLATFORM(WIN) should
  63548. be PLATFORM(WIN_OS) for other ports building on Windows.
  63549. * dom/XMLTokenizer.cpp:
  63550. * page/FrameTree.cpp:
  63551. * platform/StaticConstructors.h:
  63552. * platform/String.cpp:
  63553. 2007-10-14 Maxime Britto <mbritto@pleyo.com>
  63554. Reviewed by Mitz.
  63555. Fix an error in the goBackOrForward() function : confusion between forwardListCount and backListCount.
  63556. http://bugs.webkit.org/show_bug.cgi?id=15212
  63557. * loader/FrameLoader.cpp:
  63558. (WebCore::FrameLoader::goBackOrForward):
  63559. 2007-10-14 Mitz Pettel <mitz@webkit.org>
  63560. Reviewed by Darin.
  63561. - fix http://bugs.webkit.org/show_bug.cgi?id=15181
  63562. text-transform: uppercase not working in input (submit, reset, button) elements
  63563. <rdar://problem/5474647>
  63564. Test: fast/forms/button-text-transform.html
  63565. Text transformations require access to the original text. The button's inner
  63566. text was an anonymous RenderText, meaning it did not have a node to retrieve
  63567. the original text from. The patch fixes this by changing the inner text into a
  63568. RenderTextFragment, which stores its own original text.
  63569. * rendering/RenderButton.cpp:
  63570. (WebCore::RenderButton::setText):
  63571. * rendering/RenderButton.h:
  63572. 2007-10-14 Eric Seidel <eric@webkit.org>
  63573. Reviewed by Maciej.
  63574. REGRESSION: Javascript bug in getElementsByName
  63575. http://bugs.webkit.org/show_bug.cgi?id=15274
  63576. Test: fast/dom/getelementbyname-invalidation.html
  63577. * dom/NameNodeList.h: remove empty rootNodeChildrenChanged override
  63578. 2007-10-14 Mitz Pettel <mitz@webkit.org>
  63579. Reviewed by Maciej.
  63580. - http://bugs.webkit.org/show_bug.cgi?id=15303
  63581. Remove now-redundant code to restore dialog arguments after clear
  63582. This patch reverts the kjs_window.* parts of r25576 because following
  63583. r25783, window properties, including dialog arguments, are not cleared
  63584. when the newly created modal dialog transitions to the document.
  63585. * bindings/js/kjs_window.cpp:
  63586. (KJS::WindowPrivate::WindowPrivate):
  63587. (KJS::createWindow):
  63588. (KJS::showModalDialog):
  63589. (KJS::Window::clear):
  63590. (KJS::WindowFunc::callAsFunction):
  63591. (KJS::Window::setReturnValueSlot):
  63592. * bindings/js/kjs_window.h:
  63593. 2007-10-14 Mitz Pettel <mitz@webkit.org>
  63594. Reviewed by Dave Hyatt.
  63595. - fix http://bugs.webkit.org/show_bug.cgi?id=15309
  63596. <rdar://problem/5512020> Crash due to infinite recursion in RenderTable::addChild
  63597. Test: fast/table/generated-caption.html
  63598. * rendering/RenderTable.cpp:
  63599. (WebCore::RenderTable::addChild): Changed to make sure that the child is
  63600. not added into generated after content. Also made adding a child before
  63601. a table caption work correctly instead of adding the child after the caption.
  63602. 2007-10-14 Peter Kasting <pkasting@google.com>
  63603. Reviewed by Maciej.
  63604. http://bugs.webkit.org/show_bug.cgi?id=15141
  63605. Feed GIF reader data from the point in the stream it expects. Also,
  63606. mirror the reader's failure state up to the wrapping decoder.
  63607. * platform/image-decoders/gif/GIFImageReader.cpp:
  63608. (GIFImageReader::read):
  63609. 2007-10-14 Peter Kasting <pkasting@google.com>
  63610. Reviewed by Maciej.
  63611. http://bugs.webkit.org/show_bug.cgi?id=15142
  63612. Return correct frame count in GIFImageDecoder::frameBufferAtIndex(),
  63613. even if more data has arrived since the last decoding pass.
  63614. * platform/image-decoders/gif/GIFImageDecoder.cpp:
  63615. (WebCore::GIFImageDecoder::frameBufferAtIndex):
  63616. == Rolled over to ChangeLog-2007-10-14 ==