ChangeLog-2006-02-09 1.6 MB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783257842578525786257872578825789257902579125792257932579425795257962579725798257992580025801258022580325804258052580625807258082580925810258112581225813258142581525816258172581825819258202582125822258232582425825258262582725828258292583025831258322583325834258352583625837258382583925840258412584225843258442584525846258472584825849258502585125852258532585425855258562585725858258592586025861258622586325864258652586625867258682586925870258712587225873258742587525876258772587825879258802588125882258832588425885258862588725888258892589025891258922589325894258952589625897258982589925900259012590225903259042590525906259072590825909259102591125912259132591425915259162591725918259192592025921259222592325924259252592625927259282592925930259312593225933259342593525936259372593825939259402594125942259432594425945259462594725948259492595025951259522595325954259552595625957259582595925960259612596225963259642596525966259672596825969259702597125972259732597425975259762597725978259792598025981259822598325984259852598625987259882598925990259912599225993259942599525996259972599825999260002600126002260032600426005260062600726008260092601026011260122601326014260152601626017260182601926020260212602226023260242602526026260272602826029260302603126032260332603426035260362603726038260392604026041260422604326044260452604626047260482604926050260512605226053260542605526056260572605826059260602606126062260632606426065260662606726068260692607026071260722607326074260752607626077260782607926080260812608226083260842608526086260872608826089260902609126092260932609426095260962609726098260992610026101261022610326104261052610626107261082610926110261112611226113261142611526116261172611826119261202612126122261232612426125261262612726128261292613026131261322613326134261352613626137261382613926140261412614226143261442614526146261472614826149261502615126152261532615426155261562615726158261592616026161261622616326164261652616626167261682616926170261712617226173261742617526176261772617826179261802618126182261832618426185261862618726188261892619026191261922619326194261952619626197261982619926200262012620226203262042620526206262072620826209262102621126212262132621426215262162621726218262192622026221262222622326224262252622626227262282622926230262312623226233262342623526236262372623826239262402624126242262432624426245262462624726248262492625026251262522625326254262552625626257262582625926260262612626226263262642626526266262672626826269262702627126272262732627426275262762627726278262792628026281262822628326284262852628626287262882628926290262912629226293262942629526296262972629826299263002630126302263032630426305263062630726308263092631026311263122631326314263152631626317263182631926320263212632226323263242632526326263272632826329263302633126332263332633426335263362633726338263392634026341263422634326344263452634626347263482634926350263512635226353263542635526356263572635826359263602636126362263632636426365263662636726368263692637026371263722637326374263752637626377263782637926380263812638226383263842638526386263872638826389263902639126392263932639426395263962639726398263992640026401264022640326404264052640626407264082640926410264112641226413264142641526416264172641826419264202642126422264232642426425264262642726428264292643026431264322643326434264352643626437264382643926440264412644226443264442644526446264472644826449264502645126452264532645426455264562645726458264592646026461264622646326464264652646626467264682646926470264712647226473264742647526476264772647826479264802648126482264832648426485264862648726488264892649026491264922649326494264952649626497264982649926500265012650226503265042650526506265072650826509265102651126512265132651426515265162651726518265192652026521265222652326524265252652626527265282652926530265312653226533265342653526536265372653826539265402654126542265432654426545265462654726548265492655026551265522655326554265552655626557265582655926560265612656226563265642656526566265672656826569265702657126572265732657426575265762657726578265792658026581265822658326584265852658626587265882658926590265912659226593265942659526596265972659826599266002660126602266032660426605266062660726608266092661026611266122661326614266152661626617266182661926620266212662226623266242662526626266272662826629266302663126632266332663426635266362663726638266392664026641266422664326644266452664626647266482664926650266512665226653266542665526656266572665826659266602666126662266632666426665266662666726668266692667026671266722667326674266752667626677266782667926680266812668226683266842668526686266872668826689266902669126692266932669426695266962669726698266992670026701267022670326704267052670626707267082670926710267112671226713267142671526716267172671826719267202672126722267232672426725267262672726728267292673026731267322673326734267352673626737267382673926740267412674226743267442674526746267472674826749267502675126752267532675426755267562675726758267592676026761267622676326764267652676626767267682676926770267712677226773267742677526776267772677826779267802678126782267832678426785267862678726788267892679026791267922679326794267952679626797267982679926800268012680226803268042680526806268072680826809268102681126812268132681426815268162681726818268192682026821268222682326824268252682626827268282682926830268312683226833268342683526836268372683826839268402684126842268432684426845268462684726848268492685026851268522685326854268552685626857268582685926860268612686226863268642686526866268672686826869268702687126872268732687426875268762687726878268792688026881268822688326884268852688626887268882688926890268912689226893268942689526896268972689826899269002690126902269032690426905269062690726908269092691026911269122691326914269152691626917269182691926920269212692226923269242692526926269272692826929269302693126932269332693426935269362693726938269392694026941269422694326944269452694626947269482694926950269512695226953269542695526956269572695826959269602696126962269632696426965269662696726968269692697026971269722697326974269752697626977269782697926980269812698226983269842698526986269872698826989269902699126992269932699426995269962699726998269992700027001270022700327004270052700627007270082700927010270112701227013270142701527016270172701827019270202702127022270232702427025270262702727028270292703027031270322703327034270352703627037270382703927040270412704227043270442704527046270472704827049270502705127052270532705427055270562705727058270592706027061270622706327064270652706627067270682706927070270712707227073270742707527076270772707827079270802708127082270832708427085270862708727088270892709027091270922709327094270952709627097270982709927100271012710227103271042710527106271072710827109271102711127112271132711427115271162711727118271192712027121271222712327124271252712627127271282712927130271312713227133271342713527136271372713827139271402714127142271432714427145271462714727148271492715027151271522715327154271552715627157271582715927160271612716227163271642716527166271672716827169271702717127172271732717427175271762717727178271792718027181271822718327184271852718627187271882718927190271912719227193271942719527196271972719827199272002720127202272032720427205272062720727208272092721027211272122721327214272152721627217272182721927220272212722227223272242722527226272272722827229272302723127232272332723427235272362723727238272392724027241272422724327244272452724627247272482724927250272512725227253272542725527256272572725827259272602726127262272632726427265272662726727268272692727027271272722727327274272752727627277272782727927280272812728227283272842728527286272872728827289272902729127292272932729427295272962729727298272992730027301273022730327304273052730627307273082730927310273112731227313273142731527316273172731827319273202732127322273232732427325273262732727328273292733027331273322733327334273352733627337273382733927340273412734227343273442734527346273472734827349273502735127352273532735427355273562735727358273592736027361273622736327364273652736627367273682736927370273712737227373273742737527376273772737827379273802738127382273832738427385273862738727388273892739027391273922739327394273952739627397273982739927400274012740227403274042740527406274072740827409274102741127412274132741427415274162741727418274192742027421274222742327424274252742627427274282742927430274312743227433274342743527436274372743827439274402744127442274432744427445274462744727448274492745027451274522745327454274552745627457274582745927460274612746227463274642746527466274672746827469274702747127472274732747427475274762747727478274792748027481274822748327484274852748627487274882748927490274912749227493274942749527496274972749827499275002750127502275032750427505275062750727508275092751027511275122751327514275152751627517275182751927520275212752227523275242752527526275272752827529275302753127532275332753427535275362753727538275392754027541275422754327544275452754627547275482754927550275512755227553275542755527556275572755827559275602756127562275632756427565275662756727568275692757027571275722757327574275752757627577275782757927580275812758227583275842758527586275872758827589275902759127592275932759427595275962759727598275992760027601276022760327604276052760627607276082760927610276112761227613276142761527616276172761827619276202762127622276232762427625276262762727628276292763027631276322763327634276352763627637276382763927640276412764227643276442764527646276472764827649276502765127652276532765427655276562765727658276592766027661276622766327664276652766627667276682766927670276712767227673276742767527676276772767827679276802768127682276832768427685276862768727688276892769027691276922769327694276952769627697276982769927700277012770227703277042770527706277072770827709277102771127712277132771427715277162771727718277192772027721277222772327724277252772627727277282772927730277312773227733277342773527736277372773827739277402774127742277432774427745277462774727748277492775027751277522775327754277552775627757277582775927760277612776227763277642776527766277672776827769277702777127772277732777427775277762777727778277792778027781277822778327784277852778627787277882778927790277912779227793277942779527796277972779827799278002780127802278032780427805278062780727808278092781027811278122781327814278152781627817278182781927820278212782227823278242782527826278272782827829278302783127832278332783427835278362783727838278392784027841278422784327844278452784627847278482784927850278512785227853278542785527856278572785827859278602786127862278632786427865278662786727868278692787027871278722787327874278752787627877278782787927880278812788227883278842788527886278872788827889278902789127892278932789427895278962789727898278992790027901279022790327904279052790627907279082790927910279112791227913279142791527916279172791827919279202792127922279232792427925279262792727928279292793027931279322793327934279352793627937279382793927940279412794227943279442794527946279472794827949279502795127952279532795427955279562795727958279592796027961279622796327964279652796627967279682796927970279712797227973279742797527976279772797827979279802798127982279832798427985279862798727988279892799027991279922799327994279952799627997279982799928000280012800228003280042800528006280072800828009280102801128012280132801428015280162801728018280192802028021280222802328024280252802628027280282802928030280312803228033280342803528036280372803828039280402804128042280432804428045280462804728048280492805028051280522805328054280552805628057280582805928060280612806228063280642806528066280672806828069280702807128072280732807428075280762807728078280792808028081280822808328084280852808628087280882808928090280912809228093280942809528096280972809828099281002810128102281032810428105281062810728108281092811028111281122811328114281152811628117281182811928120281212812228123281242812528126281272812828129281302813128132281332813428135281362813728138281392814028141281422814328144281452814628147281482814928150281512815228153281542815528156281572815828159281602816128162281632816428165281662816728168281692817028171281722817328174281752817628177281782817928180281812818228183281842818528186281872818828189281902819128192281932819428195281962819728198281992820028201282022820328204282052820628207282082820928210282112821228213282142821528216282172821828219282202822128222282232822428225282262822728228282292823028231282322823328234282352823628237282382823928240282412824228243282442824528246282472824828249282502825128252282532825428255282562825728258282592826028261282622826328264282652826628267282682826928270282712827228273282742827528276282772827828279282802828128282282832828428285282862828728288282892829028291282922829328294282952829628297282982829928300283012830228303283042830528306283072830828309283102831128312283132831428315283162831728318283192832028321283222832328324283252832628327283282832928330283312833228333283342833528336283372833828339283402834128342283432834428345283462834728348283492835028351283522835328354283552835628357283582835928360283612836228363283642836528366283672836828369283702837128372283732837428375283762837728378283792838028381283822838328384283852838628387283882838928390283912839228393283942839528396283972839828399284002840128402284032840428405284062840728408284092841028411284122841328414284152841628417284182841928420284212842228423284242842528426284272842828429284302843128432284332843428435284362843728438284392844028441284422844328444284452844628447284482844928450284512845228453284542845528456284572845828459284602846128462284632846428465284662846728468284692847028471284722847328474284752847628477284782847928480284812848228483284842848528486284872848828489284902849128492284932849428495284962849728498284992850028501285022850328504285052850628507285082850928510285112851228513285142851528516285172851828519285202852128522285232852428525285262852728528285292853028531285322853328534285352853628537285382853928540285412854228543285442854528546285472854828549285502855128552285532855428555285562855728558285592856028561285622856328564285652856628567285682856928570285712857228573285742857528576285772857828579285802858128582285832858428585285862858728588285892859028591285922859328594285952859628597285982859928600286012860228603286042860528606286072860828609286102861128612286132861428615286162861728618286192862028621286222862328624286252862628627286282862928630286312863228633286342863528636286372863828639286402864128642286432864428645286462864728648286492865028651286522865328654286552865628657286582865928660286612866228663286642866528666286672866828669286702867128672286732867428675286762867728678286792868028681286822868328684286852868628687286882868928690286912869228693286942869528696286972869828699287002870128702287032870428705287062870728708287092871028711287122871328714287152871628717287182871928720287212872228723287242872528726287272872828729287302873128732287332873428735287362873728738287392874028741287422874328744287452874628747287482874928750287512875228753287542875528756287572875828759287602876128762287632876428765287662876728768287692877028771287722877328774287752877628777287782877928780287812878228783287842878528786287872878828789287902879128792287932879428795287962879728798287992880028801288022880328804288052880628807288082880928810288112881228813288142881528816288172881828819288202882128822288232882428825288262882728828288292883028831288322883328834288352883628837288382883928840288412884228843288442884528846288472884828849288502885128852288532885428855288562885728858288592886028861288622886328864288652886628867288682886928870288712887228873288742887528876288772887828879288802888128882288832888428885288862888728888288892889028891288922889328894288952889628897288982889928900289012890228903289042890528906289072890828909289102891128912289132891428915289162891728918289192892028921289222892328924289252892628927289282892928930289312893228933289342893528936289372893828939289402894128942289432894428945289462894728948289492895028951289522895328954289552895628957289582895928960289612896228963289642896528966289672896828969289702897128972289732897428975289762897728978289792898028981289822898328984289852898628987289882898928990289912899228993289942899528996289972899828999290002900129002290032900429005290062900729008290092901029011290122901329014290152901629017290182901929020290212902229023290242902529026290272902829029290302903129032290332903429035290362903729038290392904029041290422904329044290452904629047290482904929050290512905229053290542905529056290572905829059290602906129062290632906429065290662906729068290692907029071290722907329074290752907629077290782907929080290812908229083290842908529086290872908829089290902909129092290932909429095290962909729098290992910029101291022910329104291052910629107291082910929110291112911229113291142911529116291172911829119291202912129122291232912429125291262912729128291292913029131291322913329134291352913629137291382913929140291412914229143291442914529146291472914829149291502915129152291532915429155291562915729158291592916029161291622916329164291652916629167291682916929170291712917229173291742917529176291772917829179291802918129182291832918429185291862918729188291892919029191291922919329194291952919629197291982919929200292012920229203292042920529206292072920829209292102921129212292132921429215292162921729218292192922029221292222922329224292252922629227292282922929230292312923229233292342923529236292372923829239292402924129242292432924429245292462924729248292492925029251292522925329254292552925629257292582925929260292612926229263292642926529266292672926829269292702927129272292732927429275292762927729278292792928029281292822928329284292852928629287292882928929290292912929229293292942929529296292972929829299293002930129302293032930429305293062930729308293092931029311293122931329314293152931629317293182931929320293212932229323293242932529326293272932829329293302933129332293332933429335293362933729338293392934029341293422934329344293452934629347293482934929350293512935229353293542935529356293572935829359293602936129362293632936429365293662936729368293692937029371293722937329374293752937629377293782937929380293812938229383293842938529386293872938829389293902939129392293932939429395293962939729398293992940029401294022940329404294052940629407294082940929410294112941229413294142941529416294172941829419294202942129422294232942429425294262942729428294292943029431294322943329434294352943629437294382943929440294412944229443294442944529446294472944829449294502945129452294532945429455294562945729458294592946029461294622946329464294652946629467294682946929470294712947229473294742947529476294772947829479294802948129482294832948429485294862948729488294892949029491294922949329494294952949629497294982949929500295012950229503295042950529506295072950829509295102951129512295132951429515295162951729518295192952029521295222952329524295252952629527295282952929530295312953229533295342953529536295372953829539295402954129542295432954429545295462954729548295492955029551295522955329554295552955629557295582955929560295612956229563295642956529566295672956829569295702957129572295732957429575295762957729578295792958029581295822958329584295852958629587295882958929590295912959229593295942959529596295972959829599296002960129602296032960429605296062960729608296092961029611296122961329614296152961629617296182961929620296212962229623296242962529626296272962829629296302963129632296332963429635296362963729638296392964029641296422964329644296452964629647296482964929650296512965229653296542965529656296572965829659296602966129662296632966429665296662966729668296692967029671296722967329674296752967629677296782967929680296812968229683296842968529686296872968829689296902969129692296932969429695296962969729698296992970029701297022970329704297052970629707297082970929710297112971229713297142971529716297172971829719297202972129722297232972429725297262972729728297292973029731297322973329734297352973629737297382973929740297412974229743297442974529746297472974829749297502975129752297532975429755297562975729758297592976029761297622976329764297652976629767297682976929770297712977229773297742977529776297772977829779297802978129782297832978429785297862978729788297892979029791297922979329794297952979629797297982979929800298012980229803298042980529806298072980829809298102981129812298132981429815298162981729818298192982029821298222982329824298252982629827298282982929830298312983229833298342983529836298372983829839298402984129842298432984429845298462984729848298492985029851298522985329854298552985629857298582985929860298612986229863298642986529866298672986829869298702987129872298732987429875298762987729878298792988029881298822988329884298852988629887298882988929890298912989229893298942989529896298972989829899299002990129902299032990429905299062990729908299092991029911299122991329914299152991629917299182991929920299212992229923299242992529926299272992829929299302993129932299332993429935299362993729938299392994029941299422994329944299452994629947299482994929950299512995229953299542995529956299572995829959299602996129962299632996429965299662996729968299692997029971299722997329974299752997629977299782997929980299812998229983299842998529986299872998829989299902999129992299932999429995299962999729998299993000030001300023000330004300053000630007300083000930010300113001230013300143001530016300173001830019300203002130022300233002430025300263002730028300293003030031300323003330034300353003630037300383003930040300413004230043300443004530046300473004830049300503005130052300533005430055300563005730058300593006030061300623006330064300653006630067300683006930070300713007230073300743007530076300773007830079300803008130082300833008430085300863008730088300893009030091300923009330094300953009630097300983009930100301013010230103301043010530106301073010830109301103011130112301133011430115301163011730118301193012030121301223012330124301253012630127301283012930130301313013230133301343013530136301373013830139301403014130142301433014430145301463014730148301493015030151301523015330154301553015630157301583015930160301613016230163301643016530166301673016830169301703017130172301733017430175301763017730178301793018030181301823018330184301853018630187301883018930190301913019230193301943019530196301973019830199302003020130202302033020430205302063020730208302093021030211302123021330214302153021630217302183021930220302213022230223302243022530226302273022830229302303023130232302333023430235302363023730238302393024030241302423024330244302453024630247302483024930250302513025230253302543025530256302573025830259302603026130262302633026430265302663026730268302693027030271302723027330274302753027630277302783027930280302813028230283302843028530286302873028830289302903029130292302933029430295302963029730298302993030030301303023030330304303053030630307303083030930310303113031230313303143031530316303173031830319303203032130322303233032430325303263032730328303293033030331303323033330334303353033630337303383033930340303413034230343303443034530346303473034830349303503035130352303533035430355303563035730358303593036030361303623036330364303653036630367303683036930370303713037230373303743037530376303773037830379303803038130382303833038430385303863038730388303893039030391303923039330394303953039630397303983039930400304013040230403304043040530406304073040830409304103041130412304133041430415304163041730418304193042030421304223042330424304253042630427304283042930430304313043230433304343043530436304373043830439304403044130442304433044430445304463044730448304493045030451304523045330454304553045630457304583045930460304613046230463304643046530466304673046830469304703047130472304733047430475304763047730478304793048030481304823048330484304853048630487304883048930490304913049230493304943049530496304973049830499305003050130502305033050430505305063050730508305093051030511305123051330514305153051630517305183051930520305213052230523305243052530526305273052830529305303053130532305333053430535305363053730538305393054030541305423054330544305453054630547305483054930550305513055230553305543055530556305573055830559305603056130562305633056430565305663056730568305693057030571305723057330574305753057630577305783057930580305813058230583305843058530586305873058830589305903059130592305933059430595305963059730598305993060030601306023060330604306053060630607306083060930610306113061230613306143061530616306173061830619306203062130622306233062430625306263062730628306293063030631306323063330634306353063630637306383063930640306413064230643306443064530646306473064830649306503065130652306533065430655306563065730658306593066030661306623066330664306653066630667306683066930670306713067230673306743067530676306773067830679306803068130682306833068430685306863068730688306893069030691306923069330694306953069630697306983069930700307013070230703307043070530706307073070830709307103071130712307133071430715307163071730718307193072030721307223072330724307253072630727307283072930730307313073230733307343073530736307373073830739307403074130742307433074430745307463074730748307493075030751307523075330754307553075630757307583075930760307613076230763307643076530766307673076830769307703077130772307733077430775307763077730778307793078030781307823078330784307853078630787307883078930790307913079230793307943079530796307973079830799308003080130802308033080430805308063080730808308093081030811308123081330814308153081630817308183081930820308213082230823308243082530826308273082830829308303083130832308333083430835308363083730838308393084030841308423084330844308453084630847308483084930850308513085230853308543085530856308573085830859308603086130862308633086430865308663086730868308693087030871308723087330874308753087630877308783087930880308813088230883308843088530886308873088830889308903089130892308933089430895308963089730898308993090030901309023090330904309053090630907309083090930910309113091230913309143091530916309173091830919309203092130922309233092430925309263092730928309293093030931309323093330934309353093630937309383093930940309413094230943309443094530946309473094830949309503095130952309533095430955309563095730958309593096030961309623096330964309653096630967309683096930970309713097230973309743097530976309773097830979309803098130982309833098430985309863098730988309893099030991309923099330994309953099630997309983099931000310013100231003310043100531006310073100831009310103101131012310133101431015310163101731018310193102031021310223102331024310253102631027310283102931030310313103231033310343103531036310373103831039310403104131042310433104431045310463104731048310493105031051310523105331054310553105631057310583105931060310613106231063310643106531066310673106831069310703107131072310733107431075310763107731078310793108031081310823108331084310853108631087310883108931090310913109231093310943109531096310973109831099311003110131102311033110431105311063110731108311093111031111311123111331114311153111631117311183111931120311213112231123311243112531126311273112831129311303113131132311333113431135311363113731138311393114031141311423114331144311453114631147311483114931150311513115231153311543115531156311573115831159311603116131162311633116431165311663116731168311693117031171311723117331174311753117631177311783117931180311813118231183311843118531186311873118831189311903119131192311933119431195311963119731198311993120031201312023120331204312053120631207312083120931210312113121231213312143121531216312173121831219312203122131222312233122431225312263122731228312293123031231312323123331234312353123631237312383123931240312413124231243312443124531246312473124831249312503125131252312533125431255312563125731258312593126031261312623126331264312653126631267312683126931270312713127231273312743127531276312773127831279312803128131282312833128431285312863128731288312893129031291312923129331294312953129631297312983129931300313013130231303313043130531306313073130831309313103131131312313133131431315313163131731318313193132031321313223132331324313253132631327313283132931330313313133231333313343133531336313373133831339313403134131342313433134431345313463134731348313493135031351313523135331354313553135631357313583135931360313613136231363313643136531366313673136831369313703137131372313733137431375313763137731378313793138031381313823138331384313853138631387313883138931390313913139231393313943139531396313973139831399314003140131402314033140431405314063140731408314093141031411314123141331414314153141631417314183141931420314213142231423314243142531426314273142831429314303143131432314333143431435314363143731438314393144031441314423144331444314453144631447314483144931450314513145231453314543145531456314573145831459314603146131462314633146431465314663146731468314693147031471314723147331474314753147631477314783147931480314813148231483314843148531486314873148831489314903149131492314933149431495314963149731498314993150031501315023150331504315053150631507315083150931510315113151231513315143151531516315173151831519315203152131522315233152431525315263152731528315293153031531315323153331534315353153631537315383153931540315413154231543315443154531546315473154831549315503155131552315533155431555315563155731558315593156031561315623156331564315653156631567315683156931570315713157231573315743157531576315773157831579315803158131582315833158431585315863158731588315893159031591315923159331594315953159631597315983159931600316013160231603316043160531606316073160831609316103161131612316133161431615316163161731618316193162031621316223162331624316253162631627316283162931630316313163231633316343163531636316373163831639316403164131642316433164431645316463164731648316493165031651316523165331654316553165631657316583165931660316613166231663316643166531666316673166831669316703167131672316733167431675316763167731678316793168031681316823168331684316853168631687316883168931690316913169231693316943169531696316973169831699317003170131702317033170431705317063170731708317093171031711317123171331714317153171631717317183171931720317213172231723317243172531726317273172831729317303173131732317333173431735317363173731738317393174031741317423174331744317453174631747317483174931750317513175231753317543175531756317573175831759317603176131762317633176431765317663176731768317693177031771317723177331774317753177631777317783177931780317813178231783317843178531786317873178831789317903179131792317933179431795317963179731798317993180031801318023180331804318053180631807318083180931810318113181231813318143181531816318173181831819318203182131822318233182431825318263182731828318293183031831318323183331834318353183631837318383183931840318413184231843318443184531846318473184831849318503185131852318533185431855318563185731858318593186031861318623186331864318653186631867318683186931870318713187231873318743187531876318773187831879318803188131882318833188431885318863188731888318893189031891318923189331894318953189631897318983189931900319013190231903319043190531906319073190831909319103191131912319133191431915319163191731918319193192031921319223192331924319253192631927319283192931930319313193231933319343193531936319373193831939319403194131942319433194431945319463194731948319493195031951319523195331954319553195631957319583195931960319613196231963319643196531966319673196831969319703197131972319733197431975319763197731978319793198031981319823198331984319853198631987319883198931990319913199231993319943199531996319973199831999320003200132002320033200432005320063200732008320093201032011320123201332014320153201632017320183201932020320213202232023320243202532026320273202832029320303203132032320333203432035320363203732038320393204032041320423204332044320453204632047320483204932050320513205232053320543205532056320573205832059320603206132062320633206432065320663206732068320693207032071320723207332074320753207632077320783207932080320813208232083320843208532086320873208832089320903209132092320933209432095320963209732098320993210032101321023210332104321053210632107321083210932110321113211232113321143211532116321173211832119321203212132122321233212432125321263212732128321293213032131321323213332134321353213632137321383213932140321413214232143321443214532146321473214832149321503215132152321533215432155321563215732158321593216032161321623216332164321653216632167321683216932170321713217232173321743217532176321773217832179321803218132182321833218432185321863218732188321893219032191321923219332194321953219632197321983219932200322013220232203322043220532206322073220832209322103221132212322133221432215322163221732218322193222032221322223222332224322253222632227322283222932230322313223232233322343223532236322373223832239322403224132242322433224432245322463224732248322493225032251322523225332254322553225632257322583225932260322613226232263322643226532266322673226832269322703227132272322733227432275322763227732278322793228032281322823228332284322853228632287322883228932290322913229232293322943229532296322973229832299323003230132302323033230432305323063230732308323093231032311323123231332314323153231632317323183231932320323213232232323323243232532326323273232832329323303233132332323333233432335323363233732338323393234032341323423234332344323453234632347323483234932350323513235232353323543235532356323573235832359323603236132362323633236432365323663236732368323693237032371323723237332374323753237632377323783237932380323813238232383323843238532386323873238832389323903239132392323933239432395323963239732398323993240032401324023240332404324053240632407324083240932410324113241232413324143241532416324173241832419324203242132422324233242432425324263242732428324293243032431324323243332434324353243632437324383243932440324413244232443324443244532446324473244832449324503245132452324533245432455324563245732458324593246032461324623246332464324653246632467324683246932470324713247232473324743247532476324773247832479324803248132482324833248432485324863248732488324893249032491324923249332494324953249632497324983249932500325013250232503325043250532506325073250832509325103251132512325133251432515325163251732518325193252032521325223252332524325253252632527325283252932530325313253232533325343253532536325373253832539325403254132542325433254432545325463254732548325493255032551325523255332554325553255632557325583255932560325613256232563325643256532566325673256832569325703257132572325733257432575325763257732578325793258032581325823258332584325853258632587325883258932590325913259232593325943259532596325973259832599326003260132602326033260432605326063260732608326093261032611326123261332614326153261632617326183261932620326213262232623326243262532626326273262832629326303263132632326333263432635326363263732638326393264032641326423264332644326453264632647326483264932650326513265232653326543265532656326573265832659326603266132662326633266432665326663266732668326693267032671326723267332674326753267632677326783267932680326813268232683326843268532686326873268832689326903269132692326933269432695326963269732698326993270032701327023270332704327053270632707327083270932710327113271232713327143271532716327173271832719327203272132722327233272432725327263272732728327293273032731327323273332734327353273632737327383273932740327413274232743327443274532746327473274832749327503275132752327533275432755327563275732758327593276032761327623276332764327653276632767327683276932770327713277232773327743277532776327773277832779327803278132782327833278432785327863278732788327893279032791327923279332794327953279632797327983279932800328013280232803328043280532806328073280832809328103281132812328133281432815328163281732818328193282032821328223282332824328253282632827328283282932830328313283232833328343283532836328373283832839328403284132842328433284432845328463284732848328493285032851328523285332854328553285632857328583285932860328613286232863328643286532866328673286832869328703287132872328733287432875328763287732878328793288032881328823288332884328853288632887328883288932890328913289232893328943289532896328973289832899329003290132902329033290432905329063290732908329093291032911329123291332914329153291632917329183291932920329213292232923329243292532926329273292832929329303293132932329333293432935329363293732938329393294032941329423294332944329453294632947329483294932950329513295232953329543295532956329573295832959329603296132962329633296432965329663296732968329693297032971329723297332974329753297632977329783297932980329813298232983329843298532986329873298832989329903299132992329933299432995329963299732998329993300033001330023300333004330053300633007330083300933010330113301233013330143301533016330173301833019330203302133022330233302433025330263302733028330293303033031330323303333034330353303633037330383303933040330413304233043330443304533046330473304833049330503305133052330533305433055330563305733058330593306033061330623306333064330653306633067330683306933070330713307233073330743307533076330773307833079330803308133082330833308433085330863308733088330893309033091330923309333094330953309633097330983309933100331013310233103331043310533106331073310833109331103311133112331133311433115331163311733118331193312033121331223312333124331253312633127331283312933130331313313233133331343313533136331373313833139331403314133142331433314433145331463314733148331493315033151331523315333154331553315633157331583315933160331613316233163331643316533166331673316833169331703317133172331733317433175331763317733178331793318033181331823318333184331853318633187331883318933190331913319233193331943319533196331973319833199332003320133202332033320433205332063320733208332093321033211332123321333214332153321633217332183321933220332213322233223332243322533226332273322833229332303323133232332333323433235332363323733238332393324033241332423324333244332453324633247332483324933250332513325233253332543325533256332573325833259332603326133262332633326433265332663326733268332693327033271332723327333274332753327633277332783327933280332813328233283332843328533286332873328833289332903329133292332933329433295332963329733298332993330033301333023330333304333053330633307333083330933310333113331233313333143331533316333173331833319333203332133322333233332433325333263332733328333293333033331333323333333334333353333633337333383333933340333413334233343333443334533346333473334833349333503335133352333533335433355333563335733358333593336033361333623336333364333653336633367333683336933370333713337233373333743337533376333773337833379333803338133382333833338433385333863338733388333893339033391333923339333394333953339633397333983339933400334013340233403334043340533406334073340833409334103341133412334133341433415334163341733418334193342033421334223342333424334253342633427334283342933430334313343233433334343343533436334373343833439334403344133442334433344433445334463344733448334493345033451334523345333454334553345633457334583345933460334613346233463334643346533466334673346833469334703347133472334733347433475334763347733478334793348033481334823348333484334853348633487334883348933490334913349233493334943349533496334973349833499335003350133502335033350433505335063350733508335093351033511335123351333514335153351633517335183351933520335213352233523335243352533526335273352833529335303353133532335333353433535335363353733538335393354033541335423354333544335453354633547335483354933550335513355233553335543355533556335573355833559335603356133562335633356433565335663356733568335693357033571335723357333574335753357633577335783357933580335813358233583335843358533586335873358833589335903359133592335933359433595335963359733598335993360033601336023360333604336053360633607336083360933610336113361233613336143361533616336173361833619336203362133622336233362433625336263362733628336293363033631336323363333634336353363633637336383363933640336413364233643336443364533646336473364833649336503365133652336533365433655336563365733658336593366033661336623366333664336653366633667336683366933670336713367233673336743367533676336773367833679336803368133682336833368433685336863368733688336893369033691336923369333694336953369633697336983369933700337013370233703337043370533706337073370833709337103371133712337133371433715337163371733718337193372033721337223372333724337253372633727337283372933730337313373233733337343373533736337373373833739337403374133742337433374433745337463374733748337493375033751337523375333754337553375633757337583375933760337613376233763337643376533766337673376833769337703377133772337733377433775337763377733778337793378033781337823378333784337853378633787337883378933790337913379233793337943379533796337973379833799338003380133802338033380433805338063380733808338093381033811338123381333814338153381633817338183381933820338213382233823338243382533826338273382833829338303383133832338333383433835338363383733838338393384033841338423384333844338453384633847338483384933850338513385233853338543385533856338573385833859338603386133862338633386433865338663386733868338693387033871338723387333874338753387633877338783387933880338813388233883338843388533886338873388833889338903389133892338933389433895338963389733898338993390033901339023390333904339053390633907339083390933910339113391233913339143391533916339173391833919339203392133922339233392433925339263392733928339293393033931339323393333934339353393633937339383393933940339413394233943339443394533946339473394833949339503395133952339533395433955339563395733958339593396033961339623396333964339653396633967339683396933970339713397233973339743397533976339773397833979339803398133982339833398433985339863398733988339893399033991339923399333994339953399633997339983399934000340013400234003340043400534006340073400834009340103401134012340133401434015340163401734018340193402034021340223402334024340253402634027340283402934030340313403234033340343403534036340373403834039340403404134042340433404434045340463404734048340493405034051340523405334054340553405634057340583405934060340613406234063340643406534066340673406834069340703407134072340733407434075340763407734078340793408034081340823408334084340853408634087340883408934090340913409234093340943409534096340973409834099341003410134102341033410434105341063410734108341093411034111341123411334114341153411634117341183411934120341213412234123341243412534126341273412834129341303413134132341333413434135341363413734138341393414034141341423414334144341453414634147341483414934150341513415234153341543415534156341573415834159341603416134162341633416434165341663416734168341693417034171341723417334174341753417634177341783417934180341813418234183341843418534186341873418834189341903419134192341933419434195341963419734198341993420034201342023420334204342053420634207342083420934210342113421234213342143421534216342173421834219342203422134222342233422434225342263422734228342293423034231342323423334234342353423634237342383423934240342413424234243342443424534246342473424834249342503425134252342533425434255342563425734258342593426034261342623426334264342653426634267342683426934270342713427234273342743427534276342773427834279342803428134282342833428434285342863428734288342893429034291342923429334294342953429634297342983429934300343013430234303343043430534306343073430834309343103431134312343133431434315343163431734318343193432034321343223432334324343253432634327343283432934330343313433234333343343433534336343373433834339343403434134342343433434434345343463434734348343493435034351343523435334354343553435634357343583435934360343613436234363343643436534366343673436834369343703437134372343733437434375343763437734378343793438034381343823438334384343853438634387343883438934390343913439234393343943439534396343973439834399344003440134402344033440434405344063440734408344093441034411344123441334414344153441634417344183441934420344213442234423344243442534426344273442834429344303443134432344333443434435344363443734438344393444034441344423444334444344453444634447344483444934450344513445234453344543445534456344573445834459344603446134462344633446434465344663446734468344693447034471344723447334474344753447634477344783447934480344813448234483344843448534486344873448834489344903449134492344933449434495344963449734498344993450034501345023450334504345053450634507345083450934510345113451234513345143451534516345173451834519345203452134522345233452434525345263452734528345293453034531345323453334534345353453634537345383453934540345413454234543345443454534546345473454834549345503455134552345533455434555345563455734558345593456034561345623456334564345653456634567345683456934570345713457234573345743457534576345773457834579345803458134582345833458434585345863458734588345893459034591345923459334594345953459634597345983459934600346013460234603346043460534606346073460834609346103461134612346133461434615346163461734618346193462034621346223462334624346253462634627346283462934630346313463234633346343463534636346373463834639346403464134642346433464434645346463464734648346493465034651346523465334654346553465634657346583465934660346613466234663346643466534666346673466834669346703467134672346733467434675346763467734678346793468034681346823468334684346853468634687346883468934690346913469234693346943469534696346973469834699347003470134702347033470434705347063470734708347093471034711347123471334714347153471634717347183471934720347213472234723347243472534726347273472834729347303473134732347333473434735347363473734738347393474034741347423474334744347453474634747347483474934750347513475234753347543475534756347573475834759347603476134762347633476434765347663476734768347693477034771347723477334774347753477634777347783477934780347813478234783347843478534786347873478834789347903479134792347933479434795347963479734798347993480034801348023480334804348053480634807348083480934810348113481234813348143481534816348173481834819348203482134822348233482434825348263482734828348293483034831348323483334834348353483634837348383483934840348413484234843348443484534846348473484834849348503485134852348533485434855348563485734858348593486034861348623486334864348653486634867348683486934870348713487234873348743487534876348773487834879348803488134882348833488434885348863488734888348893489034891348923489334894348953489634897348983489934900349013490234903349043490534906349073490834909349103491134912349133491434915349163491734918349193492034921349223492334924349253492634927349283492934930349313493234933349343493534936349373493834939349403494134942349433494434945349463494734948349493495034951349523495334954349553495634957349583495934960349613496234963349643496534966349673496834969349703497134972349733497434975349763497734978349793498034981349823498334984349853498634987349883498934990349913499234993349943499534996349973499834999350003500135002350033500435005350063500735008350093501035011350123501335014350153501635017350183501935020350213502235023350243502535026350273502835029350303503135032350333503435035350363503735038350393504035041350423504335044350453504635047350483504935050350513505235053350543505535056350573505835059350603506135062350633506435065350663506735068350693507035071350723507335074350753507635077350783507935080350813508235083350843508535086350873508835089350903509135092350933509435095350963509735098350993510035101351023510335104351053510635107351083510935110351113511235113351143511535116351173511835119351203512135122351233512435125351263512735128351293513035131351323513335134351353513635137351383513935140351413514235143351443514535146351473514835149351503515135152351533515435155351563515735158351593516035161351623516335164351653516635167351683516935170351713517235173351743517535176351773517835179351803518135182351833518435185351863518735188351893519035191351923519335194351953519635197351983519935200352013520235203352043520535206352073520835209352103521135212352133521435215352163521735218352193522035221352223522335224352253522635227352283522935230352313523235233352343523535236352373523835239352403524135242352433524435245352463524735248352493525035251352523525335254352553525635257352583525935260352613526235263352643526535266352673526835269352703527135272352733527435275352763527735278352793528035281352823528335284352853528635287352883528935290352913529235293352943529535296352973529835299353003530135302353033530435305353063530735308353093531035311353123531335314353153531635317353183531935320353213532235323353243532535326353273532835329353303533135332353333533435335353363533735338353393534035341353423534335344353453534635347353483534935350353513535235353353543535535356353573535835359353603536135362353633536435365353663536735368353693537035371353723537335374353753537635377353783537935380353813538235383353843538535386353873538835389353903539135392353933539435395353963539735398353993540035401354023540335404354053540635407354083540935410354113541235413354143541535416354173541835419354203542135422354233542435425354263542735428354293543035431354323543335434354353543635437354383543935440354413544235443354443544535446354473544835449354503545135452354533545435455354563545735458354593546035461354623546335464354653546635467354683546935470354713547235473354743547535476354773547835479354803548135482354833548435485354863548735488354893549035491354923549335494354953549635497354983549935500
  1. 2006-02-09 Tim Omernick <timo@apple.com>
  2. Reviewed by Darin Adler.
  3. <rdar://problem/4198378> Crash on a CFRelease when visiting http://www.akella.com/
  4. * Plugins/WebBaseNetscapePluginView.m:
  5. (-[WebBaseNetscapePluginView requestWithURLCString:]):
  6. The true source of this crash is that the URL string is sometimes not NULL-terminated, which is the
  7. Real Player plugin's fault. That has been filed as 4439591.
  8. However, we can be more bulletproof here by switching the URL string encoding from Windows Latin 1
  9. to ISO Latin 1, so that any NULL-terminated string can be represented. (As Darin and I found out
  10. last night, Windows Latin 1 has "holes" in certain character ranges and thus cannot encode arbitrary
  11. C strings).
  12. 2006-02-09 Maciej Stachowiak <mjs@apple.com>
  13. Rubber stamped by Anders.
  14. - Moved all the default delegate classes to their own directory.
  15. * DefaultDelegates: Added.
  16. * DefaultDelegates/WebDefaultContextMenuDelegate.h: Added.
  17. * DefaultDelegates/WebDefaultContextMenuDelegate.m: Added.
  18. * DefaultDelegates/WebDefaultEditingDelegate.h: Added.
  19. * DefaultDelegates/WebDefaultEditingDelegate.m: Added.
  20. * DefaultDelegates/WebDefaultFrameLoadDelegate.h: Added.
  21. * DefaultDelegates/WebDefaultFrameLoadDelegate.m: Added.
  22. * DefaultDelegates/WebDefaultPolicyDelegate.h: Added.
  23. * DefaultDelegates/WebDefaultPolicyDelegate.m: Added.
  24. * DefaultDelegates/WebDefaultResourceLoadDelegate.h: Added.
  25. * DefaultDelegates/WebDefaultResourceLoadDelegate.m: Added.
  26. * DefaultDelegates/WebDefaultScriptDebugDelegate.h: Added.
  27. * DefaultDelegates/WebDefaultScriptDebugDelegate.m: Added.
  28. * DefaultDelegates/WebDefaultUIDelegate.h: Added.
  29. * DefaultDelegates/WebDefaultUIDelegate.m: Added.
  30. * WebKit.xcodeproj/project.pbxproj:
  31. * WebView/WebDefaultContextMenuDelegate.h: Removed.
  32. * WebView/WebDefaultContextMenuDelegate.m: Removed.
  33. * WebView/WebDefaultEditingDelegate.h: Removed.
  34. * WebView/WebDefaultEditingDelegate.m: Removed.
  35. * WebView/WebDefaultFrameLoadDelegate.h: Removed.
  36. * WebView/WebDefaultFrameLoadDelegate.m: Removed.
  37. * WebView/WebDefaultPolicyDelegate.h: Removed.
  38. * WebView/WebDefaultPolicyDelegate.m: Removed.
  39. * WebView/WebDefaultResourceLoadDelegate.h: Removed.
  40. * WebView/WebDefaultResourceLoadDelegate.m: Removed.
  41. * WebView/WebDefaultScriptDebugDelegate.h: Removed.
  42. * WebView/WebDefaultScriptDebugDelegate.m: Removed.
  43. * WebView/WebDefaultUIDelegate.h: Removed.
  44. * WebView/WebDefaultUIDelegate.m: Removed.
  45. 2006-02-08 Justin Garcia <justin.garcia@apple.com>
  46. Original patch by Graham Dennis, reviewed by me:
  47. <http://bugs.webkit.org/show_bug.cgi?id=3982>
  48. webViewDidBeginEditing, webViewDidEndEditing notification methods not called on delegate
  49. Changes made by me, reviewed by thatcher:
  50. Made _setWindowHasFocus: and _setDisplaysWithFocusAttributes: into private SPI to allow
  51. for the testing of window.onFocus, window.onBlur, caret and focus halo painting, and
  52. the focusing of content editable regions that happens as side effect of setting a selection,
  53. but only if the window has focus (7128).
  54. * WebCoreSupport/WebFrameBridge.m:
  55. (-[WebFrameBridge didBeginEditing]):
  56. (-[WebFrameBridge didEndEditing]):
  57. * WebView/WebHTMLView.m:
  58. (-[WebHTMLView updateFocusState]):
  59. (-[WebHTMLView _setWindowHasFocus:]):
  60. (-[WebHTMLView _setDisplaysWithFocusAttributes:]):
  61. * WebView/WebHTMLViewPrivate.h:
  62. 2006-02-08 David Kilzer <ddkilzer@kilzer.net>
  63. Reviewed by Darin.
  64. - Fix http://bugs.webkit.org/show_bug.cgi?id=3527
  65. Allow Safari to open postscript files in browser windows as well
  66. * WebView/WebPDFRepresentation.m:
  67. (+[WebPDFRepresentation postScriptMIMETypes]): Added.
  68. (+[WebPDFRepresentation supportedMIMETypes]): Include PostScript MIME types.
  69. (-[WebPDFRepresentation convertPostScriptDataSourceToPDF:]): Added.
  70. (-[WebPDFRepresentation finishedLoadingWithDataSource:]):
  71. Handle PostScript conversion using new convertPostScriptDataSourceToPDF method.
  72. 2006-02-07 Alexey Proskuryakov <ap@nypop.com>
  73. Reviewed by Timothy.
  74. Convert JavaScript objects to appropriate AppleScript types, instead of only strings
  75. http://bugs.webkit.org/show_bug.cgi?id=7012
  76. Tests: fast/AppleScript/*
  77. * WebView/WebView.m:
  78. (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Added.
  79. * WebView/WebViewPrivate.h:
  80. 2006-02-06 Maciej Stachowiak <mjs@apple.com>
  81. Reviewed by Eric.
  82. - fixed "remove frame, renderer and completed flag from ChildFrame, make Frame track these"
  83. http://bugs.webkit.org/show_bug.cgi?id=7125
  84. - fixed "onload event never called for iframe element with emtpy or about:blank src"
  85. http://bugs.webkit.org/show_bug.cgi?id=3609
  86. * WebCoreSupport/WebFrameBridge.h:
  87. * WebCoreSupport/WebFrameBridge.m:
  88. (-[WebFrameBridge initWithPage:webView:renderer:frameName:view:]): Pass along renderer.
  89. (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]): Pass along renderer.
  90. * WebCoreSupport/WebPageBridge.m:
  91. (-[WebPageBridge initWithMainFrameName:webView:frameView:]): Pass null for renderer.
  92. * WebView/WebView.m:
  93. * WebView/WebViewPrivate.h:
  94. 2006-02-06 John Sullivan <sullivan@apple.com>
  95. Reviewed by Maciej Stachowiak.
  96. * WebView/WebPDFView.m:
  97. (-[WebPDFView menuForEvent:]):
  98. Removed use of WKExecutableLinkedInTigerOrEarlier() by modifying backward-compatibility
  99. hack involving PDF view context menus. Now we only bother to make sure that the PDFKit-
  100. supplied context menu items are present in Safari, for the benefit of the open source
  101. folks using tip of tree WebKit but older released Safari; it's possible that some other
  102. existing WebKit apps won't show all the PDF view context menu items.
  103. 2006-02-06 Maciej Stachowiak <mjs@apple.com>
  104. Remove remaining .subproj references to fix release build.
  105. * WebKit.xcodeproj/project.pbxproj:
  106. 2006-02-06 Maciej Stachowiak <mjs@apple.com>
  107. Rubber stamped by Hyatt.
  108. - renamed subproject directories to not end with .subproj
  109. * Carbon: renamed from Carbon.subproj
  110. * DOM: renamed from DOM.subproj
  111. * History: renamed from History.subproj
  112. * Misc: renamed from Misc.subproj
  113. * Panels: renamed from Panels.subproj
  114. * Plugins: renamed from Plugins.subproj
  115. * WebCoreSupport: renamed from WebCoreSupport.subproj
  116. * WebInspector: renamed from WebInspector.subproj
  117. * WebView: renamed from WebView.subproj
  118. 2006-02-06 Maciej Stachowiak <mjs@apple.com>
  119. Ooops, I made a last-minute change to my last patch that broke the build - fixed.
  120. * WebView.subproj/WebFrame.m:
  121. (-[WebFrame _closeOldDataSources]):
  122. (-[WebFrame _detachFromParent]):
  123. (-[WebFrame _transitionToCommitted:]):
  124. (-[WebFrame _checkLoadCompleteForThisFrame]):
  125. (-[WebFrame _handledOnloadEvents]):
  126. (-[WebFrame _loadItem:withLoadType:]):
  127. (-[WebFrame _goToItem:withLoadType:]):
  128. (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
  129. (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
  130. (-[WebFrame _clientRedirectCancelled:]):
  131. * WebView.subproj/WebFramePrivate.h:
  132. 2006-02-05 Maciej Stachowiak <mjs@apple.com>
  133. Reviewed by Darin.
  134. - shuffle things around so that WebFrame no longer has a WebView backpointer, the backpointer is
  135. at the bridge level.
  136. http://bugs.webkit.org/show_bug.cgi?id=7093
  137. * WebCoreSupport.subproj/WebFrameBridge.h:
  138. * WebCoreSupport.subproj/WebFrameBridge.m:
  139. (-[WebFrameBridge initWithPage:webView:frameName:view:]):
  140. (-[WebFrameBridge page]):
  141. (-[WebFrameBridge mainFrame]):
  142. (-[WebFrameBridge webView]):
  143. (-[WebFrameBridge createWindowWithURL:frameName:]):
  144. (-[WebFrameBridge showWindow]):
  145. (-[WebFrameBridge areToolbarsVisible]):
  146. (-[WebFrameBridge setToolbarsVisible:]):
  147. (-[WebFrameBridge isStatusbarVisible]):
  148. (-[WebFrameBridge setStatusbarVisible:]):
  149. (-[WebFrameBridge setWindowFrame:]):
  150. (-[WebFrameBridge windowFrame]):
  151. (-[WebFrameBridge setWindowContentRect:]):
  152. (-[WebFrameBridge windowContentRect]):
  153. (-[WebFrameBridge setWindowIsResizable:]):
  154. (-[WebFrameBridge windowIsResizable]):
  155. (-[WebFrameBridge firstResponder]):
  156. (-[WebFrameBridge makeFirstResponder:]):
  157. (-[WebFrameBridge closeWindowSoon]):
  158. (-[WebFrameBridge runJavaScriptAlertPanelWithMessage:]):
  159. (-[WebFrameBridge runJavaScriptConfirmPanelWithMessage:]):
  160. (-[WebFrameBridge canRunBeforeUnloadConfirmPanel]):
  161. (-[WebFrameBridge runBeforeUnloadConfirmPanelWithMessage:]):
  162. (-[WebFrameBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
  163. (-[WebFrameBridge addMessageToConsole:]):
  164. (-[WebFrameBridge runOpenPanelForFileButtonWithResultListener:]):
  165. (-[WebFrameBridge setStatusText:]):
  166. (-[WebFrameBridge startLoadingResource:withURL:customHeaders:]):
  167. (-[WebFrameBridge startLoadingResource:withURL:customHeaders:postData:]):
  168. (-[WebFrameBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
  169. (-[WebFrameBridge focusWindow]):
  170. (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
  171. (-[WebFrameBridge userAgentForURL:]):
  172. (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
  173. (-[WebFrameBridge previousKeyViewOutsideWebFrameViews]):
  174. (-[WebFrameBridge defersLoading]):
  175. (-[WebFrameBridge setDefersLoading:]):
  176. (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
  177. (-[WebFrameBridge _preferences]):
  178. (-[WebFrameBridge selectWordBeforeMenuEvent]):
  179. (-[WebFrameBridge historyLength]):
  180. (-[WebFrameBridge canGoBackOrForward:]):
  181. (-[WebFrameBridge goBackOrForward:]):
  182. (-[WebFrameBridge print]):
  183. (-[WebFrameBridge pollForAppletInView:]):
  184. (-[WebFrameBridge respondToChangedContents]):
  185. (-[WebFrameBridge respondToChangedSelection]):
  186. (-[WebFrameBridge undoManager]):
  187. (-[WebFrameBridge issueCutCommand]):
  188. (-[WebFrameBridge issueCopyCommand]):
  189. (-[WebFrameBridge issuePasteCommand]):
  190. (-[WebFrameBridge issuePasteAndMatchStyleCommand]):
  191. (-[WebFrameBridge canPaste]):
  192. (-[WebFrameBridge overrideMediaType]):
  193. (-[WebFrameBridge isEditable]):
  194. (-[WebFrameBridge shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
  195. (-[WebFrameBridge shouldBeginEditing:]):
  196. (-[WebFrameBridge shouldEndEditing:]):
  197. (-[WebFrameBridge windowObjectCleared]):
  198. (-[WebFrameBridge spellCheckerDocumentTag]):
  199. (-[WebFrameBridge isContinuousSpellCheckingEnabled]):
  200. (-[WebFrameBridge didFirstLayout]):
  201. (-[WebFrameBridge dashboardRegionsChanged:]):
  202. (-[WebFrameBridge createModalDialogWithURL:]):
  203. (-[WebFrameBridge canRunModal]):
  204. (-[WebFrameBridge runModal]):
  205. * WebCoreSupport.subproj/WebPageBridge.h:
  206. * WebCoreSupport.subproj/WebPageBridge.m:
  207. (-[WebPageBridge initWithMainFrameName:webView:frameView:]):
  208. (-[WebPageBridge webView]):
  209. * WebView.subproj/WebDataSource.m:
  210. (-[WebDataSource _fileWrapperForURL:]):
  211. (-[WebDataSource _webView]):
  212. (-[WebDataSource _setLoading:]):
  213. (-[WebDataSource _startLoading:]):
  214. (-[WebDataSource _setTitle:]):
  215. (-[WebDataSource _setRequest:]):
  216. (-[WebDataSource _updateIconDatabaseWithURL:]):
  217. (-[WebDataSource _defersCallbacksChanged]):
  218. (-[WebDataSource _setWebFrame:]):
  219. * WebView.subproj/WebDataSourcePrivate.h:
  220. * WebView.subproj/WebFrame.m:
  221. (-[WebFrame _traverseNextFrameStayWithin::]):
  222. (-[WebFrame _detachFromParent]):
  223. (-[WebFrame _setDataSource:]):
  224. (-[WebFrame _loadDataSource:withLoadType:formState:]):
  225. (-[WebFrame _initWithWebFrameView:webView:bridge:]):
  226. (-[WebFrame dealloc]):
  227. (-[WebFrame finalize]):
  228. (-[WebFrame webView]):
  229. * WebView.subproj/WebFrameView.m:
  230. (-[WebFrameView _webView]):
  231. (-[WebFrameView _goBack]):
  232. (-[WebFrameView _goForward]):
  233. * WebView.subproj/WebFrameViewInternal.h:
  234. * WebView.subproj/WebView.m:
  235. (-[WebView _createFrameNamed:inParent:allowsScrolling:]):
  236. (-[WebView _commonInitializationWithFrameName:groupName:]):
  237. 2006-02-04 Darin Adler <darin@apple.com>
  238. Reviewed by Maciej.
  239. * Misc.subproj/WebCoreStatistics.h:
  240. * Misc.subproj/WebCoreStatistics.m:
  241. (+[WebCoreStatistics javaScriptRootObjectTypeCounts]):
  242. javaScriptRootObjecTypeCounts -> javaScriptRootObjectTypeCounts
  243. 2006-02-04 Maciej Stachowiak <mjs@apple.com>
  244. Reviewed by Hyatt.
  245. - change JavaScript collector statistics calls to use HashCountedSet instead
  246. of CFSet; other misc cleanup
  247. http://bugs.webkit.org/show_bug.cgi?id=7072
  248. * Misc.subproj/WebCoreStatistics.h:
  249. * Misc.subproj/WebCoreStatistics.m:
  250. (+[WebCoreStatistics javaScriptProtectedObjectsCount]): new
  251. (+[WebCoreStatistics javaScriptRootObjecTypeCounts]): new
  252. (+[WebCoreStatistics javaScriptRootObjectClasses]): deprecated
  253. (+[WebCoreStatistics javaScriptReferencedObjectsCount]): deprecated
  254. (+[WebCoreStatistics javaScriptNoGCAllowedObjectsCount]): Just return 0. Deprecated.
  255. 2006-02-03 Maciej Stachowiak <mjs@apple.com>
  256. Reviewed by Darin.
  257. - change spellchecker preflighting to happen via class methods instead of
  258. object methods.
  259. * WebView.subproj/WebView.m:
  260. (-[WebView setContinuousSpellCheckingEnabled:]):
  261. (+[WebView _preflightSpellCheckerNow:]):
  262. (+[WebView _preflightSpellChecker]):
  263. 2006-02-03 Timothy Hatcher <timothy@apple.com>
  264. Reviewed by Justin.
  265. Renamed configuration names to Debug, Release and Production.
  266. * WebKit.xcodeproj/project.pbxproj:
  267. 2006-02-02 David Hyatt <hyatt@apple.com>
  268. Fix for bug 6957, rewrite image rendering in C++ and move it to
  269. WebCore. Animation now stops lazily and just uses the CachedObject
  270. notification system to push updates so that rects no longer need to
  271. be cached (or sets of animating renderers in specific views).
  272. Reviewed by darin
  273. * Misc.subproj/WebNSPasteboardExtras.h:
  274. * Misc.subproj/WebNSPasteboardExtras.m:
  275. (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]):
  276. (-[NSPasteboard _web_declareAndWriteDragImage:element:URL:title:archive:source:]):
  277. * Misc.subproj/WebNSViewExtras.h:
  278. * Misc.subproj/WebNSViewExtras.m:
  279. (-[NSView _web_dragImage:element:rect:event:pasteboard:source:offset:]):
  280. * WebCoreSupport.subproj/WebImageData.m:
  281. (-[WebImageData init]):
  282. * WebCoreSupport.subproj/WebImageRendererFactory.m:
  283. (+[WebImageRendererFactory shouldUseThreadedDecoding]):
  284. (+[WebImageRendererFactory setShouldUseThreadedDecoding:]):
  285. (-[WebImageRendererFactory setPatternPhaseForContext:inUserSpace:]):
  286. (-[WebImageRendererFactory imageDataForName:]):
  287. * WebView.subproj/WebHTMLView.m:
  288. (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
  289. (-[NSArray elementAtPoint:]):
  290. * WebView.subproj/WebImageView.m:
  291. (-[WebImageView writeImageToPasteboard:types:]):
  292. (-[WebImageView elementAtPoint:]):
  293. (-[WebImageView mouseDragged:]):
  294. * WebView.subproj/WebView.m:
  295. (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]):
  296. 2006-01-31 John Sullivan <sullivan@apple.com>
  297. Reviewed by Tim Omernick.
  298. - fixed <rdar://problem/4267144> REGRESSION (10.4.2): Safari pages auto-scroll too easily
  299. during drag over content [5853]
  300. There were two issues here:
  301. (1) dragging over a non-editable webview (such as a typical Safari page) should not have
  302. auto-scrolled at all; the fact that it did was an uninentional side effect of making
  303. auto-scroll work for editable webviews a la Blot.
  304. (2) the speed & hot area of the auto-scroll changed between 10.4.1 and 10.4.2.
  305. I have a fix for (1), which is the much more important issue. I'll modify the bugzilla bug
  306. to be about the remaining issue.
  307. * WebView.subproj/WebView.m:
  308. (-[WebView _autoscrollForDraggingInfo:timeDelta:]):
  309. do nothing if not editable
  310. (-[WebView _shouldAutoscrollForDraggingInfo:]):
  311. return NO if not editable
  312. 2006-01-31 John Sullivan <sullivan@apple.com>
  313. Reviewed by Tim Omernick.
  314. Support for programmatic scrolling one line at a time for PDFs. (We already had support for
  315. programmatic scrolling one page at a time, and to top/end.)
  316. * WebView.subproj/WebPDFView.m:
  317. (-[WebPDFView _fakeKeyEventWithFunctionKey:]):
  318. generalized comment
  319. (-[WebPDFView scrollLineDown:]):
  320. pass a faked arrow-down key event
  321. (-[WebPDFView scrollLineUp:]):
  322. pass a faked arrow-up key event
  323. 2006-01-31 Darin Adler <darin@apple.com>
  324. Reviewed by Hyatt.
  325. * WebCoreSupport.subproj/WebFrameBridge.m:
  326. (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
  327. Updated for name change.
  328. 2006-01-30 Timothy Hatcher <timothy@apple.com>
  329. Reviewed by Tim O.
  330. Add -Wno-deprecated-declarations to the compile flags for WebNetscapePluginPackage.m.
  331. <rdar://problem/4427068> LMGetCurApRefNum, CloseConnection and GetDiskFragment now deprecated.
  332. When we workaround these we can remove this compile flag.
  333. * WebKit.xcodeproj/project.pbxproj:
  334. 2006-01-30 Timothy Hatcher <timothy@apple.com>
  335. Reviewed by Justin.
  336. Remove the only use of -[NSFont glyphPacking]. This method was deprecated in Tiger
  337. and always returns NSNativeShortGlyphPacking.
  338. * WebCoreSupport.subproj/WebTextRenderer.m:
  339. (-[WebTextRenderer initWithFont:]):
  340. 2006-01-28 David Hyatt <hyatt@apple.com>
  341. Clean up RenderImage, eliminating unneeded members and methods.
  342. Reviewed by darin
  343. * WebCoreSupport.subproj/WebImageRenderer.h:
  344. * WebCoreSupport.subproj/WebImageRenderer.m:
  345. (-[WebImageRenderer copyWithZone:]):
  346. (-[WebImageRenderer size]):
  347. (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
  348. 2006-01-26 Tim Omernick <timo@apple.com>
  349. Reviewed by John Sullivan.
  350. <rdar://problem/4422365>
  351. * WebView.subproj/WebHTMLView.m:
  352. (-[NSArray addSuperviewObservers]):
  353. In addition to registering for frame/bounds change notifications, call -_frameOrBoundsChanged.
  354. It will check the current size/scroll against the previous layout's size/scroll. We need to
  355. do this here to catch the case where the WebView is laid out at one size, removed from its
  356. window, resized, and inserted into another window. Our frame/bounds changed notifications
  357. will not be sent in that situation, since we only watch for changes while in the view hierarchy.
  358. I have verified that this does not cause unnecessary layouts while running the PLT.
  359. 2006-01-25 Vicki Murley <vicki@apple.com>
  360. Reviewed by Beth Dakin.
  361. - fix <rdar://problem/4351664> REGRESSION (420+): extra URL in b/f list - navigating back to
  362. previous page fails at apple.com/retail/)
  363. * WebView.subproj/WebFrame.m:
  364. (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): grab the
  365. redirect flag of the current load before calling _loadURL, which clears this flag,
  366. (-[WebFrame _transitionToCommitted:]): remove misleading comment
  367. * History.subproj/WebHistoryItem.m:
  368. (-[WebHistoryItem setURL:]): release resources in the page cache when setting
  369. the URL on a WebHistoryItem
  370. 2006-01-25 Timothy Hatcher <timothy@apple.com>
  371. Move off of -[NSFont widthOfString:] since it is now deprecated.
  372. Use the NSStringDrawing -[NSString sizeWithAttributes:] API.
  373. * WebCoreSupport.subproj/WebFileButton.m:
  374. (-[WebFileChooserButton bestVisualFrameSizeForCharacterCount:]):
  375. 2006-01-23 Darin Adler <darin@apple.com>
  376. - fixed some small localizable strings issues
  377. * WebInspector.subproj/WebInspector.m:
  378. (-[DOMNode _nodeTypeName]): Changed so we don't have two localizable strings that
  379. are both "Document". I'm not sure we want to localize the DOM inspector UI at all,
  380. but this fixes things for now.
  381. (-[DOMNode _displayName]): Ditto.
  382. * English.lproj/Localizable.strings: Updated.
  383. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  384. 2006-01-23 Justin Garcia <justin.garcia@apple.com>
  385. Reviewed by thatcher
  386. Turned on -O2 for B&I build.
  387. * WebKit.xcodeproj/project.pbxproj:
  388. 2006-01-22 Timothy Hatcher <timothy@apple.com>
  389. Reviewed by Anders Carlsson.
  390. Makes the Inspector's Style pane take !important into account
  391. when marking overloaded properties.
  392. * WebInspector.subproj/webInspector/inspector.js:
  393. 2006-01-21 Timothy Hatcher <timothy@apple.com>
  394. Reviewed by Anders Carlsson.
  395. Make sure shorthand properties get striked-out if
  396. all the properties they expand into are overloaded.
  397. * WebInspector.subproj/webInspector/inspector.js:
  398. 2006-01-21 Timothy Hatcher <timothy@apple.com>
  399. Reviewed by Darin.
  400. Adds computed style to the Web Inspector.
  401. Adds a "mapped style" link to the mapped attributes.
  402. * WebInspector.subproj/webInspector/inspector.css:
  403. * WebInspector.subproj/webInspector/inspector.html:
  404. * WebInspector.subproj/webInspector/inspector.js:
  405. 2006-01-20 Timothy Hatcher <timothy@apple.com>
  406. Reviewed by John, some parts by Darin.
  407. Removes the old WebDebugDOMNode code, superseded by the ObjC DOM and the Web Inspector.
  408. Since Safari 2.0 still relies on these classes for the Debug menu's "Show DOM Tree", we remove
  409. that menu item to prevent a crash.
  410. * WebKit.exp: adds WebInspector, removes WebDebugDOMNode
  411. * WebKit.xcodeproj/project.pbxproj: added the REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM define so the new WebView code doesn't build in the Default config
  412. * WebView.subproj/WebDebugDOMNode.h: Removed.
  413. * WebView.subproj/WebDebugDOMNode.m: Removed.
  414. * WebView.subproj/WebView.m:
  415. (+[WebView initialize]): check if we are in Safari and IncludeDebugMenu is true then observe for NSApplicationDidFinishLaunchingNotification and call _finishedLaunching
  416. (+[WebView _finishedLaunching]): observe for NSMenuDidAddItemNotification now that the main menu is loaded and wait for the Debug menu to be added
  417. (+[WebView _removeDOMTreeMenuItem:]): when the debug menu is added remove the "Show DOM Tree" item
  418. 2006-01-20 Timothy Hatcher <timothy@apple.com>
  419. Reviewed by Hyatt.
  420. Corrects the cascade order for mapped attributes.
  421. Shows "inline stylesheet" rather than "null" for rules in <style> tags.
  422. * WebInspector.subproj/webInspector/inspector.js:
  423. 2006-01-19 Timothy Hatcher <timothy@apple.com>
  424. Reviewed by Eric.
  425. Adds inline style reporting and mapped attribute support to the Inspector Style pane.
  426. Cleans up the node attributes area with a more natural attr = "value" look.
  427. Slight optimization to only update visible scrollbars during a window resize.
  428. * WebInspector.subproj/webInspector/inspector.css:
  429. * WebInspector.subproj/webInspector/inspector.js:
  430. 2006-01-19 Timothy Hatcher <timothy@apple.com>
  431. Reviewed by Darin.
  432. http://bugs.webkit.org/show_bug.cgi?id=6631
  433. Inspector window has inappropriate maximum height
  434. * WebInspector.subproj/WebInspector.m:
  435. (-[WebInspector window]): removes the maximum size constraint
  436. 2006-01-19 John Sullivan <sullivan@apple.com>
  437. Reviewed by Tim Omernick.
  438. * WebKit.xcodeproj/project.pbxproj:
  439. made WebNSUserDefaultsExtras.h private (SPI) so its one method can be called from
  440. Safari, so Safari can stop calling the similar method in Foundation.
  441. 2006-01-19 John Sullivan <sullivan@apple.com>
  442. Reviewed by Tim Omernick.
  443. Made _webKit_guessedMIMEType SPI so Safari can use it in order to stop using
  444. the similar SPI method in Foundation. This involved splitting it out of the file
  445. it was in, to avoid creating any other new SPI here. Poor svn diff got mighty
  446. confused in the process.
  447. * Misc.subproj/WebNSDataExtras.h:
  448. removed _webkit_guessedMIMEType from here
  449. * Misc.subproj/WebNSDataExtrasPrivate.h:
  450. Added. Contains only _webkit_guessedMIMEType. This file is private (SPI), whereas
  451. WebNSDataExtras.h is project-internal. I could have renamed WebNSDateExtras.h to
  452. WebNSDateExtrasInternal.h also, but I minimized the gratuitous change level here
  453. by not doing that.
  454. * Misc.subproj/WebNSDataExtras.m:
  455. Despite the great confusion of svn diff, all I actually did here was move
  456. _webkit_guessedMIMEType and its helper _webkit_guessedMIMETypeForXML into a new
  457. category. No lines of code were harmed while creating this patch.
  458. * WebKit.xcodeproj/project.pbxproj:
  459. updated for new file
  460. * WebView.subproj/WebView.m:
  461. Added #import for new file since WebView uses _webkit_guessedMIMEType
  462. 2006-01-19 John Sullivan <sullivan@apple.com>
  463. Reviewed by Tim Omernick.
  464. * Misc.subproj/WebNSURLExtras.h:
  465. added declaration of _webkit_rangeOfURLScheme so Safari can call it as a step
  466. towards weaning Safari from Foundation SPI.
  467. 2006-01-17 Justin Garcia <justin.garcia@apple.com>
  468. Reviewed by eric
  469. Deployment builds now use -O2
  470. * WebKit.xcodeproj/project.pbxproj:
  471. 2006-01-17 Beth Dakin <bdakin@apple.com>
  472. Reviewed by Darin.
  473. Fix for <rdar://problem/4112029> With Quartz scaling on, Safari incorrectly
  474. handles mouseover effects
  475. The location of an event in the window should be converted to the superview
  476. of the contentView to do accurate hitTesting.
  477. * WebView.subproj/WebHTMLView.m:
  478. (-[WebHTMLView _updateMouseoverWithEvent:]): Convert the point to the
  479. contentView's superview from nil.
  480. 2006-01-16 Timothy Hatcher <timothy@apple.com>
  481. Rubber stamped by Maciej.
  482. Check for a new "WebKitDeveloperExtras" default when
  483. including the "Inspect Element" context menu item.
  484. We should retire the other one eventually.
  485. * WebView.subproj/WebView.m:
  486. (-[WebView _menuForElement:defaultItems:]):
  487. 2006-01-17 Anders Carlsson <andersca@mac.com>
  488. Reviewed by Timothy Hatcher.
  489. - http://bugs.webkit.org/show_bug.cgi?id=6594
  490. Web Inspector: finish node attributes
  491. * WebInspector.subproj/webInspector/inspector.css:
  492. * WebInspector.subproj/webInspector/inspector.html:
  493. * WebInspector.subproj/webInspector/inspector.js:
  494. Add initial support for element attributes.
  495. 2006-01-16 John Sullivan <sullivan@apple.com>
  496. Reviewed by Vicki Murley.
  497. - fixed <rdar://problem/4409288> REGRESSION (TOT): When no selection is present on page,
  498. Jump to Selection doesn't beep
  499. * WebView.subproj/WebHTMLView.m:
  500. (-[WebHTMLView _hasInsertionPoint]):
  501. new helper method
  502. (-[NSArray validateUserInterfaceItem:]):
  503. Don't validate this menu item (or a couple of others) if the selection is a caret and
  504. the page isn't editable. In that state, there is no visible selection so this menu item
  505. doesn't make sense. I suspect this was broken by some editing-related change that makes
  506. selectionState return WebSelectionStateCaret here where it used to return WebSelectionStateNone.
  507. 2006-01-16 Tim Omernick <timo@apple.com>
  508. Reviewed by John Sullivan.
  509. WebKit part of <rdar://problem/4211707> NPAPI ref count behavior differs with Mozilla
  510. * Plugins.subproj/WebBaseNetscapePluginView.m:
  511. (-[WebBaseNetscapePluginView getVariable:value:]):
  512. The returned window script object is expected to be retained, as described here:
  513. <http://www.mozilla.org/projects/plugins/npruntime.html#browseraccess>
  514. 2006-01-16 Anders Carlsson <andersca@mac.com>
  515. Reviewed by Darin.
  516. * WebInspector.subproj/webInspector/inspector.js:
  517. Use defined NodeType values instead of integers.
  518. 2006-01-15 Timothy Hatcher <timothy@apple.com>
  519. Reviewed by Darin.
  520. New DOM Inspector that lives in WebKit and is accessible from any WebView.
  521. Accessible from a contextual menu when the WebKitEnableInspectElementContextMenuItem default is
  522. true or you have a development build. Browsing the tree, serialized HTML and CSS rules work.
  523. To always enable enter the following in the Terminal (change the bundle id to affect other WebKit apps):
  524. defaults write com.apple.Safari WebKitEnableInspectElementContextMenuItem -bool true
  525. http://bugs.webkit.org/show_bug.cgi?id=6571
  526. * English.lproj/Localizable.strings:
  527. * English.lproj/StringsNotToBeLocalized.txt: reorder of the entries
  528. * Misc.subproj/WebKitNSStringExtras.h:
  529. * Misc.subproj/WebKitNSStringExtras.m:
  530. (-[NSString _webkit_stringByCollapsingWhitespaceCharacters]): collapses consecutive whitespace into a single space
  531. * WebCoreSupport.subproj/WebFrameBridge.m:
  532. (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): cleanup
  533. (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): call the new UI delegate method
  534. * WebInspector.subproj: Added.
  535. * WebInspector.subproj/WebInspector.h: Added.
  536. * WebInspector.subproj/WebInspector.m: Added.
  537. (+[WebInspector sharedWebInspector]):
  538. (-[WebInspector init]):
  539. (-[WebInspector initWithWebFrame:]):
  540. (-[WebInspector dealloc]):
  541. (-[WebInspector window]):
  542. (-[WebInspector windowDidLoad]):
  543. (-[WebInspector windowWillClose:]):
  544. (-[WebInspector showWindow:]):
  545. (-[WebInspector setWebFrame:]):
  546. (-[WebInspector webFrame]):
  547. (-[WebInspector setRootDOMNode:]):
  548. (-[WebInspector rootDOMNode]):
  549. (-[WebInspector setFocusedDOMNode:]):
  550. (-[WebInspector focusedDOMNode]):
  551. (-[WebInspector setSearchQuery:]):
  552. (-[WebInspector searchQuery]):
  553. (-[WebInspector searchResults]):
  554. (-[WebInspector showOptionsMenu]):
  555. (-[WebInspector selectNewRoot:]):
  556. (-[WebInspector resizeTopArea:]):
  557. (-[WebInspector treeViewScrollTo:]):
  558. (-[WebInspector treeViewOffsetTop]):
  559. (-[WebInspector treeViewScrollHeight]):
  560. (-[WebInspector traverseTreeBackward]):
  561. (-[WebInspector traverseTreeForward]):
  562. (-[WebInspector _toggleIgnoreWhitespace:]):
  563. (-[WebInspector _highlightNode:]):
  564. (-[WebInspector _nodeHighlightExpired:]):
  565. (-[WebInspector _focusRootNode:]):
  566. (-[WebInspector _revealAndSelectNodeInTree:]):
  567. (-[WebInspector _showSearchResults:]):
  568. (-[WebInspector _refreshSearch]):
  569. (-[WebInspector _update]):
  570. (-[WebInspector _updateRoot]):
  571. (-[WebInspector _updateTreeScrollbar]):
  572. (+[WebInspector isSelectorExcludedFromWebScript:]):
  573. (+[WebInspector webScriptNameForSelector:]):
  574. (+[WebInspector isKeyExcludedFromWebScript:]):
  575. (-[WebInspector handleEvent:]):
  576. (-[WebInspector webView:didFinishLoadForFrame:]):
  577. (-[WebInspector webView:plugInViewWithArguments:]):
  578. (-[WebInspector outlineView:numberOfChildrenOfItem:]):
  579. (-[WebInspector outlineView:isItemExpandable:]):
  580. (-[WebInspector outlineView:child:ofItem:]):
  581. (-[WebInspector outlineView:objectValueForTableColumn:byItem:]):
  582. (-[WebInspector outlineView:willDisplayOutlineCell:forTableColumn:item:]):
  583. (-[WebInspector outlineViewItemDidCollapse:]):
  584. (-[WebInspector outlineViewSelectionDidChange:]):
  585. (-[WebInspectorPrivate dealloc]):
  586. (-[DOMHTMLElement _addClassName:]): Helper method for the Inspector to append style classes
  587. (-[DOMHTMLElement _removeClassName:]): Helper method for the Inspector to remove style classes
  588. (-[DOMNode _contentPreview]):
  589. (-[DOMNode _isAncestorOfNode:]):
  590. (-[DOMNode _isDescendantOfNode:]):
  591. (-[DOMNode _isWhitespace]):
  592. (-[DOMNode _lengthOfChildNodesIgnoringWhitespace]):
  593. (-[DOMNode _childNodeAtIndexIgnoringWhitespace:]):
  594. (-[DOMNode _nextSiblingSkippingWhitespace]):
  595. (-[DOMNode _previousSiblingSkippingWhitespace]):
  596. (-[DOMNode _firstChildSkippingWhitespace]):
  597. (-[DOMNode _lastChildSkippingWhitespace]):
  598. (-[DOMNode _firstAncestorCommonWithNode:]):
  599. (-[DOMNode _traverseNextNodeStayingWithin:]):
  600. (-[DOMNode _traverseNextNodeSkippingWhitespaceStayingWithin:]):
  601. (-[DOMNode _traversePreviousNode]):
  602. (-[DOMNode _traversePreviousNodeSkippingWhitespace]):
  603. (-[DOMNode _nodeTypeName]):
  604. (-[DOMNode _shortDisplayName]):
  605. (-[DOMNode _displayName]):
  606. * WebInspector.subproj/WebInspectorInternal.h: Added.
  607. * WebInspector.subproj/WebInspectorOutlineView.h: Added.
  608. * WebInspector.subproj/WebInspectorOutlineView.m: Added.
  609. (-[WebInspectorOutlineView isOpaque]):
  610. (-[WebInspectorOutlineView _highlightColorForCell:]):
  611. (-[WebInspectorOutlineView _highlightRow:clipRect:]):
  612. (-[WebInspectorOutlineView drawBackgroundInClipRect:]):
  613. * WebInspector.subproj/WebInspectorPanel.h: Added.
  614. * WebInspector.subproj/WebInspectorPanel.m: Added.
  615. (-[WebInspectorPanel canBecomeKeyWindow]):
  616. (-[WebInspectorPanel canBecomeMainWindow]):
  617. (-[WebInspectorPanel moveWindow:]):
  618. (-[WebInspectorPanel resizeWindow:]):
  619. (-[WebInspectorPanel sendEvent:]):
  620. * WebInspector.subproj/WebNodeHighlight.h: Added.
  621. * WebInspector.subproj/WebNodeHighlight.m: Added.
  622. (-[WebNodeHighlight initWithBounds:andRects:forView:]):
  623. (-[WebNodeHighlight dealloc]):
  624. (-[WebNodeHighlight fractionComplete]):
  625. (-[WebNodeHighlight expire]):
  626. (-[WebNodeHighlight redraw:]):
  627. * WebInspector.subproj/WebNodeHighlightView.h: Added.
  628. * WebInspector.subproj/WebNodeHighlightView.m: Added.
  629. (-[WebNodeHighlightView roundedRect:withRadius:]):
  630. (-[WebNodeHighlightView initWithHighlight:andRects:forView:]):
  631. (-[WebNodeHighlightView dealloc]):
  632. (-[WebNodeHighlightView isOpaque]):
  633. (-[WebNodeHighlightView drawRect:]):
  634. * WebInspector.subproj/webInspector: Added.
  635. * WebInspector.subproj/webInspector/Images: Added.
  636. * WebInspector.subproj/webInspector/Images/close.png: Added.
  637. * WebInspector.subproj/webInspector/Images/closePressed.png: Added.
  638. * WebInspector.subproj/webInspector/Images/downTriangle.png: Added.
  639. * WebInspector.subproj/webInspector/Images/menu.png: Added.
  640. * WebInspector.subproj/webInspector/Images/menuPressed.png: Added.
  641. * WebInspector.subproj/webInspector/Images/popupFill.png: Added.
  642. * WebInspector.subproj/webInspector/Images/popupFillPressed.png: Added.
  643. * WebInspector.subproj/webInspector/Images/popupLeft.png: Added.
  644. * WebInspector.subproj/webInspector/Images/popupLeftPressed.png: Added.
  645. * WebInspector.subproj/webInspector/Images/popupRight.png: Added.
  646. * WebInspector.subproj/webInspector/Images/popupRightPressed.png: Added.
  647. * WebInspector.subproj/webInspector/Images/rightTriangle.png: Added.
  648. * WebInspector.subproj/webInspector/Images/scrollThumbBottom.png: Added.
  649. * WebInspector.subproj/webInspector/Images/scrollThumbMiddle.png: Added.
  650. * WebInspector.subproj/webInspector/Images/scrollThumbTop.png: Added.
  651. * WebInspector.subproj/webInspector/Images/scrollTrackBottom.png: Added.
  652. * WebInspector.subproj/webInspector/Images/scrollTrackMiddle.png: Added.
  653. * WebInspector.subproj/webInspector/Images/scrollTrackTop.png: Added.
  654. * WebInspector.subproj/webInspector/Images/squareButtonRight.png: Added.
  655. * WebInspector.subproj/webInspector/Images/squareButtonRightPressed.png: Added.
  656. * WebInspector.subproj/webInspector/Images/upTriangle.png: Added.
  657. * WebInspector.subproj/webInspector/inspector.css: Added.
  658. * WebInspector.subproj/webInspector/inspector.html: Added.
  659. * WebInspector.subproj/webInspector/inspector.js: Added.
  660. * WebKit.xcodeproj/project.pbxproj: Adds Web Inspector files
  661. * WebView.subproj/WebUIDelegatePrivate.h: new UI delegate method to supply a replacement view for plugins
  662. * WebView.subproj/WebView.m:
  663. (-[WebView _menuForElement:defaultItems:]): Add a new context menu item for inspecting
  664. (-[WebView _inspectElement:]): Context menu item target for inspecting
  665. 2006-01-14 Alexey Proskuryakov <ap@nypop.com>
  666. Reviewed by Darin.
  667. - Fix http://bugs.webkit.org/show_bug.cgi?id=6531
  668. document.cookie="killmenothing" doesn't set the cookie
  669. * WebCoreSupport.subproj/WebCookieAdapter.m: (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):
  670. Append an '=' to the cookie string if it has none, so that
  671. +[NSHTTPCookie cookiesWithResponseHeaderFields:forURL:] can parse it.
  672. 2006-01-14 Maciej Stachowiak <mjs@apple.com>
  673. Reviewed by Eric.
  674. - added bridging infrastructure for Page class
  675. * WebCoreSupport.subproj/WebPageBridge.h: Added.
  676. * WebCoreSupport.subproj/WebPageBridge.m: Added.
  677. (-[WebPageBridge initWithMainFrameName:view:]): New class, somewhat obvious.
  678. * WebKit.xcodeproj/project.pbxproj:
  679. * WebView.subproj/WebView.m:
  680. (-[WebViewPrivate dealloc]): Don't use _mainFrameBrige, use _pageBridge
  681. (-[WebView _close]): ditto
  682. (-[WebView _commonInitializationWithFrameName:groupName:]): ditto
  683. (-[WebView mainFrame]): ditto
  684. 2006-01-12 Maciej Stachowiak <mjs@apple.com>
  685. Rubber stamped by Eric.
  686. - rename WebBridge to WebFrameBridge
  687. - also removed all tabs from WebFrameBridge.m
  688. * DOM.subproj/WebDOMOperations.m:
  689. (-[DOMNode _bridge]):
  690. (-[DOMNode webArchive]):
  691. (-[DOMRange _bridge]):
  692. (-[DOMRange webArchive]):
  693. * DOM.subproj/WebDOMOperationsPrivate.h:
  694. * English.lproj/StringsNotToBeLocalized.txt:
  695. * Misc.subproj/WebCoreStatistics.m:
  696. * Misc.subproj/WebNSViewExtras.h:
  697. * Misc.subproj/WebNSViewExtras.m:
  698. (-[NSView _bridge]):
  699. * Plugins.subproj/WebBaseNetscapePluginView.m:
  700. * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
  701. * Plugins.subproj/WebNetscapePluginStream.m:
  702. (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
  703. * Plugins.subproj/WebPluginContainerCheck.m:
  704. (-[WebPluginContainerCheck _isForbiddenFileLoad]):
  705. * Plugins.subproj/WebPluginController.h:
  706. * Plugins.subproj/WebPluginController.m:
  707. (-[WebPluginController bridge]):
  708. * WebCoreSupport.subproj/WebBridge.h: Removed.
  709. * WebCoreSupport.subproj/WebBridge.m: Removed.
  710. * WebCoreSupport.subproj/WebFileButton.h:
  711. * WebCoreSupport.subproj/WebFileButton.m:
  712. (-[WebFileChooserButton initWithBridge:delegate:]):
  713. * WebCoreSupport.subproj/WebFrameBridge.h: Added.
  714. * WebCoreSupport.subproj/WebFrameBridge.m: Added.
  715. (-[WebFrameBridge mainFrame]):
  716. (-[WebFrameBridge createWindowWithURL:frameName:]):
  717. (-[WebFrameBridge canTargetLoadInFrame:]):
  718. (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
  719. (formDelegate):
  720. (-[WebFrameBridge createModalDialogWithURL:]):
  721. * WebCoreSupport.subproj/WebSubresourceLoader.m:
  722. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  723. * WebCoreSupport.subproj/WebViewFactory.m:
  724. (-[WebViewFactory bridgeForView:]):
  725. * WebKit.xcodeproj/project.pbxproj:
  726. * WebView.subproj/WebDataSource.m:
  727. (-[WebDataSource _bridge]):
  728. (-[WebDataSource _receivedMainResourceError:complete:]):
  729. (-[WebDataSource _stringWithData:]):
  730. * WebView.subproj/WebDataSourcePrivate.h:
  731. * WebView.subproj/WebDebugDOMNode.m:
  732. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  733. * WebView.subproj/WebFrame.m:
  734. (-[WebFrame _traverseNextFrameStayWithin::]):
  735. (Frame):
  736. (-[WebFrame _detachFromParent]):
  737. (-[WebFrame _bridge]):
  738. (-[WebFrame _initWithWebFrameView:webView:bridge:]):
  739. * WebView.subproj/WebFrameInternal.h:
  740. * WebView.subproj/WebFramePrivate.h:
  741. * WebView.subproj/WebFrameView.m:
  742. (-[WebFrameView webCoreBridge]):
  743. (-[WebFrameView _bridge]):
  744. * WebView.subproj/WebHTMLRepresentation.m:
  745. (+[WebHTMLRepresentation supportedMIMETypes]):
  746. (-[WebHTMLRepresentation _bridge]):
  747. (-[WebHTMLRepresentation documentSource]):
  748. * WebView.subproj/WebHTMLRepresentationPrivate.h:
  749. * WebView.subproj/WebHTMLView.m:
  750. (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
  751. (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]):
  752. (-[WebHTMLView updateFocusState]):
  753. (-[NSArray validateUserInterfaceItem:]):
  754. (-[NSArray attributedString]):
  755. (-[NSArray selectedAttributedString]):
  756. (-[NSArray concludeDragForDraggingInfo:actionMask:]):
  757. (-[NSArray keyDown:]):
  758. (-[NSArray _alterCurrentSelection:direction:granularity:]):
  759. (-[NSArray _alterCurrentSelection:verticalDistance:]):
  760. (-[NSArray _expandSelectionToGranularity:]):
  761. (-[NSArray cut:]):
  762. (-[NSArray _applyStyleToSelection:withUndoAction:]):
  763. (-[NSArray _applyParagraphStyleToSelection:withUndoAction:]):
  764. (-[NSArray pasteAsPlainText:]):
  765. (-[NSArray insertNewline:]):
  766. (-[NSArray insertLineBreak:]):
  767. (-[NSArray insertParagraphSeparator:]):
  768. (-[NSArray _changeWordCaseWithSelector:]):
  769. (-[NSArray startSpeaking:]):
  770. (-[NSArray selectToMark:]):
  771. (-[NSArray swapWithMark:]):
  772. (-[NSArray transpose:]):
  773. (-[WebHTMLView characterIndexForPoint:]):
  774. (-[WebHTMLView firstRectForCharacterRange:]):
  775. (-[WebHTMLView selectedRange]):
  776. (-[WebHTMLView attributedSubstringFromRange:]):
  777. (-[WebHTMLView _selectMarkedText]):
  778. (-[WebHTMLView _selectRangeInMarkedText:]):
  779. (-[WebHTMLView setMarkedText:selectedRange:]):
  780. (-[WebHTMLView _selectionIsInsideMarkedText]):
  781. (-[WebTextCompleteController _insertMatch:]):
  782. (-[WebTextCompleteController doCompletion]):
  783. (-[WebTextCompleteController endRevertingChange:moveLeft:]):
  784. * WebView.subproj/WebHTMLViewPrivate.h:
  785. * WebView.subproj/WebImageView.m:
  786. * WebView.subproj/WebMainResourceLoader.m:
  787. * WebView.subproj/WebRenderNode.m:
  788. * WebView.subproj/WebResource.m:
  789. (-[WebResource _stringValue]):
  790. * WebView.subproj/WebScriptDebugDelegate.m:
  791. * WebView.subproj/WebTextView.m:
  792. * WebView.subproj/WebView.m:
  793. (-[WebView _createFrameNamed:inParent:allowsScrolling:]):
  794. (-[WebView _commonInitializationWithFrameName:groupName:]):
  795. (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
  796. (-[WebView moveDragCaretToPoint:]):
  797. (-[WebView shouldClose]):
  798. (-[WebView editableDOMRangeForPoint:]):
  799. (-[WebView setEditable:]):
  800. (-[WebView deleteSelection]):
  801. (-[WebView _bridgeForSelectedOrMainFrame]):
  802. (-[WebView _bridgeAtPoint:]):
  803. 2006-01-13 Darin Adler <darin@apple.com>
  804. - Replaced tabs with spaces in source files that had less than 10 lines with tabs.
  805. - Set allow-tabs Subversion property in source files that have more than 10 lines with tabs.
  806. 2006-01-12 John Sullivan <sullivan@apple.com>
  807. Reviewed by Tim O.
  808. - fixed <rdar://problem/4406994> REGRESSION (TOT): zooming window at cnn.com
  809. makes window fill width of screen
  810. * WebView.subproj/WebFrameView.m:
  811. (-[WebFrameView _largestChildWithScrollBars]):
  812. now skips zero-area frames, used by some evil ads
  813. 2006-01-10 John Sullivan <sullivan@apple.com>
  814. Reviewed by Tim H.
  815. - fixed <rdar://problem/4265966> PDFs continue to show a (secondary) selection
  816. when the focus moves elsewhere
  817. * WebView.subproj/WebPDFView.h:
  818. added trackedFirstResponder ivar
  819. * WebView.subproj/WebPDFView.m:
  820. (-[WebPDFView dealloc]):
  821. assert that trackedFirstResponder is nil, as it was released/cleared in viewWillMoveToWindow:
  822. (-[WebPDFView _trackFirstResponder]):
  823. If the tracked first responder was the PDFView's documentView, and the current first responder isn't,
  824. deselect all. This is equivalent to overriding resignFirstResponder in the PDFView's
  825. documentView and deselecting all there, as other web document view classes do. Also, keep track of
  826. the new first responder for next time.
  827. (-[WebPDFView viewWillMoveToWindow:]):
  828. stop observing NSWindowDidUpdateNotification on the old window
  829. (-[WebPDFView viewDidMoveToWindow]):
  830. start observing NSWindowDidUpdateNotification on the new window, with _trackFirstResponder
  831. as the callback. Ideally we'd use a notification that tells us that the first responder is
  832. changing, but there is no such notification, so we have to use this very frequent one instead.
  833. The archaic 2573089 tracks the desire to have a responder-changed notification.
  834. (-[WebPDFView becomeFirstResponder]):
  835. removed comment about this bug that's now obsolete
  836. 2006-01-11 Darin Adler <darin@apple.com>
  837. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  838. 2006-01-09 Darin Adler <darin@apple.com>
  839. * Makefile.am: Removed.
  840. 2006-01-09 John Sullivan <sullivan@apple.com>
  841. Reviewed by Beth Dakin.
  842. - fixed <rdar://problem/4302263> CrashTracer: 504 crashes in Safari at
  843. com.apple.AppKit: NSTargetForSendAction + 1060
  844. The problem was that back/forward/stop/reload context menu items had nil targets,
  845. and thus were relying on AppKit to start from the context menu target (the clicked-upon
  846. view) and use the responder chain to find the WebView to act as the target. In Tiger,
  847. context menus don't retain their implicit target (the clicked-upon view again), and
  848. there was a race condition where the WebHTMLView could be dealloc'ed while the menu item
  849. was being processed, eventually crashing in AppKit. The fix is to explicitly set the
  850. target of these four menu items to the WebView, since the WebView is not dealloc'ed
  851. in the loading process.
  852. This might be fixed in a future version of AppKit by making the context menu retain its
  853. implicit target until it is dismissed, but with this change it will be fixed regardless
  854. of potential AppKit changes.
  855. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  856. (-[WebDefaultUIDelegate menuItemWithTag:target:]):
  857. Added target: parameter and removed code that set the target for some menu items; now the
  858. caller is responsible for supplying the target.
  859. (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
  860. Supply target (or nil) in calls to menuItemWithTag:target:. This matches existing behavior
  861. except for Back/Forward/Stop/Reload, which used to supply no target but now supply the
  862. WebView as the target.
  863. (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
  864. Supply target (or nil) in calls to menuItemWithTag:target:
  865. 2006-01-09 Geoffrey Garen <ggaren@apple.com>
  866. Reviewed by Darin.
  867. - Second cut at fixing <rdar://problem/4268278> Submitting a form
  868. in onUnload event handler causes crash in
  869. -[WebDataSource(WebPrivate) _commitIfReady:].)
  870. - Fixes http://bugs.webkit.org/show_bug.cgi?id=6331
  871. REGRESSION: form events don't fire after back/forward navigation,
  872. due to inconsistent load state
  873. * WebView.subproj/WebDataSource.m:
  874. (-[WebDataSource _stopLoading]):
  875. (1) If there are no resource loaders to signal the WebView that we've
  876. been canceled, manufacture the signal. Otherwise, the cancel gets
  877. ignored and nobody cleans up after the load. (We signal the WebView but
  878. not the WebFrame because we don't want the WebFrame to tear down the
  879. data source. Unlike most canceled data sources, this one has valid data
  880. because it's in the back/forward cache.)
  881. (2) Update _private->stopping before returning because if the
  882. data source is in the back/forward cache it can be reused, so it
  883. needs to be in a consistent state. (We never encountered this
  884. situation before because we would always crash first.)
  885. (-[WebDataSource _commitLoadWithData:]): Move _commitIfReady call
  886. inside retain block because the commit may cause an unload event
  887. to fire, which may start a new load, deallocating the current
  888. data source. (This is the same reason the rest of the function is
  889. in the retain block.)
  890. * WebView.subproj/WebFrame.m:
  891. (-[WebFrame _transitionToCommitted:]): If the unload handler
  892. started a new load, return early to avoid stomping it.
  893. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
  894. Undo previous incorrect fix.
  895. (-[WebFrame stopLoading]): Remove misleading comment. Setting
  896. provisionalDataSource to nil is not optional but required for
  897. internal consistency.
  898. 2006-01-09 Alexey Proskuryakov <ap@nypop.com>
  899. Reviewed by Maciej.
  900. Affects many layout tests (when running with primary Russian language).
  901. - Fix http://bugs.webkit.org/show_bug.cgi?id=4759
  902. 'ex' length unit calculation (Some layout tests fail if the system primary language is Russian)
  903. * WebCoreSupport.subproj/WebTextRenderer.m:
  904. (-[WebTextRenderer xHeight]): Use glyphForCharacter() instead of -[NSFont glyphWithName:].
  905. 2006-01-07 Mitz Pettel <opendarwin.org@mitzpettel.com>
  906. Reviewed by Darin, landed by ap.
  907. Test: fast/text/atsui-small-caps-punctuation-size.html
  908. - fix http://bugs.webkit.org/show_bug.cgi?id=6397
  909. ATSUI small caps use small punctuation
  910. * WebCoreSupport.subproj/WebTextRenderer.m:
  911. (createATSULayoutParameters): Changed the characters for which size must
  912. not change from !u_isbase() to the M* categories.
  913. 2006-01-06 John Sullivan <sullivan@apple.com>
  914. Reviewed by Vicki Murley (full credit) and Tim Omernick (half credit).
  915. - fixed <rdar://problem/4401102> REGRESSION (420+): When displaying a PDF, tabbing around stops working after reaching page
  916. * WebView.subproj/WebPDFView.m:
  917. (-[WebPDFView setNextKeyView:]):
  918. Use [PDFSubview documentView] rather than PDFSubview here, since that's the view that we now hand off first-responderhood to.
  919. 2006-01-05 Tim Omernick <timo@apple.com>
  920. Reviewed by Geoff.
  921. <rdar://problem/4400804> Client-side redirect to a non-HTTP URL confuses Safari
  922. * WebView.subproj/WebFrame.m:
  923. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
  924. If we were waiting for a quick redirect, but the policy delegate decided to ignore it, then we
  925. need to report that the client redirect was cancelled.
  926. 2006-01-05 John Sullivan <sullivan@apple.com>
  927. * WebView.subproj/WebPDFView.m:
  928. (-[WebPDFView _fakeKeyEventWithFunctionKey:]):
  929. Just added a FIXME comment about how to clean up this minor hack in the future.
  930. 2006-01-05 John Sullivan <sullivan@apple.com>
  931. Reviewed by Tim O.
  932. - fixed these bugs:
  933. <rdar://problem/3021785> page up/down don't work on frameset pages unless you click
  934. <rdar://problem/3021788> Page Up/Down moves an unscrollable frame if you click on it first
  935. and the WebKit part of this (need new Safari too for complete fix):
  936. <rdar://problem/4378905> Page up/down don't work in PDFs when address field is focused
  937. I moved some logic down from Safari that dealt with finding the largest scrollable child frame in a frameset,
  938. and added support for standard scrolling-related selectors to WebPDFView. The latter was needed for 4378905;
  939. the former was needed due to side effects of the Safari part of the change. As long as I was doing the former,
  940. I also used that logic to fix 3021785 and 3021788.
  941. * WebView.subproj/WebFrameViewPrivate.h:
  942. new currently-private methods _hasScrollBars and _largestChildWithScrollBars
  943. * WebView.subproj/WebFrameView.m:
  944. (-[WebFrameView scrollToBeginningOfDocument:]):
  945. if we don't have scroll bars, operate on our largest child with scroll bars instead
  946. (-[WebFrameView scrollToEndOfDocument:]):
  947. ditto
  948. (-[WebFrameView _pageVertically:]):
  949. ditto
  950. (-[WebFrameView _pageHorizontally:]):
  951. ditto
  952. (-[WebFrameView _scrollLineVertically:]):
  953. ditto
  954. (-[WebFrameView _scrollLineHorizontally:]):
  955. ditto
  956. (-[WebFrameView keyDown:]):
  957. where we were bailing out if ![self allowsScrolling], also check for whether there's a
  958. child with scroll bars, and don't bail out if so
  959. (-[WebFrameView _area]):
  960. new helper method used to implement _largestChildWithScrollBars (code moved from Safari)
  961. (-[WebFrameView _hasScrollBars]):
  962. new method, just returns YES if either scroll bar is showing (code moved from Safari)
  963. (-[WebFrameView _largestChildWithScrollBars]):
  964. new method, returns the child with the largest area that is showing at least one scroll bar
  965. (code moved from Safari and tweaked a little)
  966. * WebView.subproj/WebPDFView.m:
  967. (-[WebPDFView _fakeKeyEventWithFunctionKey:]):
  968. new method, hackaround for the fact that PDFView handles key downs from standard scrolling keys
  969. but does not implement the standard responder selectors
  970. (-[WebPDFView scrollPageDown:]):
  971. use _fakeKeyEventWithFunctionKey: to get the PDFView to scroll appropriately
  972. (-[WebPDFView scrollPageUp:]):
  973. ditto
  974. (-[WebPDFView scrollToBeginningOfDocument:]):
  975. ditto
  976. (-[WebPDFView scrollToEndOfDocument:]):
  977. ditto
  978. * WebView.subproj/WebView.m:
  979. add scrollToBeginningOfDocument and scrollToEndOfDocument to the list of responder operations
  980. that we hand off appropriately to the responder chain. These two aren't defined in any header
  981. but are generated by Home and End keys and used by the text system.
  982. 2006-01-05 Geoffrey Garen <ggaren@apple.com>
  983. Reviewed by Darin.
  984. - Fixed http://bugs.webkit.org/show_bug.cgi?id=6361
  985. Add plugin support to DumpRenderTree
  986. * WebKit.exp: export WebPluginDatabase class, which DumpRenderTree
  987. needs to add plugins to the runtime.
  988. 2006-01-03 Maciej Stachowiak <mjs@apple.com>
  989. Reviewed by Darin.
  990. - move frame management and finding code from WebKit to WebCore
  991. http://bugs.webkit.org/show_bug.cgi?id=6368
  992. * Plugins.subproj/WebBaseNetscapePluginView.m:
  993. (-[WebBaseNetscapePluginView loadPluginRequest:]): Set frame name straight on the bridge,
  994. instead of having it bubble through the view and frame.
  995. * WebCoreSupport.subproj/WebBridge.m:
  996. (-[WebBridge initWithFrameName:view:]): don't pass name to frame, we own it now; set it
  997. on ourselves directly
  998. (-[WebBridge findFrameNamed:]): removed
  999. (-[WebBridge createWindowWithURL:frameName:]): set name on bridge, not webview
  1000. (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
  1001. (-[WebBridge runModal]): remove excess braces
  1002. * WebKit.xcodeproj/project.pbxproj:
  1003. * WebView.subproj/WebControllerSets.h: Removed.
  1004. * WebView.subproj/WebControllerSets.m: Removed.
  1005. * WebView.subproj/WebFrame.m:
  1006. (-[WebFramePrivate name]): removed
  1007. (-[WebFramePrivate setName:]): removed
  1008. (-[WebFramePrivate dealloc]): don't release name, we no longer have one
  1009. (-[WebFrame _appendChild:]): removed
  1010. (-[WebFrame _removeChild:]): removed
  1011. (-[WebFrame _createItem:]): removed stray space
  1012. (-[WebFrame _immediateChildFrameNamed:]): Just call the bridge
  1013. (-[WebFrame _setName:]): removed
  1014. (-[WebFrame _detachFromParent]): remove bridge from parent note self
  1015. (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
  1016. (-[WebFrame _addChild:]): Call appendChild: on bridge, not self
  1017. (-[WebFrame _nextFrameWithWrap:]): just call bridge (and moved helpers there)
  1018. (-[WebFrame _previousFrameWithWrap:]): just call bridge (and moved helpers there)
  1019. (-[WebFrame _initWithWebFrameView:webView:bridge:]): don't take a name any more
  1020. (-[WebFrame _setFrameNamespace:]): just call bridge
  1021. (-[WebFrame _frameNamespace]): just call bridge
  1022. (-[WebFrame _hasSelection]): remove excess braces
  1023. (-[WebFrame _clearSelection]): ditto
  1024. (-[WebFrame initWithName:webFrameView:webView:]): no more name
  1025. (-[WebFrame name]): just call bridge
  1026. (-[WebFrame findFrameNamed:]): just call bridge (and moved helpers there)
  1027. (-[WebFrame parentFrame]): fixed for new style
  1028. * WebView.subproj/WebFrameInternal.h:
  1029. * WebView.subproj/WebFramePrivate.h:
  1030. * WebView.subproj/WebView.m:
  1031. * WebView.subproj/WebViewPrivate.h:
  1032. 2006-01-03 Darin Adler <darin@apple.com>
  1033. Reviewed by Beth.
  1034. This is a fix for <rdar://problem/3710994> HiDPI: Link underlines are
  1035. still one pixel high even if the UI resolution is > 100%
  1036. This fix refactors -drawLineForCharacters to make its organization
  1037. more logical. It changes behavior when printing to the screen by
  1038. rounding the parameters of the line (x- and y-values, width, and
  1039. thickness) to integer boundaries in device space. Previously,
  1040. this part of the routine just hardcoded a 1 pixel line.
  1041. * WebCoreSupport.subproj/WebTextRenderer.m:
  1042. (drawHorizontalLine): This just takes care of drawing the line once everything
  1043. has been calculated in -drawLineForCharacters
  1044. (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
  1045. Now takes device space into account. Calls drawHorizontalLine
  1046. 2006-01-03 Maciej Stachowiak <mjs@apple.com>
  1047. Reviewed by Vicki.
  1048. - moved frame traversal code across from bridge, also dropped the children
  1049. array
  1050. * WebCoreSupport.subproj/WebBridge.h:
  1051. * WebCoreSupport.subproj/WebBridge.m:
  1052. (-[WebBridge dealloc]): Don't release children array, that was moved
  1053. down to WebCore.
  1054. (-[WebBridge saveDocumentState:]):
  1055. - many methods moved to WebCore.
  1056. * WebView.subproj/WebFrame.m:
  1057. (Frame): New convenience method to get a WebFrame * from a method that
  1058. returns WebCoreBridge *.
  1059. (-[WebFrame _firstChildFrame]): use Frame()
  1060. (-[WebFrame _lastChildFrame]): ditto
  1061. (-[WebFrame _previousSiblingFrame]): ditto
  1062. (-[WebFrame _nextSiblingFrame]): ditto
  1063. (-[WebFrame _traverseNextFrameStayWithin:]): ditto
  1064. 2006-01-03 Anders Carlsson <andersca@mac.com>
  1065. Reviewed by Darin.
  1066. - Fix http://bugs.webkit.org/show_bug.cgi?id=6357
  1067. REGRESSION: iframe and target is broken
  1068. * WebView.subproj/WebFrame.m:
  1069. (-[WebFrame _descendantFrameNamed:sourceFrame:]):
  1070. Return the correct frame.
  1071. 2006-01-02 Maciej Stachowiak <mjs@apple.com>
  1072. Reviewed by Eric.
  1073. - moved frame traversal logic from WebFrame to WebBridge
  1074. http://bugs.webkit.org/show_bug.cgi?id=6341
  1075. To do this, I had to invert the ownership so that WebBridge now
  1076. owns WebFrame instead of vice versa. As a result, WebView now owns
  1077. a WebBridge pointer and does not have a direct WebFrame pointer.
  1078. * WebCoreSupport.subproj/WebBridge.h:
  1079. * WebCoreSupport.subproj/WebBridge.m:
  1080. (-[WebBridge initWithFrameName:view:]): The initializer is now responsible for creating
  1081. the frame, so pass it what it needs to do that.
  1082. (-[WebBridge dealloc]): The bridge now owns the frame, so release it.
  1083. (-[WebBridge close]): ditto
  1084. (-[WebBridge firstChild]): Moved from WebFrame
  1085. (-[WebBridge lastChild]): ditto
  1086. (-[WebBridge childCount]): ditto
  1087. (-[WebBridge previousSibling]): ditto
  1088. (-[WebBridge nextSibling]): ditto
  1089. (-[WebBridge isDescendantOfFrame:]): ditto
  1090. (-[WebBridge traverseNextFrameStayWithin:]): ditto
  1091. (-[WebBridge appendChild:]): ditto
  1092. (-[WebBridge removeChild:]): ditto
  1093. * WebView.subproj/WebFrame.m:
  1094. (-[WebFrame _removeChild::]): Call WebBridge version
  1095. (-[WebFramePrivate dealloc]): ditto
  1096. (-[WebFrame _firstChildFrame]): ditto
  1097. (-[WebFrame _lastChildFrame]): ditto
  1098. (-[WebFrame _childFrameCount]): ditto
  1099. (-[WebFrame _previousSiblingFrame]): ditto
  1100. (-[WebFrame _nextSiblingFrame]): ditto
  1101. (-[WebFrame _traverseNextFrameStayWithin:]): ditto
  1102. (-[WebFrame _appendChild:]): ditto
  1103. (-[WebFrame _removeChild:]): ditto
  1104. (-[WebFrame _isDescendantOfFrame:]): ditto,
  1105. (-[WebFrame _detachFromParent]): reorder a bit to avoid losing our bridge
  1106. pointer before the bridge is due to release us, and don't release the
  1107. bridge any more since it now owns us
  1108. (-[WebFrame _initWithName:webFrameView:webView:bridge:]): new initializer,
  1109. we no longer create the bridge, instead it is passed in
  1110. (-[WebFrame initWithName:webFrameView:webView:]): Call the new designated
  1111. initializer, but this method is no longer viable and should be deprecated.
  1112. * WebView.subproj/WebFrameInternal.h:
  1113. * WebView.subproj/WebView.m: WebView was changed to hold onto
  1114. the WebBridge for the main frame instead of the WebFrame.
  1115. (-[WebViewPrivate dealloc]): update for the fact that we hold
  1116. a bridge now, not a frame.
  1117. (-[WebView _close]): ditto
  1118. (-[WebView _createFrameNamed:inParent:allowsScrolling:]): Create
  1119. a bridge, not a frame.
  1120. (-[WebView _commonInitializationWithFrameName:groupName:]): ditto.
  1121. (-[WebView setDefersCallbacks:]): get mainFrame via method
  1122. (-[WebView mainFrame]): Update to get the main frame properly
  1123. 2005-12-30 Mitz Pettel <opendarwin.org@mitzpettel.com>
  1124. Reviewed by Darin, landed by ap.
  1125. Test: fast/text/justified-text-rect.html
  1126. - WebKit part of fix for
  1127. http://bugs.webkit.org/show_bug.cgi?id=5461
  1128. Text width measured incorrectly when text-align: justify
  1129. * WebCoreSupport.subproj/WebTextRenderer.m:
  1130. (-[WebTextRenderer selectionRectForRun:style:geometry:]): Added.
  1131. (CG_drawHighlight): Use new function CG_selectionRect.
  1132. (CG_selectionRect): New function to compute the selection rect.
  1133. Eliminated rounding hackery that was required for keeping the highlight
  1134. rect within the selection rect computed by
  1135. InlineTextBox::selectionRect, since the latter uses this function now.
  1136. The new selection rect is wider and matches AppKit more closely,
  1137. although the right hand side is roundf()ed instead of cielf()ed for
  1138. optimal caret positioning.
  1139. (ATSU_drawHighlight): Use new function ATSU_selectionRect.
  1140. (ATSU_selectionRect): New function to compute the selection rect.
  1141. Much like CG_selectionRect.
  1142. 2005-12-29 Geoffrey Garen <ggaren@apple.com>
  1143. Reviewed by Eric.
  1144. Manual testcase added:
  1145. WebCore/manual-tests/onunload-form-submit-crash.html
  1146. - Fixed <rdar://problem/4268278> Submitting a form in onUnload event
  1147. handler causes crash in -[WebDataSource(WebPrivate) _commitIfReady:]
  1148. The problem is that the form submission in the unload event kicks off
  1149. a new load in the midst of the load that caused the unload event to
  1150. fire in the first place, so the two loads stomp each other.
  1151. The solution is to cancel the first load and let the unload handler's
  1152. load win. (Firefox does the same.)
  1153. * WebView.subproj/WebFrame.m:
  1154. (-[WebFrame _transitionToCommitted:]): Moved call to -closeURL up
  1155. the call stack to _continueLoadRequest. (See below.) This has the
  1156. side-effect of always firing the unload event, even if the new
  1157. datasource never becomes committed, which seems like a good thing.
  1158. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
  1159. Call -closeURL here, instead of in _transitionToCommitted, so that the
  1160. unload handler can fire before we initialize any part of the load.
  1161. Check provisionalDataSource for nil to discover if the unload event
  1162. kicked off its own load.
  1163. Cleared up some coments.
  1164. (-[WebFrame _detachFromParent]):
  1165. It turns out that if you close the window instead of just navigating
  1166. to a new page, you get an alternate assertion failure/crash because
  1167. the load kicked off by the unload event handler generates resource
  1168. loader callbacks after the associated WebFrame/WebView has disappeared.
  1169. The nifty solution here is just to reverse the order of calls to
  1170. -stopLoading and -closeURL, thus guaranteeing that -stopLoading has the
  1171. last word when you close a window.
  1172. 2005-12-30 Mitz Pettel <opendarwin.org@mitzpettel.com>
  1173. Reviewed by Eric, committed by Maciej.
  1174. - fix for http://bugs.webkit.org/show_bug.cgi?id=6288
  1175. HEAD build broken 12/29/2005
  1176. * WebCoreSupport.subproj/WebTextRenderer.m:
  1177. (overrideLayoutOperation): Use previous character from the buffer
  1178. instead of ch which may be uninitialized on the first iteration.
  1179. 2005-12-29 Maciej Stachowiak <mjs@apple.com>
  1180. Reviewed by Eric.
  1181. - finished frame traversal cleanup
  1182. http://bugs.webkit.org/show_bug.cgi?id=6293
  1183. * WebCoreSupport.subproj/WebBridge.m:
  1184. (-[WebBridge childFrames]): Removed (this was unused)
  1185. * WebView.subproj/WebFrame.m:
  1186. (-[WebFrame _removeChild::]): Moved to FrameTraversal category.
  1187. (-[WebFrame _childFrameCount]): New frame traversal method to avoid
  1188. getting the count from the array directly.
  1189. (-[WebFrame _appendChild:]): Factored out the parts of addChild: that
  1190. seem directly relevant to adding a child.
  1191. (-[WebFrame _removeChild:]): Moved to FrameTraversal category.
  1192. (-[WebFrame _detachChildren]): Don't deallocate children array because
  1193. there's no particular need to.
  1194. (-[WebFrame _setDataSource:]): make the assert use _childFrameCount
  1195. (-[WebFrame _opened]):
  1196. (-[WebFrame _checkLoadComplete]): Instead of checking all frames starting
  1197. from the main frame, check this frame and all ancestors. If a resource
  1198. for a frame completes, that con only possibly finish loading for that
  1199. frame and its ancestors, not any other frame in the tree.
  1200. (-[WebFrame _recursiveCheckLoadComplete]): Removed, no longer needed.
  1201. (-[WebFrame _childFramesMatchItem:]): Get child frame count in the new
  1202. approved way.
  1203. (-[WebFrame _internalChildFrames]): removed
  1204. (-[WebFrame _addChild:]): Use _appendChild: for most of the work.
  1205. (-[WebFrame _generateFrameName]): Get child frame count in the new
  1206. approved way.
  1207. (-[WebFrame _stopLoadingSubframes]): Use new frame traversal mechanisms,
  1208. upon further consideration there's no need to copy part of the frame tree here.
  1209. (-[WebFrame findFrameNamed:]): Remove extra braces.
  1210. (-[WebFrame childFrames]): Make a new array using the frame traversal methods.
  1211. * WebView.subproj/WebFramePrivate.h: Remove some methods.
  1212. * WebView.subproj/WebMainResourceLoader.m:
  1213. (-[WebMainResourceLoader didReceiveResponse:]): Do _checkLoadComplete on the current
  1214. frame not the main frame (before there was no difference and now the new version is
  1215. what is desired).
  1216. * WebView.subproj/WebView.m:
  1217. (-[WebView _finishedLoadingResourceFromDataSource:]): Remove stray space
  1218. (-[WebView _mainReceivedBytesSoFar:fromDataSource:complete:]): Remove stray spaces
  1219. and update FIXME comment.
  1220. (-[WebView _receivedError:fromDataSource:]): Remove stray space
  1221. 2005-12-29 Maciej Stachowiak <mjs@apple.com>
  1222. Reviewed by Darin.
  1223. - abstract frame traversal in WebFrame more
  1224. http://bugs.webkit.org/show_bug.cgi?id=6283
  1225. Rewrote most of the frame traversal code in WebFrame to use DOM-style
  1226. first/last/next/previous methods, to abstract access better in preparation
  1227. for moving it down.
  1228. As an added bonus, many formerly recursive methods are now iterative.
  1229. * WebKit.xcodeproj/project.pbxproj: Use gnu99 dialect of C, so that
  1230. variables can be declared in for loop initializers.
  1231. - added new frame traversal methods, to avoid dealing with the children array
  1232. directly:
  1233. * WebView.subproj/WebFrame.m:
  1234. (-[WebFrame _firstChildFrame]): New method.
  1235. (-[WebFrame _lastChildFrame]): New method.
  1236. (-[WebFrame _previousSiblingFrame]): New method.
  1237. (-[WebFrame _nextSiblingFrame]): New method.
  1238. (-[WebFrame _traverseNextFrameStayWithin:]): Like traverseNextNode() in the DOM;
  1239. uses some of the previous.
  1240. - apply the new methods
  1241. (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): Rewrite loop
  1242. to use new traversal methods.
  1243. (-[WebFrame _immediateChildFrameNamed:]): ditto, also added FIXME
  1244. (-[WebFrame _setName:]): Improved comment, removed gratuitous brace
  1245. (-[WebFrame _isDescendantOfFrame:]): Rewrote to chase parent pointers instead
  1246. of looking in child arrays (duh)
  1247. (-[WebFrame _detachChildren]): Rewrite loop to use new traversal methods,
  1248. still walk backwards for now.
  1249. (-[WebFrame _closeOldDataSources]): Rewrite using new traversal methods.
  1250. (-[WebFrame _childFramesMatchItem:]): ditto
  1251. (-[WebFrame _defersCallbacksChanged]): ditto
  1252. (-[WebFrame _viewWillMoveToHostWindow:]): ditto
  1253. (-[WebFrame _viewDidMoveToHostWindow]): ditto
  1254. (-[WebFrame _addChild:]): don't use childFrames method
  1255. (-[WebFrame _removeChild:]): Clear out the sibling pointers after unlinking from the list,
  1256. not obvious if anything needs this but it seems like the right thing to do.
  1257. (-[WebFrame _generateFrameName]): don't bother to nil-check children array, since
  1258. calling count on nil still gives 0.
  1259. (-[WebFrame _saveDocumentAndScrollState]): Rewrite to use frame traversal methods
  1260. (-[WebFrame _deepLastChildFrame]): renamed from _lastChildFrame, rewrite to use child
  1261. traversal methods.
  1262. (-[WebFrame _nextFrameWithWrap:]): Use new frame traversal stuff (mostly just
  1263. a thin wrapper on _traverseNextFrameStayWithin:
  1264. (-[WebFrame _previousFrameWithWrap:]): Use new traversal functions
  1265. (-[WebFrame _numPendingOrLoadingRequests:]): Rewrite loop with new tracrsal functions
  1266. (-[WebFrame _reloadForPluginChanges]): ditto
  1267. (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]): ditto
  1268. (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]): ditto
  1269. (-[WebFrame _documentViews]): ditto
  1270. (-[WebFrame _updateDrawsBackground]): ditto
  1271. (-[WebFrame _unmarkAllMisspellings]): ditto
  1272. (-[WebFrame _atMostOneFrameHasSelection]): ditto
  1273. (-[WebFrame _findFrameWithSelection]): ditto
  1274. (-[WebFrame _stopLoadingSubframes]): ditto
  1275. (-[WebFrame _subframeIsLoading]): ditto
  1276. (-[WebFrame _descendantFrameNamed:sourceFrame:]): ditto
  1277. 2005-12-29 Darin Adler <darin@apple.com>
  1278. * WebView.subproj/WebFrameView.m: (-[WebFrameViewPrivate dealloc]):
  1279. Removed unused "draggingTypes" instance variable.
  1280. 2005-12-29 Mitz Pettel <opendarwin.org@mitzpettel.com>
  1281. Reviewed by darin
  1282. Test: fast/text/atsui-spacing-features.html
  1283. - WebKit part of fix for
  1284. http://bugs.webkit.org/show_bug.cgi?id=3922
  1285. Variable word/letter spacing and full justification not supported for
  1286. ATSUI-rendered text
  1287. * WebCoreSupport.subproj/WebTextRenderer.m:
  1288. (overrideLayoutOperation): Add letter- and word-spacing and padding for
  1289. justification.
  1290. (createATSULayoutParameters): Compute padding per space.
  1291. 2005-12-27 Mitz Pettel <opendarwin.org@mitzpettel.com>
  1292. Reviewed by Maciej, landed by Darin.
  1293. - fix http://bugs.webkit.org/show_bug.cgi?id=4844
  1294. Render "simple" Hebrew using the CG codepath
  1295. * WebCoreSupport.subproj/WebTextRenderer.m: (shouldUseATSU): Exclude Hebrew letters and maqaf.
  1296. 2005-12-25 Maciej Stachowiak <mjs@apple.com>
  1297. Reviewed by Geoff
  1298. - Remove WebFrame's parent frame pointer, instead rely on WebCore's parent concept
  1299. http://bugs.webkit.org/show_bug.cgi?id=6241
  1300. * WebCoreSupport.subproj/WebBridge.h:
  1301. * WebCoreSupport.subproj/WebBridge.m:
  1302. (-[WebBridge canTargetLoadInFrame:]): Use bridge parent method instead of needlessly
  1303. asking for parent via WebFrame
  1304. (-[WebBridge frameDetached]): Don't call _removeChild on the parent frame any more
  1305. because WebFame's _detachFromParent takes care of that now.
  1306. * WebView.subproj/WebFrame.m:
  1307. (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): Fix stray spaces
  1308. (-[WebFrame _detachChildren]): Don't remove children as we loop any more, they
  1309. can remove themselves.
  1310. (-[WebFrame _detachFromParent]): Remove self from parent; don't nil out bridge
  1311. until we are done with it.
  1312. (-[WebFrame _transitionToCommitted:]): Remove some extra braces.
  1313. (-[WebFrame _goToItem:withLoadType:]): Use parentFrame method in assert instead of parent
  1314. field directly.
  1315. (-[WebFrame _addChild:]): Don't poke at parent frame pointer in _private
  1316. since it is not there any more.
  1317. (-[WebFrame _removeChild:]): Remove extra braces and don't clear parent pointer
  1318. explicitly any more.
  1319. (-[WebFrame _addFramePathToString:]): Get parentFrame from method, not field.
  1320. (-[WebFrame _loadDataSource:withLoadType:formState:]): Remove extra braces.
  1321. (-[WebFrame _nextFrameWithWrap:]): Get parent in the proper way and clean up the
  1322. coding style.
  1323. (-[WebFrame _previousFrameWithWrap:]): Ditto.
  1324. (-[WebFrame parentFrame]): Get parent from the bridge.
  1325. 2005-12-25 Maciej Stachowiak <mjs@apple.com>
  1326. Reviewed by Hyatt.
  1327. - fixed REGRESSION: world leak of WebDataSource
  1328. http://bugs.webkit.org/show_bug.cgi?id=6242
  1329. * WebView.subproj/WebDataSource.m:
  1330. (-[WebDataSource _stopLoading]): don't retain self until after
  1331. the possible early return.
  1332. 2005-12-24 Maciej Stachowiak <mjs@apple.com>
  1333. Reviewed by Geoff.
  1334. - rearrange some code in WebDataSource so that more of the frame traversal logic
  1335. is in WebFrame, in preparation for moving it down to WebBridge.
  1336. http://bugs.webkit.org/show_bug.cgi?id=6239
  1337. * WebView.subproj/WebDataSource.m:
  1338. (-[WebDataSource _archiveWithMarkupString:nodes:]): Assert that the
  1339. data source is committed, doesn't make sense to archive otherwise.
  1340. (-[WebDataSource _subframeArchivesWithCurrentState:]): New helper method.
  1341. (-[WebDataSource _archiveWithCurrentState:]): Assert that the data source
  1342. is committed. Use the helper.
  1343. (-[WebDataSource _setWebView:]): Comment that we won't tell subframes that
  1344. defers callback changed.
  1345. (-[WebDataSource _startLoading]): Remove stray space.
  1346. (-[WebDataSource _stopLoading]): Only handle local _stopLoading business.
  1347. Cound on WebFrame to tell subframes to stop loading. Fold in _stopLoadingInternal
  1348. and remove _recursiveStopLoading.
  1349. (-[WebDataSource _startLoading:]): Clean up an assert slightly.
  1350. (-[WebDataSource _setTitle:]): Remove stray spaces.
  1351. (-[WebDataSource _defersCallbacksChanged]): Don't call subframes. WebFrame
  1352. can do that.
  1353. (-[WebDataSource isLoading]): Move checking of subframes down to WebFrame.
  1354. (-[WebDataSource webArchive]): Return nil if the data source is not yet
  1355. committed. It makes no sense to archive a provisional data source since it
  1356. has no data yet.
  1357. (-[WebDataSource addSubresource:]): Replace an assert with an early return,
  1358. ASSERT is not an appropriate way to flag problems with the argument of a public
  1359. method.
  1360. * WebView.subproj/WebDataSourcePrivate.h:
  1361. * WebView.subproj/WebFrame.m:
  1362. (-[WebFrame _setLoadType:]): Remove stray space.
  1363. (-[WebFrame _checkLoadCompleteForThisFrame]): Stop loading subframes
  1364. manually and add a FIXME about confusingness of stopping loading here.
  1365. (-[WebFrame _defersCallbacksChanged]): Tell our subframes.
  1366. (-[WebFrame _addChild:]): Remove stray space.
  1367. (-[WebFrame _stopLoadingSubframes]): New helper method.
  1368. (-[WebFrame _subframeIsLoading]): New helper method, code moved
  1369. from WebDataSource.
  1370. (-[WebFrame stopLoading]): Tell subframes to stop loading.
  1371. (-[WebFrame reload]): Remove extra braces.
  1372. * WebView.subproj/WebFrameInternal.h:
  1373. 2005-12-23 Maciej Stachowiak <mjs@apple.com>
  1374. Reviewed by John.
  1375. - move more frame tree traversal code from WebView to WebFrame
  1376. * WebView.subproj/WebFrame.m:
  1377. (-[WebFrame _atMostOneFrameHasSelection]): Moved this debug
  1378. method from WebView, renamed it and changed it to return a boolean
  1379. so it is appropriate for use in assertions instead of giving its own
  1380. errors.
  1381. (-[WebFrame _accumulateFramesWithSelection:]): Helper for the above.
  1382. (-[WebFrame _findFrameWithSelection]): Moved from WebView and renamed from
  1383. _findSelectedFrame, also removed the skipping variant.
  1384. (-[WebFrame _clearSelectionInOtherFrames]): Moved from WebView and
  1385. changed how the logic works. Instead of clearing selection in any frame
  1386. but the focus frame, it clears selection in all but this one.
  1387. * WebView.subproj/WebFrameInternal.h:
  1388. * WebView.subproj/WebHTMLView.m:
  1389. (-[WebHTMLView becomeFirstResponder]): Call _clearSelectionInOtherFrames
  1390. * WebView.subproj/WebPDFView.m:
  1391. (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Stop getting WebFrame
  1392. in needlessly roundabout way.
  1393. (-[WebPDFView becomeFirstResponder]): Call _clearSelectionInOtherFrames
  1394. * WebView.subproj/WebTextView.m:
  1395. (-[WebTextView _webFrame]): New helper method.
  1396. (-[WebTextView _elementAtWindowPoint:]): Use it.
  1397. (-[WebTextView becomeFirstResponder]): Call _clearSelectionInOtherFrames
  1398. (-[WebTextView resignFirstResponder]): Fix style issue
  1399. (-[WebTextView clickedOnLink:atIndex:]): Use new helkper
  1400. * WebView.subproj/WebView.m:
  1401. (-[WebView selectedFrame]): Call to WebFrame as appropriate
  1402. (-[WebView _selectedOrMainFrame]): Fix style issue
  1403. * WebView.subproj/WebViewInternal.h:
  1404. 2005-12-22 Maciej Stachowiak <mjs@apple.com>
  1405. Reviewed by Eric.
  1406. - move a few more methods from WebView to WebFrame.
  1407. * WebView.subproj/WebFrame.m:
  1408. (-[WebFrame _hasSelection]): Renamed from _frameIsSelected: and moved from
  1409. WebView.
  1410. (-[WebFrame _clearSelection]): Renamed from _deselectFrame: and moved from
  1411. WebView.
  1412. * WebView.subproj/WebFrameInternal.h:
  1413. * WebView.subproj/WebView.m:
  1414. (-[WebView searchFor:direction:caseSensitive:wrap:]): Update for renames.
  1415. (-[WebView _findSelectedFrameStartingFromFrame:skippingFrame:]): Ditto.
  1416. (-[WebView _debugCollectSelectedFramesIntoArray:startingFromFrame:]): Ditto.
  1417. (-[WebView _selectedFrameDidChange]):
  1418. 2005-12-21 Timothy Hatcher <timothy@apple.com>
  1419. * WebKit.xcodeproj/project.pbxproj:
  1420. Set tab width to 8, indent width to 4 and uses tabs to false per file.
  1421. 2005-12-20 Alexey Proskuryakov <ap@nypop.com>
  1422. Reviewed by justin
  1423. <http://bugs.webkit.org/show_bug.cgi?id=4682>
  1424. -[WebHTMLView firstRectForCharacterRange:] is using _selectedRange instead of the given range if no marked text
  1425. * WebView.subproj/WebHTMLView.m:
  1426. (-[WebHTMLView firstRectForCharacterRange:]):
  1427. Handle some large unsigned values the way NSTextView does.
  1428. Actually use the range passed in instead of _selectedRange,
  1429. use of _selectedRange was a workaround that is no longer necessary.
  1430. 2005-12-20 John Sullivan <sullivan@apple.com>
  1431. Reviewed by Darin Adler.
  1432. - fixed http://bugs.webkit.org/show_bug.cgi?id=6146
  1433. (REGRESSION: Bold font used for Google search result pages is too thick)
  1434. This is a problem with a particular font that was installed by Microsoft Office X. Though the
  1435. font and/or lower levels of font-handling code in the system are buggy, this bad symptom will
  1436. occur for users of Safari and other WebKit clients who happen to have one of these bad fonts.
  1437. This adds a workaround to avoid the problem.
  1438. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  1439. (-[WebTextRendererFactory fontWithFamilies:traits:size:]):
  1440. When we're going to synthesize bold or italic, yet the font we looked up was apparently a
  1441. match for the traits, try to look up a font that without the to-be-synthesized traits.
  1442. This way, instead of applying synthetic bold over Arial Bold, we'll apply synthetic
  1443. bold over Arial Regular, which is uglier than just using Arial Bold, but far less ugly
  1444. than using Arial Bold with synthetic bold too.
  1445. 2005-12-16 Justin Garcia <justin.garcia@apple.com>
  1446. <rdar://problem/4103393> Frequent Safari crash on lexisnexus.com (khtml::Selection::xPosForVerticalArrowNavigation)
  1447. <rdar://problem/4330451> CrashTracer: [REGRESSION] 2235 crashes in Safari at com.apple.WebCore: khtml::Selection::xPosForVerticalArrowNavigation const 436
  1448. Reviewed by darin
  1449. WebCore will crash when a selection that starts or ends in a node
  1450. that has been removed from the document is modify()d. This can occur:
  1451. (1) in non-editable regions (4103393 and 4330451), (2) in editable
  1452. regions (4383146) as the result of arbitrary DOM operations, and (3) in
  1453. Mail (4099739) as the result of an editing operation that sets a
  1454. bad ending selection.
  1455. Crashes of type (1) can occur when the user uses the arrow keys
  1456. to interact with a web app, or when the user tries to use
  1457. command-shift-arrow to switch tabs (this is a depricated
  1458. combo that will work if no one else responds to it). The easiest
  1459. way to fix these crashes is to disallow editing'ish selection changes
  1460. like moveDown:, selectWord:, pageDown:, etc, when the selection
  1461. is in a non-editable region.
  1462. Crashes of type (2) will require a more complicated fix (but occur
  1463. much less often than type (1)). Crashes of type (3) must be
  1464. fixed by tracking down the editing operation that sets bad selections.
  1465. Added a layout-test:
  1466. * editing/selection/selection-actions.html
  1467. * WebView.subproj/WebHTMLView.m:
  1468. (-[WebHTMLView _canAlterCurrentSelection]):
  1469. (-[WebHTMLView _alterCurrentSelection:direction:granularity:]):
  1470. (-[WebHTMLView _alterCurrentSelection:verticalDistance:]):
  1471. (-[WebHTMLView _expandSelectionToGranularity:]):
  1472. * WebView.subproj/WebHTMLViewPrivate.h:
  1473. 2005-12-20 Justin Garcia <justin.garcia@apple.com>
  1474. Reviewed by mitz
  1475. Fixed more uninitialized variable warnings, and
  1476. removed an extra semicolon.
  1477. * WebCoreSupport.subproj/WebTextRenderer.m:
  1478. (overrideLayoutOperation):
  1479. (createATSULayoutParameters):
  1480. 2005-12-20 Maciej Stachowiak <mjs@apple.com>
  1481. Reviewed by Darin.
  1482. - push more of frame lookup and management from WebView to
  1483. WebFrame, this is in preparation for shifting this to WebCore
  1484. http://bugs.webkit.org/show_bug.cgi?id=6163
  1485. * WebCoreSupport.subproj/WebBridge.m:
  1486. (-[WebBridge closeWindowSoon]): Adjust for change to WebFrameNamespaces
  1487. (-[WebBridge runModal]): ditto
  1488. * WebView.subproj/WebControllerSets.h:
  1489. * WebView.subproj/WebControllerSets.m:
  1490. (+[WebFrameNamespaces addFrame:toNamespace:]): This now operates in terms
  1491. of WebFrames (expected to be the main frame) not WebViews.
  1492. (+[WebFrameNamespaces framesInNamespace:]): Ditto.
  1493. * WebView.subproj/WebFrame.m:
  1494. (-[WebFrame _setFrameNamespace:]): Set self, not WebView.
  1495. (-[WebFrame _shouldAllowAccessFrom:]): Moved this code above use
  1496. to avoid prototyping the method.
  1497. (-[WebFrame _descendantFrameNamed:sourceFrame:]): Ditto.
  1498. (-[WebFrame _frameInAnyWindowNamed:sourceFrame:]): Copied logic
  1499. over from WebView.
  1500. (-[WebFrame findFrameNamed:]): Do it all here, don't call WebView.
  1501. * WebView.subproj/WebFramePrivate.h:
  1502. * WebView.subproj/WebView.m:
  1503. * WebView.subproj/WebViewPrivate.h:
  1504. 2005-12-20 Geoffrey Garen <ggaren@apple.com>
  1505. Reviewed by adele.
  1506. Fixed build failure due to missing 'b's in my last checkin.
  1507. * WebCoreSupport.subproj/WebBridge.m:
  1508. (-[WebBridge isStatusbarVisible]): changed 'B' to 'b'
  1509. (-[WebBridge setStatusbarVisible:]): ditto
  1510. 2005-12-20 Mitz Pettel <opendarwin.org@mitzpettel.com>
  1511. Reviewed by Darin, committed by Adele.
  1512. - fix deployment builds broken by the ATSUI multiple renderers patch
  1513. http://bugs.webkit.org/show_bug.cgi?id=6153
  1514. * WebCoreSupport.subproj/WebTextRenderer.m:
  1515. (createATSULayoutParameters): Assign initial values, which will never be used,
  1516. to substituteRenderer and firstSmallCap, to avoid uninitialized variable warnings.
  1517. 2005-12-20 Geoffrey Garen <ggaren@apple.com>
  1518. Reviewed by John.
  1519. Part of fix for <rdar://problem/4310363> JavaScript window.open: Height
  1520. is 1 pixel short, and related bugs. See WebCore ChageLog.
  1521. * WebCoreSupport.subproj/WebBridge.m:
  1522. (-[WebBridge webView]): Added method.
  1523. 2005-12-20 Eric Seidel <eseidel@apple.com>
  1524. Reviewed by mjs.
  1525. Development-only build fix.
  1526. * WebView.subproj/WebFrame.m:
  1527. (-[WebFramePrivate dealloc]): fixed typo
  1528. 2005-12-20 Maciej Stachowiak <mjs@apple.com>
  1529. Not reviewed.
  1530. - revert accidental commit of this file.
  1531. 2005-12-19 Maciej Stachowiak <mjs@apple.com>
  1532. Reviewed by Eric.
  1533. - Move handling of frame namespaces down to WebFrame.
  1534. - Put some internal class declarations in the implementation file.
  1535. * WebView.subproj/WebControllerSets.m:
  1536. (+[WebFrameNamespaces addWebView:toFrameNamespace:]):
  1537. (+[WebFrameNamespaces webViewsInFrameNamespace:]):
  1538. * WebView.subproj/WebFrame.m:
  1539. (-[WebFramePrivate dealloc]):
  1540. (-[WebFrame _setFrameNamespace:]):
  1541. (-[WebFrame _frameNamespace]):
  1542. * WebView.subproj/WebFrameInternal.h:
  1543. * WebView.subproj/WebFramePrivate.h:
  1544. * WebView.subproj/WebView.m:
  1545. (-[WebView _close]):
  1546. (-[WebView _findFrameNamed:sourceFrame:]):
  1547. (-[WebView setGroupName:]):
  1548. (-[WebView groupName]):
  1549. * WebView.subproj/WebViewInternal.h:
  1550. 2005-12-19 Mitz Pettel <opendarwin.org@mitzpettel.com>
  1551. Reviewed by Darin, committed by Adele.
  1552. Test: fast/text/atsui-multiple-renderers.html
  1553. - fix http://bugs.webkit.org/show_bug.cgi?id=6139
  1554. ATSUI code path should implement small caps, synthetic bold and oblique and correct metrics for fallback fonts
  1555. * WebCoreSupport.subproj/WebTextRenderer.m:
  1556. (overrideLayoutOperation): Fetch renderer info from the renderers array;
  1557. add synthetic bold offset; render only synthetic bold in the synthetic bold pass.
  1558. (drawGlyphs): Replaced 14 with new SYNTHETIC_OBLIQUE_ANGLE define.
  1559. (initializeATSUStyle): Apply a skewing transform for synthetic oblique.
  1560. (createATSUTextLayout): Merged into createATSUTextLayout.
  1561. (createATSULayoutParameters): Merged in createATSUTextLayout; allocate
  1562. and fill a renderers array and a character buffer for small caps and mirroring;
  1563. (applyMirroringToRun): Merged into createATSULayoutParameters.
  1564. (ATSU_drawHighlight): Deleted mirroring code.
  1565. (ATSU_draw): Deleted mirroring code; added second pass for synthetic bold.
  1566. (ATSU_pointToOffset): Deleted mirroring code.
  1567. 2005-12-19 Mitz Pettel <opendarwin.org@mitzpettel.com>
  1568. Reviewed by Darin, committed by Adele.
  1569. Test: fast/text/atsui-kerning-and-ligatures.html
  1570. - fix http://bugs.webkit.org/show_bug.cgi?id=6137
  1571. Disable kerning and some ligatures in the ATSUI code path
  1572. * WebCoreSupport.subproj/WebTextRenderer.m:
  1573. (initializeATSUStyle): Disable kerning; disable ligatures unless the font
  1574. does not contain 'a', in which case it is assumed to never be rendered
  1575. by the CG code path.
  1576. 2005-12-19 Mitz Pettel <opendarwin.org@mitzpettel.com>
  1577. Reviewed by Darin, committed by Adele.
  1578. Test: fast/text/should-use-atsui.html
  1579. - fix for http://bugs.webkit.org/show_bug.cgi?id=6132
  1580. Incorrect selection highlighting for ATSUI text when selected range is "CG-safe"
  1581. * WebCoreSupport.subproj/WebTextRenderer.m:
  1582. (shouldUseATSU): Always start scanning from 0 since drawing and
  1583. highlighting also measure everything up to run->from.
  1584. 2005-12-17 Maciej Stachowiak <mjs@apple.com>
  1585. Rubber stamped by Eric.
  1586. - remove some unused SPI headers.
  1587. * DOM.subproj/WebDOMDocument.h: Removed.
  1588. * DOM.subproj/WebDOMElement.h: Removed.
  1589. * DOM.subproj/WebDOMNode.h: Removed.
  1590. * WebKit.xcodeproj/project.pbxproj:
  1591. 2005-12-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
  1592. Reviewed and landed by Darin.
  1593. - fix http://bugs.webkit.org/show_bug.cgi?id=5479
  1594. Can't select text with RTL override rendered by ATSUI
  1595. * WebCoreSupport.subproj/WebTextRenderer.m:
  1596. (overrideLayoutOperation): Update since the layout only includes from -> to now.
  1597. (-[WebTextRenderer pointToOffset:style:position:includePartialGlyphs:]): Remove
  1598. reversed parameter.
  1599. (CG_floatWidthForRun): Add code to handle RTL case.
  1600. (addDirectionalOverride): Put the override around the entire run.
  1601. (ATSU_drawHighlight): Rearrange and reuse ATSU_floatWidthForRun for more of the work.
  1602. Also round.
  1603. (ATSU_pointToOffset): Remove reversed parameter and run swapping.
  1604. (CG_pointToOffset): Remove reversed parameter, using rtl flag in style instead.
  1605. 2005-12-16 Evan Gross <evan@rainmakerinc.com>
  1606. Reviewed and landed by Darin.
  1607. - fix http://bugs.webkit.org/show_bug.cgi?id=4680
  1608. WebHTMLView (WebNSTextInputSupport) - attributedSubstringFromRange "not yet implemented"
  1609. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView attributedSubstringFromRange:]):
  1610. Implement by calling the same RTF conversion used when copying to the pasteboard.
  1611. 2005-12-16 Mitz Pettel <opendarwin.org@mitzpettel.com>
  1612. Reviewed and landed by Darin.
  1613. - fix http://bugs.webkit.org/show_bug.cgi?id=6090
  1614. REGRESSION: Assertion failure when choosing Copy from a WebImageView's contextual menu
  1615. * WebView.subproj/WebImageView.m:
  1616. (-[WebImageView elementAtPoint:]): Use WebCoreElementImageRendererKey
  1617. for the image renderer and WebElementImageKey for the image.
  1618. 2005-12-15 Maciej Stachowiak <mjs@apple.com>
  1619. Reviewed by Darin.
  1620. - remove _frameForView: method from WebView and replace with a direct pointer on the WebFrameView in the WebFrame
  1621. * Misc.subproj/WebNSViewExtras.m:
  1622. * WebView.subproj/WebFrame.m:
  1623. (-[WebFrame _detachFromParent]):
  1624. (-[WebFrame _loadDataSource:withLoadType:formState:]):
  1625. (-[WebFrame initWithName:webFrameView:webView:]):
  1626. * WebView.subproj/WebFrameView.m:
  1627. (-[WebFrameView _setWebFrame:]):
  1628. (-[WebFrameView webFrame]):
  1629. * WebView.subproj/WebFrameViewInternal.h:
  1630. * WebView.subproj/WebView.m:
  1631. * WebView.subproj/WebViewPrivate.h:
  1632. 2005-12-13 Maciej Stachowiak <mjs@apple.com>
  1633. Reviewed by Darin.
  1634. - remove the dead _frameForDataSource: method (WebDataSource now knows its WebFrame)
  1635. http://bugs.webkit.org/show_bug.cgi?id=6072
  1636. * WebView.subproj/WebView.m:
  1637. * WebView.subproj/WebViewPrivate.h:
  1638. === Safari-521~5 ===
  1639. 2005-12-12 Timothy Hatcher <timothy@apple.com>
  1640. Reviewed by nobody, simple build fix.
  1641. Fixes a couple ambiguous selector build errors when building with GCC 3.3.
  1642. * Misc.subproj/WebIconDatabase.m:
  1643. (-[WebIconDatabase releaseIconForURL:]):
  1644. * WebView.subproj/WebHTMLView.m:
  1645. (-[NSView _web_layoutIfNeededRecursive:testDirtyRect:]):
  1646. (-[NSArray elementAtPoint:]):
  1647. 2005-12-12 Mitz Pettel <opendarwin.org@mitzpettel.com>
  1648. Reviewed and checked in by John Sullivan.
  1649. Fix for: http://bugs.webkit.org/show_bug.cgi?id=6053
  1650. WebIconDatabase returns the Accessibility Verifier app icon instead of
  1651. a generic document icon
  1652. * Misc.subproj/WebIconDatabase.m:
  1653. (-[WebIconDatabase _iconForFileURL:withSize:]):
  1654. use file type iconForFileType:NSFileTypeForHFSTypeCode(kGenericDocumentIcon) instead of '????'
  1655. to get the generic document icon.
  1656. 2005-12-12 John Sullivan <sullivan@apple.com>
  1657. Reviewed by Tim Omernick.
  1658. - Made protocol <WebDocumentSelection> include protocol <WebDocumentText>, for clarity.
  1659. This required moving some methods from WebTextView, which conformed to <WebDocumentText>,
  1660. up into superclass WebSearchableTextView, which conformed to <WebDocumentSelection>.
  1661. * Misc.subproj/WebSearchableTextView.m:
  1662. (-[NSString supportsTextEncoding]):
  1663. moved this method (unchanged) from subclass WebTextView
  1664. (-[NSString string]):
  1665. ditto
  1666. (-[NSString attributedString]):
  1667. ditto
  1668. (-[NSString selectedString]):
  1669. ditto
  1670. (-[NSString selectedAttributedString]):
  1671. ditto
  1672. (-[NSString selectAll]):
  1673. ditto
  1674. (-[NSString deselectAll]):
  1675. ditto
  1676. * WebView.subproj/WebDocumentPrivate.h:
  1677. made <WebDocumentSelection> incorporate <WebDocumentText> rather than just <NSObject>
  1678. * WebView.subproj/WebHTMLView.h:
  1679. removed <WebDocumentText> from protocol list since it's covered by <WebDocumentSelection>
  1680. * WebView.subproj/WebPDFView.h:
  1681. ditto
  1682. * WebView.subproj/WebTextView.h:
  1683. ditto
  1684. * WebView.subproj/WebTextView.m:
  1685. removed the methods that were moved into WebSearchableTextView.m
  1686. 2005-12-10 Darin Adler <darin@apple.com>
  1687. Reviewed by John Sullivan.
  1688. - fix http://bugs.webkit.org/show_bug.cgi?id=6032
  1689. REGRESSION: Uncaught exception when image is dragged out of webpage
  1690. * WebView.subproj/WebHTMLView.m:
  1691. (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
  1692. Pass the image renderer, not the NSImage.
  1693. (-[WebHTMLView elementAtPoint:]): Add an NSImage to the dictionary, which now comes from
  1694. WebCore with only an image renderer.
  1695. * WebView.subproj/WebView.m: (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]):
  1696. Pass the image renderer, not the NSImage.
  1697. 2005-12-10 Darin Adler <darin@apple.com>
  1698. Was getting build failures related to "count" methods.
  1699. Made Tim's build fix Leopard-only.
  1700. * WebView.subproj/WebPreferencesPrivate.h: Go back to <PDFKit/PDFKit.h> on Tiger.
  1701. 2005-12-09 John Sullivan <sullivan@apple.com>
  1702. Reviewed by Adele Peterson.
  1703. - fixed <rdar://problem/4373905> Cannot paste in Tiger Mail using TOT WebKit
  1704. * WebView.subproj/WebView.m:
  1705. (-[WebView _frameForCurrentSelection]):
  1706. I removed this method many moons ago when restructuring the code involving frames and selection.
  1707. Too bad Mail was still using it (d'oh!). In Leopard Mail has updated to use newer SPI (which should
  1708. become API), but to continue to work with Mail on Tiger we need this method to be around. Now it's
  1709. just a cover for the method _selectedOrMainFrame, to which it was renamed so very long ago.
  1710. 2005-12-09 Tim Omernick <timo@apple.com>
  1711. Reviewed by John Sullivan.
  1712. * Carbon.subproj/HIWebView.m:
  1713. (UpdateCommandStatus):
  1714. Don't call -performSelector:withObject: on a method that returns a BOOL; this is not guaranteed to work on all architectures.
  1715. -performSelector:withObject:'s return value should only be checked if the method returns an object.
  1716. 2005-12-09 Timothy Hatcher <timothy@apple.com>
  1717. Reviewed by nobody, build fix.
  1718. Using <PDFKit/PDFKit.h> was causing build failures for the Mail team.
  1719. The comment about getting an ambiguous signature conflict anywhere the
  1720. method "count" is used seems to no longer be an issue.
  1721. * WebView.subproj/WebPreferencesPrivate.h: Use <Quartz/Quartz.h>
  1722. 2005-12-08 John Sullivan <sullivan@apple.com>
  1723. Reviewed by Tim Hatcher.
  1724. Some cleanup of how selection rects are associated with NSViews.
  1725. * WebView.subproj/WebDocumentPrivate.h:
  1726. Added a -selectionView method to <WebDocumentSelection>, and clarified that the
  1727. selectionRect is in the coordinate system of this view.
  1728. * Misc.subproj/WebSearchableTextView.m:
  1729. (-[WebSearchableTextView selectionView]):
  1730. new method, returns self
  1731. * WebView.subproj/WebHTMLView.m:
  1732. (-[WebHTMLView selectionView]):
  1733. new method, returns self
  1734. * WebView.subproj/WebPDFView.m:
  1735. (-[WebPDFView selectionRect]):
  1736. translate result into coordinate system of [PDFSubview documentView]
  1737. (-[WebPDFView selectionView]):
  1738. new method, returns [PDFSubview documentView]
  1739. 2005-12-08 John Sullivan <sullivan@apple.com>
  1740. Reviewed by Tim Omernick and Dave Hyatt.
  1741. - fixed these semi-legendary bugs:
  1742. <rdar://problem/4032405> Inline PDF doesn't get keyboard focus like web pages do, so can't scroll with keys without clicking
  1743. <rdar://problem/4265684> PDFs use secondary selection when displaying found text (4748)
  1744. * WebView.subproj/WebPDFView.m:
  1745. (-[WebPDFView becomeFirstResponder]):
  1746. Discovered that there is indeed PDFKit API for accessing the view that becomes focused; now
  1747. passes the focus down to that view.
  1748. 2005-12-08 John Sullivan <sullivan@apple.com>
  1749. Reviewed by Tim Omernick.
  1750. - Added WebKit mechanism to help correctly pass the first responder into the PDF view hierarchy,
  1751. in order to start addressing keyboard focus and selection highlight issues. Unfortunately this
  1752. doesn't actually have any user effect yet due to problems that must be fixed in PDFKit.
  1753. * WebView.subproj/WebPDFView.m:
  1754. (-[WebPDFView acceptsFirstResponder]):
  1755. Overridden to returns YES. Needed so NSClipView knows it's OK to pass focus down to this level.
  1756. (-[WebPDFView becomeFirstResponder]):
  1757. With setNextKeyView:, splices the PDF view into the focus-passing mechanism in much the same
  1758. way as NSScrollView and NSClipView.
  1759. (-[WebPDFView setNextKeyView:]):
  1760. With becomeFirstResponder:, splices the PDF view into the focus-passing mechanism in much the same
  1761. way as NSScrollView and NSClipView.
  1762. (-[WebPDFView resignFirstResponder]):
  1763. Removed this method because the WebPDFView itself is never first responder except transiently.
  1764. 2005-12-08 Maciej Stachowiak <mjs@apple.com>
  1765. Reviewed by John.
  1766. - some small changes towards frame tree refactoring
  1767. Renamed WebViewSets to WebFrameNamespaces, and put the method for
  1768. performing a selector on all extant WebViews to WebView itself,
  1769. with a separate set tracking live WebViews. This should allow
  1770. moving the storage of this info down to WebCore more easily.
  1771. * WebCoreSupport.subproj/WebBridge.m:
  1772. (-[WebBridge closeWindowSoon]):
  1773. (-[WebBridge runModal]):
  1774. * WebCoreSupport.subproj/WebViewFactory.m:
  1775. (-[WebViewFactory refreshPlugins:]):
  1776. * WebView.subproj/WebControllerSets.h:
  1777. * WebView.subproj/WebControllerSets.m:
  1778. (+[WebFrameNamespaces addWebView:toFrameNamespace:]):
  1779. (webView::if):
  1780. (+[WebFrameNamespaces webViewsInFrameNamespace:]):
  1781. * WebView.subproj/WebView.m:
  1782. (+[WebView _makeAllWebViewsPerformSelector:]):
  1783. (-[WebView _removeFromAllWebViewsSet]):
  1784. (-[WebView _addToAllWebViewsSet]):
  1785. (-[WebView _close]):
  1786. (-[WebView _findFrameNamed:sourceFrame:]):
  1787. (-[WebView _commonInitializationWithFrameName:groupName:]):
  1788. (-[WebView setGroupName:]):
  1789. * WebView.subproj/WebViewInternal.h:
  1790. 2005-12-08 Darin Adler <darin@apple.com>
  1791. Reviewed by Eric.
  1792. - fixed http://bugs.webkit.org/show_bug.cgi?id=5689
  1793. add support for CSS "custom cursors" (cursor images)
  1794. * WebCoreSupport.subproj/WebImageRenderer.h: Remove declaration of TIFFRepresentation and
  1795. image methods since both are required by the WebCoreImageRenderer protocol now and we don't
  1796. have to re-declare them.
  1797. * Misc.subproj/WebNSPasteboardExtras.m: Add an import of the WebCoreImageRenderer.h file
  1798. since we need to use methods inherited from that protocol.
  1799. * Misc.subproj/WebNSViewExtras.m: Ditto.
  1800. * WebCoreSupport.subproj/WebImageRenderer.m: Ditto. (Use and implement.)
  1801. 2005-12-07 Mitz Pettel <opendarwin.org@mitzpettel.com>
  1802. Reviewed by Maciej, landed by Darin.
  1803. - fix http://bugs.webkit.org/show_bug.cgi?id=5878
  1804. REGRESSION (WebTextRenderer.m r1.201): pointToOffset always takes the CG code path
  1805. * WebCoreSupport.subproj/WebTextRenderer.m:
  1806. (-[WebTextRenderer pointToOffset:style:position:reversed:includePartialGlyphs:]):
  1807. Added the missing "return".
  1808. 2005-12-07 John Sullivan <sullivan@apple.com>
  1809. Reviewed by Tim Omernick.
  1810. - <rdar://problem/4331488> TOT Assertion failure in -[WebHTMLView nextValidKeyView]
  1811. @ home.netscape.com
  1812. * WebView.subproj/WebHTMLView.m:
  1813. (-[NSArray nextValidKeyView]):
  1814. Removed assert that I added a while back. In this case at least, the assertion is
  1815. overzealous, and I can't recreate the tortured chain of logic that led me to adding
  1816. this assertion in the first place.
  1817. 2005-12-06 David Harrison <harrison@apple.com>
  1818. Reviewed by Darin.
  1819. - fix <rdar://problem/4365308> Glendale Regression: Floating dictionary doesn't work well in Safari text areas/fields
  1820. Add use of NSAccessibilityHitTest to the list of exceptions.
  1821. * WebView.subproj/WebHTMLView.m:
  1822. (-[WebHTMLView hitTest:]): check for NSFlagsChanged event.
  1823. 2005-12-05 John Sullivan <sullivan@apple.com>
  1824. Reviewed by Darin Adler.
  1825. * WebView.subproj/WebHTMLView.m:
  1826. (-[NSArray validateUserInterfaceItem:]):
  1827. one more tweak: moved jumpToSelection: to be validated the same way as
  1828. centerSelectionInVisibleArea:, since it now calls the same code. Might not
  1829. make a difference in any real code, but you never know.
  1830. 2005-12-05 John Sullivan <sullivan@apple.com>
  1831. Reviewed by Darin Adler.
  1832. * WebView.subproj/WebHTMLView.m:
  1833. (-[NSArray validateUserInterfaceItem:]):
  1834. removed double handling of centerSelectionInVisibleArea
  1835. 2005-12-05 John Sullivan <sullivan@apple.com>
  1836. Reviewed by Tim Omernick.
  1837. - WebKit part of fix for
  1838. <rdar://problem/4365690> Find > Jump to Selection does nothing on plain-text documents (inc. source HTML)
  1839. * WebView.subproj/WebHTMLView.m:
  1840. (-[WebHTMLView jumpToSelection:]):
  1841. Reimplement jumpToSelection: to call centerSelectionInVisibleArea:, and added a comment explaining why
  1842. jumpToSelection: exists at all. Note that centerSelectionInVisibleArea: was already implemented here; it
  1843. was added as part of HTML editing implementation without us realizing that it was the API replacement
  1844. for jumpToSelection:.
  1845. (-[WebHTMLView validateUserInterfaceItem:]):
  1846. validate centerSelectionInVisibleArea: the same way we validate jumpToSelection: (we should have done
  1847. this when centerSelectionInVisibleArea: was implemented)
  1848. * WebView.subproj/WebPDFView.m:
  1849. (-[WebPDFView centerSelectionInVisibleArea:]):
  1850. new method, same code that jumpToSelection: used to have
  1851. (-[WebPDFView jumpToSelection:]):
  1852. now calls centerSelectionInVisibleArea:, and there's now a comment about why it exists at all.
  1853. (-[WebPDFView validateUserInterfaceItem:]):
  1854. validate centerSelectionInVisibleArea: the same way we validate jumpToSelection:
  1855. 2005-12-04 Tim Omernick <timo@apple.com>
  1856. Reviewed by Dave Harrison, John Sullivan.
  1857. <rdar://problem/4364847> REGRESSION: QuickTime movies open without controller or don't open at all (5928)
  1858. I changed WebFrameView on 2005-11-29 so that it avoids creating duplicate WebPluginDocumentViews.
  1859. Unfortunately, this change caused a regression due to the fact that it subtly changed when plugins are
  1860. initialized. Certain plugins (e.g. QuickTime) expect to be initialized after the WebPluginDocumentView
  1861. has been "committed" (inserted into the view hierarchy).
  1862. My fix is to ensure that the plugin is initialized where we previously would have created that second
  1863. WebPluginDocumentView -- that is, the plugin is created after the WebPluginDocumentView has been committed.
  1864. * Plugins.subproj/WebPluginDocumentView.m:
  1865. (-[WebPluginDocumentView setDataSource:]):
  1866. Don't initialize the plugin if the WebPluginDocumentView has not been inserted into the view hierarchy.
  1867. We assume here that a later call to -setDataSource: will pass this conditional, once the WebDocumentView
  1868. has been committed.
  1869. 2005-12-02 Justin Garcia <justin.garcia@apple.com>
  1870. <rdar://problem/4345030>
  1871. Denver REGRESSION (10.4.2-10.4.3): Two identical warnings on "Back" from Amazon's package tracker
  1872. Before checking the navigation policy for a request, the request is compared
  1873. against the last checked request. If the two are the same, no check is done.
  1874. In the bug, the two requests are identical except for the boolean on
  1875. NSURLRequests that tells Foundation to support multipart loads for that request.
  1876. One request was the one that was used to start servicing "Back" operation, and
  1877. the second was being used to start loading the page (it needed to be reloaded
  1878. because it was the result of a form submission). Set the boolean on all
  1879. NSURLRequests, not just one's that are about to be used to start a load.
  1880. Reviewed by harrison
  1881. * WebView.subproj/WebDataSource.m:
  1882. (-[WebDataSource _startLoading:]):
  1883. (-[WebDataSource initWithRequest:]):
  1884. * WebView.subproj/WebDataSourcePrivate.h:
  1885. 2005-12-01 Darin Adler <darin@apple.com>
  1886. Reviewed by Vicki.
  1887. - fix <rdar://problem/4349721> Regression: Hovering over menu item doesn't highlight menu item or
  1888. mousing up on menu item in applet does not open URL in new window at smartmoney.com
  1889. Since Java depends on doing a hit test inside it's mouse moved handling, let hit testing on Java
  1890. applets go through the standard NSView code path. Since this should only happen for Java, add a global
  1891. so that we can Use our own WebHTMLView hit testing when calling from _updateMouseoverWithEvent.
  1892. * WebView.subproj/WebHTMLView.m:
  1893. (-[WebHTMLView _hitViewForEvent:]): rename forceRealHitTest to forceNSViewHitTest
  1894. (-[WebHTMLView _updateMouseoverWithEvent:]): set global variable to force a WebHTMLView-style hit test from here
  1895. (-[WebHTMLView hitTest:]): perform the appropriate hit test based on global variables
  1896. 2005-11-29 Andrew Wellington <proton@wiretapped.net>
  1897. Reviewed by darin. Committed by eseidel.
  1898. Fix for: http://bugs.webkit.org/show_bug.cgi?id=4726
  1899. Drop of multiple non-image file URLs only yields one item
  1900. * WebView.subproj/WebHTMLView.m:
  1901. (-[WebHTMLView _documentFragmentWithPaths:]):
  1902. 2005-11-29 Tim Omernick <timo@apple.com>
  1903. Reviewed by John Sullivan, Eric Seidel
  1904. <rdar://problem/4340787> Safari & Dashcode create 2 instances of the QC plug-in
  1905. * WebView.subproj/WebFrameView.m:
  1906. (-[WebFrameView _makeDocumentViewForDataSource:]):
  1907. Instead of creating a new WebDocumentView, use the WebDataSource's representation if it is a WebDocumentView
  1908. of the appropriate class. Right now, this can only happen when the loading document is a standalone WebKit
  1909. plugin, because WebPluginDocumentView is both the WebDocumentView and the WebDocumentRepresentation for that
  1910. kind of page load.
  1911. I have verified that this does not affect other kinds of page loads; in all other cases, the representation
  1912. class is distinct from the document view class.
  1913. I talked with Chris Blumenberg about this change (he knows this code), and he agreed that this is the right
  1914. approach.
  1915. 2005-11-28 Alexey Proskuryakov <ap@nypop.com>
  1916. Reviewed by Darin. Committed by Maciej.
  1917. - fixed "Word completion doesn't work at end of word (unless last word)"
  1918. (http://bugs.webkit.org/show_bug.cgi?id=4062)
  1919. * WebView.subproj/WebHTMLView.m:
  1920. (-[WebTextCompleteController doCompletion]):
  1921. 2005-11-28 John Sullivan <sullivan@apple.com>
  1922. Reviewed by Tim Omernick.
  1923. Probable fix for <rdar://problem/4356060> crash in -[WebHistoryItem _mergeAutoCompleteHints:]
  1924. * History.subproj/WebHistory.m:
  1925. (-[WebHistoryPrivate addItem:]):
  1926. retain/release oldEntry until we're done with it, since removing it from dictionary might
  1927. cause it to be dealloc'ed otherwise.
  1928. * History.subproj/WebHistoryItem.m:
  1929. (-[WebHistoryItem _mergeAutoCompleteHints:]):
  1930. added an assert
  1931. 2005-11-26 Alexey Proskuryakov <ap@nypop.com>
  1932. Reviewed by mjs. Committed by eseidel.
  1933. Fix for http://bugs.webkit.org/show_bug.cgi?id=5230
  1934. "characterIndexForPoint: not yet implemented"
  1935. * WebView.subproj/WebHTMLView.m:
  1936. (-[WebHTMLView characterIndexForPoint:]):
  1937. (-[WebHTMLView firstRectForCharacterRange:]):
  1938. 2005-11-22 Darin Adler <darin@apple.com>
  1939. * WebView.subproj/WebView.h: Fixed incorrect comment in public header.
  1940. 2005-11-18 Vicki Murley <vicki@apple.com>
  1941. Changes by Tim H, reviewed by Vicki.
  1942. - call shouldClose on the bridge for the main frame
  1943. * WebView.subproj/WebView.m:
  1944. (-[WebView shouldClose]):
  1945. 2005-11-18 Vicki Murley <vicki@apple.com>
  1946. Changes by Darin, reviewed by Beth and Vicki.
  1947. - fix <rdar://problem/3939265> support "before unload" event and onbeforeunload handler (supported by both IE and Mozilla)
  1948. * WebCoreSupport.subproj/WebBridge.m:
  1949. (-[WebBridge canRunBeforeUnloadConfirmPanel]):
  1950. (-[WebBridge runBeforeUnloadConfirmPanelWithMessage:]):
  1951. * WebView.subproj/WebFrame.m:
  1952. (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
  1953. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
  1954. * WebView.subproj/WebUIDelegatePrivate.h:
  1955. * WebView.subproj/WebView.m:
  1956. (-[WebView shouldClose]):
  1957. * WebView.subproj/WebViewPrivate.h:
  1958. 2005-11-10 Maciej Stachowiak <mjs@apple.com>
  1959. Build fix, not reviewed.
  1960. * Plugins.subproj/WebBaseNetscapePluginViewInternal.h: Added.
  1961. 2005-11-10 Tim Omernick <timo@apple.com>
  1962. Reviewed by Geoff.
  1963. <rdar://problem/4237941> Dashboard needs a way to stop Netscape plug-ins from getting null events
  1964. * Plugins.subproj/WebBaseNetscapePluginViewInternal.h: Added.
  1965. Added WebInternal category, with -stopNullEvents and -restartNullEvents. These methods already exist on WebBaseNetscapePluginView.
  1966. I am just exposing them to callers elsewhere within WebKit.
  1967. * WebKit.xcodeproj/project.pbxproj:
  1968. Added WebBaseNetscapePluginViewInternal.h.
  1969. * WebView.subproj/WebFrame.m:
  1970. (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
  1971. Walks down the web frame hierarchy and calls -_pauseNullEventsForAllNetscapePlugins on each WebHTMLView.
  1972. (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
  1973. Same as above, but calls -_resumeNullEventsForAllNetscapePlugins.
  1974. * WebView.subproj/WebFramePrivate.h:
  1975. Declared -_recursive_pauseNullEventsForAllNetscapePlugins and -_recursive_pauseNullEventsForAllNetscapePlugins.
  1976. * WebView.subproj/WebHTMLView.m:
  1977. (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
  1978. Checks subviews for WebBaseNetscapePluginViews, and calls -stopNullEvents on them.
  1979. (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]):
  1980. Same as above, but calls -restartNullEvents.
  1981. * WebView.subproj/WebHTMLViewInternal.h:
  1982. Declared -_pauseNullEventsForAllNetscapePlugins and -_resumeNullEventsForAllNetscapePlugins.
  1983. 2005-11-07 Geoffrey Garen <ggaren@apple.com>
  1984. Darin reviewed this a while back.
  1985. - Fixed <rdar://problem/4161660> window.close followed by window.print
  1986. in onload handler crashes Safari in KJS::ScopeChain::bottom
  1987. (redmccombstoyota.com)
  1988. Added a call to stopLoading inside closeWindowSoon to prevent load
  1989. events from firing after a window has torn down.
  1990. Manual test case: WebCore/manual-tests/window-close-during-parsing.html
  1991. * WebCoreSupport.subproj/WebBridge.m:
  1992. (-[WebBridge closeWindowSoon]):
  1993. 2005-11-03 Timothy Hatcher <timothy@apple.com>
  1994. Reviewed by Darin and Vicki.
  1995. * WebKit.xcodeproj/project.pbxproj:
  1996. Change to use $(SYSTEM_LIBRARY_DIR) consistently and place
  1997. $(NEXT_ROOT) in a few spots to make build-root work.
  1998. 2005-11-01 Tim Omernick <timo@apple.com>
  1999. Reviewed by John Sullivan.
  2000. <rdar://problem/4318632>
  2001. I've added a new notification, WebPluginWillPresentNativeUserInterfaceNotification. Plugins are expected to post this
  2002. notification before presenting "native UI", such as dialog boxes. A Dashboard client can observe this notification to
  2003. hide the Dashboard layer when plugins present external UI.
  2004. * English.lproj/StringsNotToBeLocalized.txt:
  2005. Added "WebPluginWillPresentNativeUserInterface".
  2006. * Plugins.subproj/WebPluginsPrivate.h: Added.
  2007. * Plugins.subproj/WebPluginsPrivate.m: Added.
  2008. Declare WebPluginWillPresentNativeUserInterfaceNotification.
  2009. * WebKit.xcodeproj/project.pbxproj:
  2010. Added WebPluginsPrivate.[hm]
  2011. * WebKit.exp:
  2012. Added _WebPluginWillPresentNativeUserInterfaceNotification.
  2013. 2005-11-01 John Sullivan <sullivan@apple.com>
  2014. Reviewed by Darin Adler.
  2015. fixed deployment build by hiding local variables used only in ASSERTs on builds for
  2016. which ASSERT_DISABLED is true.
  2017. * History.subproj/WebHistory.m:
  2018. (-[WebHistoryPrivate removeItemForURLString:]):
  2019. (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]):
  2020. 2005-11-01 John Sullivan <sullivan@apple.com>
  2021. Reviewed by Tim Omernick.
  2022. - fixed <rdar://problem/4324104> Assertion failure (foundDate) in WebHistory
  2023. WebFrame was updating the last visited date on a WebHistoryItem behind WebHistory's
  2024. back, causing WebHistory's caches of items by date to get out of sync with reality.
  2025. Changed to set the date through WebHistory rather than directly.
  2026. * History.subproj/WebHistory.m:
  2027. (-[WebHistoryPrivate _removeItemFromDateCaches:]):
  2028. New method, extracted from removeItemForURLString.
  2029. (-[WebHistoryPrivate removeItemForURLString:]):
  2030. Now calls extracted method. Cleaned up white space a little.
  2031. (-[WebHistoryPrivate _addItemToDateCaches:]):
  2032. New method, extracted from addItem:
  2033. (-[WebHistoryPrivate addItem:]):
  2034. Now calls extracted method. Cleaned up white space a little.
  2035. (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]):
  2036. New method, removes item from date caches, changes date, then adds item back to
  2037. date caches and sends notification.
  2038. (-[WebHistory setLastVisitedTimeInterval:forItem:]):
  2039. New method, cover for WebHistoryPrivate version.
  2040. * History.subproj/WebHistoryItem.m:
  2041. (-[WebHistoryItem _setLastVisitedTimeInterval:]):
  2042. Don't send notification here; send from new WebHistory method instead.
  2043. * History.subproj/WebHistoryItemPrivate.h:
  2044. Added comment about avoiding incorrect use of _setLastVisitedTimeInterval:
  2045. * History.subproj/WebHistoryPrivate.h:
  2046. Added declarations for WebHistory and WebHistoryPrivate versions of
  2047. setLastVisitedTimeInterval:forItem:
  2048. * WebView.subproj/WebFrame.m:
  2049. (-[WebFrame _transitionToCommitted:]):
  2050. change history item's date via new WebHistory method rather than directly
  2051. 2005-10-25 Timothy Hatcher <timothy@apple.com>
  2052. Reviewed by Darin.
  2053. Remove the use of a stamp file in the Frameworks symlink build phase.
  2054. This lets us pass the build verification.
  2055. * WebKit.xcodeproj/project.pbxproj:
  2056. 2005-10-24 Darin Adler <darin@apple.com>
  2057. Reviewed by Geoff.
  2058. - change internal methods in WebTextRenderer to be functions in case this
  2059. has any effect on speed (also makes things a bit clearer, in my opinion)
  2060. * WebCoreSupport.subproj/WebTextRenderer.h: Made all fields public, which is
  2061. OK since this is really a private class. Made setAlwaysUseATSU: class method
  2062. public too for the same reason.
  2063. * WebCoreSupport.subproj/WebTextRenderer.m: Change all methods to functions.
  2064. (destroy): Function name for method free.
  2065. (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): Removed code to first subtract
  2066. lineSpacing - descent, then later add it back.
  2067. (getSmallCapsRenderer): Function name for method smallCapsRenderer.
  2068. (findSubstituteFont): Function name for method substituteFontForString:families:.
  2069. (findSubstituteRenderer): Function name for method substituteRendererForCharacters:length:families:.
  2070. (updateGlyphMapEntry): Function name for method updateGlyphEntryForCharacter:glyphID:substituteRenderer:.
  2071. (extendGlyphMap): Function name for method extendCharacterToGlyphMapToInclude:.
  2072. (extendWidthMap): Function name for method extendGlyphToWidthMapToInclude:.
  2073. (getTextBounds): Function name for method trapezoidForRun:style:atPoint:.
  2074. 2005-10-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
  2075. Reviewed by Darin. Committed by David Harrison.
  2076. http://bugs.webkit.org/show_bug.cgi?id=5415
  2077. "Left border of selection highlight leaves behind a trail"
  2078. * manual-tests/drag_select_highlighting.html: Added.
  2079. (this test case was added to WebCore)
  2080. * WebCoreSupport.subproj/WebTextRenderer.m:
  2081. (overrideLayoutOperation):
  2082. (-[WebTextRenderer CG_drawHighlightForRun:style:geometry:]):
  2083. (-[WebTextRenderer ATSU_drawHighlightForRun:style:geometry:]):
  2084. (advanceWidthIterator):
  2085. 2005-10-23 Tim Omernick <tomernick@apple.com>
  2086. Reviewed by Dave Hyatt.
  2087. <http://bugs.webkit.org/show_bug.cgi?id=5365>
  2088. Send -webPlugInStop (or -pluginStop) and -webPluginDestroy (or -pluginDestroy)
  2089. to complying plugins right when they're removed from the WebHTMLView, and also
  2090. release them from the plugin controller's arrays.
  2091. I think this patch makes WebKit behave more like plugins expect it to, which is
  2092. the way it already behaves with Netscape plugins.
  2093. I expect complying plugins to stop making noise when receiving the stop
  2094. message, but QuickTime doesn't. If it's lucky, then it will be deallocated
  2095. because of the release and will stop then. However, JS, for one, can retain the
  2096. plugin (e.g. if you execute <javascript:document.getElementById('obj').width;>
  2097. before clicking Remove OBJECT), in which case it will just keep playing.
  2098. * Plugins.subproj/WebPluginController.h:
  2099. * Plugins.subproj/WebPluginController.m:
  2100. (-[WebPluginController destroyPlugin:]):
  2101. Stop and destroy the plugin.
  2102. * WebView.subproj/WebHTMLView.m:
  2103. (-[NSArray willRemoveSubview:]):
  2104. Destroy plugins when they are removed from the HTML view.
  2105. 2005-10-23 Geoffrey Garen <ggaren@apple.com>
  2106. Reviewed by Maciej.
  2107. For better abstraction, made the tokenizer -- instead of the
  2108. data source -- responsible for calling [WebFrame _checkLoadComplete]
  2109. when the tokenizer stops.
  2110. * WebView.subproj/WebDataSource.m:
  2111. (-[WebDataSource _stopLoadingInternal]):
  2112. 2005-10-21 Geoffrey Garen <ggaren@apple.com>
  2113. Reviewed by darin.
  2114. WebKit side of the fix for <rdar://problem/4184719> window.print() followed by
  2115. window.close() causes world leak
  2116. No test case added because I have another reviewed patch that will include a test
  2117. for this bug as well as many others.
  2118. Under some conditions, [WebDataSource stopLoading] did not set [WebDataSource isLoading]
  2119. to false, so the didFInishLoad delegates never fired.
  2120. The reason isLoading didn't become false was that the tokenizer was still running.
  2121. The fix here is to move the call to [WebCoreBridge stopLoading] above the early return
  2122. inside [WebDataSource stopLoading] -- since the tokenizer may still be running even if the
  2123. loader is finished loading -- and then to call [WebFrame _checkLoadComplete] to
  2124. give the frame a chance to fire its delegates.
  2125. * WebView.subproj/WebDataSource.m:
  2126. (-[WebDataSource _stopLoadingInternal]):
  2127. 2005-10-21 Beth Dakin <bdakin@apple.com>
  2128. Reviewed by Darin??
  2129. Fix for <rdar://problem/3853672> Malformed HTML using crashes Safari in NSFireTimer
  2130. The webFrame was being deleted prematurely by a call to stop(), so we changed it
  2131. so that the calls to _receivedMainResourceError and _mainReceivedError happen
  2132. before the stop(), and we retain the bridge.
  2133. * WebView.subproj/WebDataSource.m:
  2134. (-[WebDataSource _receivedMainResourceError:complete:]):
  2135. 2005-10-21 Geoffrey Garen <ggaren@apple.com>
  2136. Patch by TimO, Reviewed by hyatt, tested and landed by me.
  2137. Found what appears to be a misguided optimization that actually causes a measurable performance problem.
  2138. A fixed-size buffer was allocated on the stack to pass into CFURLGetBytes(), presumably to avoid malloc()
  2139. for URLs less than 2048 bytes. There was also a fallback which malloc()'ed a buffer in case the fixed-size
  2140. buffer was too small to hold the URL's bytes. This malloc()'ed buffer was then wrapped in an NSData using
  2141. +dataWithBytesNoCopy:length:, avoiding a memory copy (yay!)
  2142. The problem with this approach is two-fold:
  2143. 1. Regardless of how the buffer was allocated and filled, it is immediately wrapped in an NSData using
  2144. +dataWithBytes:length:, which copies the input bytes. This is pretty much unavoidable; we need to get
  2145. the data into a malloc()'ed buffer to return it to the caller, unless the caller provides its own storage
  2146. (which would be super inconvenient).
  2147. 2. The size of the fixed buffer was large enough that it fit most (if not all) URLs involved in our Page
  2148. Load Test. This means the unintentionally-inefficient case was by far the most *common* case!
  2149. My fix is to malloc() the buffer from the start, and then use +[NSData dataWithBytes:length:freeWhenDone:]
  2150. to wrap the buffer in an NSData. This avoids a memory copy for the normal case where a URL is less than
  2151. 2048 bytes, and keeps the efficient behavior for the uncommon long URL case.
  2152. * Misc.subproj/WebNSURLExtras.m:
  2153. (-[NSURL _web_originalData]):
  2154. 2005-10-21 Mitz Pettel <opendarwin.org@mitzpettel.com>
  2155. Reviewed and landed by Darin.
  2156. - fixed a couple regressions caused by my last check-in
  2157. http://bugs.webkit.org/show_bug.cgi?id=5437
  2158. http://bugs.webkit.org/show_bug.cgi?id=5443
  2159. * WebCoreSupport.subproj/WebTextRenderer.m:
  2160. (-[WebTextRenderer CG_drawHighlightForRun:style:geometry:]): Compute background width
  2161. correctly, by subtracting position after run from position before run.
  2162. (addDirectionalOverride): Make the range include only the characters between the
  2163. directional override characters, not the directional override characters themselves.
  2164. (initializeWidthIterator): Correctly compute "widthToStart" based on the offset to
  2165. the beginning of the run, not to the end of the run!
  2166. 2005-10-19 Darin Adler <darin@apple.com>
  2167. Reviewed by Maciej.
  2168. - optimizations for a total of about 1% speed-up on PLT
  2169. * WebCoreSupport.subproj/WebTextRenderer.h: Updated to use bool instead of BOOL,
  2170. since BOOL is a signed char (which is not so efficient, at least on PPC).
  2171. * WebCoreSupport.subproj/WebTextRenderer.m:
  2172. (isSpace): Changed BOOL to bool and UniChar to UChar32. This actually fixes a
  2173. potential bug when the passed-in character is a non-BMP character (> FFFF).
  2174. (isRoundingHackCharacter): Ditto.
  2175. (widthForGlyph): Merged getUncachedWidth, widthFromMap, and widthForGlyph into
  2176. one function. Marked it inline. Changed to include syntheticBoldOffset in the
  2177. cached widths to save an add in the cached case. Instead of the special constant
  2178. UNINITIALIZED_GLYPH_WIDTH, just check for a width >= 0. This allows us to use
  2179. a negative number or NAN for the uninitialized width value -- I chose NAN.
  2180. (overrideLayoutOperation): Use bool instead of Boolean in one place.
  2181. (-[WebTextRenderer initWithFont:]): Use lroundf instead of ROUND_TO_INT.
  2182. (-[WebTextRenderer floatWidthForRun:style:]): Put the code to choose the ATSU
  2183. vs. CG code path back in here, because there are no callers inside the class
  2184. that need to call both.
  2185. (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
  2186. Use bool instead of BOOL.
  2187. (+[WebTextRenderer setAlwaysUseATSU:]): Ditto.
  2188. (fontContainsString): Ditto.
  2189. (-[WebTextRenderer computeWidthForSpace]): Ditto. Also use roundf instead of
  2190. using ROUND_TO_INT.
  2191. (-[WebTextRenderer setUpFont]): Use bool instead of BOOL.
  2192. (drawGlyphs): Ditto.
  2193. (-[WebTextRenderer CG_drawHighlightForRun:style:geometry:]): Restructure the
  2194. code so it can use the new advanceWidthIterator function instead of the old
  2195. widthForNextCharacter function.
  2196. (-[WebTextRenderer CG_drawRun:style:geometry:]): Use malloc instead of calloc
  2197. since we don't need initialization. Call CG_floatWidthForRun instead of
  2198. floatWidthForRun -- no need to re-check whether to use the CG or ATSU code path.
  2199. Removed code to handle a renderer of 0 since we no longer generate that in
  2200. the renderers array in advanceWidthIterator.
  2201. (CG_floatWidthForRun): Changed to call the new advanceWidthIterator instead of
  2202. the old widthForNextCharacter.
  2203. (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Use malloc instead of
  2204. calloc and explicitly initialize the one field that needs it. Fixed a potential
  2205. storage leak by adding a call to WKClearGlyphVector. Initialize the renderers
  2206. to self instead of to 0.
  2207. (-[WebTextRenderer extendGlyphToWidthMapToInclude:]): Initialize the widths to
  2208. NAN instead of UNINITIALIZED_GLYPH_WIDTH.
  2209. (addDirectionalOverride): Fixed bug where the first and last character in the buffer
  2210. could be uninitialized and where characters before and after the direction override
  2211. could be incorrect.
  2212. (-[WebTextRenderer ATSU_drawRun:style:geometry:]): Use bool instead of BOOL.
  2213. (-[WebTextRenderer ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
  2214. Ditto.
  2215. (advanceWidthIteratorOneCharacter): Added new helper function for CG_pointToOffset.
  2216. (-[WebTextRenderer CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
  2217. Reimplemented to use advanceWidthIteratorOneCharacter instead of widthForNextCharacter.
  2218. Also call CG_floatWidthForRun instead of floatWidthForRun since we don't need to
  2219. reconsider whether to use CG or ATSU.
  2220. (glyphForCharacter): Removed the map parameter and changed the renderer parameter to
  2221. be an in-out one. Removed uneeded special case for when map is 0 and always get the
  2222. renderer from the map. Also call extendCharacterToGlyphMapToInclude in here instead of
  2223. making that the caller's responsibility.
  2224. (initializeWidthIterator): Renamed to make the name shorter (removed "Character").
  2225. Streamlned common cases like "no padding" and removed some unneeded casts. Changed to
  2226. use advanceWidthIterator to compute width fo the first part of the run.
  2227. (normalizeVoicingMarks): Factored this out into a separate function, since it's not part
  2228. of the common case.
  2229. (advanceWidthIterator): Changed widthForNextCharacter to this, eliminating per-character
  2230. function overhead for iterating past a few characters. Merged the handling of surrogate
  2231. pairs and of voicing marks so that we typically only have to do one "if" to rule out both.
  2232. Merged the mirroring for RTL and uppercasing for small caps into a single boolean so that
  2233. we only need one "if" to rule out both. Call the new glyphForCharacter. Check for the
  2234. character '\t' first since that's cheaper than looking at tabWidth. Check tabWidth for 0
  2235. first so that we don't have to convert it to floating point when not using it. Changed
  2236. the special case for spaces to first check width, so that we don't bother with the rest
  2237. of the code for glyphs not the same width as spaces. Fixed substitution code to call
  2238. CG_floatWidthForRun -- no need to reconsider whether to use CG or ATSU. Also changed to
  2239. properly get width from the result of that function. Merged the handling of letter spacing,
  2240. padding, and word spacing into a single boolean so that we typically only have to do one
  2241. "if" to rule out all three. Check for letterSpacing of 0 first so that we don't have to
  2242. convert it to floating point when not using it. Same for padding and wordSpacing.
  2243. Move the work from ceilCurrentWidth in line into this function. Assume that either we have
  2244. all three pointers (widths, renderers, glyphs), or none of the three, to cut down on branches.
  2245. (fillStyleWithAttributes): Use bool instead of BOOL.
  2246. (shouldUseATSU): Ditto.
  2247. * Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_widthWithFont:]): Update since
  2248. the floatWidthForRun method no longer takes a widths parameter.
  2249. * Misc.subproj/WebStringTruncator.m: (stringWidth): Ditto.
  2250. 2005-10-19 Tim Omernick <tomernick@apple.com>
  2251. Reviewed by eseidel & darin.
  2252. Changed some of the run measurement methods to C functions
  2253. to avoid overhead associated with objc_msgSend().
  2254. * WebCoreSupport.subproj/WebTextRenderer.m:
  2255. (-[WebTextRenderer floatWidthForRun:style:widths:]):
  2256. Updated to call new run measurement functions instead
  2257. of calling ObjC methods.
  2258. (-[WebTextRenderer CG_drawRun:style:geometry:]): ditto
  2259. (floatWidthForRun): ditto
  2260. (CG_floatWidthForRun): ditto
  2261. (ATSU_floatWidthForRun): ditto
  2262. (widthForNextCharacter): ditto
  2263. 2005-10-14 Vicki Murley <vicki@apple.com>
  2264. Changes by Mitz Pettel, reviewed by Maciej.
  2265. Fix http://bugs.webkit.org/show_bug.cgi?id=5029 (Assertion failure in -[NSPasteboard(WebExtras)
  2266. _web_writeImage:URL:title:archive:types:] when trying to drag an image from a site with no favicon)
  2267. * Misc.subproj/WebNSPasteboardExtras.m:
  2268. (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): Prefer the main resource if it is an image
  2269. 2005-10-12 Vicki Murley <vicki@apple.com>
  2270. Reviewed by Darin.
  2271. - fix <rdar://problem/4043643> iframe swallows events for overlapping elements (3449)
  2272. * WebView.subproj/WebHTMLView.m:
  2273. (-[WebHTMLView hitTest:]):
  2274. (-[WebHTMLView _updateMouseoverWithEvent:]): eliminate _hitViewForEvent hackery and self
  2275. dependency from this function
  2276. 2005-10-12 Timothy Hatcher <timothy@apple.com>
  2277. Reviewed by Darin.
  2278. Define WebNSInt and WebNSUInt to wrap around NSInt on Leopard and still build on Tiger
  2279. Once building on Tiger isn't needed we will drop WebNSInt and use NSInt
  2280. * WebView.subproj/WebDefaultResourceLoadDelegate.m:
  2281. (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveContentLength:fromDataSource:]):
  2282. * WebView.subproj/WebFrame.m:
  2283. (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
  2284. * WebView.subproj/WebLoader.m:
  2285. (-[NSURLProtocol didReceiveData:lengthReceived:]):
  2286. * WebView.subproj/WebResourceLoadDelegate.h:
  2287. * WebView.subproj/WebUIDelegate.h:
  2288. * WebView.subproj/WebView.h:
  2289. * WebView.subproj/WebView.m:
  2290. (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
  2291. (-[WebView spellCheckerDocumentTag]):
  2292. * WebView.subproj/WebViewInternal.h:
  2293. * WebView.subproj/WebViewPrivate.h:
  2294. 2005-10-12 Darin Adler <darin@apple.com>
  2295. * WebView.subproj/WebPolicyDelegate.h: Fix a comment.
  2296. 2005-10-11 Timothy Hatcher <timothy@apple.com>
  2297. Reviewed by Darin.
  2298. Test for 10.4 because of <rdar://problem/4243463>
  2299. * WebView.subproj/WebHTMLView.m:
  2300. (-[WebHTMLView conversationIdentifier]):
  2301. 2005-10-11 Adele Peterson <adele@apple.com>
  2302. Rolling out fix for http://bugs.webkit.org/show_bug.cgi?id=5195
  2303. since it caused:
  2304. REGRESSION text areas draw focus ring around each glyph, no caret in text fields
  2305. http://bugs.webkit.org/show_bug.cgi?id=5335
  2306. * WebView.subproj/WebHTMLView.m:
  2307. (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]):
  2308. (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
  2309. (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
  2310. 2005-10-09 Darin Adler <darin@apple.com>
  2311. Reviewed by Maciej.
  2312. - fixed http://bugs.webkit.org/show_bug.cgi?id=5195
  2313. Would like API to flush rendering of pending DOM changes
  2314. This was actually a Tiger regression. When AppKit added a new code path for rendering
  2315. NSView, our special hack for doing layout when we draw didn't work any more. So we
  2316. were able to fix this without adding any API.
  2317. * WebView.subproj/WebHTMLView.m:
  2318. (-[WebHTMLView _recursiveDisplayRectIgnoringOpacity:inContext:topView:]): Added.
  2319. Does the same thing that other _recursiveDisplay methods do.
  2320. 2005-10-08 Alexey Proskuryakov <ap@nypop.com>
  2321. Reviewed by Maciej.
  2322. - fixed http://bugs.webkit.org/show_bug.cgi?id=5187
  2323. UTF-8 in long text files breaks at some point
  2324. * WebView.subproj/WebTextRepresentation.m:
  2325. (-[WebTextRepresentation finishedLoadingWithDataSource:]):
  2326. Call flushReceivedData on the WebTextView so it can decode any final bytes.
  2327. * WebView.subproj/WebTextView.h: Added WebCoreTextDecoder field and flushReceivedData method.
  2328. * WebView.subproj/WebTextView.m:
  2329. (-[WebTextView dealloc]): Release WebCoreTextDecoder.
  2330. (-[WebTextView appendReceivedData:fromDataSource:]): Create a WebCoreTextDecoder to decode
  2331. the text; use the textEncodingName from the data source. Use it to decode instead of the
  2332. data source's stringWithData.
  2333. (-[WebTextView flushReceivedData]): Call flush on the decoder and append any last bytes to
  2334. the text view.
  2335. 2005-10-07 John Sullivan <sullivan@apple.com>
  2336. Reviewed by Tim Omernick.
  2337. WebKit support for allowing clients to know which frame originated a particular JavaScript alert/dialog.
  2338. * WebView.subproj/WebUIDelegatePrivate.h:
  2339. New optional delegate methods for the three JavaScript alert/dialogs. These are just like the existing
  2340. ones in WebUIDelegate.h except that each adds a parameter specifying the frame that the JavaScript was
  2341. running in. Eventually we'll deprecate the old three methods in favor of these in the public API.
  2342. * WebCoreSupport.subproj/WebBridge.m:
  2343. (-[WebBridge runJavaScriptAlertPanelWithMessage:]):
  2344. Call version of the delegate method that has the frame parameter if the delegate supports it.
  2345. (-[WebBridge runJavaScriptConfirmPanelWithMessage:]):
  2346. ditto
  2347. (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
  2348. ditto
  2349. * WebView.subproj/WebDefaultUIDelegate.m:
  2350. (-[WebDefaultUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:]):
  2351. Now implements the new version of the delegate method that includes the frame parameter. (Still
  2352. doesn't do anything though.)
  2353. (-[WebDefaultUIDelegate webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:]):
  2354. Now implements the new version of the delegate method that includes the frame parameter. (Still
  2355. doesn't do anything though.)
  2356. (-[WebDefaultUIDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:]):
  2357. Now implements the new version of the delegate method that includes the frame parameter. Doesn't
  2358. actually use the frame parameter here yet though.
  2359. 2005-10-06 Darin Adler <darin@apple.com>
  2360. - fixed compiling on Deployment
  2361. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:]):
  2362. Put initialFont inside !LOG_DISABLED.
  2363. 2005-10-06 Darin Adler <darin@apple.com>
  2364. Reviewed by Eric.
  2365. - tweaked formatting
  2366. * WebCoreSupport.subproj/WebTextRenderer.m: Changed function names to remove underscores;
  2367. fixed formatting to match our coding guidelines, other related tweaks.
  2368. 2005-10-06 Darin Adler <darin@apple.com>
  2369. Reviewed by Eric.
  2370. - fixed regression in drawing of text in non-flipped contexts from my last check-in
  2371. * WebCoreSupport.subproj/WebTextRenderer.m:
  2372. (drawGlyphs): Only flip the matrix if the NSGraphicsContext is flipped.
  2373. (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): Use -[NSGraphicsContext isFlipped]
  2374. instead of [[NSView focusView] isFlipped].
  2375. 2005-10-06 Darin Adler <darin@apple.com>
  2376. Reviewed by Hyatt.
  2377. - fixed <rdar://problem/3217793> Monaco bold comes out as Helvetica bold, very bad if you choose Monaco as your fixed-width font
  2378. - fixed <rdar://problem/3256269> CSS1: bold/italic font styles not programmatically created if font doesn't include them (3231)
  2379. also <http://bugs.webkit.org/show_bug.cgi?id=3231>
  2380. * WebCoreSupport.subproj/WebTextRenderer.h: Removed public declarations of private structures that are not
  2381. used in the header. Removed the separate 16-bit character map; the difference in code size is only a few
  2382. bytes per page and there's no measurable performance difference by always using the 32-bit character version.
  2383. Removed substitute font width maps altogether, since we now use the width map in the substitute font's renderer.
  2384. Also removed a few more now-unused fields and methods. Changed initWithFont to take WebCoreFont. Changed
  2385. the setAlwaysUseATSU: method to remove the underscore prefix.
  2386. * WebCoreSupport.subproj/WebTextRenderer.m:
  2387. (getUncachedWidth): Get font from WebCoreFont directly instead of taking a parameter, since we now use only
  2388. one NSFont per WebTextRenderer.
  2389. (widthFromMap): Removed NSFont parameter for same reason as above; simplified.
  2390. (widthForGlyph): Ditto.
  2391. (overrideLayoutOperation): Updated for change to WebCoreFont.
  2392. (-[WebTextRenderer initWithFont:]): Changed to use WebCoreFont. Removed code to deal with substitute font maps.
  2393. Changed lineGap computation to use floats instead of doubles. Added code to compute a synthetic bold offset.
  2394. Currently this is the font size divided by 24 and then rounded up to an integer.
  2395. (-[WebTextRenderer dealloc]): Updated for change to WebCoreFont and other related changes.
  2396. (-[WebTextRenderer finalize]): Ditto.
  2397. (-[WebTextRenderer xHeight]): Ditto.
  2398. (-[WebTextRenderer drawRun:style:geometry:]): Remove small caps case here; no longer needed. Also updated as above.
  2399. (-[WebTextRenderer floatWidthForRun:style:widths:]): Ditto.
  2400. (-[WebTextRenderer drawHighlightForRun:style:geometry:]): Ditto.
  2401. (-[WebTextRenderer pointToOffset:style:position:reversed:includePartialGlyphs:]): Ditto.
  2402. (+[WebTextRenderer setAlwaysUseATSU:]): Renamed to remove underscore prefix.
  2403. (-[WebTextRenderer smallCapsRenderer]): Ditto. Changed to create a renderer for the smaller sized font.
  2404. (-[WebTextRenderer _substituteFontForString:families:]): Reorganized this to be more readable and to call
  2405. the new rendererForAlternateFont method.
  2406. (-[WebTextRenderer rendererForAlternateFont:]): Added. Used to select an alternate font taking into account
  2407. bold and italic synthesis.
  2408. (-[WebTextRenderer substituteRendererForCharacters:length:families:]): Renamed to remove underscore prefix.
  2409. Updated to use rendererForAlternateFont.
  2410. (-[WebTextRenderer _computeWidthForSpace]): Updated for name changes and to remove unnecessary parameters.
  2411. (-[WebTextRenderer setUpFont]): Renamed to remove underscore prefix. Added code to get printer or screen
  2412. font as specified by WebCoreFont so calers don't need to do this.
  2413. (drawGlyphs): Renamed to remove underscore prefix. Added code for synthetic oblique (14 degree slant), and
  2414. synthetic bold (add offset and draw text a second time).
  2415. (-[WebTextRenderer _CG_drawRun:style:geometry:]): Keep an array of substitute renderers instead of fonts.
  2416. Changed around the loop to reverse the run to be a single loop instead of 3.
  2417. (-[WebTextRenderer floatWidthForRun:style:widths:substituteRenderers:glyphs:startPosition:numGlyphs:]):
  2418. Renamed to remove the underscore prefix.
  2419. (-[WebTextRenderer _CG_floatWidthForRun:style:widths:substituteRenderers:glyphs:startPosition:numGlyphs:]):
  2420. Changed to use subsitute renderers rather than fonts.
  2421. (-[WebTextRenderer updateGlyphEntryForCharacter:glyphID:substituteRenderer:]): Renamed to remove underscore
  2422. prefix and changed to use a substitute renderer rather than a substitute NSFont.
  2423. (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Updated to work with all characters, both ones
  2424. that fit into 16-bit and ones that don't.
  2425. (-[WebTextRenderer _extendGlyphToWidthMapToInclude:]): Removed NSFont parameter and simplified. This fixes
  2426. a bug where numberOfGlyphs was accidentally used from the main font instead of "subFont".
  2427. (glyphForCharacter): Changed to use subsitute renderers instead of substitute fonts.
  2428. (widthForNextCharacter): Ditto. Also removed small caps code no longer needed here and replaced it with
  2429. simpler small caps code that no longer assumes glyphs match.
  2430. (shouldUseATSU): Changed the code to check ranges in order to slightly reduce the number of cases and
  2431. to create earlier exit for lower character codes.
  2432. * WebCoreSupport.subproj/WebTextRendererFactory.h: Added caches for synthesized font and oblique
  2433. variants so we can still use the NSFont as the dictionary key. Removed coalesceTextDrawing methods.
  2434. Changed methods to use WebCoreFont as the parameters and results instead of NSFont.
  2435. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  2436. (-[WebTextRendererFactory clearCaches]): Clear all 8 caches.
  2437. (-[WebTextRendererFactory isFontFixedPitch:]): Changed code slightly so there's only one call to
  2438. the CFDictionarySetValue function.
  2439. (-[WebTextRendererFactory init]): Create all 8 caches.
  2440. (-[WebTextRendererFactory dealloc]): Release all 8 caches.
  2441. (-[WebTextRendererFactory rendererWithFont:]): Select the appropriate cache based on 3 booleans:
  2442. synthetic bold, synthetic oblique, and printer. Use WebCoreFont instead of NSFont.
  2443. (-[WebTextRendererFactory fontWithFamilies:traits:size:]): Set the synthetic bold and oblique flags
  2444. when returning a WebCoreFont based on requested traits that are not present in the NSFont.
  2445. (acceptableChoice): Ignore the synthesizable traits when deciding if a chosen font is acceptable.
  2446. (betterChoice): Rather than assuming that every font has all the desired traits, implement a rule
  2447. that says a font with an unwanted trait loses out over a font that does not have an unwanted trait.
  2448. This lets us chose a bold font over a non-bold font that could use synthesized bold but treat both
  2449. as candidates.
  2450. * WebCoreSupport.subproj/WebGlyphBuffer.h: Removed.
  2451. * WebCoreSupport.subproj/WebGlyphBuffer.m: Removed.
  2452. * WebKit.xcodeproj/project.pbxproj: Removed WebGlyphBuffer source files.
  2453. * Misc.subproj/WebKitNSStringExtras.m:
  2454. (-[NSString _web_drawAtPoint:font:textColor:]): Update to use WebCoreFont.
  2455. (-[NSString _web_widthWithFont:]): Ditto.
  2456. * Misc.subproj/WebStringTruncator.m:
  2457. (truncateString): Ditto.
  2458. (+[WebStringTruncator widthOfString:font:]): Ditto.
  2459. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): Removed text drawing coalesce method calls.
  2460. * WebView.subproj/WebTextView.m: (-[WebTextView setFixedWidthFont]): Updated to use cachedFontFromFamily
  2461. method, which we still have, rather than fontWithFamilies method which we don't (since it now uses WebCoreFont).
  2462. * WebView.subproj/WebView.m: (+[WebView _setAlwaysUseATSU:]): Updated for name change to underlying method.
  2463. 2005-10-05 Maciej Stachowiak <mjs@apple.com>
  2464. Reviewed by Eric.
  2465. <rdar://problem/4158439> Safari appears to hang when sending synchronous XMLHttpRequest that gets no server response
  2466. No testcase - not testable w/o network.
  2467. * WebCoreSupport.subproj/WebBridge.m:
  2468. (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Set a timeout of 10.
  2469. 2005-10-04 Beth Dakin <bdakin@apple.com>
  2470. Reviewed by Darin
  2471. Fix for <rdar://problem/4285538> TOT fix for Denver Regression: Drawing glitch in the transparent dialog's cancel/ok
  2472. button in the widget manager.
  2473. * WebCoreSupport.subproj/WebImageData.m: Calls WKSetPatternPhaseInUserSpace() which is a new function that lies in
  2474. WebKitSystemInterface that and takes care of pattern-setting. Prevents
  2475. regression that occurred with image tiling in transparency layers.
  2476. (-[WebImageData tileInRect:fromPoint:context:]):
  2477. 2005-10-03 Tim Omernick <tomernick@apple.com>
  2478. Reviewed by John Sullivan.
  2479. <rdar://problem/4281095> Denver regression: Seed: Safari HTML 4.01 <object ...> tag problem
  2480. * WebCoreSupport.subproj/WebBridge.m:
  2481. (-[WebBridge determineObjectFromMIMEType:URL:]):
  2482. If no view class is registered to handle the MIME type, check to see if there is a plugin registered which can handle it.
  2483. This check is required because the Java plugin does not register an NSView class, so that Java files are downloaded when
  2484. not embedded.
  2485. Prior to this fix, -determineObjectFromMIMEType:URL: would always return ObjectElementNone for Java applets (MIME type
  2486. "application/x-java-applet"), which would cause Java applets embedded in <OBJECT> elements to not be loaded.
  2487. This broke on 05-03-2005, when we changed how we handle fallback content for <OBJECT> elements so that we could pass the
  2488. Acid2 test.
  2489. 2005-09-28 Justin Garcia <justin.garcia@apple.com>
  2490. Reviewed by geoff
  2491. Fixed <rdar://problem/4276596> multipart/x-mixed-replace: saved inline images appear only partially loaded
  2492. Fixed <rdar://problem/4265439> progress bar should look complete even if there is some more multipart content being loaded
  2493. * WebCoreSupport.subproj/WebSubresourceLoader.h:
  2494. * WebCoreSupport.subproj/WebSubresourceLoader.m:
  2495. (-[WebSubresourceLoader didReceiveResponse:]):
  2496. Now calls signalFinish and saveResource.
  2497. (-[WebSubresourceLoader signalFinish]):
  2498. Added. Does the part of didFinishLoading that signals to the WebDataSource and load delegates that the load is finished.
  2499. (-[WebSubresourceLoader didFinishLoading]):
  2500. * WebView.subproj/WebLoader.h:
  2501. * WebView.subproj/WebLoader.m:
  2502. (-[NSURLProtocol signalFinish]):
  2503. Similar to above
  2504. (-[NSURLProtocol didFinishLoading]):
  2505. 2005-09-28 Adele Peterson <adele@apple.com>
  2506. Reviewed by John.
  2507. Moved _downloadWithLoadingConnection and _downloadWithRequestfrom WebDownload.h to WebDownloadInternal.h
  2508. * Misc.subproj/WebDownload.h:
  2509. * Misc.subproj/WebDownloadInternal.h: Added.
  2510. * WebKit.xcodeproj/project.pbxproj: Added WebDownloadInternal.h
  2511. * WebView.subproj/WebMainResourceLoader.m: Added import of WebDownloadInternal.h
  2512. * WebView.subproj/WebView.m: ditto.
  2513. 2005-09-27 Adele Peterson <adele@apple.com>
  2514. Reviewed by Maciej.
  2515. Changed ints to size_t where appropriate.
  2516. * Misc.subproj/WebCoreStatistics.h:
  2517. * Misc.subproj/WebCoreStatistics.m:
  2518. (+[WebCoreStatistics javaScriptObjectsCount]):
  2519. (+[WebCoreStatistics javaScriptInterpretersCount]):
  2520. (+[WebCoreStatistics javaScriptNoGCAllowedObjectsCount]):
  2521. (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
  2522. * WebView.subproj/WebPreferences.m:
  2523. (-[WebPreferences _pageCacheSize]):
  2524. (-[WebPreferences _objectCacheSize]):
  2525. * WebView.subproj/WebPreferencesPrivate.h:
  2526. 2005-09-26 John Sullivan <sullivan@apple.com>
  2527. Reviewed by Tim Omernick.
  2528. - fixed <rdar://problem/4118126> Drag-and-drop text with text containing a colon causes a crash
  2529. There were two problems here. One is that dragging and dropping text within the same WebTextView
  2530. should have done nothing rather than try to navigate. The other is that navigating while processing
  2531. the end of the drag would dealloc the drag-initiating WebTextView, leading to a crash. Fixing the
  2532. former doesn't fix all cases of the latter, since dropping onto (e.g.) Safari's location field
  2533. could cause a navigation during the drag. So these two issues needed to be fixed separately.
  2534. * WebView.subproj/WebTextView.m:
  2535. (-[WebTextView dragSelectionWithEvent:offset:slideBack:]):
  2536. Before drag, retain self, and tell WebView that the drag is self-initiated. After drag, do the
  2537. opposite. This is the same approach as WebImageView, but it can all be contained in one method
  2538. here due to NSTextView's dragging API, which wraps up some of the drag-machinery guts.
  2539. 2005-09-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
  2540. Reviewed and landed by Darin.
  2541. - fixed http://bugs.webkit.org/show_bug.cgi?id=5100
  2542. -[WebTextRenderer _ATSU_drawRun:...] does not check view flippedness
  2543. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
  2544. Set up a the CGContext with a matrix that flips the text if the view is not flipped.
  2545. 2005-09-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
  2546. Reviewed, tweaked a tiny bit, and landed by Darin.
  2547. - fixed http://bugs.webkit.org/show_bug.cgi?id=4940
  2548. CG and ATSUI give different width to the same text
  2549. * WebCoreSupport.subproj/WebTextRenderer.m:
  2550. (overrideLayoutOperation): Added. ATSU callback to do the rounding.
  2551. (-[WebTextRenderer _trapezoidForRun:style:atPoint:]): Use the new createATSULayoutParameters
  2552. function instead of calling _createATSUTextLayoutForRun.
  2553. (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]): Use createATSULayoutParameters,
  2554. and also compute the width in a way that works for any direction combination.
  2555. (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): Use createATSULayoutParameters.
  2556. (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
  2557. Use createATSULayoutParameters. Also put in code that seems to work around an ATSU bug.
  2558. (createATSULayoutParameters): Added.
  2559. (disposeATSULayoutParameters): Added.
  2560. 2005-09-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
  2561. Reviewed by Dave.
  2562. Landed by Darin.
  2563. - fixed http://bugs.webkit.org/show_bug.cgi?id=4862
  2564. Incorrect layout of bidi overrides
  2565. * WebCoreSupport.subproj/WebTextRenderer.m:
  2566. (addDirectionalOverride): Renamed, and made it work in both directions.
  2567. (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]): Updated to call addDirectionalOverride.
  2568. (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): More of the same.
  2569. (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]): Ditto.
  2570. 2005-09-24 Alexey Proskuryakov <ap@nypop.com>
  2571. Tweaked, reviewed, and landed by Darin.
  2572. - fixed http://bugs.webkit.org/show_bug.cgi?id=4394
  2573. Mouse clicks ignored in inline input areas
  2574. * WebView.subproj/WebHTMLView.m:
  2575. (-[NSArray mouseDown:]): Removed misleading comment and added code to send mouse event to input manager.
  2576. (-[NSArray mouseDragged:]): Added code to send mouse event to input manager.
  2577. (-[NSArray mouseUp:]): Ditto.
  2578. (-[WebHTMLView _discardMarkedText]): Umnmark text before calling markedTextAbandoned: to match behavior
  2579. of NSTextView (not sure why we did things in the opposite order before).
  2580. (-[WebHTMLView _updateSelectionForInputManager]): Ditto.
  2581. - unrelated tweak
  2582. * WebView.subproj/WebView.m:
  2583. (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
  2584. Fix typecast that used ... for no good reason.
  2585. 2005-09-23 Duncan Wilcox <duncan@mclink.it>
  2586. Reviewed and landed by Darin.
  2587. - name changes to prepare for fixing bugzilla bug 4582
  2588. * WebView.subproj/WebHTMLView.m: Changed names to match WebCore changes.
  2589. 2005-09-20 John Sullivan <sullivan@apple.com>
  2590. Reviewed by Tim Omernick.
  2591. - fixed <rdar://problem/3228554> We should enforce one selection per WebView instead of per window
  2592. Note that this checkin does not mean that we will always maintain a selection in a WebView when
  2593. the focus is elsewhere. Instead it means that there should never be more than one frame containing
  2594. a selection in a WebView, and that it's possible to maintain a selection in a WebView when the focus
  2595. is elsewhere.
  2596. * WebView.subproj/WebView.m:
  2597. (-[WebView searchFor:direction:caseSensitive:wrap:]):
  2598. removed unnecessary and somewhat confusing comment
  2599. (-[WebView selectedFrame]):
  2600. now calls the extracted method -_focusedFrame
  2601. (-[WebView _focusedFrame]):
  2602. new method, extracted from -selectedFrame; returns frame containing first responder, if any
  2603. (-[WebView _findSelectedFrameStartingFromFrame:skippingFrame:]):
  2604. added skippingFrame parameter, which is never returned
  2605. (-[WebView _findSelectedFrameSkippingFrame:]):
  2606. new method, starts from main frame and passes a frame to skip
  2607. (-[WebView _findSelectedFrame]):
  2608. now calls _findSelectedFrameSkippingFrame:nil
  2609. (-[WebView _selectedFrameDidChange]):
  2610. new method, called by WebDocumentText protocol implementors; calls -deselectAll on frame that
  2611. formerly displayed a selection, if any
  2612. * WebView.subproj/WebViewInternal.h:
  2613. added category WebDocumentSelectionExtras, with the one method _selectedFrameDidChange
  2614. * WebView.subproj/WebHTMLView.m:
  2615. (-[WebHTMLView becomeFirstResponder]):
  2616. call -[WebView _selectedFrameDidChange]
  2617. * WebView.subproj/WebPDFView.m:
  2618. (-[WebPDFView becomeFirstResponder]):
  2619. call -[WebView _selectedFrameDidChange]
  2620. (-[WebPDFView resignFirstResponder]):
  2621. deselect all unless webview says not to; note that this doesn't work in all cases due to:
  2622. <rdar://problem/4265966> PDFs continue to show a (secondary) selection when the focus moves elsewhere
  2623. * WebView.subproj/WebTextView.m:
  2624. (-[WebTextView becomeFirstResponder]):
  2625. call -[WebView _selectedFrameDidChange]
  2626. (-[WebTextView resignFirstResponder]):
  2627. deselect all unless webview says not to
  2628. 2005-09-20 Eric Seidel <eseidel@apple.com>
  2629. Reviewed by mjs.
  2630. Moved MIME type support from a hard coded list
  2631. (in two places) to single lists in the corresponding
  2632. *Representation classes. Also moved the list of types
  2633. supported by WebCore (WebHTMLRepresentation) into WebCore.
  2634. http://bugs.webkit.org/show_bug.cgi?id=5037
  2635. * WebView.subproj/WebDataSource.m:
  2636. (addTypesFromClass): new inline function
  2637. (+[WebDataSource _repTypesAllowImageTypeOmission:]):
  2638. * WebView.subproj/WebFrameView.m:
  2639. (addTypesFromClass): new inline function
  2640. (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
  2641. * WebView.subproj/WebHTMLRepresentation.h:
  2642. * WebView.subproj/WebHTMLRepresentation.m:
  2643. (+[WebHTMLRepresentation supportedMIMETypes]):
  2644. * WebView.subproj/WebHTMLView.m:
  2645. (+[WebHTMLView supportedMIMETypes]):
  2646. * WebView.subproj/WebHTMLViewPrivate.h:
  2647. * WebView.subproj/WebImageRepresentation.h:
  2648. * WebView.subproj/WebImageRepresentation.m:
  2649. (+[WebImageRepresentation supportedMIMETypes]):
  2650. * WebView.subproj/WebImageView.h:
  2651. * WebView.subproj/WebImageView.m:
  2652. (+[WebImageView supportedMIMETypes]):
  2653. * WebView.subproj/WebPDFRepresentation.h:
  2654. * WebView.subproj/WebPDFRepresentation.m:
  2655. (+[WebPDFRepresentation supportedMIMETypes]):
  2656. * WebView.subproj/WebPDFView.h:
  2657. * WebView.subproj/WebPDFView.m:
  2658. (+[WebPDFView supportedMIMETypes]):
  2659. * WebView.subproj/WebTextRepresentation.h:
  2660. * WebView.subproj/WebTextRepresentation.m:
  2661. (+[WebTextRepresentation supportedMIMETypes]):
  2662. * WebView.subproj/WebTextView.h:
  2663. * WebView.subproj/WebTextView.m:
  2664. (+[WebTextView supportedMIMETypes]):
  2665. * WebView.subproj/WebView.m:
  2666. (+[WebView _viewClass:andRepresentationClass:forMIMEType:]):
  2667. (+[WebView MIMETypesShownAsHTML]): updated to match style
  2668. (+[WebView setMIMETypesShownAsHTML:]): ditto
  2669. 2005-09-16 John Sullivan <sullivan@apple.com>
  2670. * WebView.subproj/WebImageView.m:
  2671. (-[WebImageView copy:]):
  2672. fixed build-breaking silly error in previous checkin
  2673. 2005-09-16 John Sullivan <sullivan@apple.com>
  2674. Reviewed by Tim Omernick
  2675. - fixed <rdar://problem/4256557> CrashTracer: 238 crashes in Safari at
  2676. com.apple.AppKit: -[NSPasteboard setData:forType:] + 188
  2677. * WebView.subproj/WebImageView.m:
  2678. (-[WebImageView copy:]):
  2679. declare types to pasteboard before starting to set their data
  2680. (-[WebImageView writeSelectionToPasteboard:types:]):
  2681. ditto
  2682. 2005-09-16 Adele Peterson <adele@apple.com>
  2683. Rolling out the fix for http://bugs.webkit.org/show_bug.cgi?id=4924
  2684. QPainter should use CGContext as much as possible rather than NSGraphicsContext
  2685. since it caused a performance regression.
  2686. 2005-09-16 Adele Peterson <adele@apple.com>
  2687. Change by Darin, reviewed by me and Maciej.
  2688. Fixes http://bugs.webkit.org/show_bug.cgi?id=4547
  2689. use int instead of long for 32-bit (to prepare for LP64 compiling)
  2690. * Plugins.subproj/npapi.m: changed types to match those defined in npapi.h
  2691. (NPN_MemAlloc):
  2692. (NPN_MemFlush):
  2693. (NPN_PostURLNotify):
  2694. (NPN_PostURL):
  2695. (NPN_Write):
  2696. 2005-09-14 Justin Garcia <justin.garcia@apple.com>
  2697. Reviewed by john
  2698. Fixes <rdar://problem/4237479> REGRESSION (Cambridge-Denver): old QuickTime movie continues to play sound after reload
  2699. We were adding the movie to the document twice after the changes were added to handle fallback content.
  2700. There are some errors for which we should not render fall back content
  2701. * Misc.subproj/WebKitErrorsPrivate.h:
  2702. Introduced WebKitErrorPlugInWillHandleLoad to represent the cancel we do
  2703. to prevent loading plugin content twice
  2704. * Plugins.subproj/WebPluginDocumentView.m:
  2705. (-[WebPluginDocumentView dataSourceUpdated:]): Ditto
  2706. * WebView.subproj/WebDataSource.m:
  2707. (-[WebDataSource _receivedMainResourceError:complete:]):
  2708. Don't handleFallbackContent on WebKitErrorPlugInWillHandleLoad or on a user cancel
  2709. 2005-09-14 Timothy Hatcher <thatcher@apple.com>
  2710. Reviewed by Eric.
  2711. * WebKit.xcodeproj/project.pbxproj:
  2712. made WebDashboardRegion.h a private header
  2713. 2005-09-14 Darin Adler <darin@apple.com>
  2714. Reviewed by Maciej.
  2715. - fixed http://bugs.webkit.org/show_bug.cgi?id=4924
  2716. QPainter should use CGContext as much as possible rather than NSGraphicsContext
  2717. * WebCoreSupport.subproj/WebImageRendererFactory.m: Remove setCGCompositeOperationFromString
  2718. method, no longer needed.
  2719. 2005-09-13 Tim Omernick <tomernick@apple.com>
  2720. Reviewed by Justin Garcia, Darin Adler.
  2721. - <rdar://problem/3163393> Safari does not support Windowless mode in Flash
  2722. * Plugins.subproj/WebBaseNetscapePluginView.h:
  2723. Added 'isTransparent' instance variable.
  2724. * Plugins.subproj/WebBaseNetscapePluginView.m:
  2725. (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
  2726. When updating a plugin in "windowless" (transparent) mode, clip drawing to the dirty
  2727. region of the opaque ancestor. This means that a partially-transparent plugin, which
  2728. by definition does not clear its port on redraw, will not overdraw the valid parts
  2729. of its port.
  2730. (-[WebBaseNetscapePluginView sendEvent:]):
  2731. Disabled the "green debug background" for transparent plugins -- since they are not
  2732. expected to cover their entire port every redraw, this debug code makes no sense.
  2733. (-[WebBaseNetscapePluginView setVariable:value:]):
  2734. Implemented -setVariable:value:, which is called from NPN_SetValue() (previously
  2735. unimplemented).
  2736. Right now we only handle NPPVpluginTransparentBool; if we choose to handle the other
  2737. plugin variables, then we may do so here.
  2738. * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
  2739. Added SPI for -[WebBaseNetscapePluginView setVariable:value].
  2740. * Plugins.subproj/npapi.m:
  2741. (NPN_SetValue):
  2742. Implemented this function so that plugins may set state (such as window mode).
  2743. 2005-09-11 Mark Rowe <opendarwin.org@bdash.net.nz>
  2744. Reviewed, tweaked, and landed by Darin.
  2745. - fixed http://bugs.webkit.org/show_bug.cgi?id=4286
  2746. .Mac prefpane crashes when Safari using CVS WebKit is running
  2747. * WebView.subproj/WebView.m: (-[WebView initWithFrame:frameName:groupName:]):
  2748. If ENABLE_WEBKIT_UNSET_DYLD_FRAMEWORK_PATH, and WEBKIT_UNSET_DYLD_FRAMEWORK_PATH
  2749. is set in the environment, then unset DYLD_FRAMEWORK_PATH.
  2750. * WebKit.xcodeproj/project.pbxproj: Set ENABLE_WEBKIT_UNSET_DYLD_FRAMEWORK_PATH
  2751. in configurations other than Default -- we don't want that code in production
  2752. builds, but we want it in builds we do ourselves and nightly builds.
  2753. 2005-09-10 Ingmar J Stein <IngmarStein@gmail.com>
  2754. Reviewed and landed by Darin.
  2755. * WebCoreSupport.subproj/WebImageRenderer.m:
  2756. (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
  2757. Removed unused local variable.
  2758. 2005-09-09 Tim Omernick <tomernick@apple.com>
  2759. Reviewed by John Sullivan.
  2760. * History.subproj/WebBackForwardList.m:
  2761. (-[WebBackForwardList removeItem:]):
  2762. SPI to remove a given WebHistoryItem.
  2763. * History.subproj/WebBackForwardListPrivate.h: Added.
  2764. * WebKit.xcodeproj/project.pbxproj:
  2765. Added WebBackForwardListPrivate.h as a private header.
  2766. 2005-09-09 John Sullivan <sullivan@apple.com>
  2767. Reviewed by Tim Omernick.
  2768. fixed http://bugs.webkit.org/show_bug.cgi?id=4070:
  2769. Find in plain text won't find only occurrence if it overlaps selection
  2770. * Misc.subproj/WebSearchableTextView.m:
  2771. (-[NSString findString:selectedRange:options:wrap:]):
  2772. in the wrap case, extend the search range far enough that text overlapping the
  2773. selection (including the exact-match case) will be considered.
  2774. 2005-09-08 Justin Garcia <justin.garcia@apple.com>
  2775. Reviewed by darin
  2776. WebKit portion of multipart/x-mixed-replace support
  2777. * WebCoreSupport.subproj/WebSubresourceLoader.m:
  2778. (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
  2779. Subresource case: Check for Foundation level multipart support
  2780. (-[WebSubresourceLoader didReceiveResponse:]):
  2781. Send previously received data in a multipart section to the coreLoader
  2782. (-[WebSubresourceLoader didReceiveData:lengthReceived:]):
  2783. Don't send data to the coreLoader until it has been completely received
  2784. * WebView.subproj/WebDataSource.m:
  2785. (-[WebDataSource _startLoading:]):
  2786. Main resource case: check for Foundation level multipart support
  2787. (+[WebDataSource _repTypesAllowImageTypeOmission:]):
  2788. Some server apps send data right after declaring content multipart/x-mixed-replace, and expect it to be treated as html
  2789. (-[WebDataSource _commitIfReady:]):
  2790. Don't ask the WebFrame to close its old WebDataSource when loading a multipart section, because we're going to reuse it
  2791. (-[WebDataSource _receivedData:]):
  2792. For non text/html multipart sections, we commit the data all at once, at the end
  2793. (-[WebDataSource _doesProgressiveLoadWithMIMEType:]):
  2794. Added heuristic for when to commit the load incrementally
  2795. (-[WebDataSource _commitLoadWithData:]):
  2796. Moved from _receivedData into its own function
  2797. (-[WebDataSource _revertToProvisionalState]):
  2798. (-[WebDataSource _setupForReplaceByMIMEType:]):
  2799. Commits the data received for the previous multipart section if it wasn't loaded progresively, clears out the WebFrame and WebDatasource for the next multipart section
  2800. * WebView.subproj/WebDataSourcePrivate.h:
  2801. * WebView.subproj/WebFrame.m:
  2802. (-[WebFrame _transitionToCommitted:]):
  2803. The very first multipart section is treated as a normal load, so that the back/forward list and history are updated.
  2804. All later sections have a new load type, WebFrameLoadTypeReplace, and are treated like reloads
  2805. (-[WebFrame _checkLoadCompleteForThisFrame]): Ditto
  2806. (-[WebFrame _itemForRestoringDocState]): Ditto
  2807. (-[WebFrame _setupForReplace]):
  2808. Clears out the WebFrame for the next multipart section
  2809. * WebView.subproj/WebFrameInternal.h:
  2810. * WebView.subproj/WebFramePrivate.h:
  2811. * WebView.subproj/WebFrameView.m:
  2812. (+[WebFrameView _viewTypesAllowImageTypeOmission:]): See above
  2813. * WebView.subproj/WebLoader.h:
  2814. * WebView.subproj/WebLoader.m:
  2815. (-[NSURLProtocol clearResourceData]):
  2816. (-[NSURLProtocol setSupportsMultipartContent:]):
  2817. * WebView.subproj/WebMainResourceLoader.m: Straightforward
  2818. (-[WebMainResourceLoader didReceiveResponse:]):
  2819. 2005-09-06 Geoffrey Garen <ggaren@apple.com>
  2820. - fixed build bustage from last checkin.
  2821. Reviewed by haytt.
  2822. * History.subproj/WebBackForwardList.m:
  2823. (-[WebBackForwardList pageCacheSize]): updated debug printf since we no
  2824. longer have a variable called 'multiplier'
  2825. 2005-09-06 David Hyatt <hyatt@apple.com>
  2826. Reduce the # of cached pages for a back/forward list. The old cache would cache the
  2827. following per tab:
  2828. > 1gb memory = 16 pages per tab/window
  2829. > 512mb memory = 8 pages per tab/window
  2830. <= 512mb memory = 4 pages per tab/window
  2831. This consumes far too much memory and is way too aggressive. The new cache sizes are
  2832. as follows:
  2833. >= 1gb memory = 3 pages per tab/window
  2834. >= 512mb memory = 2 pages per tab/window
  2835. < 512mb memory = 1 page per tab/window
  2836. Reviewed by john
  2837. * History.subproj/WebBackForwardList.m:
  2838. (-[WebBackForwardList pageCacheSize]):
  2839. * WebView.subproj/WebPreferences.m:
  2840. (+[WebPreferences initialize]):
  2841. 2005-09-05 Darin Adler <darin@apple.com>
  2842. Reviewed by John Sullivan.
  2843. - fixed http://bugs.webkit.org/show_bug.cgi?id=4846
  2844. REGRESSION: Carbon WebKit applications don't work at all
  2845. * Carbon.subproj/HIWebView.m: Remove lots of unneeded declarations of private stuff.
  2846. (Draw): Call WKNSWindowOverrideCGContext and WKNSWindowRestoreCGContext rather
  2847. than calling a non-existent setCGContext: method on the context.
  2848. 2005-09-05 John Sullivan <sullivan@apple.com>
  2849. Reviewed by Dave Hyatt.
  2850. - change related to <rdar://problem/4211999> Safari quits when click-drag-hold an image
  2851. that is set to automatically change.
  2852. * WebView.subproj/WebHTMLView.m:
  2853. (-[NSArray namesOfPromisedFilesDroppedAtDestination:]):
  2854. handle nil wrapper with ERROR and early return rather than ASSERT, since we now know
  2855. of a way to reproduce this (written up as 4244861)
  2856. 2005-09-05 Darin Adler <darin@apple.com>
  2857. Reviewed by John Sullivan.
  2858. - fixed http://bugs.webkit.org/show_bug.cgi?id=4357
  2859. crash related to animated GIFs, reproducible in non-Safari WebKit application
  2860. * WebCoreSupport.subproj/WebImageData.m:
  2861. (removeAnimatingRendererFromView): Added.
  2862. (removeFromDictionary): Added.
  2863. (-[WebImageData removeAnimatingRenderer:]): Rewrote using CF functions rather than
  2864. NS functions so that we never retain the views, since this can be called from
  2865. a view's dealloc method.
  2866. (setNeedsDisplayInAnimationRect): Added.
  2867. (-[WebImageData _nextFrame:]): Rewrote as above, even though in this case it can't
  2868. be called from the dealloc method.
  2869. 2005-08-26 David Hyatt <hyatt@apple.com>
  2870. Add support for a new scaling and tiling function so that border images from CSS3
  2871. can be implemented.
  2872. Reviewed by darin
  2873. * WebCoreSupport.subproj/WebImageData.h:
  2874. * WebCoreSupport.subproj/WebImageData.m:
  2875. (-[WebImageData scaleAndTileInRect:fromRect:withHorizontalTileRule:withVerticalTileRule:context:]):
  2876. * WebCoreSupport.subproj/WebImageRenderer.m:
  2877. (-[WebImageRenderer scaleAndTileInRect:fromRect:withHorizontalTileRule:withVerticalTileRule:context:]):
  2878. (-[WebImageRenderer setAnimationRect:]):
  2879. * WebView.subproj/WebHTMLView.m:
  2880. (-[WebHTMLView updateFocusState]):
  2881. 2005-08-26 Adele Peterson <adele@apple.com>
  2882. Reviewed by Beth.
  2883. * WebKit.xcodeproj/project.pbxproj: Changed WebKit.Framework to WebKit.framework in UMBRELLA_FRAMEWORK.
  2884. 2005-08-25 David Harrison <harrison@apple.com>
  2885. Reviewed by Maciej.
  2886. <rdar://problem/4227734> Denver Regression: WebCore selection bug on lines starting with tab (clownfish)
  2887. The text is in a DIV styled with "white-space:pre", and uses newline characters as linebreaks.
  2888. WebKit's text renderer is erroneously considering the width of the lines leading up to the tab
  2889. character when calculating the width of the tab.
  2890. Easily fixed by having widthForNextCharacter ignore the widthToStart when working with tabWidth.
  2891. Any prior text that fits in the same line is already factored into the xpos, which is paid attention to.
  2892. * WebCoreSupport.subproj/WebTextRenderer.m:
  2893. (widthForNextCharacter):
  2894. Ignore the widthToStart when working with tabWidth.
  2895. 2005-08-23 John Sullivan <sullivan@apple.com>
  2896. Reviewed by Beth Dakin.
  2897. - fixed <rdar://problem/4229167> 14 leaks of WebFileButton and associated objects,
  2898. seen after running webkit layout tests
  2899. * WebCoreSupport.subproj/WebBridge.m:
  2900. (-[WebBridge fileButtonWithDelegate:]):
  2901. this method was returning a retained object; I added an autorelease
  2902. 2005-08-23 Darin Adler <darin@apple.com>
  2903. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
  2904. 2005-08-23 Mitz Pettel <opendarwin.org@mitzpettel.com>
  2905. Reviewed and landed by Darin.
  2906. - fixed http://bugs.webkit.org/show_bug.cgi?id=4604
  2907. LEAK -[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:] leaks an ATSUTextLayout
  2908. <rdar://problem/4228787> ATSUTextLayout leak in _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs: (4604)
  2909. * WebCoreSupport.subproj/WebTextRenderer.m:
  2910. (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
  2911. Added missing call to ATSUDisposeTextLayout.
  2912. 2005-08-22 Geoffrey Garen <ggaren@apple.com>
  2913. - fixed <rdar://problem/4227011> Debugger SPI should be removed from WebView.h API
  2914. Reviewed by mjs and adele.
  2915. Cut and pasted debugging SPI from WebView to WebView(WebPendingPublic)
  2916. * WebView.subproj/WebView.h:
  2917. * WebView.subproj/WebView.m:
  2918. (-[WebView setScriptDebugDelegate:]):
  2919. (-[WebView scriptDebugDelegate]):
  2920. * WebView.subproj/WebViewPrivate.h:
  2921. 2005-08-20 John Sullivan <sullivan@apple.com>
  2922. Reviewed by Darin Adler.
  2923. - WebKit part of fix for
  2924. <rdar://problem/3977607> ER: Safari should check framework versions at launch
  2925. * WebView.subproj/WebViewPrivate.h:
  2926. * WebView.subproj/WebView.m:
  2927. (+[WebView _minimumRequiredSafariBuildNumber]):
  2928. new method, returns the minimum build number of Safari that this WebKit is
  2929. willing to work with. (The Safari version has to be new enough to check
  2930. for this value in order for this to have any effect.)
  2931. 2005-08-19 Justin Garcia <justin.garcia@apple.com>
  2932. Reviewed by rjw
  2933. The boolean justOpenedForTargetedLink is never used to determine a course of action.
  2934. It was added long ago for findOrCreateFramedNamed, which has since been removed.
  2935. * WebView.subproj/WebDataSource.m:
  2936. * WebView.subproj/WebDataSourcePrivate.h:
  2937. * WebView.subproj/WebFrame.m:
  2938. (-[WebFrame _loadDataSource:withLoadType:formState:]):
  2939. * WebView.subproj/WebFramePrivate.h:
  2940. 2005-08-19 Darin Adler <darin@apple.com>
  2941. Reviewed by John.
  2942. * English.lproj/Localizable.strings: Updated to include a new localizable string
  2943. that was added a long while back. Apprently no one has run into the code using
  2944. this string, because if they had, they'd have seen an assert.
  2945. * English.lproj/StringsNotToBeLocalized.txt: Updated for various recent changes.
  2946. 2005-08-17 Maciej Stachowiak <mjs@apple.com>
  2947. Reviewed by Darin.
  2948. - fix mysterious CGImageSource error message and possibly crash on layout tests.
  2949. * WebView.subproj/WebMainResourceLoader.m:
  2950. (-[WebMainResourceLoader receivedError:]): Retain the data source since it may
  2951. prematurely self-destruct otherwise.
  2952. (-[WebMainResourceLoader cancelWithError:]): ditto
  2953. 2005-08-17 Justin Garcia <justin.garcia@apple.com>
  2954. Reviewed by rjw
  2955. Addresses <rdar://problem/4192534> new frame load delegate SPI needed for Dashboard
  2956. Added handledOnloadEvents delegate method (private for now)
  2957. * WebCoreSupport.subproj/WebBridge.m:
  2958. (-[WebBridge handledOnloadEvents]):
  2959. * WebView.subproj/WebDefaultFrameLoadDelegate.m:
  2960. (-[WebDefaultFrameLoadDelegate webView:didHandleOnloadEventsForFrame:]):
  2961. * WebView.subproj/WebFrame.m:
  2962. (-[WebFrame _handledOnloadEvents]):
  2963. * WebView.subproj/WebFramePrivate.h:
  2964. * WebView.subproj/WebViewPrivate.h:
  2965. 2005-08-17 John Sullivan <sullivan@apple.com>
  2966. Reviewed by Geoff Garen.
  2967. - fixed <rdar://problem/4219817> Particular icon database + bookmarks + history crashes Safari on launch
  2968. * Misc.subproj/WebIconDatabase.m:
  2969. (-[WebIconDatabase releaseIconForURL:]):
  2970. Move line that might remove last reference to iconURL to the end of the block.
  2971. 2005-08-16 Darin Adler <darin@apple.com>
  2972. Reviewed by Trey.
  2973. - improved fix for <rdar://problem/4211631>, tiled images tiled incorrectly when printing or
  2974. drawing offscreen
  2975. * WebCoreSupport.subproj/WebImageData.m: (-[WebImageData tileInRect:fromPoint:context:]):
  2976. Fix pattern phase origin to use the image tile origin, which is clearly right, rather than
  2977. the image rectangle, which isn't right, but often is the same.
  2978. 2005-08-16 Adele Peterson <adele@apple.com>
  2979. Reviewed by John.
  2980. - fixed <rdar://problem/4210320> URL tooltips should display a URL for elements that submit forms
  2981. When the setShowsURLsInToolTips preference is set, we will display a tooltip containing
  2982. the form's url when you mouse over a submit button.
  2983. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _updateMouseoverWithEvent:]):
  2984. 2005-08-16 Darin Adler <darin@apple.com>
  2985. Reviewed by Beth Dakin.
  2986. - removed Panther-only code that was not being compiled and was
  2987. simply "bit-rotting"
  2988. * Misc.subproj/WebFileDatabase.m:
  2989. (-[WebFileDatabase _createLRUList:]):
  2990. (+[WebFileDatabase _syncLoop:]):
  2991. * Misc.subproj/WebKitErrors.m:
  2992. (registerErrors):
  2993. * Misc.subproj/WebNSObjectExtras.h:
  2994. (WebCFAutorelease):
  2995. * Misc.subproj/WebNSPasteboardExtras.m:
  2996. (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
  2997. * WebCoreSupport.subproj/WebImageData.h:
  2998. * WebCoreSupport.subproj/WebImageDecodeItem.h:
  2999. * WebCoreSupport.subproj/WebImageDecodeItem.m:
  3000. * WebCoreSupport.subproj/WebImageDecoder.h:
  3001. * WebCoreSupport.subproj/WebImageDecoder.m:
  3002. (decoderThread):
  3003. (startDecoderThread):
  3004. * WebCoreSupport.subproj/WebKeyGeneration.cpp: Removed.
  3005. * WebCoreSupport.subproj/WebKeyGeneration.h: Removed.
  3006. * WebCoreSupport.subproj/WebKeyGenerator.h:
  3007. * WebCoreSupport.subproj/WebTextRenderer.m:
  3008. (getUncachedWidth):
  3009. (_drawGlyphs):
  3010. * WebCoreSupport.subproj/WebViewFactory.m:
  3011. (-[WebViewFactory getBytes:fromTextMarker:length:]):
  3012. * WebKit.xcodeproj/project.pbxproj:
  3013. * WebKitPrefix.h:
  3014. * WebView.subproj/WebDataSource.m:
  3015. (-[WebDataSource _setPrimaryLoadComplete:]):
  3016. (+[WebDataSource _repTypesAllowImageTypeOmission:]):
  3017. (-[WebDataSource isLoading]):
  3018. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  3019. (localizedMenuTitleFromAppKit):
  3020. (-[WebDefaultUIDelegate menuItemWithTag:]):
  3021. (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
  3022. (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
  3023. * WebView.subproj/WebFormDataStream.m:
  3024. (formCanRead):
  3025. (webSetHTTPBody):
  3026. * WebView.subproj/WebFrameView.m:
  3027. (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
  3028. * WebView.subproj/WebHTMLView.m:
  3029. (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]):
  3030. (-[WebHTMLView resourceForData:preferredFilename:]):
  3031. (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
  3032. (-[WebHTMLView validateUserInterfaceItem:]):
  3033. (-[WebHTMLView _attributeStringFromDOMRange:]):
  3034. (-[WebHTMLView toggleBaseWritingDirection:]):
  3035. (-[WebHTMLView changeBaseWritingDirection:]):
  3036. * WebView.subproj/WebPDFRepresentation.h:
  3037. * WebView.subproj/WebPDFRepresentation.m:
  3038. * WebView.subproj/WebPDFView.h:
  3039. * WebView.subproj/WebPDFView.m:
  3040. * WebView.subproj/WebPreferences.m:
  3041. (+[WebPreferences _systemCFStringEncoding]):
  3042. * WebView.subproj/WebView.m:
  3043. (-[WebView _commonInitializationWithFrameName:groupName:]):
  3044. 2005-08-16 Darin Adler <darin@apple.com>
  3045. Reviewed by Beth Dakin.
  3046. - removed some unnecessary code
  3047. * WebCoreSupport.subproj/WebGraphicsBridge.h: Removed pattern-phase related field and methods.
  3048. * WebCoreSupport.subproj/WebGraphicsBridge.m: Ditto.
  3049. * WebCoreSupport.subproj/WebImageData.m: Tweaked formatting and removed some unused code
  3050. inside #if and comments.
  3051. * WebCoreSupport.subproj/WebImageRenderer.h: Removed USE_CGIMAGEREF (which is always true now).
  3052. * WebCoreSupport.subproj/WebImageRenderer.m: Removed old non-CGImageRef code.
  3053. * WebCoreSupport.subproj/WebImageRendererFactory.m:
  3054. (-[WebImageRendererFactory imageRendererWithMIMEType:]): Removed non-USE_CGIMAGEREF code.
  3055. (-[WebImageRendererFactory imageRendererWithData:MIMEType:]): Ditto.
  3056. (-[WebImageRendererFactory imageRendererWithSize:]): Ditto.
  3057. (-[WebImageRendererFactory imageRendererWithName:]): Ditto.
  3058. 2005-08-15 Darin Adler <darin@apple.com>
  3059. Reviewed by Beth.
  3060. This is a fix for <rdar://problem/4211631> tiled images tiled incorrectly when printing or
  3061. drawing offscreen.
  3062. Cayenne found there was a problem when they were trying to take screen shots of widgets, and
  3063. it was ultimately a problem with the way we tile images. Darin was able to fix the problem
  3064. by replacing some confusing hacked code with CG calls.
  3065. * WebCoreSupport.subproj/WebImageData.m:
  3066. (-[WebImageData tileInRect:fromPoint:context:]):
  3067. * WebCoreSupport.subproj/WebImageRenderer.m:
  3068. (-[WebInternalImage tileInRect:fromPoint:context:]):
  3069. * WebCoreSupport.subproj/WebTextRenderer.m:
  3070. (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
  3071. 2005-08-14 Maciej Stachowiak <mjs@apple.com>
  3072. Reviewed by Darin.
  3073. - 1% speedup on HTML load speed iBench by avoiding icon database thrash
  3074. http://bugs.webkit.org/show_bug.cgi?id=4423
  3075. * Misc.subproj/WebIconDatabase.m:
  3076. (-[WebIconDatabase _setIconURL:forURL:]): Be more aggressive about returning early, because
  3077. updating the database does some expensive data structure copies.
  3078. 2005-08-14 Duncan Wilcox <duncan@mclink.it>
  3079. Reviewed and landed by Darin.
  3080. WebKit part of fix for <http://bugs.webkit.org/show_bug.cgi?id=4011>:
  3081. "Editing delegate selection methods not called when using mouse"
  3082. Clicking on editable content would move the cursor or alter the selection without
  3083. calling the appropriate editing delegate method
  3084. (webView:shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:). The
  3085. core of the patch is in the KHTMLPart::handleMousePressEvent* methods, the rest
  3086. is glue needed to drill through all the layers.
  3087. * WebCoreSupport.subproj/WebBridge.m:
  3088. (-[WebBridge shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
  3089. Bridge glue.
  3090. * WebView.subproj/WebView.m:
  3091. (-[WebView(WebViewEditingExtras) _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
  3092. Final step in glue, calling editing delegate.
  3093. * WebView.subproj/WebViewInternal.h:
  3094. Added _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting: private method to WebViewEditingExtras
  3095. category.
  3096. 2005-08-11 Beth Dakin <bdakin@apple.com>
  3097. Reviewed by Vicki
  3098. This is a fix for <rdar://problem/4141161> REGRESSION (Tiger): WebKit does not display in composited Carbon windows.
  3099. I basically did what Troy suggests in his bug comments, and everything seems to work fine!
  3100. * Carbon.subproj/HIViewAdapter.m:
  3101. (-[HIViewAdapter setNeedsDisplayInRect:]):
  3102. 2005-08-10 Adele Peterson <adele@apple.com>
  3103. Bumping version to 420+
  3104. * Info.plist:
  3105. 2005-08-08 Darin Adler <darin@apple.com>
  3106. Reviewed by John Sullivan.
  3107. - fixed <rdar://problem/3996324> REGRESSION (1.2-2.0): scroll bars sometimes not updated properly (with >40 duplicate reports!)
  3108. also http://bugs.webkit.org/show_bug.cgi?id=3416
  3109. * WebView.subproj/WebHTMLView.m:
  3110. (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
  3111. Propagate dirty rects after doing a layout, since a layout can create new dirty rects.
  3112. 2005-08-05 Adele Peterson <adele@apple.com>
  3113. Reviewed by Darin.
  3114. * WebKit.xcodeproj/project.pbxproj: Unchecked 'statics are thread safe' option.
  3115. 2005-08-04 Justin Garcia <justin.garcia@apple.com>
  3116. Reviewed by darin
  3117. Fix for:
  3118. <rdar://problem/3167884> Shockwave: 3D sprites rendered in OpenGL draw over the browser (3447)
  3119. also as <http://bugs.webkit.org/show_bug.cgi?id=3447>
  3120. The WindowRef created by -[NSWindow windowRef] has a QuickDraw GrafPort that covers
  3121. the entire window frame (or structure region in Carbon parlance) rather then just the window content.
  3122. We filed this as an NSWindow bug <rdar://problem/4201099>
  3123. To work around, we modify the CGrafPort to only cover the content area before we let the plug-in draw.
  3124. * Plugins.subproj/WebBaseNetscapePluginView.m:
  3125. (-[WebBaseNetscapePluginView fixWindowPort]):
  3126. (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
  3127. 2005-08-03 John Sullivan <sullivan@apple.com>
  3128. Reviewed by Geoff Garen.
  3129. - fixed <rdar://problem/3918675> Remove code to replace authentication dialog
  3130. with a subclass when out of localization freeze
  3131. * Panels.subproj/WebAuthenticationPanel.h:
  3132. moved declaration of NonBlockingPanel here so it can be accessed by the nib
  3133. * Panels.subproj/WebAuthenticationPanel.m:
  3134. (-[WebAuthenticationPanel replacePanelWithSubclassHack]):
  3135. removed this method
  3136. (-[WebAuthenticationPanel loadNib]):
  3137. stop calling the removed method
  3138. * Panels.subproj/English.lproj/WebAuthenticationPanel.nib/classes.nib:
  3139. * Panels.subproj/English.lproj/WebAuthenticationPanel.nib/info.nib:
  3140. * Panels.subproj/English.lproj/WebAuthenticationPanel.nib/objects.nib:
  3141. the panel in the nib now has custom class NonBlockingPanel
  3142. 2005-08-03 Beth Dakin <bdakin@apple.com>
  3143. Reviewed by cblu
  3144. Removing calls to WKCreateUncorrectedRGBColorSpace and
  3145. WKCreateUncorrectedGrayColorSpace in WebKit to patch up
  3146. TOT...Eric removed them from WebCore last night.
  3147. * WebCoreSupport.subproj/WebImageData.m:
  3148. * WebCoreSupport.subproj/WebImageRenderer.m:
  3149. (WebCGColorSpaceCreateRGB):
  3150. (WebCGColorSpaceCreateGray):
  3151. 2005-08-02 John Sullivan <sullivan@apple.com>
  3152. Reviewed by Darin Adler.
  3153. Preemptively moved some WebMenuItemTag values from SPI to API, in anticipation of
  3154. approval from macosx-api-reviewers. Retitled one of them in response to API reviewers feedback:
  3155. WebMenuItemSearchInGoogle -> WebMenuItemSearchWeb
  3156. Note that as a side effect of this change, the actual numbers used for these WebMenuItemTags has
  3157. changed from what it was in Tiger. This causes "Search in Spotlight", "Search in Google", and
  3158. "Look Up in Dictionary" to not appear in Tiger Safari if running on tip of tree WebKit.
  3159. * WebView.subproj/WebUIDelegatePrivate.h:
  3160. removed WebMenuItemTagSearchInSpotlight, WebMenuItemTagSearchInGoogle, and WebMenuItemTagLookUpInDictionary
  3161. * WebView.subproj/WebUIDelegate.h:
  3162. added WebMenuItemTagSearchInSpotlight, WebMenuItemTagSearchWeb, and WebMenuItemTagLookUpInDictionary
  3163. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  3164. (-[WebDefaultUIDelegate menuItemWithTag:]):
  3165. updated for rename
  3166. (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
  3167. ditto
  3168. (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
  3169. ditto
  3170. 2005-08-01 Geoffrey Garen <ggaren@apple.com>
  3171. -fixed <rdar://problem/3572585> window.open fails if name param =
  3172. the name of a window just closed in same function
  3173. Reviewed by darin.
  3174. Test cases added:
  3175. * manual-tests/open-after-close.html: Added.
  3176. * manual-tests/resources/open-after-close-popup.html: Added.
  3177. * WebCoreSupport.subproj/WebBridge.m:
  3178. (-[WebBridge closeWindowSoon]): We now remove a WebView from
  3179. WebViewSets when the WebView is *scheduled* to close.
  3180. 2005-08-01 John Sullivan <sullivan@apple.com>
  3181. * PublicHeaderChangesFromTiger.txt:
  3182. added a comment about isTextField -> _isTextField
  3183. 2005-08-01 John Sullivan <sullivan@apple.com>
  3184. Patch by Trey Matteson <trey@usa.net>
  3185. Reviewed by me.
  3186. Fixed http://bugs.webkit.org/show_bug.cgi?id=4255
  3187. underlines still print too thick
  3188. The real problem here is that we have code that scales a 0 width line to always
  3189. be width=1.0 in device space. I'm leaving that in for the screen, but when printing
  3190. a width of 0.5 looks good.
  3191. * WebCoreSupport.subproj/WebTextRenderer.m:
  3192. (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
  3193. 2005-08-01 Eric Seidel <eseidel@apple.com>
  3194. Reviewed by darin.
  3195. * WebCoreSupport.subproj/WebGraphicsBridge.m:
  3196. removed create*ColorSpace methods, now using CG API directly.
  3197. http://bugs.webkit.org/show_bug.cgi?id=4211
  3198. 2005-07-31 John Sullivan <sullivan@apple.com>
  3199. Patch by Trey Matteson <trey@usa.net>
  3200. Reviewed by me.
  3201. Fixed http://bugs.webkit.org/show_bug.cgi?id=4014
  3202. PDF files by default load with a poor choice of sizing
  3203. For now the various PDF viewing settings are sticky, stored in 2 new defaults. Since
  3204. there are a number of ways these settings are changed, I made a proxy for the PDFView
  3205. through which all view changing messages are sent. The proxy adds the behavior of
  3206. updating the defaults upon any change.
  3207. * Misc.subproj/WebNSDictionaryExtras.h:
  3208. * Misc.subproj/WebNSDictionaryExtras.m:
  3209. (-[NSMutableDictionary _webkit_setFloat:forKey:]): New support method.
  3210. * WebView.subproj/WebPDFView.h:
  3211. * WebView.subproj/WebPDFView.m:
  3212. (-[WebPDFView initWithFrame:]): Create proxy for PDFView.
  3213. (-[WebPDFView dealloc]): Free proxy.
  3214. (-[WebPDFView _menuItemsFromPDFKitForEvent:]): For relevant context menu items, set the
  3215. target to the proxy instead of the PDFView.
  3216. (-[WebPDFView _readPDFDefaults]): Init PDFView with settings from defaults.
  3217. (-[WebPDFView layout]): Call _readPDFDefaults, once. This turned out to be the best hook.
  3218. (-[WebPDFView _makeTextSmaller:]): Change PDFView via proxy
  3219. (-[WebPDFView _makeTextLarger:]): Ditto
  3220. (-[WebPDFView _makeTextStandardSize:]): Ditto
  3221. (-[PDFPrefUpdatingProxy initWithView:]): trivial
  3222. (-[PDFPrefUpdatingProxy forwardInvocation:]): Forward the msg, then update defaults
  3223. (-[PDFPrefUpdatingProxy methodSignatureForSelector:]): Simple forwarding support.
  3224. * WebView.subproj/WebPreferenceKeysPrivate.h:
  3225. * WebView.subproj/WebPreferences.m:
  3226. (+[WebPreferences initialize]): Set initial values for new PDF viewing defaults.
  3227. (-[WebPreferences _integerValueForKey:]): Nuke stray comment.
  3228. (-[WebPreferences _floatValueForKey:]): New simple support method.
  3229. (-[WebPreferences _setFloatValue:forKey:]): Ditto.
  3230. (-[WebPreferences PDFScaleFactor]): 4 accessors for new defaults
  3231. (-[WebPreferences setPDFScaleFactor:]):
  3232. (-[WebPreferences PDFDisplayMode]):
  3233. (-[WebPreferences setPDFDisplayMode:]):
  3234. * WebView.subproj/WebPreferencesPrivate.h:
  3235. 2005-08-01 Justin Garcia <justin.garcia@apple.com>
  3236. Patch by Trey Matteson <trey@usa.net>
  3237. Reviewed by Maciej.
  3238. Fixed <http://bugs.webkit.org/show_bug.cgi?id=4226>
  3239. link underlines print too thickly
  3240. Reinstate the fix made by sullivan on 1/11/05. There was a merge
  3241. error with an mjs fix on 1/13/05.
  3242. * WebCoreSupport.subproj/WebTextRenderer.m:
  3243. (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
  3244. 2005-07-30 Maciej Stachowiak <mjs@apple.com>
  3245. Build fixes for previous change (missing includes)
  3246. * WebView.subproj/WebFrame.m:
  3247. * WebView.subproj/WebScriptDebugDelegate.m:
  3248. 2005-07-29 Maciej Stachowiak <mjs@apple.com>
  3249. Changes by Michael Kahl, reviewed by me.
  3250. - fixed <rdar://problem/4164112> MASTER: JavaScript debugging support
  3251. * WebCoreSupport.subproj/WebBridge.m:
  3252. (-[WebBridge windowObjectCleared]):
  3253. * WebCoreSupport.subproj/WebSubresourceLoader.m:
  3254. * WebKit.xcodeproj/project.pbxproj:
  3255. * WebView.subproj/WebDefaultScriptDebugDelegate.h: Added.
  3256. * WebView.subproj/WebDefaultScriptDebugDelegate.m: Added.
  3257. (+[WebDefaultScriptDebugDelegate sharedScriptDebugDelegate]):
  3258. (-[WebDefaultScriptDebugDelegate webView:didParseSource:fromURL:sourceId:forWebFrame:]):
  3259. (-[WebDefaultScriptDebugDelegate webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
  3260. (-[WebDefaultScriptDebugDelegate webView:willExecuteStatement:sourceId:line:forWebFrame:]):
  3261. (-[WebDefaultScriptDebugDelegate webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
  3262. * WebView.subproj/WebFrame.m:
  3263. (-[WebFramePrivate dealloc]):
  3264. (-[WebFrame _attachScriptDebugger]):
  3265. * WebView.subproj/WebFramePrivate.h:
  3266. * WebView.subproj/WebScriptDebugDelegate.h: Added.
  3267. * WebView.subproj/WebScriptDebugDelegate.m: Added.
  3268. (-[WebScriptDebugger initWithWebFrame:]):
  3269. (-[WebScriptDebugger dealloc]):
  3270. (-[WebScriptDebugger globalObject]):
  3271. (-[WebScriptDebugger newWrapperForFrame:]):
  3272. (-[WebScriptDebugger parsedSource:fromURL:sourceId:]):
  3273. (-[WebScriptDebugger enteredFrame:sourceId:line:]):
  3274. (-[WebScriptDebugger hitStatement:sourceId:line:]):
  3275. (-[WebScriptDebugger leavingFrame:sourceId:line:]):
  3276. (-[WebScriptCallFrame _initWithFrame:]):
  3277. (-[WebScriptCallFrame dealloc]):
  3278. (-[WebScriptCallFrame setUserInfo:]):
  3279. (-[WebScriptCallFrame userInfo]):
  3280. (-[WebScriptCallFrame caller]):
  3281. (-[WebScriptCallFrame scopeChain]):
  3282. (-[WebScriptCallFrame functionName]):
  3283. (-[WebScriptCallFrame exception]):
  3284. (-[WebScriptCallFrame evaluateWebScript:]):
  3285. * WebView.subproj/WebScriptDebugDelegatePrivate.h: Added.
  3286. * WebView.subproj/WebView.h:
  3287. * WebView.subproj/WebView.m:
  3288. (-[WebViewPrivate dealloc]):
  3289. (-[WebView _scriptDebugDelegateForwarder]):
  3290. (-[WebView setScriptDebugDelegate:]):
  3291. (-[WebView scriptDebugDelegate]):
  3292. * WebView.subproj/WebViewInternal.h:
  3293. * WebView.subproj/WebViewPrivate.h:
  3294. 2005-07-26 Maciej Stachowiak <mjs@apple.com>
  3295. Reviewed by Dave Hyatt.
  3296. - fixed http://bugs.webkit.org/show_bug.cgi?id=4153
  3297. * WebView.subproj/WebFrame.m:
  3298. (-[WebFrame _purgePageCache]): Find the oldest candidate for
  3299. purging that is not a snapback item.
  3300. 2005-07-29 David Harrison <harrison@apple.com>
  3301. Reviewed by Dave Hyatt (rendering) and Maciej (editing and performance improvements).
  3302. Test cases added: Existing tab-related basic editing tests were updated. More complex tests are coming soon.
  3303. <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
  3304. Basic strategy is to put tabs into spans with white-space:pre style, and
  3305. render them with tabs stops every 8th space, where the space width and
  3306. the left margin are those of the enclosing block.
  3307. * WebCoreSupport.subproj/WebTextRenderer.m:
  3308. (isSpace):
  3309. (isRoundingHackCharacter):
  3310. (getUncachedWidth):
  3311. (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
  3312. (-[WebTextRenderer _computeWidthForSpace]):
  3313. (_drawGlyphs):
  3314. (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
  3315. (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
  3316. (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
  3317. (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
  3318. (glyphForCharacter):
  3319. (initializeCharacterWidthIterator):
  3320. (ceilCurrentWidth):
  3321. (widthForNextCharacter):
  3322. 2005-07-29 John Sullivan <sullivan@apple.com>
  3323. Reviewed by Dave Hyatt.
  3324. - WebKit part of <rdar://problem/4187404> Redo form SPI so that it doesn't rely on NSViews
  3325. Much of 4187404 was addressed in earlier checkins. This checkin completes the task.
  3326. * WebView.subproj/WebHTMLRepresentation.h:
  3327. * WebView.subproj/WebHTMLRepresentation.m:
  3328. removed viewForElement:, which was the only remaining NSView-related SPI that Safari autofill was
  3329. still using. I added viewForElement a week ago as a transitional measure, so removing it won't
  3330. affect any other clients.
  3331. 2005-07-29 John Sullivan <sullivan@apple.com>
  3332. Reviewed by Chris Blumenberg.
  3333. * WebView.subproj/WebFrameView.m:
  3334. (-[WebFrameView _firstResponderIsFormControl]):
  3335. renamed from _firstResponderIsControl for clarity. Explicitly rejects WebHTMLView, since
  3336. it's now a control.
  3337. (-[WebFrameView keyDown:]):
  3338. updated for renamed method.
  3339. 2005-07-28 John Sullivan <sullivan@apple.com>
  3340. Reviewed by Beth Dakin.
  3341. - removed method -[WebHTMLRepresentation elementForView:], which was SPI used only for
  3342. Safari autofill. Tip of tree Safari no longer includes any calls to this method. Also,
  3343. Tiger Safari never gets around to actually calling it due to the other recent form-SPI-related
  3344. changes, so removing this method doesn't break Tiger Safari running on tip of tree WebKit
  3345. (though autofill continues to not work in that configuration).
  3346. * WebView.subproj/WebHTMLRepresentation.h:
  3347. * WebView.subproj/WebHTMLRepresentation.m:
  3348. (-[WebHTMLRepresentation elementForView:]): removed
  3349. 2005-07-27 John Sullivan <sullivan@apple.com>
  3350. Patch by Trey Matteson <trey@usa.net>
  3351. Reviewed by me.
  3352. Fixed http://bugs.webkit.org/show_bug.cgi?id=4169
  3353. scaling PDF view up leaves later HTML view scaled too
  3354. An additional step of separating scaling of HTML and PDF. If we do a zoom and there
  3355. are no docViews that track the common scaling factor, then don't change it. Thus in
  3356. the common PDF case where it is the only doc view, scaling the PDF does not affect
  3357. HTML pages loaded in the same window.
  3358. * WebView.subproj/WebView.m:
  3359. (-[WebView canMakeTextSmaller]): Pass 0 for new scaling factor, since we just querying.
  3360. (-[WebView canMakeTextLarger]): Ditto.
  3361. (-[WebView makeTextSmaller:]): Pass new scaling factor.
  3362. (-[WebView makeTextLarger:]): Ditto.
  3363. (-[WebView canMakeTextStandardSize]): Pass 0 for new scaling factor.
  3364. (-[WebView makeTextStandardSize:]): Pass new scaling factor.
  3365. (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
  3366. The meat of the change is that this Swiss Army Knife also takes a new scaling
  3367. factor, which it will set as the common scaling factor if it finds any doc views that
  3368. are able to be scaled which track the common scaling factor.
  3369. 2005-07-27 John Sullivan <sullivan@apple.com>
  3370. Patch by Trey Matteson <trey@usa.net>
  3371. Reviewed by me.
  3372. Fixed http://bugs.webkit.org/show_bug.cgi?id=4015
  3373. PDF views should remember viewing mode, scroll position across back/forward
  3374. Note this doesn't work within frames because of a PDFKit bug - see 4164
  3375. Fixed http://bugs.webkit.org/show_bug.cgi?id=4091
  3376. PDF views should keep a separate scaling factor from shared text scaling factor
  3377. Basic idea #1 is that we now have a general mechanism for a WebDocView to save/restore some UI
  3378. state to the WebHistoryItem.
  3379. Basic idea #2 is that _WebDocumentTextSizing is expanded to allow for the case of a WebDocView
  3380. keeping its own notion of a scaling factor. WebPDFView's -_tracksCommonSizeFactor has justification.
  3381. * History.subproj/WebHistoryItem.m:
  3382. (-[WebHistoryItem setViewState:]): New methods to hold PList of arbitrary WebView state
  3383. (-[WebHistoryItem viewState]):
  3384. * History.subproj/WebHistoryItemPrivate.h:
  3385. * WebKit.xcodeproj/project.pbxproj: Add Quartz to framework path so we can import PDFKit files
  3386. * WebView.subproj/WebDocumentInternal.h: New methods added to _WebDocumentTextSizing.
  3387. Also the _ prefix is sufficient instead of _web_WebDocumentTextSizing.
  3388. Added _WebDocumentViewState protocol.
  3389. * WebView.subproj/WebFrame.m:
  3390. (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): Rename of save/restore methods.
  3391. (-[WebFrame _detachFromParent]): Ditto
  3392. (-[WebFrame _transitionToCommitted:]): Ditto
  3393. (-[WebFrame _checkLoadCompleteForThisFrame]): Ditto
  3394. (-[WebFrame _loadItem:withLoadType:]): Ditto
  3395. (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]): Ditto
  3396. (-[WebFrame _saveViewStateToItem:]): Call doc view to retrieve view state.
  3397. (-[WebFrame _restoreViewState]): Call doc view to set view state.
  3398. (-[WebFrame _scrollToTop]): Nuked dead code.
  3399. (-[WebFrame _textSizeMultiplierChanged]): This work now appears in WebView.
  3400. (-[WebFrame _saveDocumentAndScrollState]): Same rename, one code cleanup.
  3401. (-[WebFrame _accumulateDocumentViews:]): Add our docview to the array, call kids.
  3402. (-[WebFrame _documentViews]): New helper to return all docviews.
  3403. (-[WebFrame _didFirstLayout]): Same name change.
  3404. * WebView.subproj/WebFrameInternal.h:
  3405. * WebView.subproj/WebFramePrivate.h:
  3406. * WebView.subproj/WebHTMLView.m: Removed redundant category decl.
  3407. (-[WebHTMLView _makeTextSmaller:]): Implement new protocol.
  3408. (-[WebHTMLView _makeTextLarger:]):
  3409. (-[WebHTMLView _makeTextStandardSize:]):
  3410. (-[WebHTMLView _tracksCommonSizeFactor]):
  3411. * WebView.subproj/WebPDFRepresentation.m: Tweak #imports.
  3412. * WebView.subproj/WebPDFView.h:
  3413. * WebView.subproj/WebPDFView.m:
  3414. (-[WebPDFView _menuItemsFromPDFKitForEvent:]): No longer intercept context menu text sizing items.
  3415. (-[WebPDFView setDataSource:]): No longer track the WebView's scaling factor.
  3416. (-[WebPDFView scrollPoint]): Dig through PDFKit view tree to get real scroll position
  3417. (-[WebPDFView setScrollPoint:]): Ditto
  3418. (-[WebPDFView viewState]): Return bundle of viewing params
  3419. (-[WebPDFView setViewState:]): Restore bundle of viewing params
  3420. (-[WebPDFView _makeTextSmaller:]): Implement new text sizing protocol
  3421. (-[WebPDFView _makeTextLarger:]):
  3422. (-[WebPDFView _makeTextStandardSize:]):
  3423. (-[WebPDFView _tracksCommonSizeFactor]):
  3424. (-[WebPDFView _canMakeTextSmaller]):
  3425. (-[WebPDFView _canMakeTextLarger]):
  3426. (-[WebPDFView _canMakeTextStandardSize]):
  3427. * WebView.subproj/WebTextView.m:
  3428. (-[WebTextView _makeTextSmaller:]): Implement new text sizing protocol
  3429. (-[WebTextView _makeTextLarger:]):
  3430. (-[WebTextView _makeTextStandardSize:]):
  3431. (-[WebTextView _tracksCommonSizeFactor]):
  3432. * WebView.subproj/WebView.m:
  3433. (-[WebView setTextSizeMultiplier:]): Calling docViews is now more complicates than just posting
  3434. a notification to the frame.
  3435. (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:]): Workhorse
  3436. that sends the text sizing method to the right doc views.
  3437. (-[WebView canMakeTextSmaller]): Call workhorse.
  3438. (-[WebView canMakeTextLarger]): Ditto
  3439. (-[WebView makeTextSmaller:]): Ditto
  3440. (-[WebView makeTextLarger:]): Ditto
  3441. (-[WebView canMakeTextStandardSize]): Ditto
  3442. (-[WebView makeTextStandardSize:]): Ditto
  3443. 2005-07-26 Justin Garcia <justin.garcia@apple.com>
  3444. Patch by Trey Matteson <trey@usa.net>
  3445. Reviewed by John Sullivan.
  3446. Fixed <http://bugs.webkit.org/show_bug.cgi?id=4072>
  3447. Pressing back in browser misses out a page
  3448. * WebView.subproj/WebFrame.m:
  3449. (-[WebFrame _transitionToCommitted:]): When reloading the same page or refreshing the
  3450. page, update the URL in the b/f item with the URL that we wind up at. Due to cookies,
  3451. it might be different than the result we just got when we loaded the same page.
  3452. 2005-07-26 David Hyatt <hyatt@apple.com>
  3453. Make WebHTMLView inherit from NSControl instead of NSView.
  3454. This change is necessary because the theme renderer for
  3455. WebCore that draws controls with the Aqua appearance does so
  3456. using NSCells. NSCells must be hosted within a control view
  3457. in order to paint properly.
  3458. The method updateCell must be overridden because it wants to
  3459. repaint the whole control when the windows resigns/becomes
  3460. key, and this would result in behavior that we don't want
  3461. (the repainting of the whole view). We already have hooks
  3462. in WebHTMLView for the window resigning/becoming key so
  3463. we will do our proper control updating there instead (in a
  3464. future patch).
  3465. Reviewed by john
  3466. * WebView.subproj/WebHTMLView.h:
  3467. * WebView.subproj/WebHTMLView.m:
  3468. (-[WebHTMLView updateCell:]):
  3469. 2005-07-26 John Sullivan <sullivan@apple.com>
  3470. Reviewed by Chris Blumenberg.
  3471. - more work to wean form-related SPI from NSView. All that's left (but this is a big "all")
  3472. is viewForElement: and elementForView:
  3473. * WebCoreSupport.subproj/WebBridge.m:
  3474. (-[WebBridge textField:doCommandBySelector:]):
  3475. changed signature to pass along DOMElement* rather than NSView*
  3476. * WebView.subproj/WebFormDelegate.h:
  3477. * WebView.subproj/WebFormDelegate.m:
  3478. (-[WebFormDelegate textField:doCommandBySelector:inFrame:]):
  3479. ditto
  3480. 2005-07-25 John Sullivan <sullivan@apple.com>
  3481. Reviewed by Darin Adler.
  3482. - big hunk of weaning form-related SPI from NSView; autofill continues to
  3483. work (but only on tip of tree Safari)
  3484. * WebCoreSupport.subproj/WebBridge.m:
  3485. (-[WebBridge textFieldDidBeginEditing:]):
  3486. changed name from controlTextXXX:, now takes a DOMHTMLInputElement*
  3487. (-[WebBridge textFieldDidEndEditing:]):
  3488. ditto
  3489. (-[WebBridge textDidChangeInTextField:]):
  3490. ditto
  3491. (-[WebBridge textDidChangeInTextArea:]):
  3492. changed name from textDidChange:, now takes a DOMHTMLTextAreaElement*
  3493. (-[WebBridge control:textShouldBeginEditing:]):
  3494. removed this method as it wasn't being used by autofill, and did nothing in WebKit
  3495. (-[WebBridge control:textShouldEndEditing:]):
  3496. ditto
  3497. (-[WebBridge textField:shouldHandleEvent:]):
  3498. changed name from control:textView:shouldHandleEvent:, now takes a DOMHTMLInputElement*.
  3499. The textView parameter wasn't being used, so I eliminated it.
  3500. * WebView.subproj/WebFormDelegate.h:
  3501. * WebView.subproj/WebFormDelegate.m:
  3502. (-[WebFormDelegate textFieldDidBeginEditing:inFrame:]):
  3503. (-[WebFormDelegate textFieldDidEndEditing:inFrame:]):
  3504. (-[WebFormDelegate control:textShouldBeginEditing:inFrame:]):
  3505. (-[WebFormDelegate control:textShouldEndEditing:inFrame:]):
  3506. (-[WebFormDelegate textDidChangeInTextField:inFrame:]):
  3507. (-[WebFormDelegate textDidChangeInTextArea:inFrame:]):
  3508. (-[WebFormDelegate textField:shouldHandleEvent:inFrame:]):
  3509. These all changed in the same way as the WebBridge methods
  3510. 2005-07-25 Vicki Murley <vicki@apple.com>
  3511. Reviewed by Darin.
  3512. - fixed <rdar://problem/3470523> Safari's user agent should be changed to say Intel rather
  3513. than PPC on Intel machines
  3514. * WebView.subproj/WebView.m: add conditional #defines for "PPC" and "Intel"
  3515. (-[WebView userAgentForURL:]): use this variable when constructing the user agent string
  3516. 2005-07-24 Justin Garcia <justin.garcia@apple.com>
  3517. Reviewed by mjs
  3518. - Fixes <rdar://problem/4120535> deleteToEndOfLine: does not delete thew newline when at the end of a line
  3519. Fix to match NSTextView. Delete the next character if deleteToEndOfLine fails
  3520. * WebView.subproj/WebHTMLView.m:
  3521. (-[WebHTMLView deleteToEndOfLine:]):
  3522. 2005-07-24 Justin Garcia <justin.garcia@apple.com>
  3523. Patch by Trey Matteson <trey@apple.com>
  3524. Reviewed by john
  3525. Fixes <http://bugs.webkit.org/show_bug.cgi?id=3953> back-forward items have wrong titles after sub-frame navigations
  3526. This was caused by a mistaken data structure, where WebDataSource tried to keep a list of
  3527. b/f items it was responsible for. The problem arose in the case of frames, where a subframe
  3528. was loaded with new content. When this happens a fresh tree of b/f items is created,
  3529. but the reference in the DataSource still pointed to the old item.
  3530. Since the WebFrame does a lot of work to track the current b/f item, the easiest thing is to
  3531. get rid of the DataSource's reference, and have it ask the WebFrame to set the title on the
  3532. right b/f item.
  3533. * WebView.subproj/WebDataSource.m:
  3534. (-[WebDataSourcePrivate dealloc]):
  3535. (-[WebDataSource _setTitle:]):
  3536. * WebView.subproj/WebDataSourcePrivate.h:
  3537. * WebView.subproj/WebFrame.m:
  3538. (-[WebFrame _createItem:]):
  3539. (-[WebFrame _transitionToCommitted:]):
  3540. (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
  3541. (-[WebFrame _setTitle:]):
  3542. * WebView.subproj/WebFramePrivate.h:
  3543. 2005-07-24 Justin Garcia <justin.garcia@apple.com>
  3544. Reviewed by kevin
  3545. Fixed make clean problem
  3546. * Makefile.am:
  3547. 2005-07-23 Justin Garcia <justin.garcia@apple.com>
  3548. Patch by <opendarwin.org@mitzpettel.com>
  3549. Reviewed by darin and hyatt
  3550. Fixes <http://bugs.webkit.org/show_bug.cgi?id=3862>
  3551. The fix for <http://bugs.webkit.org/show_bug.cgi?id=3545> enclosed each run of visually ordered
  3552. hebrew with LRO and PDF control characters, but adjusted the run's to and from to include those characters,
  3553. so that they would be rendered if the font includes a glyph for bidi control characters.
  3554. Also adding a manual test
  3555. * WebCoreSupport.subproj/WebTextRenderer.m:
  3556. (reverseCharactersInRun):
  3557. 2005-07-22 John Sullivan <sullivan@apple.com>
  3558. Reviewed by Justin Garcia.
  3559. Mail (running on tip of tree WebKit) was running into an assertion I recently added.
  3560. The assertion is actually correct, catching an old bug in this code.
  3561. * WebView.subproj/WebView.m:
  3562. (-[WebView selectedFrame]):
  3563. if the first responder is a WebFrameView, then we've found the WebFrameView we're
  3564. looking for, and we shouldn't look at its superviews.
  3565. 2005-07-22 John Sullivan <sullivan@apple.com>
  3566. Reviewed by Chris Blumenberg.
  3567. - some changes in the direction of weaning all the form-related SPI from NSView
  3568. * PublicHeaderChangesFromTiger.txt:
  3569. noted that the WebCore change to add -[DOMHTMLInputElement isTextField] to
  3570. DOMExtensions.h is a public header change.
  3571. * WebView.subproj/WebHTMLRepresentation.h:
  3572. * WebView.subproj/WebHTMLRepresentation.m:
  3573. (-[WebHTMLRepresentation viewForElement:]):
  3574. added viewForElement: as a stopgap measure. This allowed me to convert controlsInForm:
  3575. to return DOMElements rather than NSViews, while keeping autocomplete working in
  3576. Safari tip of tree. When I finish the SPI conversion I'll delete this method. Note that
  3577. from this point on, autocomplete will not work in Tiger Safari with tip of tree WebKit
  3578. (it will always fail to find anything to autocomplete)
  3579. 2005-07-21 Adele Peterson <adele@apple.com>
  3580. Reviewed by Darin.
  3581. Changing temporary #ifndef to #if
  3582. * WebCoreSupport.subproj/WebImageData.m:
  3583. (-[WebImageData _checkSolidColor:]):
  3584. 2005-07-21 Adele Peterson <adele@apple.com>
  3585. Reviewed by Chris Blumenberg.
  3586. - fixed <rdar://problem/4132797> don't register thin PPC WebKit plug-ins
  3587. Merged fix for:
  3588. <rdar://problem/4127100> [WebKit] 8B1016: After installing Acrobat Reader, can no longer see pdf's in Safari
  3589. * Plugins.subproj/WebBasePluginPackage.h: Added isNativeLibraryData method.
  3590. * Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage isNativeLibraryData:]): Added isNativeLibraryData method.
  3591. * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage initWithPath:]):
  3592. calls isNativeLibraryData to determine whether or not to register the plug-in.
  3593. * Plugins.subproj/WebPluginPackage.m: (-[WebPluginPackage initWithPath:]): ditto.
  3594. * WebCoreSupport.subproj/WebImageData.m: (-[WebImageData _checkSolidColor:]): added comment for #ifdef.
  3595. 2005-07-21 Geoffrey Garen <ggaren@apple.com>
  3596. * WebKit.pbproj/project.pbxproj: Removed.
  3597. 2005-07-21 Geoffrey Garen <ggaren@apple.com>
  3598. * WebKit.xcodeproj/.cvsignore: Added.
  3599. 2005-07-21 Geoffrey Garen <ggaren@apple.com>
  3600. * WebKit.xcodeproj/project.pbxproj: Added.
  3601. 2005-07-21 Geoffrey Garen <ggaren@apple.com>
  3602. * Makefile.am:
  3603. 2005-07-20 John Sullivan <sullivan@apple.com>
  3604. Reviewed by Vicki Murley.
  3605. - removed some form-related methods that weren't being used anywhere, in preparation
  3606. for weaning WebKit's WebFormDelegate protocol from NSView.
  3607. * WebCoreSupport.subproj/WebBridge.m:
  3608. * WebView.subproj/WebFormDelegate.h:
  3609. * WebView.subproj/WebFormDelegate.m:
  3610. removed these methods:
  3611. -control:didFailToFormatString:errorDescription:
  3612. -control:didFailToValidatePartialString:errorDescription:
  3613. -control:isValidObject:
  3614. 2005-07-20 Adele Peterson <adele@apple.com>
  3615. Merged fix for:
  3616. <rdar://problem/4125127> [WebKit] horizontal rulers don't render on Safari on web.apple.com
  3617. * WebCoreSupport.subproj/WebImageData.m:
  3618. (-[WebImageData _checkSolidColor:]):
  3619. 2005-07-20 Adele Peterson <adele@apple.com>
  3620. Merged fix for :
  3621. <rdar://problem/4118278> mail divide by zero navigating messages
  3622. * WebCoreSupport.subproj/WebTextRenderer.m:
  3623. (-[WebTextRenderer _extendGlyphToWidthMapToInclude:font:]):
  3624. 2005-07-20 John Sullivan <sullivan@apple.com>
  3625. Reviewed by Adele Peterson.
  3626. - added -[WebView selectedFrame] to SPI (pending public API), needed for 4180958
  3627. * WebView.subproj/WebView.m:
  3628. (-[WebView selectedFrame]):
  3629. new method, extracted from _selectedOrMainFrame
  3630. (-[WebView _selectedOrMainFrame]):
  3631. now calls extracted method
  3632. * WebView.subproj/WebViewPrivate.h:
  3633. add -selectedFrame to PendingPublic category
  3634. 2005-07-19 John Sullivan <sullivan@apple.com>
  3635. Reviewed by Darin Adler.
  3636. - cleaned up code related to dealing with the "selected frame"; fixes radar bugs 4118830 and 4118820
  3637. * WebView.subproj/WebTextView.m:
  3638. (-[WebTextView resignFirstResponder]):
  3639. call deselectAll here instead of replicating its guts, just for clarity
  3640. * WebView.subproj/WebViewInternal.h:
  3641. eliminated category WebInternal; all of these methods were used only inside WebView.m, so I moved
  3642. them into the existing category WebFileInternal that was declared and implemented in WebView.m
  3643. * WebView.subproj/WebView.m:
  3644. (-[WebView searchFor:direction:caseSensitive:wrap:]):
  3645. updated for name changes. Also, uses new _deselectFrame: to clear the selection if the found
  3646. text is in a different frame.
  3647. (-[WebView pasteboardTypesForSelection]):
  3648. (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
  3649. (-[WebView setSelectedDOMRange:affinity:]):
  3650. (-[WebView selectedDOMRange]):
  3651. (-[WebView selectionAffinity]):
  3652. (-[WebView setTypingStyle:]):
  3653. (-[WebView typingStyle]):
  3654. (-[WebView styleDeclarationWithText:]):
  3655. (-[WebView replaceSelectionWithNode:]):
  3656. (-[WebView replaceSelectionWithText:]):
  3657. (-[WebView replaceSelectionWithMarkupString:]):
  3658. (-[WebView replaceSelectionWithArchive:]):
  3659. (-[WebView deleteSelection]):
  3660. (-[WebView applyStyle:]):
  3661. updated for name changes only
  3662. (-[WebView _frameIsSelected:]):
  3663. new method, returns YES if given frame has a non-zero-length selection
  3664. (-[WebView _deselectFrame:]):
  3665. new method, clears selection from given frame
  3666. (-[WebView _findSelectedFrameStartingFromFrame:]):
  3667. new method, recursive helper used by _findSelectedFrame
  3668. (-[WebView _findSelectedFrame]):
  3669. new method, finds first frame that returns YES for _frameIsSelected, or nil
  3670. (-[WebView _debugCollectSelectedFramesIntoArray:startingFromFrame:]):
  3671. new method, recursive helper used by _debugCheckForMultipleSelectedFrames
  3672. (-[WebView _debugCheckForMultipleSelectedFrames]):
  3673. new method for debugging, fires an assertion if there's more than one selected frame.
  3674. (-[WebView _selectedOrMainFrame]):
  3675. renamed from _frameForCurrentSelection, which was a misleading name since the returned
  3676. frame does not necessarily have a selection (or even focus). Now checks for a selected
  3677. but non-focused frame if the first responder is not in any frame. Also, moved in file
  3678. from WebInternal category to WebFileInternal category.
  3679. (-[WebView _bridgeForSelectedOrMainFrame]):
  3680. renamed from _bridgeForCurrentSelection, which was a misleading name for the same
  3681. reasons as _frameForCurrentSelection. Also, moved in file from WebInternal category to
  3682. WebFileInternal category.
  3683. (-[WebView _isLoading]):
  3684. (-[WebView _frameViewAtWindowPoint:]):
  3685. (-[WebView _bridgeAtPoint:]):
  3686. just moved in file from WebInternal category to WebFileInternal category
  3687. 2005-07-19 Darin Adler <darin@apple.com>
  3688. Reviewed by Geoff Garen.
  3689. - improve handling of plug-ins when the WebView or a superview is hidden with -[NSView setHidden]
  3690. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
  3691. Add "hidden" to the list of reasons to clip out all plug-in drawing.
  3692. 2005-07-18 John Sullivan <sullivan@apple.com>
  3693. Written by Trey Matteson <trey@usa.net>
  3694. Reviewed by John Sullivan.
  3695. Fixed http://bugs.webkit.org/show_bug.cgi?id=4049
  3696. scroll position not restored when going back/forward at ebay
  3697. Fixed http://bugs.webkit.org/show_bug.cgi?id=4061
  3698. When going back/forward to some pages, they redraw at top before restoring scroll position
  3699. The short story is that attempting to restore the scroll position
  3700. at the time when the first layout finishes addresses both of these
  3701. issues. An explanation of the underlying race condition is in
  3702. a large comment near -_restoreScrollPosition.
  3703. * WebCoreSupport.subproj/WebBridge.m:
  3704. (-[WebBridge didFirstLayout]): Pass through to WebFrame.
  3705. * WebView.subproj/WebFrame.m:
  3706. (-[WebFrame _transitionToCommitted:]): Get rid of attempt to
  3707. restoreScrollPosition that never did anything because the
  3708. docView was always 0x0 size at that point.
  3709. (-[WebFrame _opened]): Get rid of redundant call to restoreScrollPosition.
  3710. The imminent call to layoutCompleted makes the same call.
  3711. (-[WebFrame _didFirstLayout]): Restore the scroll position on
  3712. first layout, if we're doing a b/f nav.
  3713. * WebView.subproj/WebFrameInternal.h:
  3714. 2005-07-18 John Sullivan <sullivan@apple.com>
  3715. Reviewed by Darin Adler.
  3716. - fixed these bugs:
  3717. <rdar://problem/4158121> context menu in PDF view should contain the selection-based items like Copy
  3718. <rdar://problem/4184691> WebPDFView should conform to the WebDocumentElement protocol
  3719. <rdar://problem/4184663> "Search in Spotlight" is present but dimmed in context menu for plain-text documents
  3720. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  3721. (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
  3722. added ASSERT and comments
  3723. * WebView.subproj/WebHTMLView.m:
  3724. (-[WebHTMLView _searchWithGoogleFromMenu:]):
  3725. removed this method (now handled by WebView)
  3726. (-[WebHTMLView _searchWithSpotlightFromMenu:]):
  3727. ditto
  3728. (-[WebHTMLView validateUserInterfaceItem:]):
  3729. removed validation for removed items. The validation wasn't necessary anyway, since we only put these items
  3730. in the menu in the case where they should be enabled.
  3731. * WebView.subproj/WebPDFView.h:
  3732. now conforms to WebDocumentElement protocol (which lets [WebView elementAtPoint:] work better)
  3733. * WebView.subproj/WebPDFView.m:
  3734. (-[WebPDFView copy:]):
  3735. added, hands off to PDFView, needed to enable Copy in context menu
  3736. (-[WebPDFView _pointIsInSelection:]):
  3737. new method, checks whether given point is in the selected bounds
  3738. (-[WebPDFView elementAtPoint:]):
  3739. add WebElementIsSelectedKey to returned element
  3740. (-[WebPDFView menuForEvent:]):
  3741. use actual point instead of dummy placeholder, now that we have code that pays attention to the point
  3742. * WebView.subproj/WebView.m:
  3743. (-[WebView _searchWithGoogleFromMenu:]):
  3744. moved here from WebHTMLView so it will work for any documentView that conforms to WebDocumentText.
  3745. Rewrote slightly to be non-WebHTMLView-specific. (This menu item was always enabled in Safari because
  3746. Safari replaces its action, but it would not have been always enabled in other WebKit clients, though
  3747. it should have been.)
  3748. (-[WebView _searchWithSpotlightFromMenu:]):
  3749. moved here from WebHTMLView so it will work for any documentView that conforms to WebDocumentText.
  3750. Rewrote slightly to be non-WebHTMLView-specific.
  3751. 2005-07-18 John Sullivan <sullivan@apple.com>
  3752. Reviewed by Richard Williamson.
  3753. - fixed <rdar://problem/4184366> WebPDFView should conform to the WebDocumentSelection protocol
  3754. * Misc.subproj/WebNSAttributedStringExtras.h: Added.
  3755. * Misc.subproj/WebNSAttributedStringExtras.m: Added.
  3756. (-[NSAttributedString _web_attributedStringByStrippingAttachmentCharacters]):
  3757. New category on NSAttributedString, initially contains this one method that had been in WebHTMLView.
  3758. * WebView.subproj/WebHTMLView.m:
  3759. (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
  3760. now uses _web_attributedStringByStrippingAttachmentCharacters
  3761. * WebView.subproj/WebPDFView.h:
  3762. now conforms to WebDocumentSelection protocol
  3763. * WebView.subproj/WebPDFView.m:
  3764. (-[WebPDFView selectionRect]):
  3765. new, implementation of WebDocumentSelection protocol method
  3766. (-[WebPDFView pasteboardTypesForSelection]):
  3767. ditto
  3768. (-[WebPDFView writeSelectionWithPasteboardTypes:toPasteboard:]):
  3769. ditto
  3770. * WebKit.pbproj/project.pbxproj:
  3771. updated for new files
  3772. 2005-07-18 John Sullivan <sullivan@apple.com>
  3773. Reviewed by Chris Blumenberg.
  3774. - some refactoring cleanup in the selection/searching code
  3775. * Misc.subproj/WebSearchableTextView.h:
  3776. moved WebDocumentSelection protocol conformation to this class, was in subclass WebTextView
  3777. * Misc.subproj/WebSearchableTextView.m:
  3778. (-[WebSearchableTextView selectionRect]):
  3779. new method (moved here from Safari) to return a single rect encompassing all selected text
  3780. (-[WebSearchableTextView pasteboardTypesForSelection]):
  3781. moved here from WebTextView
  3782. (-[WebSearchableTextView writeSelectionWithPasteboardTypes:toPasteboard:]):
  3783. ditto
  3784. * WebView.subproj/WebDocumentInternal.h:
  3785. moved WebDocumentSelection protocol out of here
  3786. * WebView.subproj/WebDocumentPrivate.h:
  3787. moved WebDocumentSelection protocol into here, added selectionRect method
  3788. * WebView.subproj/WebHTMLView.m:
  3789. (-[WebHTMLView selectionRect]):
  3790. new method, calls existing bridge method formerly called by _selectionRect
  3791. (-[WebHTMLView _selectionRect]):
  3792. now calls [self selectionRect]. We can't just delete _selectionRect because it's used by Mail.
  3793. * WebView.subproj/WebHTMLViewPrivate.h:
  3794. removed _selectionRect since it's in WebDocumentSelection now
  3795. * WebView.subproj/WebTextView.h:
  3796. removed WebDocumentSelection from protocol list since it's in superclass now
  3797. * WebView.subproj/WebTextView.m:
  3798. removed old WebDocumentSelection methods because they are in superclass now
  3799. 2005-07-15 Adele Peterson <adele@apple.com>
  3800. Written by Trey Matteson <trey@usa.net>
  3801. Reviewed by John Sullivan.
  3802. Fixed http://bugs.webkit.org/show_bug.cgi?id=3910 - REGRESSION: Replying "Cancel" to the form repost nag leaves wrong b/f cursor
  3803. * WebView.subproj/WebFrame.m:
  3804. (-[WebFrame _resetBackForwardList]): new helper method
  3805. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
  3806. If the delegate bailed on the navigation, tell the main frame
  3807. to reset the b/f cursor back to where it was before we started.
  3808. 2005-07-15 John Sullivan <sullivan@apple.com>
  3809. Written by Trey Matteson
  3810. Reviewed by me.
  3811. Fix for http://bugs.webkit.org/show_bug.cgi?id=4013
  3812. text find doesn't wrap in PDF files
  3813. This just works once WebPDFView implements the WebDocumentText protocol, which is
  3814. mostly just a matter of forwarding the methods to PDFKit appropriately.
  3815. * WebView.subproj/WebPDFView.h:
  3816. * WebView.subproj/WebPDFView.m:
  3817. (-[WebPDFView supportsTextEncoding]):
  3818. (-[WebPDFView string]):
  3819. (-[WebPDFView attributedString]):
  3820. (-[WebPDFView selectedString]):
  3821. (-[WebPDFView selectedAttributedString]):
  3822. (-[WebPDFView selectAll]):
  3823. (-[WebPDFView deselectAll]):
  3824. 2005-07-15 John Sullivan <sullivan@apple.com>
  3825. Reviewed by Kevin Decker.
  3826. - fixed <rdar://problem/4181884> Searching for text that overlaps selection works
  3827. differently in PDFView than in HTMLView
  3828. * WebView.subproj/WebPDFView.m:
  3829. (PDFSelectionsAreEqual):
  3830. new function, stand-in for nonexistent -[PDFSelection isEqual:] since calling isEqual:
  3831. on two identical PDFSelections returns NO
  3832. (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
  3833. Make search algorithm match that in WebCore: initially search inside selection, then check for the case
  3834. where the found text exactly matches the previous selection, and search from past the selection if so.
  3835. The implementation is slightly more complicated than it should be due to PDFKit API limitations (about
  3836. which I added FIXMEs and filed bugs)
  3837. 2005-07-15 John Sullivan <sullivan@apple.com>
  3838. Reviewed by Maciej Stachowiak.
  3839. - fixed these bugs:
  3840. <rdar://problem/4181875> Searching for text that overlaps selection works differently in WebTextView than in HTMLView
  3841. <rdar://problem/3393678> Find not finding text in plain (non-HTML) if all text is selected
  3842. * Misc.subproj/WebSearchableTextView.m:
  3843. (-[NSString findString:selectedRange:options:wrap:]):
  3844. Make search algorithm match that in WebCore: initially search inside selection, then check for the case
  3845. where the found text exactly matches the previous selection, and search from past the selection if so.
  3846. 2005-07-14 John Sullivan <sullivan@apple.com>
  3847. Reviewed by Dave Hyatt.
  3848. - WebKit part of fix for:
  3849. <rdar://problem/4181227> webpages incorrectly use standard instead of secondary highlighting in certain cases
  3850. * WebCoreSupport.subproj/WebBridge.m:
  3851. (-[WebBridge formControlIsResigningFirstResponder:]):
  3852. Implementation of new method defined in WebCore, passes call along to WebHTMLView
  3853. * WebView.subproj/WebHTMLViewInternal.h:
  3854. declare _formControlIsResigningFirstResponder: so bridge can call it
  3855. * WebView.subproj/WebHTMLView.m:
  3856. (-[WebHTMLView updateFocusState]):
  3857. just moved in file so it could be called from a different category
  3858. (-[WebHTMLView _formControlIsResigningFirstResponder:]):
  3859. new method, updates focus state
  3860. 2005-07-14 John Sullivan <sullivan@apple.com>
  3861. added missing #import to fix build
  3862. * WebView.subproj/WebPDFView.m
  3863. 2005-07-14 Kevin Decker <kdecker@apple.com>
  3864. Reviewed by cblu
  3865. Fixed: <rdar://problem/4122282> clicking a link in an PDF file opens the link with NSWorkspace without the usual security checks or WebView delegate control
  3866. * WebView.subproj/WebFrame.m:
  3867. (-[WebFrame _safeLoadURL:]): added
  3868. * WebView.subproj/WebFrameInternal.h:
  3869. * WebView.subproj/WebPDFView.m:
  3870. (-[WebPDFView initWithFrame:]):
  3871. (-[WebPDFView PDFViewWillClickOnLink:withURL:]): prevents evilness with a call to _safeLoadURL
  3872. * WebView.subproj/WebTextView.m:
  3873. (-[WebTextView clickedOnLink:atIndex:]): factored calling out to the bridge, and instead call _safeLoadURL
  3874. 2005-07-14 Vicki Murley <vicki@apple.com>
  3875. Reviewed by Kocienda.
  3876. - WebKit part of fix for <rdar://problem/4172380> [GENENTECH] window.opener
  3877. not available when child opened via target="_new"
  3878. Add a setOpener function to the WebCore bridge, and call this function when opening
  3879. new windows through Web Kit.
  3880. * WebView.subproj/WebFrame.m:
  3881. (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
  3882. 2005-07-13 Justin Garcia <justin.garcia@apple.com>
  3883. Reviewed by John
  3884. Rolling in changes necessary to build with newer versions of gcc 4.0
  3885. * History.subproj/WebHistoryItem.m:
  3886. (-[WebHistoryItem copyWithZone:]):
  3887. * Misc.subproj/WebNSPasteboardExtras.m:
  3888. (-[NSPasteboard _web_writeImage:URL:title:archive:types:]):
  3889. * Misc.subproj/WebNSURLExtras.m:
  3890. (-[NSURL _web_URLWithLowercasedScheme]):
  3891. (-[NSString _web_mapHostNameWithRange:encode:makeString:]):
  3892. * WebCoreSupport.subproj/WebBridge.m:
  3893. (-[WebBridge MIMETypeForPath:]):
  3894. * WebCoreSupport.subproj/WebImageRendererFactory.m:
  3895. (-[WebImageRendererFactory imageRendererWithBytes:length:MIMEType:]):
  3896. * WebCoreSupport.subproj/WebTextRenderer.m:
  3897. (-[WebTextRenderer initWithFont:usingPrinterFont:]):
  3898. * WebView.subproj/WebFrame.m:
  3899. (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
  3900. * WebView.subproj/WebHTMLView.m:
  3901. (-[WebHTMLView _styleFromFontAttributes:]):
  3902. * WebView.subproj/WebView.m:
  3903. (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]):
  3904. (-[WebView mainFrameTitle]):
  3905. 2005-07-13 John Sullivan <sullivan@apple.com>
  3906. Reviewed by Maciej Stachowiak.
  3907. - cleaned up Find-related experimental code that I checked in a while back
  3908. * WebView.subproj/WebHTMLView.m:
  3909. (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
  3910. remove variant of this method that had findInSelection flag; this method is now
  3911. the same as it was on Tiger.
  3912. * WebView.subproj/WebView.m:
  3913. (-[WebView searchFor:direction:caseSensitive:wrap:]):
  3914. ditto
  3915. 2005-07-12 Geoffrey Garen <ggaren@apple.com>
  3916. -rolled in patch by opendarwin.org@mitzpettel.com
  3917. for http://bugs.webkit.org/show_bug.cgi?id=3435
  3918. Parentheses are backwards in Hebrew text (no bidi mirroring?)
  3919. Reviewed by mjs.
  3920. Layout test added to WebCore.
  3921. * WebCoreSupport.subproj/WebTextRenderer.h:
  3922. * WebCoreSupport.subproj/WebTextRenderer.m:
  3923. (-[WebTextRenderer _initializeATSUStyle]):
  3924. (applyMirroringToRun):
  3925. (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]):
  3926. (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
  3927. (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
  3928. 2005-07-12 Ken Kocienda <kocienda@apple.com>
  3929. Reviewed by Chris Blumenberg
  3930. * WebCoreSupport.subproj/WebBridge.m: Removed some glue that allowed one
  3931. of two unicode (TEC or ICU ) to be chosen at runtime. I just added this
  3932. dual support yesterday, and while Maciej and I agreed that it was good
  3933. to land in the tree in case we run into problems in the near future, we
  3934. also agreed that cutting over to using ICU full time right now is
  3935. probably the best way to find bugs.
  3936. 2005-07-11 Ken Kocienda <kocienda@apple.com>
  3937. Reviewed by Richard
  3938. * WebCoreSupport.subproj/WebBridge.m:
  3939. (+[WebBridge setTextConversionMethod:]): New method to support switching text conversion method.
  3940. (+[WebBridge textConversionMethod]): Returns current text conversion method.
  3941. 2005-07-11 Kevin Decker <kdecker@apple.com>
  3942. Reviewed by cblu and mjs.
  3943. Fixed: <rdar://problem/4099552> REGRESSION: Safari 1.3 Netscape API NPN_PostURL[Notify] no longer allows manual headers
  3944. Most plugins (flash) send 2 CRFL's between the header and body of their POST requests, while the adboe plugin sends two LF's. This caused us to send custom headers as part of the actual POST data itself, and correspondently, would skew Content-Length.
  3945. * Plugins.subproj/WebBaseNetscapePluginView.m:
  3946. (-[NSData _web_locationAfterFirstBlankLine]): Look for two LF's as well
  3947. 2005-07-09 Maciej Stachowiak <mjs@apple.com>
  3948. - back out my revent page cache changes, turns out they cause a
  3949. major performance regression on PLT
  3950. * WebView.subproj/WebFrame.m:
  3951. (-[WebFrame _purgePageCache]):
  3952. 2005-07-09 Maciej Stachowiak <mjs@apple.com>
  3953. Reviewed by hyatt.
  3954. Replace int with unsigned, to avoid going into a huge loop when
  3955. back list count is 0.
  3956. * WebView.subproj/WebFrame.m:
  3957. (-[WebFrame _purgePageCache]):
  3958. 2005-07-09 Maciej Stachowiak <mjs@apple.com>
  3959. - fixed broken Development build
  3960. * WebView.subproj/WebFrame.m:
  3961. (-[WebFrame _purgePageCache]):
  3962. 2005-07-09 Maciej Stachowiak <mjs@apple.com>
  3963. Reviewed by hyatt.
  3964. - fix page cache purging logic; this gets rid of a bug where the
  3965. page cache would grow without bound if the oldest page cache item
  3966. was the snapback item, and changed the rule a bit so page cache
  3967. items farther back than the max size get purged, even if fewer
  3968. than the max size are in current use.
  3969. * WebView.subproj/WebFrame.m:
  3970. (-[WebFrame _purgePageCache]):
  3971. 2005-07-08 Geoffrey Garen <ggaren@apple.com>
  3972. Rolled in patch by opendarwin.org@mitzpettel.com
  3973. -fixes http://bugs.webkit.org/show_bug.cgi?id=3818
  3974. Fallback font doesn't have requested weight in ATSUI-rendered text
  3975. (See WebCore Changelog for layout test)
  3976. Reviewed by mjs.
  3977. * WebCoreSupport.subproj/WebTextRenderer.m:
  3978. (-[WebTextRenderer _createATSUTextLayoutForRun:style:]):
  3979. 2005-07-05 Adele Peterson <adele@apple.com>
  3980. Rolling out changes for <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
  3981. since it caused a 2% performance regression.
  3982. * WebCoreSupport.subproj/WebTextRenderer.m:
  3983. (isSpace):
  3984. (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
  3985. (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
  3986. (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
  3987. (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
  3988. (initializeCharacterWidthIterator):
  3989. (widthForNextCharacter):
  3990. 2005-07-05 John Sullivan <sullivan@apple.com>
  3991. Reviewed by Chris Blumenberg.
  3992. - fixed <rdar://problem/4158230> Zoom In/Zoom Out in PDF context menu don't update window's notion of text size
  3993. * WebView.subproj/WebPDFView.m:
  3994. (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
  3995. Redirect Actual Size, Zoom In, and Zoom Out context menu items so that they behave exactly like Make Text Standard Size,
  3996. Make Text Larger, and Make Text Smaller.
  3997. 2005-07-01 John Sullivan <sullivan@apple.com>
  3998. Reviewed by Darin Adler.
  3999. - fixed http://bugs.webkit.org/show_bug.cgi?id=3711: Displayed PDF have limited options in contextual menu
  4000. This was a problem with using Tiger's version of Safari with tip of tree WebKit.
  4001. * WebView.subproj/WebPDFView.m:
  4002. (-[WebPDFView _anyPDFTagsFoundInMenu:]):
  4003. new method, returns YES if the menu contains any items with any of the new PDF-related tags.
  4004. (-[WebPDFView menuForEvent:]):
  4005. If the executable was linked on Tiger or older (but it will never be older, since this code is
  4006. new to Tiger), force all of the PDF-related items into the menu if none of them were there
  4007. after processing by the delegate.
  4008. 2005-06-30 Darin Adler <darin@apple.com>
  4009. Reviewed by John Sullivan.
  4010. - fixed <http://bugs.webkit.org/show_bug.cgi?id=3774>
  4011. do renaming so that loaders are called "loader", not "client" or "delegate"
  4012. * Misc.subproj/WebIconLoader.h:
  4013. * Plugins.subproj/WebNetscapePluginStream.h:
  4014. * Plugins.subproj/WebNetscapePluginStream.m:
  4015. (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
  4016. (-[WebNetscapePluginStream start]):
  4017. (-[WebNetscapePlugInStreamLoader didFinishLoading]):
  4018. (-[WebNetscapePlugInStreamLoader didFailWithError:]):
  4019. (-[WebNetscapePlugInStreamLoader cancelWithError:]):
  4020. * WebCoreSupport.subproj/WebBridge.m:
  4021. (-[WebBridge startLoadingResource:withURL:customHeaders:]):
  4022. (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]):
  4023. (-[WebBridge canRunModalNow]):
  4024. * WebCoreSupport.subproj/WebSubresourceClient.h: Removed.
  4025. * WebCoreSupport.subproj/WebSubresourceClient.m: Removed.
  4026. * WebCoreSupport.subproj/WebSubresourceLoader.h:
  4027. * WebCoreSupport.subproj/WebSubresourceLoader.m:
  4028. (-[WebSubresourceLoader initWithLoader:dataSource:]):
  4029. (-[WebSubresourceLoader dealloc]):
  4030. (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
  4031. (+[WebSubresourceLoader startLoadingResource:withURL:customHeaders:referrer:forDataSource:]):
  4032. (+[WebSubresourceLoader startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]):
  4033. (-[WebSubresourceLoader didReceiveResponse:]):
  4034. (-[WebSubresourceLoader didReceiveData:lengthReceived:]):
  4035. (-[WebSubresourceLoader didFinishLoading]):
  4036. (-[WebSubresourceLoader didFailWithError:]):
  4037. (-[WebSubresourceLoader cancel]):
  4038. * WebKit.pbproj/project.pbxproj:
  4039. * WebView.subproj/WebBaseResourceHandleDelegate.h: Removed.
  4040. * WebView.subproj/WebBaseResourceHandleDelegate.m: Removed.
  4041. * WebView.subproj/WebDataSource.m:
  4042. (-[WebDataSourcePrivate dealloc]):
  4043. (-[WebDataSource _setLoading:]):
  4044. (-[WebDataSource _updateLoading]):
  4045. (-[WebDataSource _setPrimaryLoadComplete:]):
  4046. (-[WebDataSource _startLoading:]):
  4047. (-[WebDataSource _addSubresourceLoader:]):
  4048. (-[WebDataSource _removeSubresourceLoader:]):
  4049. (-[WebDataSource _addPlugInStreamLoader:]):
  4050. (-[WebDataSource _removePlugInStreamLoader:]):
  4051. (-[WebDataSource _stopLoadingInternal]):
  4052. (-[WebDataSource _defersCallbacksChanged]):
  4053. (-[WebDataSource _stopLoadingWithError:]):
  4054. (-[WebDataSource data]):
  4055. (-[WebDataSource isLoading]):
  4056. * WebView.subproj/WebDataSourcePrivate.h:
  4057. * WebView.subproj/WebLoader.h:
  4058. * WebView.subproj/WebLoader.m:
  4059. * WebView.subproj/WebMainResourceClient.h: Removed.
  4060. * WebView.subproj/WebMainResourceClient.m: Removed.
  4061. * WebView.subproj/WebMainResourceLoader.h:
  4062. * WebView.subproj/WebMainResourceLoader.m:
  4063. (-[WebMainResourceLoader didReceiveResponse:]):
  4064. 2005-06-29 David Harrison <harrison@apple.com>
  4065. Reviewed by Dave Hyatt (rendering) and Maciej (editing).
  4066. Test cases added: Coming soon. Will include with next round of changes for this bug.
  4067. This is the first checkin for...
  4068. <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
  4069. Basic strategy is to put tabs into spans with white-space:pre style, and
  4070. render them with tabs stops every 8th space, where the space width and
  4071. the left margin are those of the enclosing block.
  4072. What's left is to switch to implement white-space:pre-wrap so
  4073. that we can coalesce consecutive tabs while maintaining proper
  4074. line breaking. That will keep the markup smaller.
  4075. * WebCoreSupport.subproj/WebTextRenderer.m:
  4076. (isSpace):
  4077. (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
  4078. (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
  4079. (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
  4080. (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
  4081. (initializeCharacterWidthIterator):
  4082. (widthForNextCharacter):
  4083. 2005-06-29 John Sullivan <sullivan@apple.com>
  4084. Reviewed by Kevin.
  4085. - deleted some never-used stub code
  4086. * WebView.subproj/WebView.m:
  4087. * WebView.subproj/WebViewInternal.h:
  4088. * WebView.subproj/WebViewPrivate.h:
  4089. 2005-06-27 Justin Garcia <justin.garcia@apple.com>
  4090. Patch by Anders Carlsson <andersca@mac.com>
  4091. Reviewed by Darin.
  4092. - Fixes <http://bugs.webkit.org/show_bug.cgi?id=3489>
  4093. WebView's setSelectedDOMRange doesn't not implement clearing the selection as described in the WebView documentation:
  4094. <http://developer.apple.com/documentation/Cocoa/Reference/WebKit/ObjC_classic/Classes/WebView.html>
  4095. * WebView.subproj/WebView.m:
  4096. (-[WebView setSelectedDOMRange:affinity:]):
  4097. If range is nil, call deselectText.
  4098. 2005-06-24 Justin Garcia <justin.garcia@apple.com>
  4099. Patch contributed by Duncan Wilcox <duncan@mclink.it>
  4100. Reviewed by Darin
  4101. - Fixed <http://bugs.webkit.org/show_bug.cgi?id=3535>
  4102. Spelling suggestions in the context menu don't call the should* delegate methods
  4103. * WebView.subproj/WebHTMLView.m:
  4104. (-[WebHTMLView _changeSpellingFromMenu:]):
  4105. give delegate's webView:shouldInsertText:replacingDOMRange:givenAction: a chance
  4106. to prevent replacing of selected text
  4107. 2005-06-22 John Sullivan <sullivan@apple.com>
  4108. Reviewed by Chris Blumenberg.
  4109. - fixed <rdar://problem/3764645> please add a way to allow WebKit clients to override the WebPDFView context menu
  4110. * PublicHeaderChangesFromTiger.txt: Added.
  4111. New file to keep track of changes made to public headers that haven't been through API review yet.
  4112. Initially lists the WebMenuItem enum tags added to WebUIDelegate.h as part of this change.
  4113. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  4114. (-[WebDefaultUIDelegate appendDefaultItems:toArray:]):
  4115. new method, handles initial separator
  4116. (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
  4117. now has defaultMenuItems: parameter. Any menu items in this array are appended at the end of
  4118. the standard set.
  4119. (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
  4120. ditto
  4121. (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
  4122. This had a defaultMenuItems parameter before but it was always nil. Now it passes the defaultMenuItems
  4123. parameter on to the two methods that construct lists (one for editing, the other for viewing). Also
  4124. tweaked variable name and type for clarity.
  4125. * WebView.subproj/WebHTMLView.m:
  4126. (-[WebHTMLView menuForEvent:]):
  4127. passes nil for new defaultItems parameter of _menuForElement:
  4128. * WebView.subproj/WebImageView.m:
  4129. (-[WebImageView menuForEvent:]):
  4130. ditto
  4131. * WebView.subproj/WebTextView.m:
  4132. (-[WebTextView menuForEvent:]):
  4133. ditto
  4134. * WebView.subproj/WebPDFView.m:
  4135. (-[WebPDFView elementAtPoint:]):
  4136. new method to create the element dictionary needed for _menuForElement:defaultItems:. Only supplies the
  4137. webFrame at this point.
  4138. (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
  4139. new method to return copies of the menu items that PDFKit would include in the context menu, with
  4140. WebKit tags applied
  4141. (-[WebPDFView menuForEvent:]):
  4142. now calls standard WebKit context menu mechanism, so clients' delegates can modify the context menu as
  4143. desired. The initial set of items are the ones WebKit was already displaying for PDF context menus.
  4144. * WebView.subproj/WebUIDelegate.h:
  4145. added enum values for the menu items in the PDF context menu
  4146. * WebView.subproj/WebViewPrivate.h:
  4147. * WebView.subproj/WebView.m:
  4148. (-[WebView _menuForElement:defaultItems:]):
  4149. Added the defaultItems: parameter to this method, which is then passed along to WebDefaultUIDelegate.
  4150. All callers pass nil except for WebPDFView, at least for now.
  4151. 2005-06-22 Darin Adler <darin@apple.com>
  4152. Change by Mitz Pettel.
  4153. Reviewed by me.
  4154. - fixed <http://bugs.webkit.org/show_bug.cgi?id=3618>
  4155. RTL runs drawn by CG not reversed properly
  4156. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _CG_drawRun:style:geometry:]):
  4157. Fix off-by-one mistake in order-swapping loops.
  4158. 2005-06-22 Darin Adler <darin@apple.com>
  4159. Change by Michael Gaiman.
  4160. Reviewed by me.
  4161. - fixed <http://bugs.webkit.org/show_bug.cgi?id=3436>
  4162. Missing implementation of -[NSData(WebNSDateExtras) _webkit_parseRFC822HeaderFields]
  4163. * Misc.subproj/WebNSDataExtras.h: Fixed name of category say NSData, not NSDate.
  4164. * Misc.subproj/WebNSDataExtras.m: (-[NSData _webkit_parseRFC822HeaderFields]): Fixed method name.
  4165. 2005-06-21 John Sullivan <sullivan@apple.com>
  4166. Reviewed by Vicki Murley
  4167. - fixed assertion failure Vicki ran into
  4168. * Misc.subproj/WebIconDatabase.m:
  4169. (-[WebIconDatabase _forgetIconForIconURLString:]):
  4170. Handle the case where there are no associated page URLs for the icon URL
  4171. 2005-06-20 John Sullivan <sullivan@apple.com>
  4172. Reviewed by Chris Blumenberg.
  4173. - fixed <rdar://problem/4155182> icon database retain counts can be incorrect after removing all icons
  4174. Replaced the concept of "future retain count per page URL" with a simpler concept of "retain count per
  4175. page URL", which is maintained even after the icon is actually loaded (unlike the future retain count).
  4176. The total retain count for an icon is now the sum of the retain counts per page URL along with any retain
  4177. count not associated with a page URL -- this is still needed for some internal housekeeping purposes.
  4178. * Misc.subproj/WebIconDatabasePrivate.h:
  4179. renamed iconURLToURLs -> iconURLToPageURLs for clarity
  4180. renamed URLToIconURL -> pageURLToIconURL for clarity
  4181. renamed futureURLToRetainCount -> pageURLToRetainCount (there's no more "future" aspect)
  4182. renamed iconURLToRetainCount -> iconURLToExtraRetainCount (it now maintains only some of the retain count)
  4183. * Misc.subproj/WebIconDatabase.m:
  4184. (+[WebIconDatabase sharedIconDatabase]):
  4185. updated for name changes only
  4186. (-[WebIconDatabase init]):
  4187. ditto
  4188. (-[WebIconDatabase iconForURL:withSize:cache:]):
  4189. ditto
  4190. (-[WebIconDatabase iconURLForURL:]):
  4191. ditto
  4192. (-[WebIconDatabase retainIconForURL:]):
  4193. just bump the retain count in pageURLToRetainCount, instead of behaving differently based on whether
  4194. an icon had been loaded for this URL; this let me delete the internal method _retainFutureIconForURL:
  4195. (-[WebIconDatabase releaseIconForURL:]):
  4196. decrement the retain count in pageURLToRetainCount, then handle the case where the retain count for
  4197. this page has gone to zero. I deleted the internal method _releaseFutureIconForURL: formerly called here.
  4198. (-[WebIconDatabase removeAllIcons]):
  4199. remove all the code that dealt with retain counts; this operation no longer affects retain counts
  4200. (-[WebIconDatabase _setIconURL:forURL:]):
  4201. remove the code that consolidated multiple retain counts for different page URLs into a single retain
  4202. count; the multiple retain counts are now maintained even after the icon is loaded
  4203. (-[WebIconDatabase _clearDictionaries]):
  4204. updated for name changes only
  4205. (-[WebIconDatabase _loadIconDictionaries]):
  4206. ditto
  4207. (-[WebIconDatabase _updateFileDatabase]):
  4208. ditto
  4209. (-[WebIconDatabase _totalRetainCountForIconURLString:]):
  4210. new method, sums the retain counts associated with specific page URLs and the extra retain count
  4211. not associated with specific page URLs
  4212. (-[WebIconDatabase _retainIconForIconURLString:]):
  4213. updated for name changes
  4214. (-[WebIconDatabase _forgetIconForIconURLString:]):
  4215. no longer affects retain counts at all; this is up to callers
  4216. (-[WebIconDatabase _releaseIconForIconURLString:]):
  4217. this now distinguishes the case where the retain count not associated with any page URLs hits
  4218. zero from the case where the total retain count hits zero, and handles both
  4219. 2005-06-20 John Sullivan <sullivan@apple.com>
  4220. Reviewed by Chris Blumenberg.
  4221. - added support for emptying the icon database
  4222. * Misc.subproj/WebIconDatabase.h: just fixed a typo
  4223. * Misc.subproj/WebIconDatabasePrivate.h:
  4224. added WebPendingPublic category with method removeAllIcons, and
  4225. declared WebIconDatabaseDidRemoveAllIconsNotification string.
  4226. * Misc.subproj/WebIconDatabase.m:
  4227. (-[WebIconDatabase removeAllIcons]):
  4228. new method, removes all known icons from memory and disk. There's one loose end,
  4229. covered by radar bug 4155182, where it's possible for the icon database's retain
  4230. counts to get off after this operation. I plan to fix this next.
  4231. (-[WebIconDatabase _setIconURL:forURL:]):
  4232. just fixed some extra whitespace
  4233. (-[WebIconDatabase _forgetIconForIconURLString:]):
  4234. new method, extracted from _releaseIconForIconURLString
  4235. (-[WebIconDatabase _releaseIconForIconURLString:]):
  4236. now calls extracted method
  4237. * WebKit.exp:
  4238. added _WebIconDatabaseDidRemoveAllIconsNotification
  4239. 2005-06-19 Darin Adler <darin@apple.com>
  4240. Changes by Mitz Pettel
  4241. Reviewed by me.
  4242. - fixed <http://bugs.webkit.org/show_bug.cgi?id=3466>
  4243. ATSUI text doesn't render at coordinates greater than 32K
  4244. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
  4245. Translate the matrix of the CGContext instead of passing the appropriate coordinates to ATSU.
  4246. 2005-06-17 Richard Williamson <rjw@apple.com>
  4247. Changes by Mitz Pettel
  4248. Reviewed by Richard Williamson.
  4249. Fixed http://bugs.webkit.org/show_bug.cgi?id=3545
  4250. * WebCoreSupport.subproj/WebTextRenderer.m:
  4251. (reverseCharactersInRun):
  4252. (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
  4253. 2005-06-17 John Sullivan <sullivan@apple.com>
  4254. Reviewed by Chris.
  4255. - fixed <rdar://problem/4151001> Reloading javascript-spawned window with no URL erases its contents
  4256. * WebView.subproj/WebFrame.m:
  4257. (-[WebFrame reload]):
  4258. do nothing if URL is zero-length
  4259. 2005-06-14 John Sullivan <sullivan@apple.com>
  4260. Changes by Devin Lane.
  4261. Reviewed by me.
  4262. - fixed <rdar://problem/3766909> PDF viewing could use a zoom control other than the one in the context menu
  4263. * WebView.subproj/WebPDFView.h:
  4264. now implements protocol _web_WebDocumentTextSizing
  4265. * WebView.subproj/WebPDFView.m:
  4266. (-[WebPDFView _updateScalingToReflectTextSize]):
  4267. new method, sets the PDF scaling from the text size multiplier
  4268. (-[WebPDFView setDataSource:]):
  4269. call _updateScalingToReflectTextSize
  4270. (-[WebPDFView _web_textSizeMultiplierChanged]):
  4271. implementation of protocol _web_WebDocumentTextSizing, calls _updateScalingToReflectTextSize
  4272. 2005-06-14 John Sullivan <sullivan@apple.com>
  4273. Reviewed by Dave Harrison.
  4274. * WebView.subproj/WebHTMLView.m:
  4275. (-[WebHTMLView _delayedEndPrintMode:]):
  4276. After discussing this with Dave, I made this method both more debugger-friendly with asserts for
  4277. the cases we don't think could ever happen, and more paranoid by handling these cases in deployment
  4278. builds.
  4279. 2005-06-14 Darin Adler <darin@apple.com>
  4280. - fixed build for Xcode 2.1
  4281. * WebKit.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT to search for the
  4282. WebKitSystemInterface.h file. We could re-jigger this again later, but for now this is consistent
  4283. with both the .a file's location and where build-webkit puts the file.
  4284. 2005-06-13 John Sullivan <sullivan@apple.com>
  4285. Reviewed by Dave Harrison and Maciej.
  4286. * WebView.subproj/WebHTMLView.m:
  4287. (-[WebHTMLView _endPrintMode]):
  4288. new method, extracted from identical code in beginDocument and endDocument. This method must be called
  4289. once to counterbalance the code called from knowsPageRange that turns on "printing mode".
  4290. (-[WebHTMLView _delayedEndPrintMode:]):
  4291. new method, called from "perform after delay". Checks whether the same print operation is still underway
  4292. and, if so, delays further. Otherwise calls _endPrintMode directly.
  4293. (-[WebHTMLView knowsPageRange:]):
  4294. after turning on "printing mode", queue up a delayed call to _delayedEndPrintMode:. If there's an early
  4295. error in the print mechanism such that beginDocument is never called, this will cleanly end "printing
  4296. mode" and make the webview usable again.
  4297. (-[WebHTMLView beginDocument]):
  4298. cancel any delayed call to _delayedEndPrintMode:. If we get this far along in printing, then we don't need
  4299. the failsafe call to _delayedEndPrintMode: that was set up in knowsPageRange:. Also, call extracted method.
  4300. (-[WebHTMLView endDocument]):
  4301. call extracted method
  4302. 2005-06-13 Maciej Stachowiak <mjs@apple.com>
  4303. Reviewed by Chris Blumenberg and Adele.
  4304. - better fix for <rdar://problem/4142247> REGRESSION: List to browse widgets at Apple website failed. Closing tab afterwards caused Safari crash
  4305. http://bugs.webkit.org/show_bug.cgi?id=3445
  4306. With this change and the matching WebKit change we'll still stop loading the moment you click
  4307. a download link, but the unload event and detaching of event handlers will not happen early any more.
  4308. * WebView.subproj/WebDataSource.m:
  4309. (-[WebDataSource _stopLoadingInternal]): call stopLoading on bridge instead of closeURL.
  4310. * WebView.subproj/WebFrame.m:
  4311. (-[WebFrame _transitionToCommitted:]): Revert previous attempt at fix.
  4312. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): ditto
  4313. (-[WebFrame stopLoading]): ditto
  4314. 2005-06-13 Chris Petersen <cpetersen@apple.com>
  4315. Changes by Darin.
  4316. Reviewed by me.
  4317. - fixed problems building deployment due to recent init change
  4318. * WebView.subproj/WebArchive.m: (-[WebArchive initWithCoder:]):
  4319. Put the [super init] call and check for nil outside the exception handler.
  4320. * WebView.subproj/WebResource.m: (-[WebResource initWithCoder:]): Ditto.
  4321. 2005-06-12 Darin Adler <darin@apple.com>
  4322. Reviewed by Maciej.
  4323. - fixed <rdar://problem/4141569> REGRESSION (412+): printing fails on any page with images, and for standalone images
  4324. also <http://bugs.webkit.org/show_bug.cgi?id=3318>
  4325. * WebCoreSupport.subproj/WebImageData.m: Got rid of use of tabs instead of spaces throughout the file.
  4326. (-[WebImageData _checkSolidColor:]): Wrap use of NSGraphicsContext with an autorelease pool.
  4327. (-[WebImageData _fillSolidColorInRect:compositeOperation:context:]): Ditto.
  4328. (-[WebImageData tileInRect:fromPoint:context:]): Ditto.
  4329. (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]): Ditto.
  4330. 2005-06-12 Darin Adler <darin@apple.com>
  4331. Changes by Nick Zitzmann.
  4332. Reviewed by me.
  4333. - fixed init methods that don't handle return values from the init methods they call
  4334. * WebView.subproj/WebArchive.m:
  4335. (-[WebArchive init]): Use value returned by init, check it for nil too.
  4336. (-[WebArchive initWithMainResource:subresources:subframeArchives:]): Ditto.
  4337. (-[WebArchive _initWithPropertyList:]): Ditto.
  4338. (-[WebArchive initWithCoder:]): Ditto.
  4339. * WebView.subproj/WebClipView.m:
  4340. (-[WebClipView initWithFrame:]): Ditto.
  4341. * WebView.subproj/WebDebugDOMNode.m:
  4342. (-[WebDebugDOMNode initWithName:value:source:children:]): Ditto.
  4343. * WebView.subproj/WebFrame.m:
  4344. (-[WebFormState initWithForm:values:sourceFrame:]): Ditto.
  4345. (-[WebFrame initWithName:webFrameView:webView:]): Ditto.
  4346. * WebView.subproj/WebFrameView.m:
  4347. (-[WebFrameView initWithFrame:]): Ditto.
  4348. * WebView.subproj/WebHTMLRepresentation.m:
  4349. (-[WebHTMLRepresentation init]): Ditto.
  4350. * WebView.subproj/WebHTMLView.m:
  4351. (-[WebHTMLView initWithFrame:]): Ditto.
  4352. (-[WebTextCompleteController initWithHTMLView:]): Ditto.
  4353. * WebView.subproj/WebImageView.m:
  4354. (-[WebImageView initWithFrame:]): Ditto.
  4355. * WebView.subproj/WebPreferences.m:
  4356. (-[WebPreferences initWithIdentifier:]): Ditto.
  4357. * WebView.subproj/WebRenderNode.m:
  4358. (-[WebRenderNode initWithName:position:rect:view:children:]): Ditto.
  4359. * WebView.subproj/WebResource.m:
  4360. (-[WebResource init]): Ditto.
  4361. (-[WebResource initWithCoder:]): Ditto.
  4362. * WebView.subproj/WebView.m:
  4363. (-[WebViewPrivate init]): Call super init.
  4364. (-[_WebSafeForwarder initWithTarget:defaultTarget:templateClass:]): Use value returned by init, check it for nil too.
  4365. (-[WebView initWithFrame:]): Ditto.
  4366. 2005-06-12 Maciej Stachowiak <mjs@apple.com>
  4367. Reviewed by Chris Blumenberg.
  4368. - fixed <rdar://problem/4142247> REGRESSION: List to browse widgets at Apple website failed. Closing tab afterwards caused Safari crash
  4369. http://bugs.webkit.org/show_bug.cgi?id=3445
  4370. * WebView.subproj/WebFrame.m:
  4371. (-[WebFrame _transitionToCommitted:]): Stop loading the non-provisional data
  4372. source before swapping in the provisional.
  4373. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Stop only
  4374. the provisional load here, we would not want to stop loading if this navigation
  4375. later turns into a download or is cancelled before being committed.
  4376. (-[WebFrame stopLoading]): Factored a bit.
  4377. (-[WebFrame _cancelProvisionalLoad]): New method to stop only provisional load,
  4378. and cancel any pending policy deicions.
  4379. (-[WebFrame _stopNonProvisionalLoadOnly]): New mthod that stops only the main
  4380. load.
  4381. 2005-06-10 John Sullivan <sullivan@apple.com>
  4382. reviewed by Dave Harrison (first & second drafts) and Darin Adler (third draft)
  4383. - WebKit part of fix for
  4384. <rdar://problem/4145214> REGRESSION (412+): Can't drag URLs from the location bar
  4385. * Misc.subproj/WebNSPasteboardExtras.m:
  4386. (+[NSPasteboard initialize]):
  4387. Reinstate variation of old code that uses CreatePasteboardFlavorTypeName to set up our new pasteboard types.
  4388. The newfangled way didn't work.
  4389. 2005-06-07 Darin Adler <darin@apple.com>
  4390. Change by Mark Rowe <opendarwin.org@bdash.net.nz>.
  4391. Reviewed by me.
  4392. - fixed the WebKit half of build failure with spaces in the path
  4393. http://bugs.webkit.org/show_bug.cgi?id=3291
  4394. * WebKit.pbproj/project.pbxproj: Quote DERIVED_FILE_DIR when it is substituted
  4395. into FRAMEWORK_SEARCH_PATHS, and SYMROOT when into HEADER_SEARCH_PATHS.
  4396. 2005-06-06 Darin Adler <darin@apple.com>
  4397. * Info.plist: Bumped version to 412+. For some reason it was set to 312.1!
  4398. 2005-06-05 Darin Adler <darin@apple.com>
  4399. Reviewed by Hyatt.
  4400. - fixed build that I broke with the license change (some includes of WebException were still around)
  4401. * WebKit.pbproj/project.pbxproj: Removed references to WebException.h/m.
  4402. * WebView.subproj/WebDataSource.m: Removed include of WebException.h.
  4403. * WebView.subproj/WebHTMLView.m: Ditto.
  4404. * WebView.subproj/WebView.m: Ditto.
  4405. - fixed build under gcc 4.0 (some code moved here from Foundation had warnings)
  4406. * Misc.subproj/WebNSDataExtras.m:
  4407. (-[NSString _web_capitalizeRFC822HeaderFieldName]): Use char instead of UInt8.
  4408. (-[NSData _webkit_guessedMIMEType]): Use char instead of UInt8, and take out now-
  4409. unneeded type casts.
  4410. 2005-06-05 Darin Adler <darin@apple.com>
  4411. - added appropriate license headers to most files and updated copyright to reflect publication dates
  4412. * LICENSE: Added.
  4413. * <lots of files>: Added license header.
  4414. * WebKit.pbproj/project.pbxproj: Removed references to NP_objc.h.
  4415. * API-Issues.rtf: Removed.
  4416. * Misc.subproj/WebException.h: Removed.
  4417. * Misc.subproj/WebException.m: Removed.
  4418. * Plugins.subproj/NP_objc.h: Removed.
  4419. 2005-06-01 Darin Adler <darin@apple.com>
  4420. Reviewed by John Sullivan.
  4421. - WebKit part of fix for <rdar://problem/3166090> add IE JavaScript extension window.showModalDialog
  4422. * WebCoreSupport.subproj/WebBridge.m:
  4423. (-[WebBridge createModalDialogWithURL:]): Added. Calls the UI delegate, falling back to the generic
  4424. "create WebView" method.
  4425. (-[WebBridge canRunModal]): Added. Checks the UI delegate to see if it implements runModal.
  4426. (-[WebBridge canRunModalNow]): Added. Checks the "inConnectionCallback" field so we can prevent
  4427. deadlock since we can't do any I/O while inside a connection callback until this aspect of NSURLConnection
  4428. is changed.
  4429. (-[WebBridge runModal]): Added. Sets "defersCallbacks" on all other web views in the group, then
  4430. calls runModal on the UI delegate.
  4431. * WebView.subproj/WebBaseResourceHandleDelegate.h: Added inConnectionCallback class method.
  4432. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  4433. (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): Bump count and then
  4434. decrement count so we can tell if we are in a callback.
  4435. (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): Ditto.
  4436. (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): Ditto.
  4437. (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): Ditto.
  4438. (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): Ditto.
  4439. (-[WebBaseResourceHandleDelegate connection:willStopBufferingData:]): Ditto.
  4440. (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): Ditto.
  4441. (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): Ditto.
  4442. (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): Ditto.
  4443. (+[WebBaseResourceHandleDelegate inConnectionCallback]): Added. Return YES if count is not 0.
  4444. * WebView.subproj/WebMainResourceClient.m:
  4445. (-[WebMainResourceClient receivedError:]): Changed to use the method without the connection: parameter
  4446. in the base class, since we no longer are overriding the connection: version.
  4447. (-[WebMainResourceClient willSendRequest:redirectResponse:]): Change to override the version without
  4448. the connection prefix/parameter; now only the base class overrides the actual connection delegate methods.
  4449. (-[WebMainResourceClient continueAfterContentPolicy:response:]): Ditto.
  4450. (-[WebMainResourceClient didReceiveResponse:]): Ditto.
  4451. (-[WebMainResourceClient didReceiveData:lengthReceived:]): Ditto.
  4452. (-[WebMainResourceClient didFinishLoading]): Ditto.
  4453. (-[WebMainResourceClient didFailWithError:]): Ditto.
  4454. (-[WebMainResourceClient loadWithRequestNow:]): Call the method without the connection parameter.
  4455. * WebView.subproj/WebUIDelegatePrivate.h: Added new SPI here that WebBrowser implements.
  4456. 2005-05-26 Darin Adler <darin@apple.com>
  4457. Reviewed by John.
  4458. - fix build failure from when I removed WebCoreUnicode
  4459. * WebCoreSupport.subproj/WebTextRenderer.m: Removed import of WebUnicode.h that I missed.
  4460. (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]): Switch from our own macros
  4461. to the ICU macros for surrogate pairs.
  4462. (widthForNextCharacter): Ditto.
  4463. 2005-05-26 David Harrison <harrison@apple.com>
  4464. <rdar://problem/4120518> Mail: control-T in an empty message crashes mail
  4465. * WebCoreSupport.subproj/WebBridge.m:
  4466. (-[WebBridge issueTransposeCommand]):
  4467. New, to support transpose in JS.
  4468. 2005-05-26 Darin Adler <darin@apple.com>
  4469. Reviewed by Richard and Dave Harrison.
  4470. - eliminate WebCoreUnicode and use ICU directly instead
  4471. * Misc.subproj/WebKitNSStringExtras.m: (canUseFastRenderer): Use u_charDirection directly.
  4472. * WebCoreSupport.subproj/WebTextRenderer.m: Removed import of <WebCore/WebCoreUnicode.h>.
  4473. * WebView.subproj/WebHTMLView.m: (+[WebHTMLView initialize]): Removed call to WebKitInitializeUnicode.
  4474. * Misc.subproj/WebUnicode.h: Removed.
  4475. * Misc.subproj/WebUnicode.m: Removed.
  4476. * Misc.subproj/WebUnicodeTables.m: Removed.
  4477. * WebKit.pbproj/project.pbxproj: Removed files.
  4478. 2005-05-24 Richard Williamson <rjw@apple.com>
  4479. Fixed <rdar://problem/4097289> -[WebView elementAtPoint:] failing when WebView is nested and offset
  4480. Code to determine the correct frame under the window point was
  4481. converting the point incorrectly.
  4482. Reviewed by Chris.
  4483. * WebView.subproj/WebView.m:
  4484. (-[WebView _frameViewAtWindowPoint:]):
  4485. 2005-05-23 John Sullivan <sullivan@apple.com>
  4486. Reviewed by Kevin.
  4487. - WebKit part of <rdar://problem/4125783> WebKit needs a way to control whether textareas are resizable
  4488. * WebView.subproj/WebPreferencesPrivate.h:
  4489. added private-for-now getter and setter for new preference
  4490. * WebView.subproj/WebPreferenceKeysPrivate.h:
  4491. added private preference key controlling whether textareas are resizable
  4492. * WebView.subproj/WebPreferences.m:
  4493. (+[WebPreferences initialize]):
  4494. initial value of new preference is NO, so other clients' behavior doesn't change
  4495. (-[WebPreferences textAreasAreResizable]):
  4496. new getter
  4497. (-[WebPreferences setTextAreasAreResizable:]):
  4498. new setter
  4499. * WebView.subproj/WebView.m:
  4500. (-[WebView _updateWebCoreSettingsFromPreferences:]):
  4501. update this new setting in WebCore
  4502. * English.lproj/StringsNotToBeLocalized.txt:
  4503. updated for these changes
  4504. 2005-05-23 Chris Blumenberg <cblu@apple.com>
  4505. Changed type for identifier parameter in WebResourceLoadDelegate-related calls to id from NSString.
  4506. Reviewed by kevin.
  4507. * WebCoreSupport.subproj/WebBridge.m:
  4508. (-[WebBridge objectLoadedFromCacheWithURL:response:data:]):
  4509. (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
  4510. * WebView.subproj/WebFrame.m:
  4511. (-[WebFrame _opened]):
  4512. (-[WebFrame _requestFromDelegateForRequest:identifier:error:]):
  4513. (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
  4514. (-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]):
  4515. * WebView.subproj/WebFrameInternal.h:
  4516. 2005-05-20 Chris Blumenberg <cblu@apple.com>
  4517. Fixed: <rdar://problem/4098786> sync. XMLHttpRequest works w/o AllowNetworkAccess key because load delegate is not consulted
  4518. Synchronous loads did not cause the willSendRequest method on the resource load delegate to be called. This is the method that Dashboard uses to enforce AllowNetworkAccess and this must be called to avoid exploits.
  4519. Reviewed by sullivan.
  4520. * WebCoreSupport.subproj/WebBridge.m:
  4521. (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then
  4522. [WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:] so synthetic resource load delegate
  4523. methods are called and the data is saved as a WebResource for resources in the WebCore cache.
  4524. (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:],
  4525. respect its result, do the load and then call [WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]
  4526. for synchronous loads
  4527. * WebView.subproj/WebFrame.m:
  4528. (-[WebFrame _opened]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then
  4529. [WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:] so synthetic resource load delegate methods are called
  4530. for subresrources in the page cache
  4531. (-[WebFrame _requestFromDelegateForRequest:identifier:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
  4532. This method calls identifierForInitialRequest and willSendRequest.
  4533. (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
  4534. This method calls the remaining resource load delegate messages.
  4535. (-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]): new, saves the resource and calls
  4536. [WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]
  4537. * WebView.subproj/WebFrameInternal.h:
  4538. 2005-05-17 Chris Blumenberg <cblu@apple.com>
  4539. Fixed: <rdar://problem/4119282> clicking a link in an RTF file opens the link with NSWorkspace without the usual security checks or WebView delegate control
  4540. Reviewed by mjs.
  4541. * WebCoreSupport.subproj/WebBridge.m:
  4542. (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): pass the passed referrer to canLoadURL::: not [self referrer]
  4543. (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): ditto
  4544. * WebView.subproj/WebTextView.m:
  4545. (-[WebTextView clickedOnLink:atIndex:]): call the loadURL bridge method so that security checks are made, command/option clicks work, policy delegate is consulted etc.
  4546. 2005-05-17 Chris Blumenberg <cblu@apple.com>
  4547. Fixed: <rdar://problem/4120255> web archives on remote servers can be viewed directly (with major security issues); should download instead
  4548. Reviewed by mjs.
  4549. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  4550. * WebView.subproj/WebMainResourceClient.m:
  4551. (-[WebMainResourceClient continueAfterContentPolicy:response:]): if the WebKit client has chosen to "use" a remote web archive, stop the load with an error
  4552. 2005-05-16 Darin Adler <darin@apple.com>
  4553. - attempt to get things building under "Saffron" development tools
  4554. * WebKit.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT.
  4555. 2005-05-13 John Sullivan <sullivan@apple.com>
  4556. Reviewed by Kevin.
  4557. - fixed <rdar://problem/4093306> Safari crashes if Esc key is held down during series
  4558. of authentication sheets
  4559. * Panels.subproj/WebAuthenticationPanel.m:
  4560. (-[WebAuthenticationPanel cancel:]):
  4561. retain and autorelease self. This is a workaround for an AppKit key-handling issue, which I wrote up as:
  4562. <rdar://problem/4118422> Key-down events can be sent to a closed window if a key is kept pressed down
  4563. 2005-05-12 John Sullivan <sullivan@apple.com>
  4564. Reviewed by Kevin.
  4565. - rolled in changes from experimental-ui-branch to support resizable textareas
  4566. and find-as-you-type and confirming unsubmitted form changes. The files/functions
  4567. modified are listed just below. After that are the ChangeLog comments from the branch.
  4568. * WebCoreSupport.subproj/WebBridge.m:
  4569. (-[WebBridge textDidChange:]):
  4570. * WebView.subproj/WebFormDelegate.h:
  4571. * WebView.subproj/WebFormDelegate.m:
  4572. (-[WebFormDelegate textDidChange:inFrame:]):
  4573. * WebView.subproj/WebHTMLView.m:
  4574. (-[WebHTMLView maintainsInactiveSelection]):
  4575. (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
  4576. (-[WebHTMLView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
  4577. * WebView.subproj/WebView.m:
  4578. (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
  4579. (-[WebView searchFor:direction:caseSensitive:wrap:]):
  4580. (-[WebView makeTextStandardSize:]):
  4581. (-[WebView maintainsInactiveSelection]):
  4582. * WebView.subproj/WebViewPrivate.h:
  4583. 2005-04-18 John Sullivan <sullivan@apple.com>
  4584. WebKit support for notifying a form delegate when a
  4585. textarea's contents have changed (as opposed to a
  4586. textfield, which was already handled).
  4587. Reviewed by Maciej.
  4588. * WebView.subproj/WebFormDelegate.h:
  4589. * WebView.subproj/WebFormDelegate.m:
  4590. (-[WebFormDelegate textDidChange:inFrame:]):
  4591. new form delegate method
  4592. * WebCoreSupport.subproj/WebBridge.m:
  4593. (-[WebBridge textDidChange:]):
  4594. new method, calls through to form delegate
  4595. 2005-04-11 John Sullivan <sullivan@apple.com>
  4596. Fixed inability to wrap around in Find in Page
  4597. * WebView.subproj/WebView.m:
  4598. (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
  4599. changed wrapFlag from NO to YES on two lines (copy/paste error)
  4600. 2005-04-07 John Sullivan <sullivan@apple.com>
  4601. WebKit support for find-as-you-type. Needed an additional parameter on
  4602. a method from WebDocumentSearching protocol. Since that's a public protocol,
  4603. I couldn't just add the parameter. For now I hacked it with an undeclared
  4604. internal method that's discovered via respondsToSelector. Probably the right
  4605. long-term approach is to deprecate the WebDocumentSearching protocol and introduce
  4606. a replacement that has a more flexible set of parameters for possible future
  4607. expansion.
  4608. Reviewed by Dave Hyatt.
  4609. * WebView.subproj/WebHTMLView.m:
  4610. (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
  4611. now calls new one-more-parameter version passing NO for new parameter to match old behavior
  4612. (-[WebHTMLView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
  4613. new method, adds findInSelection parameter and passes it through to bridge
  4614. * WebView.subproj/WebView.m:
  4615. (-[WebView searchFor:direction:caseSensitive:wrap:]):
  4616. now calls new one-more-parameter version passing NO for new parameter to match old behavior
  4617. (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
  4618. new method, adds findInSelection parameter and passes it through
  4619. 2005-04-07 John Sullivan <sullivan@apple.com>
  4620. WebKit support to allow clients to control whether the selection is still
  4621. drawn when the first responder is elsewhere. Formerly this was hardwired
  4622. to be true only when -[WebView isEditable] was true.
  4623. Reviewed by Darin.
  4624. * WebView.subproj/WebHTMLView.m:
  4625. (-[WebHTMLView maintainsInactiveSelection]):
  4626. check [WebView maintainsInactiveSelection] rather than just [WebView isEditable]
  4627. * WebView.subproj/WebViewPrivate.h:
  4628. * WebView.subproj/WebView.m:
  4629. (-[WebView maintainsInactiveSelection]):
  4630. new method for clients to override, returns -[self isEditable]
  4631. 2005-05-10 John Sullivan <sullivan@apple.com>
  4632. Reviewed by Kevin.
  4633. - WebKit support for <rdar://problem/3795701> Menu item/keyboard shortcut to
  4634. restore text zoom to normal
  4635. * WebView.subproj/WebView.m:
  4636. (-[WebView validateUserInterfaceItem:]):
  4637. validate makeTextStandardSize by calling canMakeTextStandardSize
  4638. (-[WebView canMakeTextStandardSize]):
  4639. new method, returns YES unless text size multiplier is currently 1
  4640. (-[WebView makeTextStandardSize:]):
  4641. new method, sets text size multiplier to 1
  4642. * WebView.subproj/WebViewPrivate.h:
  4643. add makeTextStandardSize: and canMakeTextStandardSize to pending public category
  4644. 2005-05-10 John Sullivan <sullivan@apple.com>
  4645. Reviewed by Chris.
  4646. - fixed <rdar://problem/4067981> Mail places RTF flavor before RTFD flavor when dragging
  4647. mixed image/text content.
  4648. * WebView.subproj/WebHTMLView.m:
  4649. (+[WebHTMLView _selectionPasteboardTypes]):
  4650. put RTFD type before RTF type in array of types to declare
  4651. 2005-05-09 Chris Blumenberg <cblu@apple.com>
  4652. Turned assertion into error message to prevent crash when encountering this bug:
  4653. <rdar://problem/4067625> connection:willCacheResponse: is called inside of [NSURLConnection initWithRequest:delegate:]
  4654. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  4655. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  4656. (-[WebBaseResourceHandleDelegate loadWithRequest:]): set flag to track when we're initializing the connection
  4657. (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): log error
  4658. 2005-05-09 Darin Adler <darin@apple.com>
  4659. * Makefile.am: Don't set up PBXIntermediatesDirectory explicitly;
  4660. Not needed to make builds work, spews undesirable error messages too.
  4661. 2005-05-06 Darin Adler <darin@apple.com>
  4662. Reviewed by Maciej.
  4663. - make building multiple trees with make work better
  4664. * Makefile.am: Set up Xcode build directory before invoking xcodebuild.
  4665. 2005-05-04 Darin Adler <darin@apple.com>
  4666. Reviewed by Dave Hyatt.
  4667. - fixed layout tests
  4668. * WebKit.pbproj/project.pbxproj: Set deployment target to 10.3 in the build styles.
  4669. When built without a build style (by Apple B&I) we want to get the target from the
  4670. environment. But when built with a build style (by Safari engineers and others), we want
  4671. to use 10.3. Because our deployment target was not set, we ran into this bug:
  4672. <rdar://problem/4108717> CTFontGetGlyphWithName doesn't work with some strings
  4673. * Makefile.am: Took out extra parameters that make command-line building different from
  4674. Xcode building. Now that this is fixed, you should not get a full rebuild if you switch
  4675. from command line to Xcode or back.
  4676. 2005-05-04 Chris Blumenberg <cblu@apple.com>
  4677. Fixed:
  4678. <rdar://problem/4078417> REGRESSION (125-412): MLB gameday page doesn't update (Flash)
  4679. <rdar://problem/4072280> XMLHttpRequest calls onReadyStateChange callback with bogus status value
  4680. Reviewed by john.
  4681. Our WebKit-level caching of subresources "dumbed-down" information held in NSURLResponse. This caused some loads to lack response headers and thus disabling cache directives. Status codes were also not retained and this caused XMLHttpRequest to fail frequently. The fix is to have WebResource retain the NSURLResponse and to use the NSURLResponse when we decide to load from WebResources.
  4682. * WebCoreSupport.subproj/WebBridge.m:
  4683. (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): call new [WebResource _initWithData:URL:response:]
  4684. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  4685. (-[WebBaseResourceHandleDelegate _canUseResourceWithResponse:]): new, checks response cache directives
  4686. (-[WebBaseResourceHandleDelegate loadWithRequest:]): call _canUseResourceWithResponse:
  4687. (-[WebBaseResourceHandleDelegate saveResource]): call new [WebResource _initWithData:URL:response:]
  4688. * WebView.subproj/WebResource.m:
  4689. (-[WebResourcePrivate dealloc]):
  4690. (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call renamed _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:
  4691. (-[WebResource initWithCoder:]): decode the NSURLReponse
  4692. (-[WebResource encodeWithCoder:]): encode the NSURLReponse
  4693. (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]): take the NSURLReponse
  4694. (-[WebResource _initWithData:URL:response:]): new
  4695. (-[WebResource _initWithPropertyList:]): decode the NSURLReponse
  4696. (-[WebResource _propertyListRepresentation]): encode the NSURLReponse
  4697. (-[WebResource _response]): return ivar if we have one
  4698. * WebView.subproj/WebResourcePrivate.h:
  4699. 2005-05-03 David Hyatt <hyatt@apple.com>
  4700. Fix object element support so that fallback content works. With this change Safari passes the Acid2 test.
  4701. Reviewed by Maciej
  4702. * WebCoreSupport.subproj/WebBridge.m:
  4703. (-[WebBridge determineObjectFromMIMEType:URL:]):
  4704. * WebView.subproj/WebDataSource.m:
  4705. (-[WebDataSource _receivedMainResourceError:complete:]):
  4706. * WebView.subproj/WebMainResourceClient.m:
  4707. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  4708. 2005-05-03 Darin Adler <darin@apple.com>
  4709. * WebView.subproj/WebUIDelegate.h: Fixed incorrect comment.
  4710. 2005-05-01 Darin Adler <darin@apple.com>
  4711. - move to Xcode native targets and stop checking in generated files
  4712. * WebKit.pbproj/project.pbxproj: Updated to use native targets and generate all the generated
  4713. files, so we don't have to check them in any more.
  4714. * Info.plist: Added. Native targets use a separate file for this.
  4715. * Plugins.subproj/npapi.m: Fixed import statement to get npapi.h from <WebKit/> rather than current directory.
  4716. * Makefile.am: Removed timestamp cleaning rules since we don't use it any more.
  4717. * .cvsignore: Removed various timestamp files.
  4718. * DOM.subproj/DOM-compat.h: Removed.
  4719. * DOM.subproj/DOM.h: Removed.
  4720. * DOM.subproj/DOMCSS.h: Removed.
  4721. * DOM.subproj/DOMCore.h: Removed.
  4722. * DOM.subproj/DOMEvents.h: Removed.
  4723. * DOM.subproj/DOMExtensions.h: Removed.
  4724. * DOM.subproj/DOMHTML.h: Removed.
  4725. * DOM.subproj/DOMPrivate.h: Removed.
  4726. * DOM.subproj/DOMRange.h: Removed.
  4727. * DOM.subproj/DOMStylesheets.h: Removed.
  4728. * DOM.subproj/DOMTraversal.h: Removed.
  4729. * DOM.subproj/DOMViews.h: Removed.
  4730. * Plugins.subproj/WebScriptObject.h: Removed.
  4731. * Plugins.subproj/npapi.h: Removed.
  4732. * Plugins.subproj/npruntime.h: Removed.
  4733. * copy-webcore-files-to-webkit: Removed.
  4734. * embed-frameworks.sh: Removed.
  4735. * force-clean-timestamp: Removed.
  4736. 2005-04-28 Darin Adler <darin@apple.com>
  4737. Reviewed by Maciej.
  4738. - fixed problems preventing us from compiling with gcc 4.0
  4739. * WebKit.pbproj/project.pbxproj: Removed -fobjc-exceptions because I can't figure out an easy
  4740. way to pass it only when compiling Objective-C/C++. Removed -Wmissing-prototypes from
  4741. WARNING_CPLUSPLUSFLAGS since it's now a C-only warning.
  4742. * History.subproj/WebHistoryItem.m: (-[WebHistoryItem pageCache]): Changed return type
  4743. to match the declaration.
  4744. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
  4745. Fixed a BOOL that should have been a Boolean.
  4746. * WebCoreSupport.subproj/WebTextRenderer.m: Removed redundant copy of ROUND_TO_INT, also in
  4747. a WebCore header.
  4748. (-[WebTextRenderer _computeWidthForSpace]): Had to add cast because of difference in type of
  4749. ROUND_TO_INT vs. CEIL_TO_INT.
  4750. (pathFromFont): Added a cast to convert UInt8 * to char *.
  4751. * WebView.subproj/WebFrameView.m:
  4752. (-[WebFrameView _setDocumentView:]): Fixed parameter type to match the declaration.
  4753. (-[WebFrameView documentView]): Fixed return type to match the declaration.
  4754. * WebView.subproj/WebHTMLView.m:
  4755. (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
  4756. Initialized a variable to quiet an incorrect gcc 4.0 uninitialized variable warning.
  4757. (-[WebHTMLView deleteToMark:]): Switched from @try style to NS_DURING style of exception handler
  4758. because we can't pass -fobjc-exceptions just to Objective-C at the moment (see above).
  4759. (-[WebHTMLView selectToMark:]): Ditto.
  4760. (-[WebHTMLView swapWithMark:]): Ditto.
  4761. 2005-04-27 John Sullivan <sullivan@apple.com>
  4762. Reviewed by Dave Harrison.
  4763. - fixed <rdar://problem/3547489> pop-up window blocking preference and
  4764. menu item can easily get out of sync.
  4765. * WebView.subproj/WebPreferences.m:
  4766. (-[WebPreferences _setStringValue:forKey:]):
  4767. save local value before setting value in NSUserDefaults, so clients reacting to NSUserDefaults
  4768. change notification but calling back on WebPreferences API will see the updated value.
  4769. (-[WebPreferences _setIntegerValue:forKey:]):
  4770. ditto
  4771. (-[WebPreferences _setBoolValue:forKey:]):
  4772. ditto
  4773. 2005-04-26 Richard Williamson <rjw@apple.com>
  4774. Fixed <rdar://problem/4098713> Scripting API is incompatible with Mozilla
  4775. Reviewed by Chris.
  4776. * Plugins.subproj/npfunctions.h:
  4777. * Plugins.subproj/npruntime.h:
  4778. 2005-04-26 Darin Adler <darin@apple.com>
  4779. Reviewed by John.
  4780. - fixed <rdar://problem/3655817> please add support for mouse wheel events and the onmousewheel handler
  4781. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView scrollWheel:]): Call sendScrollWheelEvent: method
  4782. instead of the old scrollOverflowWithScrollWheelEvent: (just a name change).
  4783. 2005-04-18 Darin Adler <darin@apple.com>
  4784. Reviewed by Hyatt.
  4785. - fixed <rdar://problem/4092614> REGRESSION (Tiger): progressively loaded background images "scroll around" instead of just appearing
  4786. * WebCoreSupport.subproj/WebImageData.m:
  4787. (-[WebImageData _imageSourceOptions]): Moved a global inside this function, since it's only used here.
  4788. (-[WebImageData _cacheImages:allImages:]): Fixed a sizeof that was getting the size of the wrong thing.
  4789. (-[WebImageData _isSizeAvailable]): Used calloc in a more consistent way.
  4790. (drawPattern): Removed an unneeded cast.
  4791. (-[WebImageData tileInRect:fromPoint:context:]): Here's the actual bug fix. Don't use the image size
  4792. when deciding whether the image needs to be tiled as a pattern nor when creating the pattern: in both
  4793. cases, use the tile size. The old way was wrong, and the new way works perfectly. Also removed uneeded
  4794. error message when the image is not yet loaded enough to create a CGImageRef for it -- it's fine to
  4795. draw nothing in that case.
  4796. 2005-04-14 John Sullivan <sullivan@apple.com>
  4797. Reviewed by Chris.
  4798. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  4799. (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]):
  4800. Beefed up assertion that's been bugging me and Chris to include
  4801. the two troublemaking values.
  4802. 2005-04-05 David Hyatt <hyatt@apple.com>
  4803. Fix for 4077106, wheel scroll amount smaller in Tiger. All along wheeling should have been 4x the default
  4804. line height of 10 (just as arrow keys did). Scroll arrows should have done this too for scroll views (they did
  4805. already for overflow sections). This patch puts the override into the scrollview itself, and removes the
  4806. multipliers in the private frame methods.
  4807. Reviewed by darin
  4808. * WebView.subproj/WebFrameView.m:
  4809. (-[WebFrameView _verticalKeyboardScrollDistance]):
  4810. (-[WebFrameView initWithFrame:]):
  4811. (-[WebFrameView _horizontalKeyboardScrollDistance]):
  4812. === WebKit-312.1 ===
  4813. 2005-03-31 Chris Blumenberg <cblu@apple.com>
  4814. Fixed: <rdar://problem/4070729> REGRESSION (125-311, Panther-only?): Safari crashes while reloading "My eBay" page
  4815. Reviewed by rjw.
  4816. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  4817. (-[WebBaseResourceHandleDelegate resourceData]): retain and autorelease resourceData since releaseResources (which releases resourceData) may be called before the caller of this method has an opporuntity to retain the returned data
  4818. === Safari-412 ===
  4819. === Safari-411 ===
  4820. 2005-03-23 Richard Williamson <rjw@apple.com>
  4821. Use Patti Yeh's hack to determine the appropriate rectangle
  4822. to place the "associated word" window.
  4823. If there is no marked text firstRectForCharacterRange: will
  4824. use the selected range to determine the returned rectangle,
  4825. ignoring the input range. This is the fix from
  4826. 4029491 that I previously backed out.
  4827. Reviewed by Vicki.
  4828. * WebView.subproj/WebHTMLView.m:
  4829. (-[WebHTMLView firstRectForCharacterRange:]):
  4830. 2005-03-23 Richard Williamson <rjw@apple.com>
  4831. Fixed <rdar://problem/4062490> REGRESSION (WebKit-408): no subresources reported in Activity window after going back at hrweb.apple.com
  4832. Stop collecting subresource responses after the document
  4833. had loaded, not after it has been opened.
  4834. Reviewed by Chris.
  4835. * WebView.subproj/WebFrame.m:
  4836. (-[WebFrame _setState:]):
  4837. (-[WebFrame _opened]):
  4838. 2005-03-21 Maciej Stachowiak <mjs@apple.com>
  4839. Reviewed by Darin.
  4840. <rdar://problem/4051145> The QuickTime Cocoa plug-in needs an SPI that it can call to check for URL policy
  4841. * Plugins.subproj/WebPluginContainerCheck.h: Added.
  4842. * Plugins.subproj/WebPluginContainerCheck.m: Added this new helper class to encapsulate
  4843. an async plugin navigation check.
  4844. (+[WebPluginContainerCheck checkWithRequest:target:resultObject:selector:controller:]): Convenience allocator that gives autoreleased value.
  4845. (-[WebPluginContainerCheck initWithRequest:target:resultObject:selector:controller:]): Initializer.
  4846. (-[WebPluginContainerCheck finalize]): Just assert that we're done, it would
  4847. be bad to deallocate this object while request is still outstanding.
  4848. (-[WebPluginContainerCheck dealloc]): Ditto.
  4849. (-[WebPluginContainerCheck _continueWithPolicy:]): Method to continue after async
  4850. policy check.
  4851. (-[WebPluginContainerCheck _isDisallowedFileLoad]): Do "file: URL from remote content"
  4852. check.
  4853. (-[WebPluginContainerCheck _actionInformationWithURL:]): Helper to make action
  4854. dictionary.
  4855. (-[WebPluginContainerCheck _askPolicyDelegate]): Call policy delegate to let
  4856. the app decide if this load is allowed.
  4857. (-[WebPluginContainerCheck start]): Start the check.
  4858. (-[WebPluginContainerCheck cancel]): Cancel a check in progress.
  4859. * Plugins.subproj/WebPluginController.h:
  4860. * Plugins.subproj/WebPluginController.m:
  4861. (-[WebPluginController initWithDocumentView:]): Initialize new _checksInProgress field.
  4862. (-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Implement
  4863. this new SPI method.
  4864. (-[WebPluginController _cancelOutstandingChecks]): New helper to make sure to cancel
  4865. all outstanding requests when destroying all plugins.
  4866. (-[WebPluginController destroyAllPlugins]): Call above helper.
  4867. (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]): Implement this new plug-in SPI method.
  4868. (-[WebPluginController bridge]): New helper method.
  4869. (-[WebPluginController webView]): New helper method.
  4870. * WebView.subproj/WebPolicyDelegatePrivate.h: Add new navigation
  4871. type WebNavigationTypePlugInRequest.
  4872. * WebKit.pbproj/project.pbxproj: Add new files.
  4873. * WebView.subproj/WebDefaultPolicyDelegate.m:
  4874. (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): Don't open externally on a plug-in request.
  4875. 2005-03-23 Richard Williamson <rjw@apple.com>
  4876. Fixed <rdar://problem/4053515> REGRESSION (Mail): Kotoeri input method reconversion does not work in WebViews
  4877. We now use actual document NSRanges to represent both marked text
  4878. ranges and selection ranges.
  4879. Reviewed by Ken Kocienda.
  4880. * WebView.subproj/WebHTMLView.m:
  4881. (-[WebHTMLView validAttributesForMarkedText]):
  4882. (-[WebHTMLView firstRectForCharacterRange:]):
  4883. (-[WebHTMLView selectedRange]):
  4884. (-[WebHTMLView markedRange]):
  4885. (-[WebHTMLView _selectMarkedText]):
  4886. (-[WebHTMLView setMarkedText:selectedRange:]):
  4887. === Safari-410 ===
  4888. 2005-03-22 Darin Adler <darin@apple.com>
  4889. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  4890. === Safari-409 ===
  4891. 2005-03-20 Maciej Stachowiak <mjs@apple.com>
  4892. Reviewed by Darin.
  4893. <rdar://problem/4060020> Add stub version of security SPI for QuickTime plug-in so QuickTime team has something to compile and link against
  4894. * Plugins.subproj/WebPluginContainerPrivate.h: Added.
  4895. * Plugins.subproj/WebPluginController.m:
  4896. (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]):
  4897. (-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
  4898. * WebKit.pbproj/project.pbxproj:
  4899. 2005-03-19 David Harrison <harrison@apple.com>
  4900. Reviewed by Maciej.
  4901. <rdar://problem/4059479> Misspelling underline does underline the whole word, could go farther to the right
  4902. * WebCoreSupport.subproj/WebTextRenderer.m:
  4903. (-[WebTextRenderer misspellingLinePatternGapWidth]):
  4904. (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
  4905. Consider that the last pixel in the underline dot pattern is transparent.
  4906. 2005-03-19 Darin Adler <darin@apple.com>
  4907. Reviewed by Maciej (a while back).
  4908. - fixed <rdar://problem/4059323> local-file security check is allowing plug-in streams, but must not
  4909. * Plugins.subproj/WebNetscapePluginStream.m:
  4910. (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
  4911. Roll out change I made on 3-13. That change is needed for subresource, but not for plug-in streams.
  4912. For plug-in streams it's too risky, and leaves a serious security hole open.
  4913. 2005-03-19 Darin Adler <darin@apple.com>
  4914. Reviewed by Ken and John.
  4915. - fixed <rdar://problem/4059123> REGRESSION (402-403): deleteWordForward: and deleteWordBackward: start deleting single characters after the first delete
  4916. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
  4917. Fixed backwards logic in here and added missing check. Set action to one of the two typing actions only
  4918. if isTypingAction is YES.
  4919. 2005-03-19 David Harrison <harrison@apple.com>
  4920. Reviewed by me (written by Patti Yeh).
  4921. <rdar://problem/4029491> <TCIM> CangJie: the candidate window appears at the top left hand corner during typing in Mail and iChat
  4922. * WebView.subproj/WebHTMLView.m:
  4923. (-[WebHTMLView firstRectForCharacterRange:]):
  4924. Use selected range if there is no marked range.
  4925. === Safari-408 ===
  4926. 2005-03-18 David Harrison <harrison@apple.com>
  4927. Reviewed by Darin.
  4928. <rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch
  4929. * WebView.subproj/WebFrameView.m:
  4930. (-[WebFrameView webCoreBridge]):
  4931. New to conform to WebCoreBridgeHolder protocol.
  4932. 2005-03-18 Richard Williamson <rjw@apple.com>
  4933. Fixed <rdar://problem/4057004> Data from XMLHTTPRequest is never dealloced
  4934. WebDataSource keeps an array of all the NSURLResponses associated
  4935. with the load for a page. This is used to playback delegate messages
  4936. when loading from the page cache. However, after the document
  4937. has completed it's initial load, we continue to keep track of responses.
  4938. So, this has the consequence of keeping all the responses for a page
  4939. around for the life of the page. NSURLResponses are now very
  4940. heavy. They indirectly reference the resource data (via the
  4941. download assessment dictionary). This fix will keep
  4942. references to responses around for those resources loaded during initial
  4943. page load, but not after that point.
  4944. Reviewed by Ken.
  4945. * WebView.subproj/WebDataSource.m:
  4946. (-[WebDataSource _addResponse:]):
  4947. (-[WebDataSource _stopRecordingResponses]):
  4948. * WebView.subproj/WebDataSourcePrivate.h:
  4949. * WebView.subproj/WebFrame.m:
  4950. (-[WebFrame _opened]):
  4951. 2005-03-18 Ken Kocienda <kocienda@apple.com>
  4952. Reviewed by Darin
  4953. Fix for this bug:
  4954. <rdar://problem/4053729> Copy/paste of page with frames into Blot or Mail does nothing and loses insertion point
  4955. * WebView.subproj/WebHTMLView.m:
  4956. (-[WebHTMLView _selectedArchive]): Wrap frameset documents in an iframe, so they can be pasted into
  4957. existing documents which will have a body or frameset of their own.
  4958. === Safari-407 ===
  4959. 2005-03-17 Richard Williamson <rjw@apple.com>
  4960. Fixed <rdar://problem/4055562> REGRESSION (Tiger): Safari doesn't draw progressively-loaded JPEGs (www.theregister.co.uk, www.titantalk.com)
  4961. Anothe side effect of lazy loading of image meta data. We now
  4962. don't cache image size until size meta data is actually available.
  4963. Reviewed by Darin.
  4964. * WebCoreSupport.subproj/WebImageData.m:
  4965. (-[WebImageData size]):
  4966. 2005-03-16 David Harrison <harrison@apple.com>
  4967. Reviewed by Maciej.
  4968. <rdar://problem/4048506> Deleting from beginning of editable div deletes other document elements
  4969. Also changed WebCore.
  4970. * WebView.subproj/WebHTMLView.m:
  4971. (-[WebHTMLView _shouldDeleteRange:]):
  4972. Added call to new bridge method canDeleteRange.
  4973. 2005-03-16 Ken Kocienda <kocienda@apple.com>
  4974. Reviewed by Darin
  4975. Fix for this bug:
  4976. <rdar://problem/4042935> undo doesn't work properly during inline input
  4977. * WebView.subproj/WebHTMLView.m:
  4978. (-[WebHTMLView setMarkedText:selectedRange:]): Call new -[WebCoreBridge replaceMarkedTextWithText:] instead of
  4979. -[WebCoreBridge replaceSelectionWithText:selectReplacement:smartReplace:]. The former call was just added in
  4980. order to provide a better mapping of international text input onto the typing command/undo design.
  4981. 2005-03-15 Richard Williamson <rjw@apple.com>
  4982. Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance
  4983. If client mutates request use new Foundation SPI to address remove applewebdata properties from request.
  4984. Reviewed by Ken Kocienda.
  4985. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  4986. (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
  4987. * WebView.subproj/WebDataProtocol.h:
  4988. * WebView.subproj/WebDataProtocol.m:
  4989. (+[NSURLRequest _webDataRequestPropertyKey]):
  4990. 2005-03-15 Ken Kocienda <kocienda@apple.com>
  4991. Reviewed by Vicki
  4992. Fox for this bug:
  4993. <rdar://problem/4052642> Each delete keystroke is in its own undo group; not included in undo group with other typing
  4994. Calling -[WebCore setSelectedDOMRange:range affinity:] had the result of "closing" any active set of typing
  4995. keystrokes grouped together in a single undo operation. My change on 27 Jan to route delete keystrokes
  4996. through _deleteRange:killRing:... made this feature regress. Previous to that change, the backwards delete
  4997. key went through separate code that is no longer in the tree that did not set the selection in the way
  4998. it is done now.
  4999. The solution is to add an extra argument to the set-selection call. The WebCoreBridge now offers this method:
  5000. -[WebCore setSelectedDOMRange:range affinity:closeTyping:]. Now, callers must indicate whether setting the
  5001. selection will act to close typing or not. The code changes below all add this new argument with the
  5002. appropriate value for closeTyping.
  5003. * WebView.subproj/WebHTMLView.m:
  5004. (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Passes NO for closeTyping when
  5005. deletionAction is deleteKeyAction or forwardDeleteKeyAction; YES when deleteSelectionAction.
  5006. (-[WebHTMLView _expandSelectionToGranularity:]): Passes YES for closeTyping.
  5007. (-[WebHTMLView selectToMark:]): Passes YES for closeTyping.
  5008. (-[WebHTMLView swapWithMark:]): Passes YES for closeTyping.
  5009. (-[WebHTMLView transpose:]): Passes YES for closeTyping.
  5010. (-[WebHTMLView _selectMarkedText]): Passes NO for closeTyping.
  5011. (-[WebHTMLView _selectRangeInMarkedText:]): Passes NO for closeTyping.
  5012. * WebView.subproj/WebView.m:
  5013. (-[WebView setSelectedDOMRange:affinity:]): Passes YES for closeTyping.
  5014. 2005-03-14 Richard Williamson <rjw@apple.com>
  5015. Fix <rdar://problem/4051389> 8A413: gifs animating too fast
  5016. Reviewed by Maciej.
  5017. Match Mozilla's policy for minimum frame duration, which is somewhat odd:
  5018. <= 0.01 sec use .1 sec, otherwise use specified duration.
  5019. * WebCoreSupport.subproj/WebImageData.m:
  5020. (-[WebImageData _frameDurationAt:]):
  5021. 2005-03-14 Darin Adler <darin@apple.com>
  5022. Reviewed by Harrison.
  5023. - fixed <rdar://problem/4049776> Seed: Mail: Disable spellcheck leaves red artifacts
  5024. * WebView.subproj/WebFrameInternal.h: Added _unmarkAllMisspellings.
  5025. * WebView.subproj/WebFrame.m: (-[WebFrame _unmarkAllMisspellings]): Added.
  5026. Calls unmarkAllMisspellings on the bridge and self and all subframes.
  5027. * WebView.subproj/WebView.m: (-[WebView setContinuousSpellCheckingEnabled:]):
  5028. Call _unmarkAllMisspellings on the main frame when turning continuous spell checking off.
  5029. 2005-03-14 Richard Williamson <rjw@apple.com>
  5030. Fixed <rdar://problem/4027928> Tiger_8A394:Acrobat crashes while tried to remove the subscription errors by clicking on "Would you like to remove the subscription" from Tracker details view pane
  5031. The Acrobat application triggers loads of new documents in it's policy delegate. This
  5032. ultimately causes the WebHTMLView to be released before their event handlers have
  5033. returned. To bullet proof against this case we retain/release self before passing
  5034. the event on for further handling.
  5035. Reviewed by Maciej.
  5036. * WebView.subproj/WebHTMLView.m:
  5037. (-[WebHTMLView _updateMouseoverWithEvent:]):
  5038. (-[WebHTMLView scrollWheel:]):
  5039. (-[WebHTMLView mouseDown:]):
  5040. (-[WebHTMLView mouseDragged:]):
  5041. (-[WebHTMLView mouseUp:]):
  5042. (-[WebHTMLView keyDown:]):
  5043. (-[WebHTMLView keyUp:]):
  5044. (-[WebHTMLView performKeyEquivalent:]):
  5045. 2005-03-14 Vicki Murley <vicki@apple.com>
  5046. - roll out the fix for 4040321, since it is still pending CCC review.
  5047. 2005-03-10 Richard Williamson <rjw@apple.com>
  5048. Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance
  5049. Reviewed by Darin.
  5050. If a delegate returns a mutated applewebdata: request in it's willSendRequest:
  5051. method, we don't load using the WebDataRequest. Instead we do a normal load.
  5052. Unfortunately, if the request they return is mutated *copy* of the applewebdata:
  5053. request it will hold the applewebdata: special properties. These properties
  5054. will be encoded into the cache. They should not be. So, to fix, we sanitize the
  5055. request, by removing the special properties from the request.
  5056. Note that we had to dig into the private guts of NSURLRequest because there is
  5057. no public mechanism to remove properties from a request, see 4046775.
  5058. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  5059. (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
  5060. * WebView.subproj/WebDataProtocol.h:
  5061. * WebView.subproj/WebDataProtocol.m:
  5062. (-[NSURLRequest _webDataRequestExternalRequest]):
  5063. (-[NSURLRequest _webDataRequestSanitize]):
  5064. === Safari-406 ===
  5065. 2005-03-13 Darin Adler <darin@apple.com>
  5066. Reviewed by Ken and Maciej.
  5067. - fixed <rdar://problem/4049040> REGRESSION (403-405): security check prevents user stylesheet from loading (Dictionary.app doesn't work at all!)
  5068. * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
  5069. Allow plug-in subresource streams to load with any URL, ignoring the "canLoadURL" method's restriction (only
  5070. file URLs can load other file URLs), which now applies only to main resources, like web pages in frames or
  5071. object tags and plug-in main resources.
  5072. * WebCoreSupport.subproj/WebBridge.m:
  5073. (-[WebBridge startLoadingResource:withURL:customHeaders:]): Allow subresources to load with any URL, as above.
  5074. This allows things like images, stylesheets, and JavaScript to be loaded without the "canLoadURL" method's
  5075. restriction.
  5076. (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto.
  5077. (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Ditto.
  5078. 2005-03-10 Richard Williamson <rjw@apple.com>
  5079. Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance
  5080. Reviewed by Darin.
  5081. If a delegate returns a mutated applewebdata: request in it's willSendRequest:
  5082. method, we don't load using the WebDataRequest. Instead we do a normal load.
  5083. Unfortunately, if the request they return is mutated *copy* of the applewebdata:
  5084. request it will hold the applewebdata: special properties. These properties
  5085. will be encoded into the cache. They should not be. So, to fix, we sanitize the
  5086. request, by removing the special properties from the request.
  5087. Note that we had to dig into the private guts of NSURLRequest because there is
  5088. no public mechanism to remove properties from a request, see 4046775.
  5089. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  5090. (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
  5091. * WebView.subproj/WebDataProtocol.h:
  5092. * WebView.subproj/WebDataProtocol.m:
  5093. (-[NSURLRequest _webDataRequestExternalRequest]):
  5094. (-[NSURLRequest _webDataRequestSanitize]):
  5095. === Safari-405 ===
  5096. 2005-03-10 Maciej Stachowiak <mjs@apple.com>
  5097. Reviewed by Vicki.
  5098. <rdar://problem/4046510> REGRESSION (TOT): All Flash and Shockwave plugin-based web content missing
  5099. * Plugins.subproj/WebNetscapePluginStream.m:
  5100. (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
  5101. 2005-03-10 John Sullivan <sullivan@apple.com>
  5102. Reviewed by Vicki.
  5103. - fixed <rdar://problem/4045843> Going back/forward to error page
  5104. hits assertion in -[WebDataSource(WebPrivate) _setData:]
  5105. * WebView.subproj/WebDataSource.m:
  5106. (-[WebDataSource _setData:]):
  5107. Removed bogus assertion
  5108. 2005-03-09 Deborah Goldsmith <goldsmit@apple.com>
  5109. Reviewed by Darin.
  5110. - fixed <rdar://problem/3997044> default encoding for non-Latin incorrect
  5111. * WebKit/WebView.subproj/WebPreferences.m: (+[WebPreferences _systemCFStringEncoding]):
  5112. Call __CFStringGetUserDefaultEncoding to get region, and TECGetWebTextEncodings to get
  5113. the first encoding to determine the default encoding.
  5114. 2005-03-09 Darin Adler <darin@apple.com>
  5115. Reviewed by Richard.
  5116. - fixed <rdar://problem/4034175> REGRESSION (Mail): Can't use any font with style Light/Condensed/Semibold/Extrabold, etc
  5117. * WebView.subproj/WebHTMLView.m:
  5118. (-[WebHTMLView _styleFromFontAttributes:]): Use a constant instead of hard-coded weight for clarity.
  5119. (-[WebHTMLView _originalFontA]): Ditto.
  5120. (-[WebHTMLView _originalFontB]): Ditto.
  5121. (-[WebHTMLView _addToStyle:fontA:fontB:]): Add code to detect the case where the family name is not good enough
  5122. to specify the font precisely. In that case, use the Postscript font name instead. Also change variable names
  5123. so it's easier to understand the method.
  5124. 2005-03-06 Maciej Stachowiak <mjs@apple.com>
  5125. Reviewed by Darin.
  5126. <rdar://problem/4005575> Arbitrary file disclosure vulnerability due to ability to load local html from remote content
  5127. * Plugins.subproj/WebBaseNetscapePluginView.m:
  5128. (-[WebBaseNetscapePluginView requestWithURLCString:]):
  5129. * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
  5130. (-[WebNetscapePluginEmbeddedView didStart]):
  5131. * Plugins.subproj/WebNetscapePluginStream.m:
  5132. (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
  5133. * WebCoreSupport.subproj/WebBridge.m:
  5134. (-[WebBridge createWindowWithURL:frameName:]):
  5135. (-[WebBridge startLoadingResource:withURL:customHeaders:]):
  5136. (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]):
  5137. (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
  5138. (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
  5139. (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
  5140. (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
  5141. (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
  5142. * WebView.subproj/WebFrame.m:
  5143. (-[WebFrame _loadURL:referrer:intoChild:]):
  5144. * WebView.subproj/WebFramePrivate.h:
  5145. 2005-03-09 Richard Williamson <rjw@apple.com>
  5146. Fixed <rdar://problem/4032938> Safari: text layout for MS P Gothic font is corrupted
  5147. The AppKit and ATS reports that MS P Gothic is fixed pitch. It is
  5148. not! This is another case of "fixed pitch" being wrong. I've
  5149. coalesced all the special cases into our isFontFixedPitch:, and
  5150. used a dictionary to improve speed. No performance regression.
  5151. Reviewed by Maciej.
  5152. * WebCoreSupport.subproj/WebTextRenderer.m:
  5153. (-[WebTextRenderer _computeWidthForSpace]):
  5154. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  5155. (-[WebTextRendererFactory clearCaches]):
  5156. (-[WebTextRendererFactory isFontFixedPitch:]):
  5157. 2005-03-09 Darin Adler <darin@apple.com>
  5158. Reviewed by Maciej.
  5159. <rdar://problem/4040388> REGRESSION (172-173): nonrepro crash in -[NSString(WebNSURLExtras) _web_isUserVisibleURL]
  5160. * Misc.subproj/WebNSURLExtras.m:
  5161. (-[NSString _web_isUserVisibleURL]): Fixed some pointer expressions that didn't include the index in the expression.
  5162. (readIDNScriptWhiteListFile): Removed NSLog statements in here since we decided they aren't useful and they will
  5163. write some messages on Tiger.
  5164. 2005-03-09 Darin Adler <darin@apple.com>
  5165. * DOM.subproj/DOMPrivate.h: Checked in file copied from WebCore.
  5166. 2005-03-08 Richard Williamson <rjw@apple.com>
  5167. Fixed <rdar://problem/4036949> many JPEG images fail to incremental-load due to change in ImageIO JPEG header parsing (to be fixed in WebKit)
  5168. Fixed <rdar://problem/4042570> Need to check image properties for presence of width/height properties
  5169. ImageIO-55 changed how image properties are created. They
  5170. are now created incrementally. So we need "re-get" the image
  5171. properties if the properties we care about (width/height) aren't
  5172. in the property dictionary.
  5173. Reviewed by John.
  5174. * WebCoreSupport.subproj/WebImageData.h:
  5175. * WebCoreSupport.subproj/WebImageData.m:
  5176. (-[WebImageData init]):
  5177. (-[WebImageData fileProperties]):
  5178. (-[WebImageData propertiesAtIndex:]):
  5179. (-[WebImageData _isSizeAvailable]):
  5180. (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
  5181. (-[WebImageData size]):
  5182. 2005-03-08 John Sullivan <sullivan@apple.com>
  5183. A couple of tweaks to the previous patch, from Darin's review.
  5184. * Misc.subproj/WebNSPasteboardExtras.m:
  5185. (_writableTypesForImageWithoutArchive):
  5186. remove unnecessary _web prefix
  5187. (_writableTypesForImageWithArchive):
  5188. ditto
  5189. (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
  5190. use mutableCopy rather than initWithArray:, and adjust for name changes
  5191. 2005-03-08 John Sullivan <sullivan@apple.com>
  5192. Reviewed by Ken.
  5193. - fixed <rdar://problem/4031826> REGRESSION (Mail): standalone images from
  5194. Safari can't be pasted into Mail (WebKit part of fix)
  5195. We were always declaring webarchive-related pasteboard types, even in the standalone
  5196. image cases where we had no webarchive. Unfortunately, the WebView pasteboard-related
  5197. API doesn't prevent this kind of thing from happening, because the code that
  5198. declares the types isn't guaranteed to be anywhere near the code that writes
  5199. the pasteboard data.
  5200. After this fix, I discovered that pasting standalone images into Mail still doesn't
  5201. work right, but the remaining issues seem to be entirely in Mail. I wrote up 4041671
  5202. to cover these.
  5203. * Misc.subproj/WebNSPasteboardExtras.h:
  5204. (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
  5205. Added boolean parameter; clients must specify whether or not there's an
  5206. archive involved, because the array of types is different if there is.
  5207. * Misc.subproj/WebNSPasteboardExtras.m:
  5208. (_web_writableTypesForImageWithoutArchive):
  5209. new static function, constructs (once) and returns the array of types
  5210. for images that don't have archives
  5211. (_web_writableTypesForImageWithArchive):
  5212. new static function, constructs (once) and returns the array of types
  5213. for images that do have archives
  5214. (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
  5215. added boolean parameter, now calls one of the two new static functions
  5216. (-[NSPasteboard _web_writeImage:URL:title:archive:types:]):
  5217. added asserts that we aren't declaring the archive types if we don't have archive data
  5218. (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
  5219. updated to pass parameter to _web_writableTypesForImageIncludingArchive:
  5220. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  5221. (-[WebDefaultUIDelegate copyImageToClipboard:]):
  5222. updated to pass parameter to _web_writableTypesForImageIncludingArchive:
  5223. * WebView.subproj/WebImageView.m:
  5224. (-[WebImageView copy:]):
  5225. updated to pass parameter to _web_writableTypesForImageIncludingArchive:
  5226. * WebView.subproj/WebView.m:
  5227. (-[WebView pasteboardTypesForElement:]):
  5228. updated to pass parameter to _web_writableTypesForImageIncludingArchive:
  5229. 2005-03-07 Richard Williamson <rjw@apple.com>
  5230. More bullet proofing for <rdar://problem/4038304> CrashTracer: ....9 crashes at com.apple.WebKit: -[WebTextRenderer initWithFont:usingPrinterFont:] + 840
  5231. Protect against removal of Times and Times New Roman from
  5232. system. If these fonts are removed attempt to get system font
  5233. instead of FATAL_ALWAYS.
  5234. Reviewed by John.
  5235. * WebCoreSupport.subproj/WebTextRenderer.m:
  5236. (-[WebTextRenderer initWithFont:usingPrinterFont:]):
  5237. === Safari-403 ===
  5238. 2005-03-06 Darin Adler <darin@apple.com>
  5239. - fixed obvious mistake in IDN script code (luckily it hasn't been in a submission yet!)
  5240. * Misc.subproj/WebNSURLExtras.m: (readIDNScriptWhiteListFile): Use "index" to index into the array,
  5241. not "script", which is the script number, not the 32-bit-word index.
  5242. 2005-03-05 Kevin Decker <kdecker@apple.com>
  5243. Reviewed by Darin.
  5244. Fixed: <rdar://problem/4038529> Infinite progress bar loading webcams and other sites that use multipart/x-mixed-replace
  5245. The previous patch I landed prevented us from loading multipart/x-mixed-replace but did not always update the progress bar accordingly.
  5246. This stops websites from having seemingly infinite progress in the browser UI.
  5247. * WebCoreSupport.subproj/WebSubresourceClient.m:
  5248. (-[WebSubresourceClient didReceiveResponse:]): If this is "multipart/x-mixed-replace", remove the WebBaseResourceHandleDelegate client from
  5249. the datasource's subresource array, otherwise -[WebDataSource isLoading] incorrectly returns YES. Also it's possible at this point in
  5250. time we're done loading now (loaded everything else except for the multipart/x-mixed-replace content) so go ahead and check to see if
  5251. in fact we're complete.
  5252. * WebView.subproj/WebMainResourceClient.m:
  5253. (-[WebMainResourceClient connection:didReceiveResponse:]): ditto
  5254. 2005-03-05 Richard Williamson <rjw@apple.com>
  5255. Fixed panther build problem. Shouldn't include
  5256. changes for 3968753 on panther.
  5257. Reviewed by John.
  5258. * WebView.subproj/WebView.m:
  5259. (-[WebView _commonInitializationWithFrameName:groupName:]):
  5260. 2005-03-05 Darin Adler <darin@apple.com>
  5261. Reviewed by John.
  5262. - fixed <rdar://problem/4034603> REGRESSION (185-188): RadarWeb can't send enclosures anymore
  5263. * WebView.subproj/WebFormDataStream.m:
  5264. (closeCurrentStream): Release currentData when closing the stream.
  5265. (advanceCurrentStream): Set up and retain currentData when the current stream is reading that data, so the
  5266. data won't be released while in use.
  5267. (formCreate): Initialize currentData to NULL.
  5268. - fixed <rdar://problem/4037562> Tiger8A402: Help Viewer crashed when viewing help for iChat (infinite recursion in WebView)
  5269. * WebView.subproj/WebView.m: (-[WebView _responderValidateUserInterfaceItem:]):
  5270. Check for the case where we ourselves are the responder. This avoids an infinite loop.
  5271. The actual code to perform operations avoids this with a global variable, but this lighter weight
  5272. solution is sufficient here because validate operations don't call through to the next responder.
  5273. 2005-03-04 Richard Williamson <rjw@apple.com>
  5274. Fixed <rdar://problem/3968753> REGRESSION: Poor performance with differing multiple animated GIFs (was fast in Panther)
  5275. Disable coalesced updates (in CG). This restores the
  5276. panther behavior.
  5277. Reviewed by David Harrison.
  5278. * WebView.subproj/WebView.m:
  5279. (-[WebView _commonInitializationWithFrameName:groupName:]):
  5280. 2005-03-04 Adele Amchan <adele@apple.com>
  5281. Reviewed by Darin.
  5282. * English.lproj/StringsNotToBeLocalized.txt: added new strings "text/x-vcf" and "text/x-csv" to the list
  5283. 2005-03-04 Adele Amchan <adele@apple.com>
  5284. Reviewed by Chris.
  5285. Fix for <rdar://problem/4032982> Sun iPlanet app: not able to import AddressBook CSV format addresses properly
  5286. Fix for <rdar://problem/4032985> Sun iPlanet app: not able to import vCard format addresses properly
  5287. * WebView.subproj/WebTextView.m:
  5288. (+[WebTextView unsupportedTextMIMETypes]): added "text/x-csv" and "text/x-vcf" to the list of MIME types that our text view doesn't handle
  5289. 2005-03-04 Darin Adler <darin@apple.com>
  5290. Reviewed by John.
  5291. - fixed <rdar://problem/4036817> REGRESSION: ctrl-y broken when a line + carriage return cut
  5292. * WebView.subproj/WebHTMLView.m:
  5293. (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Merged _handleKillRing behavior
  5294. into this function, since there's now a more-complicated way the startNewKillRingSequence boolean needs to
  5295. be handled. Set the startNewKillRingSequence boolean after the entire process so changing the selection before
  5296. and during the editing dosn't clear it. Also change "isTypingAction" parameter to "deletionAction" so we can
  5297. handle forward delete with this method.
  5298. (-[WebHTMLView _deleteSelection]): Pass deleteSelectionAction for action rather than NO for isTypingAction,
  5299. which is the way to say the same thing using the new parameter.
  5300. (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Refactor to use the _deleteRange
  5301. method above. Also calls _shouldDeleteRange: for the pre-existing selection case; not doing that before was
  5302. a bug.
  5303. (-[WebHTMLView deleteToMark:]): Pass deleteSelectionAction for action rather than NO for isTypingAction,
  5304. which is the way to say the same thing using the new parameter.
  5305. 2005-03-04 Darin Adler <darin@apple.com>
  5306. Reviewed by John.
  5307. - fixed <rdar://problem/4020413> REGRESSION (Mail): can't use fonts with names that start with "#" in Mail (Korean fonts)
  5308. * WebView.subproj/WebHTMLView.m:
  5309. (-[WebHTMLView _styleFromFontAttributes:]): Quote font name when calling setFontFamily.
  5310. (-[WebHTMLView _addToStyle:fontA:fontB:]): Ditto.
  5311. 2005-03-04 Darin Adler <darin@apple.com>
  5312. Reviewed by John.
  5313. - fixed <rdar://problem/3965666> IDN spoofing vulnerability caused by Unicode characters that look like ASCII characters
  5314. * Misc.subproj/WebNSURLExtras.m:
  5315. (readIDNScriptWhiteListFile): Added. Reads file and parses script names.
  5316. (readIDNScriptWhiteList): Added. Calls readIDNScriptWhiteList on each of the white list locations in succession.
  5317. (allCharactersInIDNScriptWhiteList): Renamed from containsPossibleLatinLookalikes and changed sense.
  5318. Now calls readIDNScriptWhiteList first time, and then uses the read-in list to check the scripts.
  5319. (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call allCharactersInIDNScriptWhiteList instead of
  5320. containsPossibleLatinLookalikes.
  5321. * Resources/IDNScriptWhiteList.txt: Added.
  5322. * WebKit.pbproj/project.pbxproj: Added IDNScriptWhiteList.txt file.
  5323. * Misc.subproj/WebKitLocalizableStrings.m: Removed. This is simply unused.
  5324. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  5325. 2005-03-04 Darin Adler <darin@apple.com>
  5326. Reviewed by John.
  5327. - fixed <rdar://problem/3937667> REGRESSION (Mail): Zooming a window from titlebar button doesn't paint newly-exposed portions of window
  5328. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
  5329. Re-set-up the visRect if the bounds changes due to layout.
  5330. === Safari-402 ===
  5331. 2005-03-03 Jens Alfke <jens@apple.com>
  5332. Reviewed by rjw.
  5333. <rdar://problem/3991818> REGRESSION: Images scale while loading
  5334. The code could crop an image when not all the scanlines were available yet, and it could crop when only a sub-rect of the image was to be drawn; but if it had to do both at once, it got the coordinates wrong. Fixed that.
  5335. * WebCoreSupport.subproj/WebImageData.m:
  5336. (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
  5337. 2005-03-01 David Hyatt <hyatt@apple.com>
  5338. Fix for 3841186, scrollbar shows up disabled when it should not appear at all. Make sure updateScrollers
  5339. is never allowed to be re-entrant from any call point by moving the guard inside the function itself.
  5340. Reviewed by John Sullivan
  5341. * WebView.subproj/WebDynamicScrollBarsView.m:
  5342. (-[WebDynamicScrollBarsView updateScrollers]):
  5343. (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
  5344. 2005-03-02 Chris Blumenberg <cblu@apple.com>
  5345. Fixed: <rdar://problem/4029010> Expose method to retrieve drag image for WebView's selection
  5346. Reviewed by sullivan.
  5347. * WebView.subproj/WebHTMLView.m:
  5348. (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): call _selectionDraggingImage
  5349. (-[WebHTMLView _selectionDraggingImage]): new SPI for Mail, factored from previous method
  5350. (-[WebHTMLView _selectionDraggingRect]): new SPI for Mail
  5351. * WebView.subproj/WebHTMLViewPrivate.h:
  5352. 2005-03-02 John Sullivan <sullivan@apple.com>
  5353. Reviewed by Adele.
  5354. - fixed <rdar://problem/4023337> Safari stops loading any page (-[NSCFDictionary setObject:forKey:]:
  5355. attempt to insert nil key)
  5356. It is very likely that the exception being hit is caused by the same problem as WebFoundation
  5357. bug 4018486. This change makes the code robust against this kind of problem regardless.
  5358. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  5359. (-[WebBaseResourceHandleDelegate saveResource]):
  5360. Don't call addSubresource if newly-created resource is nil (but do assert on debug builds).
  5361. Also assert that originalURL and MIMEType are not nil.
  5362. * WebView.subproj/WebDataSource.m:
  5363. (-[WebDataSource addSubresource:]):
  5364. Don't add nil subresource to dictionary, but do assert on debug builds.
  5365. === Safari-401 ===
  5366. 2005-03-01 John Sullivan <sullivan@apple.com>
  5367. Reviewed by Darin.
  5368. - fixed <rdar://problem/3987482> Format>Style>Italic is not enabled when a
  5369. compose window is empty (works in Blot)
  5370. * WebView.subproj/WebHTMLView.m:
  5371. (-[WebHTMLView becomeFirstResponder]):
  5372. call _updateFontPanel here so NSFontManager knows the right font for the menu
  5373. items and the font panel
  5374. 2005-03-01 David Harrison <harrison@apple.com>
  5375. Reviewed by Chris.
  5376. <rdar://problem/3915560> Mail would like an SPI to enable "smart" text paste/drop
  5377. * WebView.subproj/WebHTMLView.m:
  5378. (-[WebHTMLView _smartDeleteRangeForProposedRange:]):
  5379. (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]):
  5380. New.
  5381. 2005-02-28 John Sullivan <sullivan@apple.com>
  5382. Reviewed by Ken.
  5383. - WebKit part of fix for <rdar://problem/4023490> REGRESSION (125-185): Tabbing through links
  5384. on frameset page gets stuck at end (tivofaq.com)
  5385. This tab-to-links stuff has been in shaky condition ever since AppKit futzed with
  5386. tabbing behavior in Tiger to add support for including the toolbar in the key loop.
  5387. I made some changes months ago to compensate for that, but some cases, such as this
  5388. one, still weren't fixed.
  5389. * WebCoreSupport.subproj/WebBridge.m:
  5390. (-[WebBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
  5391. new bottleneck method, extracted from nextKeyViewOutsideWebFrameViews; handles
  5392. nextKeyView or nextValidKeyView depending on parameter.
  5393. (-[WebBridge nextKeyViewOutsideWebFrameViews]):
  5394. now calls extracted method
  5395. (-[WebBridge nextValidKeyViewOutsideWebFrameViews]):
  5396. new method, calls new bottleneck method
  5397. * WebView.subproj/WebHTMLView.m:
  5398. (-[WebHTMLView nextValidKeyView]):
  5399. when we're stuck at the end of a nextKeyView chain inside a nexted frame, use
  5400. nextValidKeyViewOutsideWebFrameViews. Make sure we don't end up looking inside
  5401. the web frame views while doing this.
  5402. 2005-02-25 Darin Adler <darin@apple.com>
  5403. Reviewed by John.
  5404. - fixed <rdar://problem/4025088> window onblur and onfocus don't fire when text field has focus
  5405. * WebView.subproj/WebHTMLView.m:
  5406. (-[WebHTMLView updateFocusState]): Renamed from updateFocusDisplay. Added call to setWindowHasFocus: method.
  5407. (-[WebHTMLView viewDidMoveToWindow]): Call method by new name.
  5408. (-[WebHTMLView windowDidBecomeKey:]): Ditto.
  5409. (-[WebHTMLView windowDidResignKey:]): Ditto.
  5410. (-[WebHTMLView becomeFirstResponder]): Ditto.
  5411. (-[WebHTMLView resignFirstResponder]): Ditto.
  5412. === Safari-400 ===
  5413. 2005-02-25 Richard Williamson <rjw@apple.com>
  5414. Fixed <rdar://problem/4000962> 8A375: Help Viewer displays voiced sound and semi-voiced characters strangely (characters don't seem to be composed)
  5415. Added special case for voiced marks.
  5416. Reviewed by John.
  5417. * WebCoreSupport.subproj/WebTextRenderer.m:
  5418. (widthForNextCharacter):
  5419. 2005-02-25 Darin Adler <darin@apple.com>
  5420. Reviewed by John.
  5421. - fixed <rdar://problem/4019823> Seed: Control-Y doesn't work
  5422. * WebView.subproj/WebHTMLView.m:
  5423. (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Call _handleKillRing
  5424. after setting the selection, since it uses the selection to get the text.
  5425. (-[WebHTMLView _insertText:selectInsertedText:]): Check for empty string to avoid an assertion
  5426. on the other side of the bridge when you yank the empty string.
  5427. 2005-02-24 Richard Williamson <rjw@apple.com>
  5428. Fixed <rdar://problem/3382926> Bidi neutrals at RTL/LTR boundaries not handled correctly.
  5429. If directionality is specified use that as initial directionality,
  5430. rather than neutral directionality.
  5431. Reviewed by Hyatt.
  5432. * WebCoreSupport.subproj/WebTextRenderer.m:
  5433. (widthForNextCharacter):
  5434. 2005-02-24 Adele Amchan <adele@apple.com>
  5435. Reviewed by Chris.
  5436. Fix for <rdar://problem/4023393> Safari crashed in khtml::RenderObject::repaintAfterLayoutIfNeeded(QRect const&, QRect const&)
  5437. We were crashing after hitting PageDown when viewing a pdf because
  5438. WebKit was calling over to WebCore to scroll overflow areas.
  5439. Since this only needs to be done if we're dealing with a WebHTMLView,
  5440. I added a wrapper function to check the documentView before calling
  5441. over to WebCore.
  5442. * WebView.subproj/WebFrameView.m:
  5443. (-[WebFrameView _scrollOverflowInDirection:granularity:]): added wrapper function that checks if documentView is a WebHTMLView
  5444. (-[WebFrameView scrollToBeginningOfDocument:]): uses new wrapper function now
  5445. (-[WebFrameView scrollToEndOfDocument:]): uses new wrapper function now
  5446. (-[WebFrameView _pageVertically:]): uses new wrapper function now
  5447. (-[WebFrameView _pageHorizontally:]): uses new wrapper function now
  5448. (-[WebFrameView _scrollLineVertically:]): uses new wrapper function now
  5449. (-[WebFrameView _scrollLineHorizontally:]): uses new wrapper function now
  5450. 2005-02-24 Richard Williamson <rjw@apple.com>
  5451. Fixed <rdar://problem/3985889> REGRESSION (125-180): setting <img> src to GIF that already animated does not animate; just shows final frame
  5452. Reviewed by Hyatt.
  5453. * WebCoreSupport.subproj/WebImageData.h:
  5454. * WebCoreSupport.subproj/WebImageData.m:
  5455. (-[WebImageData resetAnimation]):
  5456. * WebCoreSupport.subproj/WebImageRenderer.m:
  5457. (-[WebImageRenderer resetAnimation]):
  5458. (-[WebInternalImage resetAnimation]):
  5459. (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
  5460. 2005-02-24 Kevin Decker <kdecker@apple.com>
  5461. Reviewed by John.
  5462. Fixed <rdar://problem/3962401> Don't load multipart/x-mixed-replace content to prevent memory leak
  5463. Since we're not going to fix <rdar://problem/3087535> for Tiger, we should not load multipart/x-mixed-replace content. Pages with such content contain what is essentially an infinite load and therefore may leak.
  5464. * WebView.subproj/WebMainResourceClient.m:
  5465. (-[WebMainResourceClient connection:didReceiveResponse:]): Disabled loading of multipart/x-mixed-replace content until we fully implement server side push.
  5466. * WebCoreSupport.subproj/WebSubresourceClient.m:
  5467. (-[WebSubresourceClient didReceiveResponse:]): Ditto. Same exact thing for sub resources.
  5468. 2005-02-23 John Sullivan <sullivan@apple.com>
  5469. Reviewed by Ken.
  5470. - fixed <rdar://problem/4021370> REGRESSION (Tiger): WebKit part of fix for
  5471. shift-tab on tivofaq doing the wrong thing
  5472. * WebView.subproj/WebFrameView.m:
  5473. (-[WebFrameView becomeFirstResponder]):
  5474. If our previousValidKeyView is nil or self (same as nil modulo AppKit oddness),
  5475. look out of the box and get the previousValidKeyView of our webview.
  5476. 2005-02-23 Darin Adler <darin@apple.com>
  5477. Reviewed by Hyatt.
  5478. - fixed <rdar://problem/4010196> REGRESSION (125-186+): 8-character timestamps in gmail wrap to 2 lines (width:8ex; font-size:80%)
  5479. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer xHeight]): Return the maximum
  5480. of the "x" height and width. Comment in the code explains why in more detail.
  5481. 2005-02-22 Richard Williamson <rjw@apple.com>
  5482. Fixed <rdar://problem/3937203> when a div adds a scrollbar (overflow:auto) we do not get regions
  5483. Compare regions after automatice scroll regions have been
  5484. added.
  5485. Reviewed by Maciej.
  5486. * WebCoreSupport.subproj/WebBridge.h:
  5487. * WebCoreSupport.subproj/WebBridge.m:
  5488. (-[WebBridge dealloc]):
  5489. (-[WebBridge _compareDashboardRegions:]):
  5490. (-[WebBridge dashboardRegionsChanged:]):
  5491. 2005-02-22 Richard Williamson <rjw@apple.com>
  5492. Fixed <rdar://problem/4012463> Dashboard widgets don't work with authenticating proxies
  5493. Added new SPI for dashboard that just calls default delegate
  5494. behavior.
  5495. Reviewed by Maciej.
  5496. * WebView.subproj/WebView.m:
  5497. (-[WebView handleAuthenticationForResource:challenge:fromDataSource:]):
  5498. * WebView.subproj/WebViewPrivate.h:
  5499. 2005-02-22 Chris Blumenberg <cblu@apple.com>
  5500. Reviewed by mjs.
  5501. * WebCoreSupport.subproj/WebBridge.m:
  5502. (-[WebBridge issuePasteAndMatchStyleCommand]): support for new "PasteAndMatchStyle" exec command
  5503. === Safari-188 ===
  5504. 2005-02-21 David Harrison <harrison@apple.com>
  5505. Reviewed by Darin.
  5506. <rdar://problem/3943090> REGRESSION (Mail): Spelling underline incompletely erased following certain steps
  5507. * WebCoreSupport.subproj/WebTextRenderer.m:
  5508. (-[WebTextRenderer misspellingLineThickness]):
  5509. (-[WebTextRenderer misspellingLinePatternWidth]):
  5510. Replaced #defines with these methods, so others can get the same info.
  5511. (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
  5512. Keep underline within originally specified bounds.
  5513. 2005-02-21 Darin Adler <darin@apple.com>
  5514. Reviewed by John.
  5515. - fixed <rdar://problem/4016358> don't ever display IDN URLs with characters from "possible Latin look-alike" scripts
  5516. * Misc.subproj/WebNSURLExtras.m:
  5517. (containsPossibleLatinLookalikes): Added.
  5518. (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call containsPossibleLatinLookalikes, and if true,
  5519. don't decode the host name.
  5520. 2005-02-19 Kevin Decker <kdecker@apple.com>
  5521. Reviewed by Chris.
  5522. Fixed <rdar://problem/4010765> Flash player can be used to arbitrarily open popup windows without user permission
  5523. Our window.open() policy is to refuse the <script>window.open(...)</script> case and allow the inline the <a href="javascript:window.open('foo')> case. Clever advertisers at some point realized that by executing their Javascript through the Flash plugin, Safari would always treat their code as the inline case, and thus, they were able to work around our popup blocker.
  5524. * Plugins.subproj/WebBaseNetscapePluginView.h: Addded currentEventIsUserGesture boolean ivar.
  5525. * Plugins.subproj/WebBaseNetscapePluginView.m:
  5526. (-[WebBaseNetscapePluginView sendEvent:]): If at any point the user clicks or presses a key from within a plugin, set the currentEventIsUserGesture flag to true. This is important to differentiate legitimate window.open() calls originating from plugins; we still want to allow those.
  5527. (-[WebBaseNetscapePluginView initWithFrame:]): In our asynchronous load, pass along currentEventIsUserGesture to the PluginRequest.
  5528. (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Inform WebCore if this was a user originated gesture when calling executeScript().
  5529. (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
  5530. (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:didStartFromUserGesture:]):
  5531. (-[WebPluginRequest isCurrentEventUserGesture]): Added.
  5532. 2005-02-18 Chris Blumenberg <cblu@apple.com>
  5533. Fixed: <rdar://problem/3945271> REGRESSION (Mail): pasted plain text should pick up typing style instead of being unstyled
  5534. Reviewed by kocienda.
  5535. * WebView.subproj/WebDataSource.m:
  5536. (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): pass NO for matchStyle to replaceSelection
  5537. * WebView.subproj/WebHTMLView.m:
  5538. (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]): return new chosePlainText parameter
  5539. (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): pass chosePlainText for matchStyle to replaceSelection
  5540. (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto
  5541. 2005-02-17 Richard Williamson <rjw@apple.com>
  5542. Removed code that should not have been checked in from
  5543. last patch.
  5544. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  5545. (-[WebTextRendererFactory isFontFixedPitch:]):
  5546. 2005-02-17 Richard Williamson <rjw@apple.com>
  5547. Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
  5548. Fixed w/o introducing a performance regression.
  5549. Reviewed by Vicki (and earlier by Dave Harrison).
  5550. * WebCoreSupport.subproj/WebTextRenderer.m:
  5551. (-[WebTextRenderer _computeWidthForSpace]):
  5552. (widthForNextCharacter):
  5553. * WebCoreSupport.subproj/WebTextRendererFactory.h:
  5554. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  5555. (-[NSFont _web_isFakeFixedPitch]):
  5556. (-[WebTextRendererFactory isFontFixedPitch:]):
  5557. (-[WebTextRendererFactory fontWithFamily:traits:size:]):
  5558. 2005-02-17 Richard Williamson <rjw@apple.com>
  5559. Fixed <rdar://problem/3959304> PDF in img tag is not rendered correctly anymore
  5560. We were incorrectly adding image position when flipping coordinates.
  5561. Reviewed by David Harrison.
  5562. * WebCoreSupport.subproj/WebImageData.m:
  5563. (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]):
  5564. 2005-02-17 Richard Williamson <rjw@apple.com>
  5565. Fixed <rdar://problem/4007262> Seed: Flight tracker scrolling moves to the left
  5566. Added SPI for dashboard to disable wheel scrolling of the WebClipView.
  5567. Reviewed by Ken.
  5568. * ChangeLog:
  5569. * WebView.subproj/WebClipView.m:
  5570. (-[WebClipView _focusRingVisibleRect]):
  5571. (-[WebClipView scrollWheel:]):
  5572. * WebView.subproj/WebView.m:
  5573. (-[WebViewPrivate init]):
  5574. (-[WebView drawRect:]):
  5575. (-[WebView _dashboardBehavior:]):
  5576. * WebView.subproj/WebViewInternal.h:
  5577. * WebView.subproj/WebViewPrivate.h:
  5578. === Safari-187 ===
  5579. 2005-02-17 Vicki Murley <vicki@apple.com>
  5580. - roll out this change, since it causes a 1.5% performance regression
  5581. 2005-02-15 Richard Williamson <rjw@apple.com>
  5582. Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
  5583. Lie about Osaka-Mono. Treat it as fixed pitch, even though,
  5584. strictly speaking it isn't. (Similar to what we do with
  5585. Courier New.)
  5586. Reviewed by David Harrison.
  5587. * WebCoreSupport.subproj/WebTextRenderer.m:
  5588. (-[WebTextRenderer _computeWidthForSpace]):
  5589. * WebCoreSupport.subproj/WebTextRendererFactory.h:
  5590. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  5591. (-[NSFont _web_isFakeFixedPitch]):
  5592. (-[WebTextRendererFactory isFontFixedPitch:]):
  5593. (-[WebTextRendererFactory fontWithFamily:traits:size:]):
  5594. 2005-02-17 John Sullivan <sullivan@apple.com>
  5595. Reviewed by Ken.
  5596. - fixed <rdar://problem/3997185> The Web view on .Mac Prefs caused System Prefs
  5597. to lockup (resolved by re-boot only)
  5598. * WebCoreSupport.subproj/WebBridge.m:
  5599. (-[WebBridge nextKeyViewOutsideWebFrameViews]):
  5600. Don't allow recursion here; assert on debug build, return nil on deployment. I
  5601. couldn't get my machine into a state to repro this problem (and neither could the
  5602. originator), but it's obvious from the stack crawl that this method was recursing
  5603. when it shouldn't have.
  5604. 2005-02-16 John Sullivan <sullivan@apple.com>
  5605. Written by Darin, reviewed by me.
  5606. - WebKit part of fix for <rdar://problem/4007384>
  5607. FILTER: Bookmark of RSS with Japanese search word & multiple RSS pages loses filter
  5608. * DOM.subproj/DOMPrivate.h:
  5609. updated this file, which is a copy of the WebCore version
  5610. 2005-02-16 Richard Williamson <rjw@apple.com>
  5611. Fixed <rdar://problem/3966973> Tiger 8A357: Binary Compatiblity: frequent Webstractor.app crashes [WebImageData _nextFrame]
  5612. Webstractor.app was playing tricks to create thumbnails of
  5613. pages. This caused the 'focusView' to be incorrect during
  5614. animated GIF frame rendering.
  5615. Reviewed by Chris.
  5616. * WebCoreSupport.subproj/WebImageRenderer.m:
  5617. (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
  5618. 2005-02-16 Vicki Murley <vicki@apple.com>
  5619. Reviewed by me, code change by Darin.
  5620. - fixed the build on Panther
  5621. * WebView.subproj/WebFormDataStream.m: (webSetHTTPBody):
  5622. Added a Panther-specific code path that just loads all the data into one big
  5623. NSData object. This means that bug 3686434 won't be fixed on SUPanWheat; we'll
  5624. still load the file into memory before sending it to the server on Panther.
  5625. 2005-02-15 Richard Williamson <rjw@apple.com>
  5626. Fixed <rdar://problem/3998368> Tiger8A376: WebTextRenderer assertion failure in Safari while browsing news.bbc.co.uk
  5627. Removed use of FATAL_ALWAYS from getUncachedWidth(). It's unclear
  5628. why we would trigger the FATAL_ALWAYS. In the past we've seen
  5629. the message triggered because of corrupt fonts. Anyway, in this
  5630. particular case, we will now return 0 for the character width,
  5631. rather than exiting.
  5632. Reviewed by David Harrison.
  5633. * WebCoreSupport.subproj/WebTextRenderer.m:
  5634. (getUncachedWidth):
  5635. 2005-02-15 Richard Williamson <rjw@apple.com>
  5636. Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
  5637. Lie about Osaka-Mono. Treat it as fixed pitch, even though,
  5638. strictly speaking it isn't. (Similar to what we do with
  5639. Courier New.)
  5640. Reviewed by David Harrison.
  5641. * WebCoreSupport.subproj/WebTextRenderer.m:
  5642. (-[WebTextRenderer _computeWidthForSpace]):
  5643. * WebCoreSupport.subproj/WebTextRendererFactory.h:
  5644. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  5645. (-[NSFont _web_isFakeFixedPitch]):
  5646. (-[WebTextRendererFactory isFontFixedPitch:]):
  5647. (-[WebTextRendererFactory fontWithFamily:traits:size:]):
  5648. 2005-02-14 Darin Adler <darin@apple.com>
  5649. Reviewed by John.
  5650. - fixed <rdar://problem/3686434> Safari uses too much RAM on file upload, leading to malloc errors and crashes (HP printers)
  5651. * WebView.subproj/WebFormDataStream.h: Added webSetHTTPBody, which creates and connects an appropriate
  5652. stream to an NSMutableURLRequest.
  5653. * WebView.subproj/WebFormDataStream.m: Added implementation here.
  5654. * WebCoreSupport.subproj/WebBridge.m:
  5655. (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
  5656. Use webSetHTTPBody.
  5657. * WebCoreSupport.subproj/WebSubresourceClient.m:
  5658. (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]):
  5659. Use webSetHTTPBody.
  5660. * WebView.subproj/WebFrame.m:
  5661. (-[WebFrame _loadItem:withLoadType:]): Use webSetHTTPBody.
  5662. (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.
  5663. * English.lproj/StringsNotToBeLocalized.txt: Updated for this change and other recent changes.
  5664. 2005-02-11 Richard Williamson <rjw@apple.com>
  5665. Fixed <rdar://problem/4002505> 8A378: Endlessly animating gif's on http://www.entropy.ch
  5666. If animated images had no loop count property we were incorrectly
  5667. looping forver. Note, that in the course of fixing this bug
  5668. I found that ImageIO is incorrectly NOT reporting the loop count
  5669. for a whole class of animated GIFs.
  5670. Reviewed by Ken Kocienda.
  5671. * WebCoreSupport.subproj/WebImageData.m:
  5672. (-[WebImageData _repetitionCount]):
  5673. === Safari-186 ===
  5674. 2005-02-11 Vicki Murley <vicki@apple.com>
  5675. Reviewed by Darin.
  5676. - fix deployment build on Panther
  5677. * WebView.subproj/WebHTMLView.m:
  5678. (-[WebHTMLView changeBaseWritingDirection:]): ifdef out NSWritingDirectionNatural
  5679. (-[WebHTMLView toggleBaseWritingDirection:]): fix a spacing issue
  5680. 2005-02-10 David Harrison <harrison@apple.com>
  5681. Reviewed by Richard.
  5682. <rdar://problem/3991652> REGRESSION (Mail): Deleting entire line in reply deletes extra blank line and moves insertion point
  5683. * WebView.subproj/WebHTMLView.m:
  5684. (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:]):
  5685. (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
  5686. (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
  5687. (-[WebHTMLView selectToMark:]):
  5688. (-[WebHTMLView swapWithMark:]):
  5689. (-[WebHTMLView transpose:]):
  5690. (-[WebHTMLView _selectMarkedText]):
  5691. (-[WebHTMLView _selectRangeInMarkedText:]):
  5692. Adopt new default affinity of NSSelectionAffinityDownstream as of <rdar://problem/3937447>.
  5693. 2005-02-10 Darin Adler <darin@apple.com>
  5694. Reviewed by Harrison.
  5695. - fixed <rdar://problem/4002084> Setting ResourceLoadDelegate to nil can cause a crash
  5696. * WebView.subproj/WebView.m: (-[WebView _cacheResourceLoadDelegateImplementations]):
  5697. Set booleans to either YES or NO, rather than setting them only in the YES case.
  5698. 2005-02-10 Darin Adler <darin@apple.com>
  5699. Reviewed by Harrison.
  5700. - fixed <rdar://problem/3991225> Format->Style->Underline menu item does not get checked when selected text is underlined
  5701. * WebView.subproj/WebHTMLView.m:
  5702. (-[WebHTMLView validateUserInterfaceItem:]): Added tons of additional cases in here for all the
  5703. "action" style methods in this class that don't always want to be valid. For the ones where state
  5704. makes sense, added the state-checking code too for the menu item case.
  5705. (-[WebHTMLView ignoreSpelling:]): Removed unnecessary "editable text only" check since this command
  5706. would work fine on a non-editable selection.
  5707. (-[WebHTMLView swapWithMark:]): Ditto.
  5708. (-[WebHTMLView changeBaseWritingDirection:]): Added. Like toggle, but based on the sender's tag.
  5709. 2005-02-08 Darin Adler <darin@apple.com>
  5710. "Reviewed" by Richard (he told me the file was obsolete).
  5711. - got rid of an obsolete file
  5712. * Plugins.subproj/npsap.h: Removed.
  5713. * copy-webcore-files-to-webkit: Removed npsap.h.
  5714. 2005-02-09 Richard Williamson <rjw@apple.com>
  5715. Fixed <rdar://problem/4000073> non-screen font error on www.worldofwarcraft.com
  5716. Reviewed by John Sullivan.
  5717. * WebCoreSupport.subproj/WebTextRenderer.m:
  5718. (-[WebTextRenderer _smallCapsFont]):
  5719. === Safari-185 ===
  5720. 2005-02-07 Chris Blumenberg <cblu@apple.com>
  5721. Fixed: <rdar://problem/3993354> Safari claims to put RTFD on the pasteboard, but doesn't, in some cases
  5722. Reviewed by john.
  5723. * WebView.subproj/WebHTMLView.m:
  5724. (-[WebHTMLView _stripAttachmentCharactersFromAttributedString:]): moved
  5725. (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]): take cachedAttributedString parameter in case the attributed string was gotten already
  5726. (-[WebHTMLView _writeSelectionToPasteboard:]): omit RTFD from the types list when there are no attachments
  5727. 2005-02-07 David Harrison <harrison@apple.com>
  5728. Reviewed by Ken.
  5729. <rdar://problem/3990693> REGRESSION (8A373): ctrl-k now deletes just one character instead of line
  5730. * WebView.subproj/WebHTMLView.m:
  5731. (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
  5732. Set the selection so that deleteKeyPressedWithSmartDelete knows what to delete.
  5733. 2005-02-06 Darin Adler <darin@apple.com>
  5734. Reviewed by Maciej.
  5735. - fixed <rdar://problem/3963166> PDFView SPI print method is being deprecated, moving to PDFDocument; please update WebKit
  5736. * WebView.subproj/WebPDFView.m: (-[WebPDFView printOperationWithPrintInfo:]): Target the document instead of the view.
  5737. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes and also moved one translation to be a file-specific
  5738. item rather than a file-independent one.
  5739. 2005-02-05 Chris Blumenberg <cblu@apple.com>
  5740. Fixed: <rdar://problem/3991974> REGRESSION: www.jabra.com world location screen does not work
  5741. Reviewed by hyatt.
  5742. * WebCoreSupport.subproj/WebBridge.m:
  5743. (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): use the baseURL from the bridge rather than from the response
  5744. 2005-02-04 Chris Blumenberg <cblu@apple.com>
  5745. Fixed: <rdar://problem/3802781> rtf->html pasteboard conversion using xhtml
  5746. Reviewed by kocienda.
  5747. * WebView.subproj/WebHTMLView.m:
  5748. (+[WebHTMLView _excludedElementsForAttributedStringConversion]): new
  5749. (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): call _excludedElementsForAttributedStringConversion
  5750. 2005-02-04 Chris Blumenberg <cblu@apple.com>
  5751. Fixed: <rdar://problem/3832973> copy text from PowerPoint, paste into Blot (or presumably Mail) and get a single missing image icon
  5752. Reviewed by john.
  5753. * WebView.subproj/WebHTMLView.m:
  5754. (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): prefer RTF and RTFD over images just as NSTextView does
  5755. 2005-02-03 Chris Blumenberg <cblu@apple.com>
  5756. Fixed: <rdar://problem/3555137> REGRESSION (125-173): Flash animation can erase parts of chrome (bookmarks bar & tab bar)
  5757. convertRect:toView: returns incorrect results inside of viewWillMoveToWindow: with a nil window. Workaround this by catching this case.
  5758. Reviewed by darin.
  5759. * Plugins.subproj/WebBaseNetscapePluginView.m:
  5760. (-[WebBaseNetscapePluginView superviewsHaveSuperviews]): new
  5761. (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): clip out the plug-in view when superviewsHaveSuperviews returns NO
  5762. 2005-02-03 Chris Blumenberg <cblu@apple.com>
  5763. Fixed: <rdar://problem/3893513> Sun iPlanet app: when saving to a file it brings up a window with the thing to be saved instead
  5764. Reviewed by adele.
  5765. * WebView.subproj/WebTextView.m:
  5766. (+[WebTextView unsupportedTextMIMETypes]): added "text/ldif" to the list of MIME types that our text view doesn't handle
  5767. === Safari-183 ===
  5768. 2005-02-03 Chris Blumenberg <cblu@apple.com>
  5769. * English.lproj/StringsNotToBeLocalized.txt: updated
  5770. 2005-02-03 Chris Blumenberg <cblu@apple.com>
  5771. Fixed: <rdar://problem/3989611> Evite style "add vCalendar to calendar" do not work
  5772. Reviewed by adele.
  5773. * WebView.subproj/WebTextView.m:
  5774. (+[WebTextView unsupportedTextMIMETypes]): added "text/x-vcalendar" to the list of MIME types our text view doesn't handle
  5775. 2005-02-03 Vicki Murley <vicki@apple.com>
  5776. Reviewed by Darin.
  5777. - fix deployment build breakage on Panther
  5778. * WebView.subproj/WebHTMLView.m:
  5779. (-[WebHTMLView toggleBaseWritingDirection:]):
  5780. 2005-02-02 John Sullivan <sullivan@apple.com>
  5781. Reviewed by Chris.
  5782. - WebKit part of fix for <rdar://problem/3980651> REGRESSION (125-180): Huge number of pages printed from certain page,
  5783. iFrame involved
  5784. This also fixes the problems with printing from GMail, yay!
  5785. * WebView.subproj/WebHTMLView.m:
  5786. (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
  5787. Don't adjust margins for header/footer here, because this is called for each subframe.
  5788. (-[WebHTMLView knowsPageRange:]):
  5789. Do adjust margins for header/footer here (analogous to WebTextView and WebImageView).
  5790. Also, round the page height to an integer here (noticed in passing).
  5791. 2005-02-02 Chris Blumenberg <cblu@apple.com>
  5792. Fixed: <rdar://problem/3986546> Cut, delete, and paste menu items are active when a image is opened in window
  5793. Reviewed by john.
  5794. * WebView.subproj/WebView.m:
  5795. (-[WebView _responderValidateUserInterfaceItem:]): new, has the responder validate the item
  5796. (-[WebView validateUserInterfaceItem:]): call VALIDATE for each repsonder selector using FOR_EACH_RESPONDER_SELECTOR macro
  5797. (-[WebView _performResponderOperation:with:]): call factored out method _responderForResponderOperations
  5798. (-[WebView _responderForResponderOperations]): new, code from _performResponderOperation:with:
  5799. 2005-02-02 Chris Blumenberg <cblu@apple.com>
  5800. Fixed: <rdar://problem/3983628> control-click on WebView is not selecting the word under the cursor (Mail, non-editable WebView)
  5801. Reviewed by rjw.
  5802. * WebCoreSupport.subproj/WebBridge.m:
  5803. (-[WebBridge selectWordBeforeMenuEvent]): new
  5804. * WebView.subproj/WebView.m:
  5805. (-[WebView _selectWordBeforeMenuEvent]): new SPI
  5806. (-[WebView _setSelectWordBeforeMenuEvent:]): new SPI
  5807. * WebView.subproj/WebViewInternal.h:
  5808. * WebView.subproj/WebViewPrivate.h:
  5809. 2005-02-02 Chris Blumenberg <cblu@apple.com>
  5810. Fixed: <rdar://problem/3986013> Assertion failure going back after page load error (no apparent problem in nondebug build)
  5811. Reviewed by rjw.
  5812. * WebView.subproj/WebDataSource.m:
  5813. (-[WebDataSource _setPrimaryLoadComplete:]): don't set the data source data when the main client is nil
  5814. 2005-02-02 Ken Kocienda <kocienda@apple.com>
  5815. Reviewed by Darin
  5816. Fix for this bug:
  5817. <rdar://problem/3823109> WebKit should support -toggleBaseWritingDirection: (bidi editing support)
  5818. * WebView.subproj/WebHTMLView.m:
  5819. (-[WebHTMLView _applyParagraphStyleToSelection:withUndoAction:]): New function that calls through to
  5820. new feature that allows callers to force all properties in a style to be applied as block styles.
  5821. (-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]): Removed FIXME comment for something that has been fixed.
  5822. (-[WebHTMLView toggleBaseWritingDirection:]): Implemented.
  5823. 2005-02-01 Richard Williamson <rjw@apple.com>
  5824. Fixed <rdar://problem/3977727> WebKit should use new SPI to support faster GIF rendering
  5825. Note: This REQUIRES build >= 3A362 when building on Tiger.
  5826. Reviewed by John.
  5827. * WebCoreSupport.subproj/WebImageData.m:
  5828. (-[WebImageData _imageSourceOptions]):
  5829. === Safari-182 ===
  5830. 2005-02-01 Richard Williamson <rjw@apple.com>
  5831. Added new SPI for <rdar://problem/3967063> need spi on WebView to turn of lcd text for Dashboard
  5832. Reviewed by Chris.
  5833. * WebCoreSupport.subproj/WebTextRenderer.m:
  5834. (_drawGlyphs):
  5835. * WebView.subproj/WebView.m:
  5836. (-[WebView drawRect:]):
  5837. (-[WebView _dashboardBehavior:]):
  5838. (+[WebView _setShouldUseFontSmoothing:]):
  5839. (+[WebView _shouldUseFontSmoothing]):
  5840. * WebView.subproj/WebViewInternal.h:
  5841. * WebView.subproj/WebViewPrivate.h:
  5842. 2005-01-31 Chris Blumenberg <cblu@apple.com>
  5843. Fixed: <rdar://problem/3949806> REGRESSION: Source window fails to refresh correctly on reload
  5844. The data method was being called on WebDataSource before the data was set. This fix makes WebDataSource set the data before releasing the main client instead of waiting for the main client to set it when it is dealloced.
  5845. Reviewed by darin.
  5846. * WebView.subproj/WebDataSource.m:
  5847. (-[WebDataSource _setData:]): moved within file
  5848. (-[WebDataSource _setPrimaryLoadComplete:]): call _setData: with the data from the main client before letting go of the main client
  5849. * WebView.subproj/WebDataSourcePrivate.h:
  5850. * WebView.subproj/WebMainResourceClient.m:
  5851. (-[WebMainResourceClient releaseResources]): removed call to _setData: since the data source may need the data before releaseResources is called
  5852. 2005-01-31 Chris Blumenberg <cblu@apple.com>
  5853. Fixed: <rdar://problem/3946285> Seed: Safari crashed by selecting all at internet-moebel.com
  5854. Reviewed by john.
  5855. * WebView.subproj/WebHTMLView.m:
  5856. (-[WebHTMLView _hitViewForEvent:]): new, factored hit test hack to this method
  5857. (-[WebHTMLView _updateMouseoverWithEvent:): call _hitViewForEvent:
  5858. (-[WebHTMLView acceptsFirstMouse:]): call _setMouseDownEvent: and _isSelectionEvent: on the hit HTMLView or else when it's asked to drag it will assert
  5859. (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto
  5860. 2005-01-31 David Harrison <harrison@apple.com>
  5861. Reviewed by Darin.
  5862. <rdar://problem/3961239> AX Setting AXFocused on AXScrollArea of AXWebArea will cause keyboard selection change
  5863. * WebView.subproj/WebHTMLView.m:
  5864. (-[WebHTMLView maintainsInactiveSelection]):
  5865. Keep the selection when the new first respomder is our own scrollview, in both editable and non-editaqble content.
  5866. 2005-01-31 Jens Alfke <jens@apple.com>
  5867. Reviewed by John.
  5868. - Fixed <rdar://problem/3903199> REGRESSION: Large background patterns slide around while loading
  5869. * WebCoreSupport.subproj/WebImageData.m:
  5870. (drawPattern):
  5871. (-[WebImageData tileInRect:fromPoint:context:]):
  5872. 2005-01-30 Darin Adler <darin@apple.com>
  5873. Reviewed by John.
  5874. - fixed <rdar://problem/3965265> Safari displays HTML as source when default encoding is Hebrew (due to direction overrides added by encoding converter)
  5875. * WebView.subproj/WebPreferencesPrivate.h: Added _systemCFStringEncoding, and changed
  5876. _setInitialDefaultTextEncodingToSystemEncoding to be a class method.
  5877. * WebView.subproj/WebPreferences.m:
  5878. (+[WebPreferences _systemCFStringEncoding]): Added. New SPI to be used by Safari. Broken out of
  5879. _setInitialDefaultTextEncodingToSystemEncoding, but also added cases for MacArabic and MacHebrew.
  5880. (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Refactor to use _systemCFStringEncoding.
  5881. 2005-01-28 Jens Alfke <jens@apple.com>
  5882. Reviewed by Richard.
  5883. <rdar://problem/3727680> printing some page with WebKit generates a PDF with a 1x1 image with soft mask (causes Acrobat to hang during print spooling)
  5884. Detect 1x1 images, extract and cache color of single pixel, reduce draw and tile operations to a color fill (or to a no-op if the pixel is clear.)
  5885. * WebCoreSupport.subproj/WebImageData.h:
  5886. * WebCoreSupport.subproj/WebImageData.m:
  5887. (-[WebImageData _invalidateImages]):
  5888. (-[WebImageData _checkSolidColor:]):
  5889. (-[WebImageData _cacheImages:allImages:]):
  5890. (-[WebImageData _fillSolidColorInRect:compositeOperation:context:]):
  5891. (-[WebImageData tileInRect:fromPoint:context:]):
  5892. 2005-01-28 David Harrison <harrison@apple.com>
  5893. Reviewed by Darin.
  5894. <rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch
  5895. Use AppKit SPI _accessibilityParentForSubview to return KWQAccObject parent of AppKit AX object.
  5896. * WebView.subproj/WebHTMLView.m:
  5897. (-[WebHTMLView _accessibilityParentForSubview:]):
  5898. New.
  5899. 2005-01-28 Chris Blumenberg <cblu@apple.com>
  5900. WebKit side of: <rdar://problem/3951283> can view pages from the back/forward cache that should be disallowed by Parental Controls
  5901. Reviewed by john.
  5902. * WebView.subproj/WebDefaultPolicyDelegate.m:
  5903. (-[WebDefaultPolicyDelegate webView:shouldGoToHistoryItem:]): new private delegate method
  5904. * WebView.subproj/WebFrame.m:
  5905. (-[WebFrame _goToItem:withLoadType:]): call new delegate method
  5906. * WebView.subproj/WebPolicyDelegatePrivate.h:
  5907. 2005-01-26 Maciej Stachowiak <mjs@apple.com>
  5908. Reviewed by Darin, Hyatt and Ken.
  5909. <rdar://problem/3790449> REGRESSION (Mail): underline behavior is flaky because of how CSS handles text-decoration
  5910. * WebView.subproj/WebHTMLView.m:
  5911. (-[WebHTMLView _styleFromFontAttributes:]): Use new -khtml-text-decorations-in-effect
  5912. property
  5913. (-[WebHTMLView _styleForAttributeChange:]): likewise
  5914. (-[WebHTMLView underline:]): likewise
  5915. 2005-01-27 Ken Kocienda <kocienda@apple.com>
  5916. Reviewed by Maciej
  5917. * WebView.subproj/WebHTMLView.m:
  5918. (-[WebHTMLView _handleKillRing:prepend:]): New helper function. Code factored out from
  5919. _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:.
  5920. (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:]): No longer takes
  5921. unused preflight argument. Now takes new isTypingAction argument. Uses isTypingAction to
  5922. determine which flavor of delete command to call.
  5923. (-[WebHTMLView _deleteSelection]): No longer passes unused preflight argument. Now passes new isTypingAction argument.
  5924. (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Rearranged code to call
  5925. correct flavor of delete command, based on whether typing should be preserved. Some other cleanups.
  5926. (-[WebHTMLView deleteForward:]): Add _isEditable check.
  5927. (-[WebHTMLView deleteBackward:]): Now calls _deleteWithDirection instead of having unique behavior different
  5928. from forward delete.
  5929. (-[WebHTMLView deleteWordForward:]): Add new isTypingAction flag to _deleteWithDirection call.
  5930. (-[WebHTMLView deleteWordBackward:]): Ditto.
  5931. (-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
  5932. (-[WebHTMLView deleteToEndOfLine:]): Ditto.
  5933. (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
  5934. (-[WebHTMLView deleteToEndOfParagraph:]): Ditto.
  5935. (-[WebHTMLView deleteToMark:]): Ditto.
  5936. === Safari-181 ===
  5937. 2005-01-27 Chris Blumenberg <cblu@apple.com>
  5938. Fixed: <rdar://problem/3973272> REGRESSION: Safari uses QT plugin to display PNG images
  5939. Reviewed by john.
  5940. * Plugins.subproj/WebBasePluginPackage.m: use renamed QT bundle ID
  5941. 2005-01-26 Darin Adler <darin@apple.com>
  5942. Reviewed by John.
  5943. - fixed <rdar://problem/3829517> WebView still draws white when setDrawsBackground set to NO and no content loaded yet
  5944. * WebView.subproj/WebFrameView.m: (-[WebFrameView drawRect:]): Check drawsBackground, and don't
  5945. draw the white "no document" background if it's NO. This fixes things for frames with no document.
  5946. * WebView.subproj/WebImageView.m: (-[WebImageView drawRect:]): Same as above. This fixes things
  5947. for frames with just an image.
  5948. * WebView.subproj/WebFrame.m: (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground: on the
  5949. document view if it implements it. This fixes things for frames with plain text.
  5950. 2005-01-25 John Sullivan <sullivan@apple.com>
  5951. Reviewed by Chris.
  5952. - WebKit part of fix for: <rdar://problem/3970670> Text context menu
  5953. in WebKit needs "Look Up in Dictionary" item
  5954. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  5955. (localizedMenuTitleFromAppKit):
  5956. return English string in the case where AppKit bundle is found but doesn't
  5957. contain the expected string. This case will be hit by people testing with
  5958. an older AppKit.
  5959. (-[WebDefaultUIDelegate menuItemWithTag:]):
  5960. create Look Up in Dictionary item
  5961. (-[WebDefaultUIDelegate contextMenuItemsForElement:]):
  5962. add Look Up in Dictionary item and separator
  5963. (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]):
  5964. ditto
  5965. * WebView.subproj/WebHTMLView.m:
  5966. (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
  5967. new method, handles bringing up the Dictionary window. Includes FIXMEs
  5968. for a couple of the known loose ends.
  5969. (-[WebHTMLView validateUserInterfaceItem:]):
  5970. handle Look Up in Dictionary item like the other new items
  5971. * WebView.subproj/WebUIDelegatePrivate.h:
  5972. added SPI constant for Look Up in Dictionary menu item
  5973. 2005-01-24 Maciej Stachowiak <mjs@apple.com>
  5974. Fixed Panther build (missing ifdef)
  5975. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  5976. 2005-01-24 John Sullivan <sullivan@apple.com>
  5977. Reviewed by Darin.
  5978. - WebKit part of fix for <rdar://problem/3960231> Text context menu in WebKit needs Spotlight and Google items
  5979. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  5980. (localizedMenuTitleFromAppKit):
  5981. new function, gets localized string from AppKit so we can avoid adding localized
  5982. strings to WebKit at this late date in Tiger. Returns the non-localized English
  5983. string if we can't find the localized string in AppKit.
  5984. (-[WebDefaultUIDelegate menuItemWithTag:]):
  5985. handle the two new menu items by tag name
  5986. (-[WebDefaultUIDelegate contextMenuItemsForElement:]):
  5987. add menu items for Search in Google and Search in Spotlight to selected-text menu item
  5988. for the noneditable case
  5989. (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]):
  5990. add menu items for Search in Google and Search in Spotlight to selected-text menu item
  5991. for the editable case
  5992. * WebView.subproj/WebHTMLView.m:
  5993. (-[WebHTMLView _searchWithGoogleFromMenu:]):
  5994. implement this menu item action method, using same method name and implementation as NSTextView
  5995. (-[WebHTMLView _searchWithSpotlightFromMenu:]):
  5996. implement this menu item action method, using same basic implementation as NSTextView
  5997. (-[WebHTMLView validateUserInterfaceItem:]):
  5998. validate new menu items
  5999. * WebView.subproj/WebUIDelegatePrivate.h:
  6000. define new tags for new menu items
  6001. * English.lproj/StringsNotToBeLocalized.txt:
  6002. updated for these changes
  6003. 2005-01-24 Darin Adler <darin@apple.com>
  6004. * WebView.subproj/WebDataSource.m: (+[WebDataSource _repTypesAllowImageTypeOmission:]):
  6005. Do the same check as for view types, so the representation types are consistent.
  6006. 2005-01-24 Darin Adler <darin@apple.com>
  6007. Reviewed by John.
  6008. - fixed <rdar://problem/3791158> REGRESSION (Mail): copyFont: and pasteFont: copy and paste only the NSFont, not other attributes
  6009. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _styleFromFontAttributes:]): Added the last
  6010. few loose ends here: strikethrough and underline.
  6011. - fixed <rdar://problem/3967393> add a user default that lets you turn off WebKit PDF support
  6012. * WebView.subproj/WebFrameView.m: (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
  6013. Leave the PDF-handling classes out of the dictionary if the secret default is set.
  6014. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  6015. 2005-01-20 Darin Adler <darin@apple.com>
  6016. Reviewed by Kristin Forster.
  6017. - fixed <rdar://problem/3964972> update _initWithCGSEvent:eventRef: call in mouse moved workaround (breaks cursors in Carbon WebKit applications)
  6018. * Carbon.subproj/HIWebView.m: (MouseMoved): Instead of munging the event record's window number directly
  6019. before calling _initWithCGSEvent, on Tiger we call _eventRelativeToWindow on the event after creating it.
  6020. Also added a check so that with Macromedia Contribute's workaround in place we don't do anything at all
  6021. to the event. Tested with both Contribute and CarbonWeb.
  6022. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
  6023. 2005-01-20 Richard Williamson <rjw@apple.com>
  6024. Fixed <rdar://problem/3815672> REGRESSION (Mail): Japanese text cannot be made bold
  6025. The AppKit's font substitution API doesn't match font traits!
  6026. It only find fonts that contain the appropriate glyphs. This
  6027. patch attempts to find the best variation within a family.
  6028. Reviewed by Maciej.
  6029. * WebCoreSupport.subproj/WebTextRenderer.m:
  6030. (-[WebTextRenderer _substituteFontForString:families:]):
  6031. === Safari-180 ===
  6032. 2005-01-20 Ken Kocienda <kocienda@apple.com>
  6033. Reviewed by John
  6034. Fix for this bug:
  6035. <rdar://problem/3786659> REGRESSION (Mail): editable WebViews don't work with "size up" and "size down" NSFontManager changes
  6036. * WebView.subproj/WebHTMLView.m:
  6037. (-[WebHTMLView _addToStyle:fontA:fontB:]): This is the WebKit side of the fix. Replaced unimplemented code blocks
  6038. with FIXME's in them for make bigger and make smaller with real working code.
  6039. 2005-01-19 David Hyatt <hyatt@apple.com>
  6040. Fix for 3513067, spaces being lost when RTL text is rendered. Make sure not to allow hangers or spaces
  6041. in the margin.
  6042. Reviewed by john
  6043. * WebCoreSupport.subproj/WebTextRenderer.m:
  6044. (-[WebTextRenderer _createATSUTextLayoutForRun:style:]):
  6045. 2005-01-19 Darin Adler <darin@apple.com>
  6046. Reviewed by vicki
  6047. - fixed <rdar://problem/3962559> stopAnimationsInView leaks after cvs-base
  6048. * WebCoreSupport.subproj/WebImageData.m: (+[WebImageData stopAnimationsInView:]): add a release
  6049. 2005-01-19 Chris Blumenberg <cblu@apple.com>
  6050. Fixed: <rdar://problem/3961809> plug-in code attempts to load empty URL
  6051. Reviewed by john.
  6052. * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
  6053. (-[WebNetscapePluginEmbeddedView didStart]): don't start load if URL is empty
  6054. 2005-01-17 Darin Adler <darin@apple.com>
  6055. * DOM.subproj/DOMPrivate.h: Check in generated file.
  6056. 2005-01-17 Darin Adler <darin@apple.com>
  6057. Reviewed by John and Richard.
  6058. - fixed <rdar://problem/3907453> printing a multi-page PDF document from Safari doesn't produce correct output
  6059. * WebView.subproj/WebFrameViewPrivate.h: Added.
  6060. * WebView.subproj/WebFrameView.m:
  6061. (-[WebFrameView canPrintHeadersAndFooters]): Added. Returnes NO for documents that can't print headers or footers,
  6062. and delegates to the document view to answer the question. Defaults to NO, since only a view that actively does
  6063. the work is compatible with our header and footer code.
  6064. (-[WebFrameView printOperationWithPrintInfo:]): Added. Returns an NSPrintOperation set up for printing. The reason
  6065. we return this rather than an NSView is that in the PDFView case, the print info is changed around before creating
  6066. the NSPrintOperation, and also the PDFKit SPI works this way.
  6067. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView canPrintHeadersAndFooters]): Added. Returns YES.
  6068. * WebView.subproj/WebImageView.m: (-[WebImageView canPrintHeadersAndFooters]): Ditto.
  6069. * WebView.subproj/WebTextView.m: (-[WebTextView canPrintHeadersAndFooters]): Ditto.
  6070. * WebView.subproj/WebPDFView.m:
  6071. (-[WebPDFView canPrintHeadersAndFooters]): Added. Returns NO.
  6072. (-[WebPDFView printOperationWithPrintInfo:]): Added. Calls getPrintOperationForPrintInfo: autoRotate:YES on the PDFView.
  6073. * WebKit.pbproj/project.pbxproj: Added WebFrameViewPrivate.h as a new private header.
  6074. 2005-01-13 Chris Blumenberg <cblu@apple.com>
  6075. Fixed: <rdar://problem/3932107> Safari does not load QT Cocoa plug-in if the WebPluginMIMETypes key is not in the info.plist
  6076. Fixing this bug required that we allow WebKit plug-ins (as well as Netscape plug-ins) support BP_CreatePluginMIMETypesPreferences
  6077. which allows plug-ins create an auxiliary MIME types file.
  6078. Reviewed by adele.
  6079. * Plugins.subproj/WebBasePluginPackage.h:
  6080. * Plugins.subproj/WebBasePluginPackage.m:
  6081. (+[WebBasePluginPackage preferredLocalizationName]): moved from WebNetscapePluginPackage
  6082. (-[WebBasePluginPackage pListForPath:createFile:]): ditto
  6083. (-[WebBasePluginPackage getPluginInfoFromPLists]): ditto
  6084. (-[WebBasePluginPackage isLoaded]): return isLoaded ivar
  6085. (-[WebBasePluginPackage load]): if loaded, get BP_CreatePluginMIMETypesPreferences symbol
  6086. * Plugins.subproj/WebNetscapePluginPackage.h:
  6087. * Plugins.subproj/WebNetscapePluginPackage.m:
  6088. (-[WebNetscapePluginPackage load]): call super when done so BP_CreatePluginMIMETypesPreferences can be initialized
  6089. * Plugins.subproj/WebPluginPackage.m:
  6090. (-[WebPluginPackage initWithPath:]): call getPluginInfoFromPLists
  6091. (-[WebPluginPackage load]): call super when done so BP_CreatePluginMIMETypesPreferences can be initialized
  6092. 2005-01-13 Richard Williamson <rjw@apple.com>
  6093. Fixed <rdar://problem/3952809> WebJavaPlugIn.h comments need method name corrected (webPlugInCallJava)
  6094. Reviewed by Maciej.
  6095. * Plugins.subproj/WebJavaPlugIn.h:
  6096. === Safari-179 ===
  6097. 2005-01-13 Vicki Murley <vicki@apple.com>
  6098. Reviewed by Adele.
  6099. - fix <rdar://problem/3946836> Safari about box lists 2004 instead of 2005
  6100. * WebKit.pbproj/project.pbxproj: bump "2004" to "2005"
  6101. 2005-01-13 Richard Williamson <rjw@apple.com>
  6102. Fixed <rdar://problem/3951911> REGRESSION: Animated GIF images with loop counts no longer update
  6103. Draw last image after animation loop terminates. (We
  6104. were drawing the image at index+1, which doesn't exist!)
  6105. Reviewed by Darin.
  6106. * WebCoreSupport.subproj/WebImageData.m:
  6107. (-[WebImageData _nextFrame:]):
  6108. 2005-01-13 Richard Williamson <rjw@apple.com>
  6109. Fixed <rdar://problem/3952084> REGRESSION: Links at projectseven.com now draw and update incorrectly during hover
  6110. Turn off use of new CGContextStrokeLineSegments API. We should
  6111. turn back on when 3952944 is fixed.
  6112. Reviewed by Darin.
  6113. * WebCoreSupport.subproj/WebTextRenderer.m:
  6114. (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
  6115. 2005-01-13 Chris Blumenberg <cblu@apple.com>
  6116. Fixed: <rdar://problem/3937663> repro assertion failure and crash dragging image that has PDF source
  6117. Reviewed by adele.
  6118. * Misc.subproj/WebNSViewExtras.m:
  6119. (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]): if [WebImageRenderer image] returns nil, fallback to code that uses a file icon as the drag image
  6120. * WebCoreSupport.subproj/WebImageRendererFactory.m:
  6121. (-[WebImageRendererFactory supportedMIMETypes]): removed code that omits PDF and PostScript from the list since this omission is only needed in WebImageView
  6122. * WebView.subproj/WebImageView.m:
  6123. (+[WebImageView supportedImageMIMETypes]): added code that omits PDF and PostScript since we don't want WebImageView to render these types
  6124. 2005-01-10 Maciej Stachowiak <mjs@apple.com>
  6125. Reviewed by Darin.
  6126. <rdar://problem/3758033> REGRESSION (Mail): Support attributes in marked text (International input)
  6127. * WebCoreSupport.subproj/WebTextRenderer.m:
  6128. (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): Changed to support
  6129. underline thickness. Also added a bit of a hack here to move thickness 2 underlines down by
  6130. .5 pixels, since the rendering engine can't give a fractional pixel offset.
  6131. * WebView.subproj/WebHTMLView.m:
  6132. (-[WebHTMLView validAttributesForMarkedText]): Support underline, underline color and marked
  6133. clause attributes. Others that NSText supports are unimplemented for now.
  6134. (-[WebHTMLView firstRectForCharacterRange:]): Remove needless logging.
  6135. (-[WebHTMLView unmarkText]): Updated for new WebCore SPI.
  6136. (-[WebHTMLView _extractAttributes:ranges:fromAttributedString:]): New method to pull the attributes
  6137. and ranges out of an attributed string.
  6138. (-[WebHTMLView setMarkedText:selectedRange:]): Extract attributes and pass to WebCore.
  6139. (-[WebHTMLView insertText:]): Add comment noting that we don't really handle attributed strings
  6140. here.
  6141. 2005-01-12 Darin Adler <darin@apple.com>
  6142. Reviewed by Ken.
  6143. - fixed <rdar://problem/3848257> WebView will draw more than AppKit asks it to, so views behind won't redraw enough (transparent WebView)
  6144. * WebView.subproj/WebHTMLView.m:
  6145. (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]): As recommended by Troy Stephens, do the
  6146. layouts here in this call, since it's before propagating the dirty rects to our ancestors.
  6147. This fixes the bug, but we only do it if the WebView is not opaque, because otherwise we can
  6148. optimize by only doing layouts you really need, and doing them later on is safe because we
  6149. know we don't need to draw any of the views behind us.
  6150. (-[WebHTMLView _layoutIfNeeded]): Added. Factored out from the method below.
  6151. (-[WebHTMLView _web_layoutIfNeededRecursive]): Added. Like the other "layout if needed" call,
  6152. but unconditional.
  6153. (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]): Factored out the guts into the
  6154. _layoutIfNeeded method above. Otherwise unchanged.
  6155. (-[NSView _web_layoutIfNeededRecursive]): Added.
  6156. * WebView.subproj/WebFrame.m: (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground:NO
  6157. on the scroll view when changing the frame to no longer be in "draws background" mode. This
  6158. is needed because the frame manages the "draws background" mode of the scroll view. It won't
  6159. have any effect if you call setDrawsBackground:NO before starting to use a WebView, but without
  6160. it calling setDrawsBackground:NO later won't have an immediate effect (easily visible in Safari).
  6161. This was hidden before because the HTML view was filling with transparent color, which blew away
  6162. the fill that was done by NSScrollView.
  6163. - fixed <rdar://problem/3921129> reproducible crash at www.funnychristmas.com in CFSet manipulation in WebImageData
  6164. * WebCoreSupport.subproj/WebImageData.m:
  6165. (-[WebImageData _imageSourceOptions]): Changed types so we don't need a cast.
  6166. (+[WebImageData stopAnimationsInView:]): Instead of building a set of sets, by putting in the sets with addObject,
  6167. build a single set using unionSet, and then iterate the objects instead of having to iterate the sets and then the
  6168. objects in each set. The old code ended up sharing the sets with the live code, when the whole idea was to gather
  6169. all the renderers because the process of stopping modifies the active sets.
  6170. 2005-01-12 Richard Williamson <rjw@apple.com>
  6171. Fixed <rdar://problem/3926825> Safari ignores GIF loop count
  6172. Get loop count from file properties, not image properties.
  6173. Reviewed by Ken Kocienda.
  6174. * WebCoreSupport.subproj/WebImageData.h:
  6175. * WebCoreSupport.subproj/WebImageData.m:
  6176. (-[WebImageData _commonTermination]):
  6177. (-[WebImageData fileProperties]):
  6178. (-[WebImageData _floatProperty:type:at:]):
  6179. (-[WebImageData _floatFileProperty:type:]):
  6180. (-[WebImageData _repetitionCount]):
  6181. 2005-01-11 Chris Blumenberg <cblu@apple.com>
  6182. Fixed: <rdar://problem/3934749> assertion failure in WebBaseNetscapePluginView loading movie
  6183. Reviewed by john.
  6184. * Plugins.subproj/WebBaseNetscapePluginView.m:
  6185. (-[WebBaseNetscapePluginView start]): call canStart before asserting about the webView
  6186. 2005-01-11 John Sullivan <sullivan@apple.com>
  6187. Reviewed by Darin.
  6188. - fixed <rdar://problem/3446838> REGRESSION (Mail): text decorations don't print
  6189. (e.g. <strike>, underline)
  6190. * WebCoreSupport.subproj/WebTextRenderer.m:
  6191. (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
  6192. This bottleneck routine for drawing a line was setting the linewidth to 0 when
  6193. the graphics context was not drawing to the screen. Thus, no lines. Now links
  6194. are underlined when printing from Safari (as well as Mail).
  6195. 2005-01-11 Richard Williamson <rjw@apple.com>
  6196. Fixed 3949145. CG has a much faster API for drawing lines.
  6197. Switched over to that new API (CGContextStrokeLineSegments).
  6198. Reviewed by John Sullivan.
  6199. * WebCoreSupport.subproj/WebTextRenderer.m:
  6200. (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
  6201. 2005-01-10 Chris Blumenberg <cblu@apple.com>
  6202. Fixed: <rdar://problem/3948862> REGRESSION: missing images when RTFD is pasted into editable WebView
  6203. This problem occurred because we were creating image elements before creating corresponding image resources. The fix is to have AppKit call us back to create the resources before it creates the elements.
  6204. Reviewed by john.
  6205. * WebView.subproj/WebHTMLView.m:
  6206. (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): don't deal with subresources since that's now done by the following method
  6207. (-[WebHTMLView resourceForData:preferredFilename:]): new handler method called by AppKit
  6208. === Safari-178 ===
  6209. 2005-01-06 David Harrison <harrison@apple.com>
  6210. Reviewed by Dave Hyatt
  6211. <rdar://problem/3588548> AX: tabbing does not work correctly with the screen reader and a focused link; need AXFocusedUIElement to work.
  6212. * WebView.subproj/WebHTMLView.m:
  6213. (-[WebHTMLView accessibilityFocusedUIElement]):
  6214. Implement this so that AppKit can use it from NSAccessibilityHandleFocusChanged.
  6215. 2005-01-05 Chris Blumenberg <cblu@apple.com>
  6216. Fixed: <rdar://problem/3936865> REGRESSION: canvas.drawImage no longer scales properly
  6217. Reviewed by john.
  6218. * WebCoreSupport.subproj/WebImageData.m: use the height of the inRect instead of the fromRect when setting the origin of the context
  6219. 2005-01-04 Chris Blumenberg <cblu@apple.com>
  6220. Fixed: <rdar://problem/3928329> WebKit should pass nil for "language" to checkSpellingOfString:
  6221. Reviewed by kocienda.
  6222. * WebView.subproj/WebHTMLView.m:
  6223. (-[WebHTMLView _isSelectionMisspelled]): pass nil not @"" for language
  6224. 2004-12-21 Maciej Stachowiak <mjs@apple.com>
  6225. Reviewed by Darin.
  6226. <rdar://problem/3888931> frame naming allows malicious site to bring up a window when you click on a link in another
  6227. Implement a security check on name frame visbility. This is the
  6228. same rule as mozilla. You can only target frames by name if you
  6229. are in the same window, have the same domain as the frame or an
  6230. ancestor, or if it's a top level window have the same domain as
  6231. the opener.
  6232. * WebView.subproj/WebFrame.m:
  6233. (-[WebFrame _shouldAllowAccessFrom:]):
  6234. (-[WebFrame _descendantFrameNamed:sourceFrame:]):
  6235. (-[WebFrame findFrameNamed:]):
  6236. * WebView.subproj/WebFramePrivate.h:
  6237. * WebView.subproj/WebView.m:
  6238. (-[WebView _findFrameInThisWindowNamed:sourceFrame:]):
  6239. (-[WebView _findFrameNamed:sourceFrame:]):
  6240. * WebView.subproj/WebViewPrivate.h:
  6241. === Safari-177 ===
  6242. === Safari-176 ===
  6243. 2004-12-20 Richard Williamson <rjw@apple.com>
  6244. Add call to new API. ImageIO deprecated some older (although
  6245. quite new!) API. This caused us to fail to build on 337 or later.
  6246. Developers wanting to build on older versions of Tiger must define
  6247. USE_DEPRECATED_IMAGESOURCE_API in WebImageData.m.
  6248. Reviewed by Vicki.
  6249. * WebCoreSupport.subproj/WebImageData.m:
  6250. (-[WebImageData propertiesAtIndex:]):
  6251. 2004-12-20 Richard Williamson <rjw@apple.com>
  6252. Don't call Tiger SPI on Panther.
  6253. Reviewed by Vicki.
  6254. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  6255. (+[WebTextRendererFactory createSharedFactory]):
  6256. 2004-12-20 Richard Williamson <rjw@apple.com>
  6257. Fixed <rdar://problem/3884448> WebKit should turn on CG local font cache
  6258. Enable mutli-tier font caching. We should see a performance boost with this
  6259. change.
  6260. Reviewed by Chris.
  6261. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  6262. (+[WebTextRendererFactory createSharedFactory]):
  6263. 2004-12-20 Richard Williamson <rjw@apple.com>
  6264. Fix image decoding to separately decode image meta data from actual image bits. I
  6265. incorrectly consolidated decode of meta data and image bits resulting in a huge
  6266. performance regression.
  6267. Double size of WebCore cache on lower end machines. On the PLT run on machines with
  6268. 256MB of memory, too many images were being evicted, causing a re-decode on the PLT.
  6269. Upping the lower limit of the cache size ensure that no images are evicted (this
  6270. goes hand-in-hand with the change to the minimum object size from 32K to 40K).
  6271. Reviewed by Ken.
  6272. * WebCoreSupport.subproj/WebImageData.h:
  6273. * WebCoreSupport.subproj/WebImageData.m:
  6274. (+[WebImageData initialize]):
  6275. (-[WebImageData _commonTermination]):
  6276. (-[WebImageData _invalidateImages]):
  6277. (-[WebImageData _invalidateImageProperties]):
  6278. (-[WebImageData imageAtIndex:]):
  6279. (-[WebImageData propertiesAtIndex:]):
  6280. (-[WebImageData _cacheImages:allImages:]):
  6281. (-[WebImageData decodeData:isComplete:callback:]):
  6282. (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
  6283. * WebView.subproj/WebPreferences.m:
  6284. (+[WebPreferences initialize]):
  6285. 2004-12-20 Richard Williamson <rjw@apple.com>
  6286. Fixed build problem caused by change to ImageIO API.
  6287. Reviewed by Adele.
  6288. * WebCoreSupport.subproj/WebImageData.m:
  6289. 2004-12-19 Darin Adler <darin@apple.com>
  6290. Reviewed by Kevin.
  6291. - some garbage collection fixes
  6292. * Misc.subproj/WebNSObjectExtras.h: (WebCFAutorelease): Replaced the old WebNSRetainCFRelease with this
  6293. much-easier-to-understand function cribbed from what David Harrison did in WebCore.
  6294. * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Use CFRelease here to
  6295. get rid of an unnecessary use of WebNSRetainCFRelease.
  6296. * Misc.subproj/WebNSURLExtras.m:
  6297. (+[NSURL _web_URLWithData:relativeToURL:]): Use WebCFAutorelease instead of WebNSRetainCFRelease and autorelease.
  6298. (-[NSURL _web_URLWithLowercasedScheme]): Ditto.
  6299. (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Use WebCFAutorelease here; the old code would not
  6300. work correctly under GC.
  6301. * Plugins.subproj/WebNetscapePluginPackage.m: (+[WebNetscapePluginPackage preferredLocalizationName]):
  6302. Use WebCFAutorelease here; the old code would not work correctly under GC.
  6303. 2004-12-18 Chris Blumenberg <cblu@apple.com>
  6304. Fixed: <rdar://problem/3766915> PDF content needs search to work
  6305. Reviewed by kevin, john.
  6306. * WebView.subproj/WebPDFView.m:
  6307. (-[WebPDFView searchFor:direction:caseSensitive:wrap:]): implemented
  6308. (-[WebPDFView takeFindStringFromSelection:]): new
  6309. (-[WebPDFView jumpToSelection:]): new
  6310. (-[WebPDFView validateUserInterfaceItem:]): new
  6311. 2004-12-17 Richard Williamson <rjw@apple.com>
  6312. Make image decoding as lazy as possible for non threaded case; in some cases
  6313. can avoid unnecessary decoding work.
  6314. Reviewed by Chris.
  6315. * WebCoreSupport.subproj/WebImageData.h:
  6316. * WebCoreSupport.subproj/WebImageData.m:
  6317. (-[WebImageData imageAtIndex:]):
  6318. (-[WebImageData propertiesAtIndex:]):
  6319. (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
  6320. 2004-12-16 John Sullivan <sullivan@apple.com>
  6321. Reviewed by Chris.
  6322. One of the assertions from my previous checkin fired, so
  6323. I made this code more robust.
  6324. * WebCoreSupport.subproj/WebBridge.m:
  6325. (-[WebBridge _preferences]):
  6326. new helper method, returns global preferences if webView is nil,
  6327. otherwise returns webView's preferences
  6328. (-[WebBridge getObjectCacheSize]):
  6329. use new helper method, remove now-unnecessary assert
  6330. (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
  6331. ditto
  6332. 2004-12-16 John Sullivan <sullivan@apple.com>
  6333. Reviewed by Darin.
  6334. - fixed <rdar://problem/3913523> Mail needs SPI for adding tooltips to links
  6335. - cleaned up some calls to +[WebPreferences standardPreferences] that should
  6336. have been using -[WebView preferences]
  6337. This adds a (currently SPI-only) new feature that shows the URL of the link
  6338. under the mouse in a toolTip. I tested this in Safari, but we're adding this
  6339. feature for Mail, and Safari won't use it (unless of course you know the
  6340. magic defaults command)
  6341. * Plugins.subproj/WebBaseNetscapePluginView.m:
  6342. (-[WebBaseNetscapePluginView start]):
  6343. use -[WebView preferences] instead of +[WebPreferences standardPreferences]
  6344. * WebCoreSupport.subproj/WebBridge.m:
  6345. (-[WebBridge getObjectCacheSize]):
  6346. ditto
  6347. (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
  6348. ditto
  6349. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  6350. (-[WebBaseResourceHandleDelegate willCacheResponse:]):
  6351. ditto
  6352. * WebView.subproj/WebFrame.m:
  6353. (-[WebFrame _transitionToCommitted:]):
  6354. ditto
  6355. (-[WebFrame _loadItem:withLoadType:]):
  6356. ditto
  6357. * WebView.subproj/WebHTMLViewInternal.h:
  6358. private struct now keeps ivar for cached value of showsURLsInToolTips
  6359. so it doesn't have look it up in preferences a zillion times
  6360. * WebView.subproj/WebHTMLView.m:
  6361. (-[WebHTMLView _updateMouseoverWithEvent:]):
  6362. if private->showsURLsInToolTips is true, set the toolTip from the URL.
  6363. Fall back to showing the title attribute in case some element has a title
  6364. attribute but no URL.
  6365. (-[WebHTMLView _mayStartDragAtEventLocation:]):
  6366. use -[WebView preferences] instead of +[WebPreferences standardPreferences]
  6367. (-[WebHTMLView _resetCachedWebPreferences:]):
  6368. get a fresh value for private->showsURLsInToolTips
  6369. (-[WebHTMLView initWithFrame:]):
  6370. call _resetCachedWebPreferences the first time, and listen for WebPreferencesChanged notifications
  6371. (-[WebHTMLView _handleStyleKeyEquivalent:]):
  6372. use -[WebView preferences] instead of +[WebPreferences standardPreferences]
  6373. * WebView.subproj/WebPreferenceKeysPrivate.h:
  6374. added WebKitShowsURLsInToolTipsPreferenceKey
  6375. * WebView.subproj/WebPreferences.m:
  6376. (+[WebPreferences initialize]):
  6377. initialize WebKitShowsURLsInToolTipsPreferenceKey to 0
  6378. (-[WebPreferences showsURLsInToolTips]):
  6379. return WebKitShowsURLsInToolTipsPreferenceKey value
  6380. (-[WebPreferences setShowsURLsInToolTips:]):
  6381. set WebKitShowsURLsInToolTipsPreferenceKey value
  6382. * WebView.subproj/WebPreferencesPrivate.h:
  6383. add declarations for showsURLsInToolTips and setter
  6384. * WebView.subproj/WebTextView.m:
  6385. (-[WebTextView _preferences]):
  6386. new helper method that gets preferences from webView if there is a webView,
  6387. otherwise gets global preferences
  6388. (-[WebTextView setFixedWidthFont]):
  6389. use new helper method rather than always using global preferences
  6390. (-[WebTextView initWithFrame:]):
  6391. observe WebPreferencesChangedNotification instead of unnecessarily general
  6392. NSUserDefaultsChangedNotification
  6393. 2004-12-14 John Sullivan <sullivan@apple.com>
  6394. Reviewed by Ken.
  6395. - rest of WebKit fix for <rdar://problem/3790011> undoable operations all say "Undo"
  6396. in the menu, no specific action names
  6397. I only know of one loose end currently, which I wrote up as <rdar://problem/3920971> Edit menu
  6398. says "Undo Change Attributes" when it should say "Undo Set Color", from font panel
  6399. * WebView.subproj/WebHTMLView.m:
  6400. (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
  6401. use WebUndoActionSetColor when dragging color swatch
  6402. (-[WebHTMLView _applyStyleToSelection:withUndoAction:]):
  6403. new WebUndoAction parameter, passed across bridge
  6404. (-[WebHTMLView _toggleBold]):
  6405. use WebUndoActionSetFont
  6406. (-[WebHTMLView _toggleItalic]):
  6407. use WebUndoActionSetFont
  6408. (-[WebHTMLView pasteFont:]):
  6409. use WebUndoActionPasteFont
  6410. (-[WebHTMLView changeFont:]):
  6411. use WebUndoActionSetFont
  6412. (-[WebHTMLView changeAttributes:]):
  6413. use WebUndoActionChangeAttributes
  6414. (-[WebHTMLView _undoActionFromColorPanelWithSelector:]):
  6415. new method, returns WebUndoActionSetBackgroundColor or WebUndoActionSetColor
  6416. (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
  6417. now calls _undoActionFromColorPanelWithSelector
  6418. (-[WebHTMLView changeColor:]):
  6419. use WebUndoActionSetColor
  6420. (-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]):
  6421. new WebUndoAction parameter, passed through
  6422. (-[WebHTMLView alignCenter:]):
  6423. use WebUndoActionCenter
  6424. (-[WebHTMLView alignJustified:]):
  6425. use WebUndoActionJustify
  6426. (-[WebHTMLView alignLeft:]):
  6427. use WebUndoActionAlignLeft
  6428. (-[WebHTMLView alignRight:]):
  6429. use WebUndoActionAlignRight
  6430. (-[WebHTMLView subscript:]):
  6431. use WebUndoActionAlignSubscript
  6432. (-[WebHTMLView superscript:]):
  6433. use WebUndoActionAlignSuperscript
  6434. (-[WebHTMLView unscript:]):
  6435. use WebUndoActionAlignUnscript
  6436. (-[WebHTMLView underline:]):
  6437. use WebUndoActionAlignUnderline
  6438. * WebView.subproj/WebView.m:
  6439. (-[WebView setTypingStyle:]):
  6440. pass WebUndoActionUnspecified through as new parameter since we don't have any more specific info
  6441. (-[WebView applyStyle:]):
  6442. ditto
  6443. 2004-12-14 Richard Williamson <rjw@apple.com>
  6444. Helper method to get URL of plugin view.
  6445. Reviewed by Chris.
  6446. * Misc.subproj/WebNSViewExtras.m:
  6447. (-[NSView _webViewURL]):
  6448. 2004-12-14 Vicki Murley <vicki@apple.com>
  6449. Reviewed by rjw.
  6450. <rdar://problem/3855573> Remove reference to "WebScriptMethods" from WebScriptObject.h comments
  6451. * Plugins.subproj/WebPlugin.h: changed instances of "WebScriptMethods" to "WebScripting" in this
  6452. file as well, as requested in the bug report
  6453. 2004-12-13 Maciej Stachowiak <mjs@apple.com>
  6454. Reviewed by John.
  6455. <rdar://problem/3912488> Mail throws an exception after backspacing "away" inline input
  6456. * WebView.subproj/WebHTMLView.m:
  6457. (-[WebHTMLView setMarkedText:selectedRange:]): Don't try to set a selection if
  6458. we end up with no marked text, since that case fails and is unnecessary.
  6459. 2004-12-14 John Sullivan <sullivan@apple.com>
  6460. Reviewed by Ken.
  6461. - WebKit part of plumbing of fix for <rdar://problem/3790011> undoable operations all say "Undo" in the menu,
  6462. no specific action names
  6463. * WebCoreSupport.subproj/WebBridge.m:
  6464. (-[WebBridge nameForUndoAction:]):
  6465. renamed from setUndoActionNamePlaceholder, replaced arbitrary integers with enum values, and
  6466. handled new "unspecified" case as a fallback
  6467. 2004-12-13 Richard Williamson <rjw@apple.com>
  6468. Fixed <rdar://problem/3887767> LiveConnect doesn't propagate Java exceptions back to JavaScript (prevents security suite from running)
  6469. Reviewed by John.
  6470. * Plugins.subproj/WebJavaPlugIn.h:
  6471. 2004-12-13 John Sullivan <sullivan@apple.com>
  6472. Reviewed by Maciej.
  6473. - fixed <rdar://problem/3744583> Safari can not quit when a webpage has a login sheet
  6474. that can't be cancelled.
  6475. The proper fix for this would be to change the class of the NSPanel in the nib file.
  6476. But since this would require a localization change, I did a run-time hack instead.
  6477. I'll file a bug about fixing this when we're out of localization freeze.
  6478. * Panels.subproj/WebAuthenticationPanel.m:
  6479. (-[WebAuthenticationPanel replacePanelWithSubclassHack]):
  6480. new method, creates a new panel that is identical to the original one except that
  6481. it's our subclass, and moves all the subviews of the original panel into the new one.
  6482. (-[WebAuthenticationPanel loadNib]):
  6483. call replacePanelWithSubclassHack
  6484. (-[NonBlockingPanel _blocksActionWhenModal:]):
  6485. only method of new NSPanel subclass; overrides this SPI to allow the user to quit
  6486. when one of these panels/sheets is on-screen
  6487. 2004-12-10 Richard Williamson <rjw@apple.com>
  6488. Fixed <rdar://problem/3898708> REGRESSION (8A314-8A317): World Clock's short hand not displayed (ImageIO problem with PDF?)
  6489. Fixed <rdar://problem/3914012> use CG directly for pdf images not ImageIO
  6490. Create a PDF document and draw that instead of using ImageIO to create a rasterized image.
  6491. Reviewed by Maciej.
  6492. * WebCoreSupport.subproj/WebImageData.h:
  6493. * WebCoreSupport.subproj/WebImageData.m:
  6494. (-[WebImageData setIsPDF:]):
  6495. (-[WebImageData isPDF]):
  6496. (-[WebImageData dealloc]):
  6497. (-[WebImageData decodeData:isComplete:callback:]):
  6498. (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
  6499. (-[WebImageData size]):
  6500. (-[WebImageData animate]):
  6501. (-[WebImageData _createPDFWithData:]):
  6502. (-[WebImageData _PDFDocumentRef]):
  6503. (-[WebImageData _PDFDrawInContext:]):
  6504. (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]):
  6505. * WebCoreSupport.subproj/WebImageRenderer.h:
  6506. * WebCoreSupport.subproj/WebImageRenderer.m:
  6507. (-[WebImageRenderer size]):
  6508. (-[WebImageRenderer incrementalLoadWithBytes:length:complete:callback:]):
  6509. (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
  6510. (_createImageRef):
  6511. 2004-12-10 John Sullivan <sullivan@apple.com>
  6512. Reviewed by Ken.
  6513. - fixed <rdar://problem/3855127> Error while printing w/o sheet, then window is left in a bad state,
  6514. if there's no default printer set
  6515. * WebView.subproj/WebHTMLView.m:
  6516. (-[WebHTMLView beginDocument]):
  6517. Our implementation of knowsPageRange puts the WebHTMLView into a special "printing mode". We must
  6518. exit the "printing mode" to return to normal behavior. This is normally done in endDocument.
  6519. However, it turns out that if there's an exception in [super beginDocument], then endDocument
  6520. will not be called (lame-o AppKit API). So, we handle that case by catching the exception and
  6521. exiting the "printing mode" in beginDocument when it occurs.
  6522. 2004-12-09 Richard Williamson <rjw@apple.com>
  6523. Fixed <rdar://problem/3905789> Burn Disc image vibrates rapidly
  6524. Restrict our support for animated images to GIF. We used to
  6525. use presence of more than one image in a resource to determine
  6526. if an image should be animated. This caused us to animate icns!
  6527. If we ever support any other animated image formats we'll have
  6528. to extend.
  6529. Reviewed by Hyatt.
  6530. * WebCoreSupport.subproj/WebImageData.h:
  6531. * WebCoreSupport.subproj/WebImageData.m:
  6532. (-[WebImageData shouldAnimate]):
  6533. * WebCoreSupport.subproj/WebImageRenderer.m:
  6534. (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
  6535. 2004-12-09 Richard Williamson <rjw@apple.com>
  6536. Make WebPluginDatabase.h private (Dashboard needs SPI).
  6537. * WebKit.pbproj/project.pbxproj:
  6538. === Safari-175 ===
  6539. 2004-12-09 Chris Blumenberg <cblu@apple.com>
  6540. Workaround for this exception being raised during download:
  6541. [WebDownload connection:willStopBufferingData:]: selector not recognized
  6542. Reviewed by john.
  6543. * Misc.subproj/WebDownload.m:
  6544. (-[WebDownload connection:willStopBufferingData:]): implement this method so no exception is raised. It is a bug in Foundation that this method is being called, but it's too late to fix Foundation since it has already been submitted this week. This workaround will prevent any problems from affecting users.
  6545. 2004-12-08 Richard Williamson <rjw@apple.com>
  6546. Fixed <rdar://problem/3911719> REGRESSION: Images no longer scale vertically
  6547. Account for scaling correctly when taking into account progressively
  6548. loaded images.
  6549. Also added implementation of repetition count for animated GIF images.
  6550. Also replaced strings with new constants from CFImageProperties.h
  6551. Also fixed possible problem with -(NSSize)size implementation,
  6552. relevant to Panther only.
  6553. Reviewed by Chris.
  6554. * WebCoreSupport.subproj/WebImageData.m:
  6555. (-[WebImageData _floatProperty:type:at:]):
  6556. (-[WebImageData _frameDurationAt:]):
  6557. (-[WebImageData _repetitionCount]):
  6558. * WebCoreSupport.subproj/WebImageRenderer.m:
  6559. (-[WebImageRenderer size]):
  6560. 2004-12-08 Chris Blumenberg <cblu@apple.com>
  6561. Removed NPN wrappers since these no longer need to be defined to make the QT plug-in work
  6562. since 3828925 has been fixed.
  6563. Reviewed by john.
  6564. * Plugins.subproj/WebNetscapePluginPackage.m:
  6565. (-[WebNetscapePluginPackage load]): use under-bar symbols since non-under-bar wrappers have been removed
  6566. * Plugins.subproj/npapi.m: removed NPN wrappers
  6567. * WebKit.exp: removed symbols
  6568. 2004-12-08 Ken Kocienda <kocienda@apple.com>
  6569. Reviewed by Darin
  6570. * WebView.subproj/WebHTMLView.m:
  6571. (-[WebHTMLView drawRect:]): Work around for this bug:
  6572. <rdar://problem/3908282> REGRESSION (Mail): No drag image dragging selected text in Blot and Mail
  6573. The reason for the workaround is that this method is called explicitly from the code
  6574. to generate a drag image, and at that time, getRectsBeingDrawn:count: will return a zero count.
  6575. This code change uses the passed-in rect when the count is zero.
  6576. 2004-12-07 Administrator <cblu@apple.com>
  6577. Support for fix for:
  6578. <rdar://problem/3734309> Safari doesn't open folders in title bar menu with non-Roman names using Cmd+click
  6579. Reviewed by john.
  6580. * Misc.subproj/WebNSURLExtras.h:
  6581. * Misc.subproj/WebNSURLExtras.m:
  6582. (+[NSURL _web_URLWithUserTypedString:relativeToURL:]): renamed to take relativeToURL parameter
  6583. (+[NSURL _web_URLWithUserTypedString:]): call _web_URLWithUserTypedString:relativeToURL: with nil for URL
  6584. 2004-12-07 Richard Williamson <rjw@apple.com>
  6585. Fixed <rdar://problem/3905564> REGRESSION (Tiger); in History menu, pixel size appears but is wrong for standalone images in Safari.
  6586. Reviewed by Chris.
  6587. * WebCoreSupport.subproj/WebImageRenderer.m:
  6588. (-[WebImageRenderer size]):
  6589. 2004-12-07 Richard Williamson <rjw@apple.com>
  6590. Support threaded image decoding on machines w/ >= 2 CPUs.
  6591. Reviewed by Maciej and Chris.
  6592. * Misc.subproj/WebKitSystemBits.h:
  6593. * Misc.subproj/WebKitSystemBits.m:
  6594. (WebSystemMainMemory):
  6595. (WebNumberOfCPUs):
  6596. * WebCoreSupport.subproj/WebImageData.h:
  6597. * WebCoreSupport.subproj/WebImageData.m:
  6598. (+[WebImageData initialize]):
  6599. (-[WebImageData init]):
  6600. (-[WebImageData _commonTermination]):
  6601. (-[WebImageData dealloc]):
  6602. (-[WebImageData _invalidateImages]):
  6603. (-[WebImageData _imageSourceOptions]):
  6604. (-[WebImageData imageAtIndex:]):
  6605. (-[WebImageData propertiesAtIndex:]):
  6606. (-[WebImageData _createImages]):
  6607. (-[WebImageData decodeData:isComplete:callback:]):
  6608. (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
  6609. (drawPattern):
  6610. (-[WebImageData tileInRect:fromPoint:context:]):
  6611. (-[WebImageData isNull]):
  6612. (-[WebImageData size]):
  6613. (-[WebImageData _frameDurationAt:]):
  6614. (-[WebImageData _frameDuration]):
  6615. (+[WebImageData stopAnimationsInView:]):
  6616. (-[WebImageData addAnimatingRenderer:inView:]):
  6617. (-[WebImageData removeAnimatingRenderer:]):
  6618. * WebCoreSupport.subproj/WebImageDecodeItem.h: Added.
  6619. * WebCoreSupport.subproj/WebImageDecodeItem.m: Added.
  6620. (+[WebImageDecodeItem decodeItemWithImage:data:isComplete:callback:]):
  6621. (-[WebImageDecodeItem initWithImage:data:isComplete:callback:]):
  6622. (-[WebImageDecodeItem finalize]):
  6623. (-[WebImageDecodeItem dealloc]):
  6624. * WebCoreSupport.subproj/WebImageDecoder.h: Added.
  6625. * WebCoreSupport.subproj/WebImageDecoder.m: Added.
  6626. (decoderNotifications):
  6627. (+[WebImageDecoder initialize]):
  6628. (+[WebImageDecoder notifyMainThread]):
  6629. (+[WebImageDecoder sharedDecoder]):
  6630. (+[WebImageDecoder performDecodeWithImage:data:isComplete:callback:]):
  6631. (+[WebImageDecoder imageDecodesPending]):
  6632. (+[WebImageDecoder decodeComplete:status:]):
  6633. (-[WebImageDecoder init]):
  6634. (-[WebImageDecoder dealloc]):
  6635. (-[WebImageDecoder finalize]):
  6636. (-[WebImageDecoder removeItem]):
  6637. (-[WebImageDecoder addItem:]):
  6638. (-[WebImageDecoder decodeItem:]):
  6639. (decoderThread):
  6640. (startDecoderThread):
  6641. * WebCoreSupport.subproj/WebImageRenderer.m:
  6642. (-[WebImageRenderer initWithData:MIMEType:]):
  6643. (-[WebImageRenderer initWithContentsOfFile:]):
  6644. (-[WebImageRenderer incrementalLoadWithBytes:length:complete:callback:]):
  6645. (-[WebInternalImage incrementalLoadWithBytes:length:complete:callback:]):
  6646. * WebKit.pbproj/project.pbxproj:
  6647. * WebView.subproj/WebImageRepresentation.m:
  6648. (-[WebImageRepresentation receivedData:withDataSource:]):
  6649. (-[WebImageRepresentation receivedError:withDataSource:]):
  6650. (-[WebImageRepresentation finishedLoadingWithDataSource:]):
  6651. 2004-12-07 Chris Blumenberg <cblu@apple.com>
  6652. Fix for performance regression.
  6653. Reviewed by kevin.
  6654. * WebCoreSupport.subproj/WebBridge.m:
  6655. (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): construct the WebResource without copying the data
  6656. 2004-12-07 Chris Blumenberg <cblu@apple.com>
  6657. Fixed: <rdar://problem/3909243> REGRESSION: large standalone images stop loading part way through
  6658. Reviewed by kevin.
  6659. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  6660. * WebView.subproj/WebMainResourceClient.m:
  6661. (-[WebMainResourceClient addData:]): call super so it buffers the data
  6662. 2004-12-06 Richard Williamson <rjw@apple.com>
  6663. Use the AppKit's font rendering mode. This fixes 3905347, but we still need to track down
  6664. and resolve why metrics have changed for Courier. This may be caused by changes in
  6665. AppKit for 3902394.
  6666. Reviewed by John.
  6667. * WebCoreSupport.subproj/WebTextRenderer.m:
  6668. (_AppkitGetCGRenderingMode):
  6669. (getUncachedWidth):
  6670. (_drawGlyphs):
  6671. 2004-12-06 Chris Blumenberg <cblu@apple.com>
  6672. Forgot to commit copied header.
  6673. * DOM.subproj/DOMPrivate.h:
  6674. 2004-12-06 Chris Blumenberg <cblu@apple.com>
  6675. Fixed: <rdar://problem/3907381> NSURLConnection and WebKit buffer 2 copies of incoming data
  6676. Reviewed by darin.
  6677. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  6678. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  6679. (+[WebBaseResourceHandleDelegate initialize]): cache check to see if Foundation supports access to its buffered data
  6680. (-[WebBaseResourceHandleDelegate addData:]): don't buffer data if Foundation is buffering it for us
  6681. (-[WebBaseResourceHandleDelegate saveResource]): when creating a WebResource, pass NO for copyData since we know it won't be mutated
  6682. (-[WebBaseResourceHandleDelegate resourceData]): return the buffered data from the connection if it supports it
  6683. (-[WebBaseResourceHandleDelegate willStopBufferingData:]): make a mutable copy of the data from NSURLConnection so we can continue buffering
  6684. (-[WebBaseResourceHandleDelegate willCacheResponse:]): removed optimization that used the cached response data to save the resource since that is obsolete by this change
  6685. (-[WebBaseResourceHandleDelegate connection:willStopBufferingData:]): new callback from NSURLConnection, informs us that NSURLConnection has given up buffering
  6686. * WebView.subproj/WebDataSource.m:
  6687. (-[WebDataSource _receivedData:]): removed buffering code since that's done by NSURLConnection and the main client
  6688. (-[WebDataSource _setData:]): removed unnecessary cast since the resourceData ivar is now an NSData instead of NSMutableData
  6689. (-[WebDataSource data]): return resourceData ivar, else return the resourceData from the main client
  6690. * WebView.subproj/WebDataSourcePrivate.h:
  6691. * WebView.subproj/WebMainResourceClient.m:
  6692. (-[WebMainResourceClient releaseResources]): store resourceData on the data source so it can continue to have data after the main client has gone away
  6693. (-[WebMainResourceClient connection:didReceiveData:lengthReceived:]):don't call [dataSource data] just to get the length of data received since [dataSource data] can now cause data to be copied
  6694. (-[WebMainResourceClient connectionDidFinishLoading:]): ditto
  6695. * WebView.subproj/WebResource.m:
  6696. (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call following method with YES for copyData
  6697. (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:copyData:]): new initializer, allows caller to choose whether or not the data is copied
  6698. * WebView.subproj/WebResourcePrivate.h:
  6699. 2004-12-06 Richard Williamson <rjw@apple.com>
  6700. Fixed <rdar://problem/3903749> REGRESSION (8A321): WebKit gets incorrect glyph metrics due to change in how AppKit uses CGFont
  6701. Use CGFontRef direction when both getting font metrics and drawing
  6702. glyphs, instead on depending on [NSFont set].
  6703. Reviewed by John.
  6704. * WebCoreSupport.subproj/WebTextRenderer.m:
  6705. (getUncachedWidth):
  6706. (_drawGlyphs):
  6707. 2004-12-06 Ken Kocienda <kocienda@apple.com>
  6708. Reviewed by Harrison
  6709. Fix for this bug:
  6710. <rdar://problem/3906930> Hitting return key in editable content inserts br elements instead of blocks
  6711. * WebView.subproj/WebHTMLView.m:
  6712. (-[WebHTMLView insertNewline:]): One-line change to call insert-block rather than insert-br method
  6713. on bridge.
  6714. 2004-12-04 Darin Adler <darin@apple.com>
  6715. Reviewed by John.
  6716. - fixed <rdar://problem/3846079> assertion failure in WebHTMLView(WebPrivate) removeTrackingRect at boots.com
  6717. - fixed <rdar://problem/3857737> REGRESSION (165-166): clicking in a text field that's scrolled to the right causes it to scroll all the way left
  6718. - fixed <rdar://problem/3861952> REGRESSION (165-166): selection is cleared when you start to scroll a frame
  6719. * WebView.subproj/WebHTMLViewInternal.h: Added handlingMouseDown flag.
  6720. * WebView.subproj/WebHTMLView.m:
  6721. (-[WebHTMLView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]): Allow passing in a
  6722. tracking number of 0, which means no existing tracking number.
  6723. (-[WebHTMLView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]): Ditto.
  6724. (-[WebHTMLView removeTrackingRect:]): Allow removing a tracking number of 0, which is a no-op.
  6725. (-[WebHTMLView _removeTrackingRects:count:]): Ditto.
  6726. (-[WebHTMLView acceptsFirstResponder]): Changed check to use handlingMouseDown flag instead of mouseDownEvent
  6727. field since that field is set up too early in the mouse down event handling process.
  6728. (-[WebHTMLView mouseDown:]): Added code to set handlingMouseDown flag.
  6729. - fixed part of <rdar://problem/3829808> Safari crashes when adding a DOM node that was removed from an XMLHTTP request result
  6730. * WebCoreSupport.subproj/WebBridge.m:
  6731. (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
  6732. Changed code around so that it won't try to create a WebResource when the load fails.
  6733. - moved next/previous links into private structure with the rest of WebFrame fields
  6734. (We have a rule against putting new fields into obejcts that are part of our public API.)
  6735. * WebView.subproj/WebFrame.h: Remove _nextSibling and _previousSibling.
  6736. * WebView.subproj/WebFramePrivate.h: Added nextSibling and previousSibling fields to private class.
  6737. * WebView.subproj/WebFrame.m: Got rid of some tabs in this file.
  6738. (-[WebFrame _addChild:]): Changed code to use fields inside _private.
  6739. (-[WebFrame _removeChild:]): Ditto.
  6740. (-[WebFrame _nextFrameWithWrap:]): Ditto.
  6741. (-[WebFrame _previousFrameWithWrap:]): Ditto.
  6742. 2004-12-04 Chris Blumenberg <cblu@apple.com>
  6743. New fixes for:
  6744. <rdar://problem/3685766> WebDataSource is missing subresources when they use cached WebCore data
  6745. <rdar://problem/3722434> REGRESSION?: Assertion failure trying to drag image in iframe (itapema.sc.gov.br)
  6746. <rdar://problem/3903173> REGRESSION (172-TOT): assertion failure and crash in slotAllData logging into hotmail account
  6747. <rdar://problem/3902749> REGRESSION (Tiger): missing image symbol does not appear
  6748. Reviewed by darin, rjw, kocienda.
  6749. * WebCoreSupport.subproj/WebBridge.m:
  6750. (-[WebBridge objectLoadedFromCacheWithURL:response:data:]):
  6751. (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
  6752. * WebCoreSupport.subproj/WebSubresourceClient.m:
  6753. (-[WebSubresourceClient didFinishLoading]):
  6754. * WebView.subproj/WebFrame.m:
  6755. (-[WebFrame _opened]):
  6756. (-[WebFrame _internalLoadDelegate]):
  6757. (-[WebFrame _sendResourceLoadDelegateMessagesForURL:response:length:]):
  6758. * WebView.subproj/WebFrameInternal.h:
  6759. 2004-12-04 Darin Adler <darin@apple.com>
  6760. Reviewed by Maciej.
  6761. - fixed remaining bit of <rdar://problem/3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window
  6762. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _styleFromFontAttributes:]): When translating from
  6763. an attribute dictionary to a CSS declaration, treat missing values according to the defaults defined
  6764. in <AppKit/NSAttributedString.h>. Before the code was treating them as "no change", which is incorrect.
  6765. * English.lproj/StringsNotToBeLocalized.txt: Add a string from the above change.
  6766. === Safari-173 ===
  6767. 2004-12-03 Ken Kocienda <kocienda@apple.com>
  6768. Reviewed by me
  6769. Roll out some recent changes by Chris that caused a performance regression.
  6770. Fix is in hand, but it is a little risky this close to a submission. So,
  6771. we have decided to roll back the change with the regression and roll in
  6772. the new code after we submit.
  6773. * WebCoreSupport.subproj/WebBridge.m:
  6774. (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
  6775. (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
  6776. * WebCoreSupport.subproj/WebSubresourceClient.m:
  6777. (-[WebSubresourceClient didFinishLoading]):
  6778. * WebView.subproj/WebFrame.m:
  6779. (-[WebFrame _opened]):
  6780. (-[WebFrame _internalLoadDelegate]):
  6781. * WebView.subproj/WebFrameInternal.h:
  6782. 2004-12-02 Richard Williamson <rjw@apple.com>
  6783. Fixed <rdar://problem/3841332> REGRESSION (125.9-167u): repro crash in -[KWQPageState invalidate] involving .Mac images
  6784. Ensure that the document is cleared when leaving a non-HTML page. This ensures that
  6785. the b/f cache won't incorrectly trash the previous state when restoring.
  6786. Reviewed by John.
  6787. * WebView.subproj/WebFrame.m:
  6788. (-[WebFrame _setState:]):
  6789. 2004-12-02 Ken Kocienda <kocienda@apple.com>
  6790. Reviewed by Richard
  6791. <rdar://problem/3748323> Problem with -[WebView editableDOMRangeForPoint:] (-isFlipped not taken into account?)
  6792. <rdar://problem/3852590> REGRESSION (Mail): Dropped content appears in wrong place if Mail message is scrolled down
  6793. When implementing drag and drop, moveDragCaretToPoint: and editableDOMRangeForPoint: are used in
  6794. concert to track the mouse and determine a drop location, respectively. However, moveDragCaretToPoint:
  6795. did a conversion of the passed-in point to the document view's coordinate space, whereas
  6796. editableDOMRangeForPoint: did not. Now it does.
  6797. Note that I will need to coordinate with Grant to have him roll out some code in Mail that
  6798. attempts to work around this problem (unsuccessfully), and actually manages to block the
  6799. real fix (which needs to be in WebKit).
  6800. * WebView.subproj/WebView.m:
  6801. (-[WebView editableDOMRangeForPoint:]): Convert the passed-in point to the document view's coordinate space.
  6802. 2004-12-02 Richard Williamson <rjw@apple.com>
  6803. Fixed <rdar://problem/3895810> FATAL ERROR: <WebTextRenderer: 0x9328a20> unable to initialize with font "Times-Roman 16.00 pt. S ....
  6804. We have a hack to replace Times with Times New Roman if we fail
  6805. to setup Times. If we then fail to setup Times New Roman we
  6806. don't attempt to further fallback to the system font. Added
  6807. that additional fallback.
  6808. Reviewed by Ken.
  6809. * WebCoreSupport.subproj/WebTextRenderer.m:
  6810. (+[WebTextRenderer webFallbackFontFamily]):
  6811. (-[WebTextRenderer initWithFont:usingPrinterFont:]):
  6812. 2004-12-02 Richard Williamson <rjw@apple.com>
  6813. Fixed build problem on Tiger8A821. Private macro and function
  6814. we were using have been deprecated,
  6815. Reviewed by Vicki.
  6816. * WebCoreSupport.subproj/WebTextRenderer.m:
  6817. (-[WebTextRenderer initWithFont:usingPrinterFont:]):
  6818. 2004-12-01 Chris Blumenberg <cblu@apple.com>
  6819. Fixed: <rdar://problem/3879870> Flash Player unable to stop data stream from continuing to download by returning -1 from NPP_Write
  6820. Also improved and cleaned-up the plug-in stream termination code.
  6821. Reviewed by john.
  6822. * Plugins.subproj/WebBaseNetscapePluginStream.h:
  6823. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  6824. (+[WebBaseNetscapePluginStream reasonForError:]): return NPRES_DONE for a nil error
  6825. (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]): new, factored out from other methods
  6826. (-[WebBaseNetscapePluginStream errorForReason:]): new
  6827. (-[WebBaseNetscapePluginStream dealloc]): release MIME type
  6828. (-[WebBaseNetscapePluginStream setMIMEType:]): new
  6829. (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): call setMIMEType so we can use it in _pluginCancelledConnectionError, call renamed methods
  6830. (-[WebBaseNetscapePluginStream _destroyStream]): prepended underscore, replaced some early returns with asserts as the callers are now smarter
  6831. (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]): prepended underscore, only call _destroyStream if there is an error or if the load is complete and there is no more data to be streamed
  6832. (-[WebBaseNetscapePluginStream cancelLoadWithError:]): new, overridden by subclasses to cancel the actual NSURLConnection
  6833. (-[WebBaseNetscapePluginStream destroyStreamWithError:]): new, calls _destroyStreamWithReason
  6834. (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): call renamed methods
  6835. (-[WebBaseNetscapePluginStream _deliverData]): prepended underscore, call cancelLoadAndDestroyStreamWithError if NPP_Write returns a negative number
  6836. * Plugins.subproj/WebBaseNetscapePluginView.m:
  6837. (-[WebBaseNetscapePluginView destroyStream:reason:]): call cancelLoadAndDestroyStreamWithError
  6838. * Plugins.subproj/WebNetscapePluginRepresentation.m:
  6839. (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call destroyStreamWithError
  6840. (-[WebNetscapePluginRepresentation cancelLoadWithError:]): new, override method, tell the data source to stop loading
  6841. * Plugins.subproj/WebNetscapePluginStream.m:
  6842. (-[WebNetscapePluginStream cancelLoadWithError:]): new, override method, tell the loader to stop
  6843. (-[WebNetscapePluginStream stop]): call cancelLoadAndDestroyStreamWithError
  6844. (-[WebNetscapePluginConnectionDelegate isDone]): new
  6845. (-[WebNetscapePluginConnectionDelegate didReceiveResponse:]): call cancelLoadAndDestroyStreamWithError
  6846. (-[WebNetscapePluginConnectionDelegate didFailWithError:]): call destroyStreamWithError
  6847. 2004-12-01 Kevin Decker <kdecker@apple.com>
  6848. Reviewed by Harrison.
  6849. Fixed: <rdar://problem/3228878> potential performance problem in finding in large framesets
  6850. Got rid of O(N^2) conditions in _nextSibling and _previousSibling of where we were looking up self in the parent array of frames.
  6851. * WebView.subproj/WebFrame.h: Added two new pointers, one for the previous kid and one for the next kid
  6852. * WebView.subproj/WebFrame.m:
  6853. (-[WebFrame _addChild:]): Updates the previous frame and the next frame after this child
  6854. (-[WebFrame _removeChild:]): ditto
  6855. (-[WebFrame _nextSibling]): just return the pointer now
  6856. (-[WebFrame _previousSibling]): ditto
  6857. 2004-11-30 Chris Blumenberg <cblu@apple.com>
  6858. Fixed:
  6859. <rdar://problem/3685766> WebDataSource is missing subresources when they use cached WebCore data
  6860. <rdar://problem/3722434> REGRESSION?: Assertion failure trying to drag image in iframe (itapema.sc.gov.br)
  6861. Reviewed by darin.
  6862. * WebCoreSupport.subproj/WebBridge.m:
  6863. (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): renamed to pass all data for the resource, moved delegate code to new method
  6864. (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): call renamed method
  6865. * WebCoreSupport.subproj/WebSubresourceClient.m:
  6866. (-[WebSubresourceClient didFinishLoading]): call renamed method
  6867. * WebView.subproj/WebFrame.m:
  6868. (-[WebFrame _opened]): call _sendResourceLoadDelegateMessagesForURL:response:length:, not objectLoadedFromCacheWithURL:response:data:
  6869. (-[WebFrame _internalLoadDelegate]):
  6870. (-[WebFrame _sendResourceLoadDelegateMessagesForURL:response:length:]): moved from objectLoadedFromCacheWithURL:response:data:
  6871. * WebView.subproj/WebFrameInternal.h:
  6872. 2004-11-29 Darin Adler <darin@apple.com>
  6873. Reviewed by John.
  6874. - worked around bug in Panther where NSScroller calls _destinationFloatValueForScroller: on superview
  6875. without first checking if it's implemented
  6876. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _destinationFloatValueForScroller:]):
  6877. Implemented. Calls floatValue on the scroller.
  6878. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
  6879. 2004-11-23 Chris Blumenberg <cblu@apple.com>
  6880. Fixed: <rdar://problem/3890944> disable icon database for Dashboard
  6881. Reviewed by kevin.
  6882. * Misc.subproj/WebIconDatabase.h:
  6883. * Misc.subproj/WebIconDatabase.m:
  6884. (-[WebIconDatabase init]): don't create dictionaries if disabled
  6885. (-[WebIconDatabase iconForURL:withSize:cache:]): return default icon if disabled
  6886. (-[WebIconDatabase iconURLForURL:]): return nil if disabled
  6887. (-[WebIconDatabase retainIconForURL:]): return if disabled
  6888. (-[WebIconDatabase releaseIconForURL:]): ditto
  6889. (-[WebIconDatabase delayDatabaseCleanup]): ditto
  6890. (-[WebIconDatabase allowDatabaseCleanup]): ditto
  6891. (-[WebIconDatabase _isEnabled]): new
  6892. (-[WebIconDatabase _setIcon:forIconURL:]): assert if called when disabled, moved to own category implementation
  6893. (-[WebIconDatabase _setHaveNoIconForIconURL:]): ditto
  6894. (-[WebIconDatabase _setIconURL:forURL:]): ditto
  6895. (-[WebIconDatabase _createFileDatabase]): tweak
  6896. (-[WebIconDatabase _applicationWillTerminate:]): moved out of public code
  6897. * Misc.subproj/WebIconDatabasePrivate.h:
  6898. * Misc.subproj/WebIconLoader.m:
  6899. * WebView.subproj/WebDataSource.m:
  6900. (-[WebDataSource _updateIconDatabaseWithURL:]): assert if called when icon DB is disabled
  6901. (-[WebDataSource _loadIcon]): don't load icon if icon DB is disabled
  6902. 2004-11-22 David Hyatt <hyatt@apple.com>
  6903. Make sure the WebCore cache grows at 512mb and at 1024mb exactly.
  6904. Reviewed by mjs
  6905. * WebCoreSupport.subproj/WebBridge.m:
  6906. (-[WebBridge getObjectCacheSize]):
  6907. 2004-11-22 Richard Williamson <rjw@apple.com>
  6908. Fixed <rdar://problem/3891737> WebPreferences do not work if they are set before set on the WebView
  6909. John found this problem and suggested the fix.
  6910. Reviewed by John Louch.
  6911. * WebView.subproj/WebView.m:
  6912. (-[WebView setPreferences:]):
  6913. 2004-11-22 Ken Kocienda <kocienda@apple.com>
  6914. Reviewed by Harrison
  6915. * WebCoreSupport.subproj/WebBridge.m:
  6916. (-[WebBridge canPaste]): Call WebView _canPaste.
  6917. * WebView.subproj/WebView.m:
  6918. (-[WebView _canPaste]): Try to forward to document view's implementation. Only WebHTMLView
  6919. answers right now. Returns NO otherwise.
  6920. * WebView.subproj/WebViewInternal.h: Add _canPaste method to WebView.
  6921. 2004-11-22 Maciej Stachowiak <mjs@apple.com>
  6922. Back out the window closing fix, it seems to be causing crashes.
  6923. * WebView.subproj/WebFrame.m:
  6924. (-[WebFrame _detachFromParent]):
  6925. 2004-11-20 Maciej Stachowiak <mjs@apple.com>
  6926. Reviewed by John.
  6927. <rdar://problem/3710101> _web_userVisibleString makes URL autocomplete roughly 2x slower
  6928. * Misc.subproj/WebNSURLExtras.h:
  6929. * Misc.subproj/WebNSURLExtras.m:
  6930. (-[NSString _web_isUserVisibleURL]): New SPI to check if a URL
  6931. string is already in user-visible form (i.e. converting it to an
  6932. NSURL and then back via _web_userVisibleString would not change
  6933. anything).
  6934. 2004-11-19 Maciej Stachowiak <mjs@apple.com>
  6935. Reviewed by John.
  6936. <rdar://problem/3190977> closing window with many tabs in it can be quite slow
  6937. * WebView.subproj/WebFrame.m:
  6938. (-[WebFrame _detachFromParent]): autorelease bridge instead of releasing it,
  6939. to make window and tab closing more responsive - this way the deallocation happens
  6940. after the windoow or tab appears to close.
  6941. === Safari-172 ===
  6942. 2004-11-19 Chris Blumenberg <cblu@apple.com>
  6943. Fixed: <rdar://problem/3880387> REGRESSION: www.shockplay.com site gives "Unexpected server response"
  6944. Reviewed by mjs.
  6945. * Plugins.subproj/WebBaseNetscapePluginView.m:
  6946. (-[NSData _web_locationAfterFirstBlankLine]): support both formats ("\r\n\n" and "\r\n\r\n") for separating header data from body data because Shockwave still sends the prior format
  6947. 2004-11-19 Ken Kocienda <kocienda@apple.com>
  6948. Reviewed by Harrison
  6949. Fix for this bug:
  6950. <rdar://problem/3655241> setTypingStyle: does not set the real typing style, and typingStyle does not return it
  6951. * WebCoreSupport.subproj/WebBridge.m:
  6952. (-[WebBridge respondToChangedContents]): No longer call through to WebKit to set the typing style. The call
  6953. was part of the misguided use of the setTypingStyle: and typingStyle as a cache of what was stored on
  6954. the WebCore side.
  6955. (-[WebBridge respondToChangedSelection]): Ditto.
  6956. * WebView.subproj/WebView.m:
  6957. (-[WebViewPrivate dealloc]): Object no longer has typingStyle ivar.
  6958. (-[WebView setTypingStyle:]): Call over the bridge to set typing style.
  6959. (-[WebView typingStyle]): Call over the bridge to retrieve typing style.
  6960. * WebView.subproj/WebViewInternal.h: Object no longer has typingStyle ivar.
  6961. 2004-11-18 John Sullivan <sullivan@apple.com>
  6962. Reviewed by Darin.
  6963. - fixed <rdar://problem/3886042> should save history file as binary XML so serialization,
  6964. parsing, reading and writing is faster
  6965. * History.subproj/WebHistory.m:
  6966. (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]):
  6967. convert dictionary to binary data before saving
  6968. 2004-11-18 Chris Blumenberg <cblu@apple.com>
  6969. * WebView.subproj/WebHTMLRepresentation.m:
  6970. (-[WebHTMLRepresentation currentForm]): removed stray ";"
  6971. 2004-11-18 Chris Blumenberg <cblu@apple.com>
  6972. Fixed development build failure.
  6973. * Misc.subproj/WebIconDatabase.m:
  6974. (+[WebIconDatabase sharedIconDatabase]): call LOG not Log
  6975. 2004-11-18 Chris Blumenberg <cblu@apple.com>
  6976. <rdar://problem/3885708> save memory in icon DB by not using NSSets when holding 1 object
  6977. Reviewed by sullivan.
  6978. * Misc.subproj/WebIconDatabase.m:
  6979. (+[WebIconDatabase sharedIconDatabase]): added timing code
  6980. (-[WebIconDatabase _clearDictionaries]): new
  6981. (-[WebIconDatabase _loadIconDictionaries]): call _clearDictionaries in 2 places before we bail, use _web_setObjectUsingSetIfNecessary:forKey: when adding site URLs to the iconURLToURLs dictionary
  6982. (-[WebIconDatabase _updateFileDatabase]): fixed comment
  6983. (-[WebIconDatabase _setIconURL:forURL:]): use _web_setObjectUsingSetIfNecessary:forKey: when adding site URLs to the iconURLToURLs dictionary
  6984. (-[WebIconDatabase _releaseIconForIconURLString:]): handle NSString objects retured from iconURLToURLs
  6985. (-[NSMutableDictionary _web_setObjectUsingSetIfNecessary:forKey:]): new, puts a set on the dictionary when there are 2 or more object for s key
  6986. 2004-11-17 Richard Williamson <rjw@apple.com>
  6987. Fixed <rdar://problem/3885073> REGRESSION: Tab images at top of news.com.com replicated and squished
  6988. Correctly account for scaled image size and clipping.
  6989. Reviewed by Maciej.
  6990. * WebCoreSupport.subproj/WebImageData.h:
  6991. * WebCoreSupport.subproj/WebImageData.m:
  6992. * WebCoreSupport.subproj/WebImageRenderer.m:
  6993. (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
  6994. 2004-11-17 Maciej Stachowiak <mjs@apple.com>
  6995. Reviewed by Richard.
  6996. <rdar://problem/3885076> Don't make IDN calls for all-ascii URLs to save about 3 pages
  6997. at Safari startup.
  6998. * Misc.subproj/WebNSURLExtras.m:
  6999. (mapHostNames): If encoding and not decoding, then bail early if the URL is all ascii.
  7000. (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Remove earlier special-case
  7001. check for localhost, no longer needed.
  7002. 2004-11-17 Richard Williamson <rjw@apple.com>
  7003. Fixed <rdar://problem/3863601> Legacy font cache code in [WebTextRendererFactory createSharedFactory] may be unnecesary
  7004. and added call to SPI for
  7005. <rdar://problem/3884448> WebKit should turn on CG local font cache
  7006. currently disabled until a Tiger build shows up with the SPI.
  7007. Reviewed by David Harrison.
  7008. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  7009. (+[WebTextRendererFactory createSharedFactory]):
  7010. 2004-11-17 Richard Williamson <rjw@apple.com>
  7011. Fixed <rdar://problem/3882212> REGRESSION: Images clipped instead of scaled
  7012. Fixed <rdar://problem/3884088> Crash terminating image load
  7013. Also added code to turn off color correction for images created
  7014. via CGImageSources. This code is currently disabled because CG
  7015. can't change the color space of images loaded progressively.
  7016. Further, according to Dave Hayward, CG will no longer attempt
  7017. to color correct images that don't have embedded profiles as of
  7018. Tiger 8A306.
  7019. Reviewed by Chris.
  7020. * WebCoreSupport.subproj/WebImageData.m:
  7021. (-[WebImageData _commonTermination]):
  7022. (-[WebImageData dealloc]):
  7023. (-[WebImageData _invalidateImageProperties]):
  7024. (-[WebImageData imageAtIndex:]):
  7025. (-[WebImageData incrementalLoadWithBytes:length:complete:]):
  7026. (-[WebImageData propertiesAtIndex:]):
  7027. 2004-11-16 Chris Blumenberg <cblu@apple.com>
  7028. Fixed: <rdar://problem/3882034> REGRESSION: Context menu incorrect for PDF content
  7029. Reviewed by darin.
  7030. * WebView.subproj/WebPDFView.m:
  7031. (-[WebPDFView hitTest:]): return self if the current event is a context menu event
  7032. (-[WebPDFView menuForEvent:]): use the PDFView subview
  7033. 2004-11-15 Chris Blumenberg <cblu@apple.com>
  7034. Fixed: <rdar://problem/3880410> save 5 dirty pages by soft-linking against PDFKit framework
  7035. Reviewed by john.
  7036. * WebKit.pbproj/project.pbxproj:
  7037. * WebView.subproj/WebPDFRepresentation.m:
  7038. (+[WebPDFRepresentation PDFDocumentClass]): new
  7039. (-[WebPDFRepresentation finishedLoadingWithDataSource:]): use PDFDocumentClass
  7040. * WebView.subproj/WebPDFView.h:
  7041. * WebView.subproj/WebPDFView.m:
  7042. (+[WebPDFView PDFKitBundle]): new
  7043. (+[WebPDFView PDFViewClass]): new
  7044. (-[WebPDFView initWithFrame:]): create a PDFView subview
  7045. (-[WebPDFView dealloc]): release the PDFView subview
  7046. (-[WebPDFView PDFSubview]): new
  7047. 2004-11-15 Chris Blumenberg <cblu@apple.com>
  7048. Fixed: <rdar://problem/3879891> WebKit should link against PDFKit instead of Quartz
  7049. Reviewed by darin.
  7050. * WebKit.pbproj/project.pbxproj: link against PDFKit if it is present instead of Quartz.framework
  7051. 2004-11-15 Richard Williamson <rjw@apple.com>
  7052. Fixed missing retain of image property data.
  7053. Reviewed by John.
  7054. * WebCoreSupport.subproj/WebImageData.h:
  7055. * WebCoreSupport.subproj/WebImageData.m:
  7056. (-[WebImageData dealloc]):
  7057. (-[WebImageData _invalidateImages]):
  7058. (-[WebImageData imageAtIndex:]):
  7059. (-[WebImageData propertiesAtIndex:]):
  7060. (-[WebImageData _frameDuration]):
  7061. 2004-11-15 Richard Williamson <rjw@apple.com>
  7062. Cache image properties and frame durations.
  7063. Create NSImage and TIFF representations from CGImage, lazily, as needed for
  7064. dragging and element info dictionary.
  7065. Reviewed by John.
  7066. * WebCoreSupport.subproj/WebImageData.h:
  7067. * WebCoreSupport.subproj/WebImageData.m:
  7068. (-[WebImageData dealloc]):
  7069. (-[WebImageData size]):
  7070. (-[WebImageData propertiesAtIndex:]):
  7071. (-[WebImageData _frameDurationAt:]):
  7072. (-[WebImageData _frameDuration]):
  7073. * WebCoreSupport.subproj/WebImageRenderer.h:
  7074. * WebCoreSupport.subproj/WebImageRenderer.m:
  7075. (-[WebImageRenderer dealloc]):
  7076. (-[WebImageRenderer TIFFRepresentation]):
  7077. (-[WebImageRenderer image]):
  7078. 2004-11-14 Maciej Stachowiak <mjs@apple.com>
  7079. Reviewed by John.
  7080. <rdar://problem/3879226> WebKit needlessly uses extra memory to store icon refcounts as NSNumbers
  7081. * Misc.subproj/WebIconDatabase.m:
  7082. (-[WebIconDatabase init]):
  7083. (-[WebIconDatabase _setIconURL:forURL:]):
  7084. (-[WebIconDatabase _retainIconForIconURLString:]):
  7085. (-[WebIconDatabase _releaseIconForIconURLString:]):
  7086. (-[WebIconDatabase _retainFutureIconForURL:]):
  7087. (-[WebIconDatabase _releaseFutureIconForURL:]):
  7088. * Misc.subproj/WebIconDatabasePrivate.h:
  7089. 2004-11-15 John Sullivan <sullivan@apple.com>
  7090. Reviewed by Ken.
  7091. - fixed <rdar://problem/3879513> leak in [WebArchive _propertyListRepresentation] copying HTML to pasteboard
  7092. * WebView.subproj/WebArchive.m:
  7093. (-[WebArchive _propertyListRepresentation]):
  7094. the array holding the subresources was not released after use, oops!
  7095. 2004-11-12 Chris Blumenberg <cblu@apple.com>
  7096. Fixed: <rdar://problem/3874577> Opening restricted (parental) content in new window/tab reveals Safari's "Resources" folder
  7097. Reviewed by john.
  7098. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  7099. (-[WebDefaultUIDelegate openFrameInNewWindow:]): use the unreachable URL if there is one
  7100. === Safari-171 ===
  7101. 2004-11-11 Richard Williamson <rjw@apple.com>
  7102. Report actual size (not partial size) but use partial size
  7103. when drawing.
  7104. Reviewed by Maciej.
  7105. * WebCoreSupport.subproj/WebImageData.h:
  7106. * WebCoreSupport.subproj/WebImageData.m:
  7107. (-[WebImageData size]):
  7108. 2004-11-11 Darin Adler <darin@apple.com>
  7109. Reviewed by John.
  7110. - added _wasFirstResponderAtMouseDownTime method to bridge so we can fix
  7111. <rdar://problem/3846152> REGRESSION (125-166): can't drag text out of <input type=text> fields
  7112. with a subsequent change to WebCore.
  7113. * WebCoreSupport.subproj/WebBridge.m:
  7114. (wasFirstResponderAtMouseDownTime:): Added. Calls _wasFirstResponderAtMouseDownTime
  7115. on the WebHTMLView.
  7116. (_getPreSmartSet): Move global inside the function, add (void) for cleanliness.
  7117. (_getPostSmartSet): Ditto.
  7118. * WebView.subproj/WebHTMLView.m:
  7119. (-[WebHTMLViewPrivate dealloc]): Release firstResponderAtMouseDownTime.
  7120. (-[WebHTMLView _setMouseDownEvent:]): Early exit if event is not changing.
  7121. Set firstResponderAtMouseDownTime to the first responder.
  7122. (-[WebHTMLView mouseDown:]): Release firstResponderAtMouseDownTime after handling
  7123. the mouseDown event.
  7124. (-[WebHTMLView _wasFirstResponderAtMouseDownTime:]): Added. Uses the
  7125. firstResponderAtMouseDownTime field.
  7126. * WebView.subproj/WebHTMLViewInternal.h: Added firstResponderAtMouseDownTime field
  7127. and _wasFirstResponderAtMouseDownTime method.
  7128. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
  7129. 2004-11-11 Richard Williamson <rjw@apple.com>
  7130. Reviewed by Chris.
  7131. Work-around to minimize impact of 3876764. Cache frame durations
  7132. after first call. So we'll still leak 1K for each animated
  7133. image, but that's better than 1K each time the frame is drawn!
  7134. * WebCoreSupport.subproj/WebImageData.h:
  7135. * WebCoreSupport.subproj/WebImageData.m:
  7136. (-[WebImageData _frameDuration]):
  7137. Simplified animation cleanup code. Fixed leak due to
  7138. incorrect key passed to CFDictionaryRemoveValue.
  7139. (+[WebImageData stopAnimationsInView:]):
  7140. (-[WebImageData addAnimatingRenderer:inView:]):
  7141. (-[WebImageData removeAnimatingRenderer:]):
  7142. (-[WebImageData _stopAnimation]):
  7143. 2004-11-11 Darin Adler <darin@apple.com>
  7144. Reviewed by Maciej.
  7145. - fixed <rdar://problem/3605906> Flash scrolled off the top and bottom cause CPU spin when combined with something dirty on the visible part of the page
  7146. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
  7147. Work around AppKit bug by using rectangles from getRectsBeingDrawn:count: instead of
  7148. using the passed-in rectangle.
  7149. 2004-11-11 Richard Williamson <rjw@apple.com>
  7150. Work-arounds to make new ImageIO code work correctly. Still
  7151. disabled for now. Requires at least Tiger 300. Testing does
  7152. show a 3% improvement in PLT tests! That's huge!
  7153. Reviewed by John.
  7154. * WebCoreSupport.subproj/WebImageData.m:
  7155. (-[WebImageData imageAtIndex:]):
  7156. (-[WebImageData incrementalLoadWithBytes:length:complete:]):
  7157. (-[WebImageData isNull]):
  7158. 2004-11-10 Chris Blumenberg <cblu@apple.com>
  7159. Fixed: <rdar://problem/3396872> ICONS: icon DB inconsistencies can cause slowness during startup, idle and quit
  7160. Reviewed by john.
  7161. * Misc.subproj/WebFileDatabase.m:
  7162. (-[WebFileDatabase objectForKey:]): added logging code
  7163. * Misc.subproj/WebIconDatabase.m:
  7164. (-[WebIconDatabase init]): use alloc, init rather than autorelease, retain
  7165. (-[WebIconDatabase _loadIconDictionaries]): use 1 object for mapping icon URLs to site URLs and vice versa rather than 3. This avoids inconsistencies and is faster.
  7166. (-[WebIconDatabase _updateFileDatabase]): write 1 object out
  7167. 2004-11-09 David Hyatt <hyatt@apple.com>
  7168. Fix for 3873234, Safari UI is unresponsive when parsing multiple HTML docs and 3873233, Safari hangs when
  7169. loading large local files.
  7170. Reviewed by mjs
  7171. * WebCoreSupport.subproj/WebBridge.m:
  7172. (-[WebBridge tokenizerProcessedData]):
  7173. * WebView.subproj/WebDataSource.m:
  7174. (-[WebDataSource _receivedMainResourceError:complete:]):
  7175. (-[WebDataSource isLoading]):
  7176. 2004-11-09 Richard Williamson <rjw@apple.com>
  7177. Fixed <rdar://problem/3870964> 8A300: Safari not recognizing a PDF link (it displays raw data)
  7178. Add "text/pdf" as an acceptable PDF MIME type.
  7179. Reviewed by Chris.
  7180. * WebView.subproj/WebDataSource.m:
  7181. (+[WebDataSource _repTypesAllowImageTypeOmission:]):
  7182. * WebView.subproj/WebFrameView.m:
  7183. (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
  7184. 2004-11-08 Chris Blumenberg <cblu@apple.com>
  7185. Fixed: <rdar://problem/3783904> Return key behavior is confusingly different between popup menus and autofill menus
  7186. Reviewed by john.
  7187. * WebCoreSupport.subproj/WebBridge.m:
  7188. (-[WebBridge control:textView:shouldHandleEvent:]): new
  7189. * WebView.subproj/WebFormDelegate.h:
  7190. * WebView.subproj/WebFormDelegate.m:
  7191. (-[WebFormDelegate control:textView:shouldHandleEvent:inFrame:]): new
  7192. 2004-11-05 Chris Blumenberg <cblu@apple.com>
  7193. Fixed: <rdar://problem/3854218> Safari is sometimes really slow because of increased null events to plug-ins
  7194. * Plugins.subproj/WebBaseNetscapePluginView.m: reverted null event interval to 0.02
  7195. 2004-11-05 Chris Blumenberg <cblu@apple.com>
  7196. Fixed: <rdar://problem/3838413> REGRESSION (Mail): "Smart" word paste adds spaces before/after special characters
  7197. Reviewed by rjw.
  7198. * WebCoreSupport.subproj/WebBridge.m:
  7199. (_getPreSmartSet): copied from AppKit
  7200. (_getPostSmartSet): ditto
  7201. (-[WebBridge isCharacterSmartReplaceExempt:isPreviousCharacter:]): new
  7202. 2004-11-05 Richard Williamson <rjw@apple.com>
  7203. Fixed <rdar://problem/3810702> _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector: ASSERTS when reentered from Xcode's man page viewer
  7204. Reviewed by Maciej (a long time ago).
  7205. * WebView.subproj/WebFrame.m:
  7206. (-[WebFrame _loadDataSource:withLoadType:formState:]):
  7207. Fixed <rdar://problem/3845307> WebKit needs to export _HIWebViewRegisterClass so HIWebViews can work in Carbon nib files
  7208. As suggested in the bug, the fix is to actually call
  7209. HIWebViewRegisterClass in WebKitInitForCarbon, rather than
  7210. exporting the symbol.
  7211. Reviewed by Chris.
  7212. * Carbon.subproj/CarbonUtils.m:
  7213. (WebInitForCarbon):
  7214. * Carbon.subproj/HIWebView.m:
  7215. * WebKit.pbproj/project.pbxproj:
  7216. === Safari-170 ===
  7217. 2004-11-05 Darin Adler <darin@apple.com>
  7218. Reviewed by Chris.
  7219. - fixed <rdar://problem/3857151> Assertion failure in "trackingRectOwner" while moving mouse over Slashdot.org page
  7220. * WebView.subproj/WebHTMLView.m:
  7221. (-[WebHTMLView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]): Changed to no longer call
  7222. addTrackingRect to do the work for consistency with the new method below. Not too much copied and pasted code.
  7223. (-[WebHTMLView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]): Added an override
  7224. for this new method in Tiger. No harm in implementing it on Panther, although it won't be called.
  7225. (-[WebHTMLView _removeTrackingRects:count:]): Ditto.
  7226. 2004-11-04 David Hyatt <hyatt@apple.com>
  7227. Make sure the dominant line direction is properly set for RTL runs so that spaces will reverse.
  7228. Change xHeight to measure the ascent of the x glyph, since the xHeight metrics appear to be
  7229. totally bogus in both CG and AppKit.
  7230. Reviewed by darin
  7231. * WebCoreSupport.subproj/WebTextRenderer.m:
  7232. (-[WebTextRenderer xHeight]):
  7233. (-[WebTextRenderer _createATSUTextLayoutForRun:style:]):
  7234. (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
  7235. (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]):
  7236. (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
  7237. (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
  7238. 2004-11-02 Maciej Stachowiak <mjs@apple.com>
  7239. Reviewed by Dave Hyatt (when I originally coded it).
  7240. Redid WebKit part of fix for:
  7241. <rdar://problem/3759187> REGRESSION (Mail): implement firstRectForCharacterRange:
  7242. * WebView.subproj/WebHTMLView.m:
  7243. (-[WebHTMLView firstRectForCharacterRange:]): Call the appropriate new bridge method,
  7244. and translate to screen coordinates.
  7245. 2004-11-02 John Sullivan <sullivan@apple.com>
  7246. Reviewed by Hyatt.
  7247. - [NSFont menuFontOfSize:], called from WebStringTruncator, was taking > 9% of the time creating a
  7248. very large bookmarks menu, so I cached this one NSFont object.
  7249. * Misc.subproj/WebStringTruncator.m:
  7250. (defaultMenuFont):
  7251. new function, caches the font used when no font is specified
  7252. (+[WebStringTruncator centerTruncateString:toWidth:]):
  7253. call new function
  7254. 2004-11-02 Ken Kocienda <kocienda@apple.com>
  7255. Reviewed by Hyatt
  7256. WebCore now implements a command to insert a block in response to typing a return key, and
  7257. some names were improved in the course of this work.
  7258. * WebView.subproj/WebHTMLView.m:
  7259. (-[WebHTMLView insertNewline:]): Now calls insertLineBreak on bridge object.
  7260. (-[WebHTMLView insertLineBreak:]): New method.
  7261. (-[WebHTMLView insertParagraphSeparator:]): Now implemented.
  7262. * WebView.subproj/WebView.m:
  7263. === Safari-169 ===
  7264. 2004-10-29 Chris Blumenberg <cblu@apple.com>
  7265. * WebKit.exp: added _WebPlugInModeKey, forgot to add it earlier
  7266. 2004-10-29 Darin Adler <darin@apple.com>
  7267. - fixed <rdar://problem/3855573> Remove reference to "WebScriptMethods" from WebScriptObject.h comments
  7268. * Plugins.subproj/WebScriptObject.h: Removed unneeded #ifdef protection for multiple includes (since
  7269. this is an Objective-C header and we use #import for those). Fixed comments as requested in the bug
  7270. report to match the contents of the file.
  7271. 2004-10-27 Ken Kocienda <kocienda@apple.com>
  7272. Reviewed by Chris
  7273. Added new SPI for Mail so it can get the behavior it needs when the user hits
  7274. the return key with the selection in quoted content.
  7275. * WebView.subproj/WebView.m
  7276. * WebView.subproj/WebViewPrivate.h
  7277. 2004-10-26 Chris Blumenberg <cblu@apple.com>
  7278. Fixed exception that Darin encountered in Mail.
  7279. Reviewed by darin.
  7280. * Plugins.subproj/WebPluginController.m:
  7281. (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): if the plug-in returns a nil view, return nil
  7282. 2004-10-25 Chris Blumenberg <cblu@apple.com>
  7283. Darin made an internal notification have the Web prefix.
  7284. Reviewed by me.
  7285. * Plugins.subproj/WebBaseNetscapePluginView.m:
  7286. (-[WebBaseNetscapePluginView addWindowObservers]):
  7287. (-[WebBaseNetscapePluginView removeWindowObservers]):
  7288. (ConsoleConnectionChangeNotifyProc):
  7289. 2004-10-25 John Sullivan <sullivan@apple.com>
  7290. Reviewed by Chris.
  7291. - Cleanup from fix for <rdar://problem/3851676> bookmarks should not hold onto a WebHistoryItem object;
  7292. eliminated notificationsSuppressed mechanism, which was used only by WebBookmark
  7293. * History.subproj/WebHistoryItem.m:
  7294. removed notificationsSuppressed ivar from private data object
  7295. (-[WebHistoryItem setAlternateTitle:]):
  7296. remove notificationsSuppressed guard
  7297. (-[WebHistoryItem setURLString:]):
  7298. ditto
  7299. (-[WebHistoryItem setOriginalURLString:]):
  7300. ditto
  7301. (-[WebHistoryItem setTitle:]):
  7302. ditto
  7303. (-[WebHistoryItem _setLastVisitedTimeInterval:]):
  7304. ditto
  7305. (-[WebHistoryItem setNotificationsSuppressed:]):
  7306. removed this method
  7307. (-[WebHistoryItem notificationsSuppressed]):
  7308. ditto
  7309. * History.subproj/WebHistoryItemPrivate.h:
  7310. removed notificationsSuppressed and setNotificationsSuppressed
  7311. 2004-10-22 Chris Blumenberg <cblu@apple.com>
  7312. Fixed: <rdar://problem/3851491> installedPlugins being called for a page without plugins
  7313. Reviewed by mjs.
  7314. * WebView.subproj/WebFrameView.m:
  7315. (+[WebFrameView _canShowMIMETypeAsHTML:]): call _viewTypesAllowImageTypeOmission instead of using ivar since the ivar is nil until _viewTypesAllowImageTypeOmission is called, this was causing [WebView canShowMIMEType:] to check plug-ins
  7316. === Safari-168 ===
  7317. 2004-10-22 Ken Kocienda <kocienda@apple.com>
  7318. Reviewed by me
  7319. * WebKit.pbproj/project.pbxproj: Add GCC_ENABLE_OBJC_GC and GCC_FAST_OBJC_DISPATCH flags.
  7320. 2004-10-21 Darin Adler <darin@apple.com>
  7321. Reviewed by John.
  7322. - fixed <rdar://problem/3847994> REGRESSION: reproducible exception in WebImageRenderer releasePatternColor; afterwards get crash or no more browsing
  7323. * WebCoreSupport.subproj/WebImageRenderer.m:
  7324. (-[WebInternalImage createRendererIfNeeded]): Replaced retainOrCopyIfNeeded with this.
  7325. This returns nil if a copied renderer isn't needed, and returns a new renderer if a copy is.
  7326. The old version was sometimes returning a WebInternalImage and other times a WebImageRenderer.
  7327. (-[WebImageRenderer retainOrCopyIfNeeded]): Returns the result of createRendererIfNeeded
  7328. or retains self and returns self.
  7329. 2004-10-20 Darin Adler <darin@apple.com>
  7330. Reviewed by Dave.
  7331. - fixed <rdar://problem/3470715> Pattern cache can get huge with use of css background-image in Safari
  7332. * WebCoreSupport.subproj/WebImageRenderer.h: Change WebImageRenderer to be a subclass of NSObject
  7333. rather than NSImage and contain a pointer to a WebInternalImage.
  7334. * WebCoreSupport.subproj/WebImageRenderer.m:
  7335. (-[WebInternalImage releasePatternColor]): Added. Releases patternColor.
  7336. (-[WebImageRenderer initWithMIMEType:]): Added. Makes WebInternalImage and then self.
  7337. (-[WebImageRenderer initWithData:MIMEType:]): Ditto.
  7338. (-[WebImageRenderer initWithContentsOfFile:]): Ditto.
  7339. (-[WebImageRenderer dealloc]): Added. Calls releasePatternColor and then releases WebInternalImage.
  7340. (-[WebImageRenderer image]): Added. Returns pointer to image.
  7341. (-[WebImageRenderer MIMEType]): Added. Calls through to image.
  7342. (-[WebImageRenderer TIFFRepresentation]): Ditto.
  7343. (-[WebImageRenderer frameCount]): Ditto.
  7344. (-[WebImageRenderer setOriginalData:]): Added. Sets image data pointer.
  7345. (+[WebImageRenderer stopAnimationsInView:]): Added. Calls through to image.
  7346. (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): Ditto.
  7347. (-[WebImageRenderer size]): Ditto.
  7348. (-[WebImageRenderer resize:]): Ditto.
  7349. (-[WebImageRenderer drawImageInRect:fromRect:]): Ditto.
  7350. (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]): Ditto.
  7351. (-[WebImageRenderer stopAnimation]): Ditto.
  7352. (-[WebImageRenderer tileInRect:fromPoint:context:]): Ditto.
  7353. (-[WebImageRenderer isNull]): Ditto.
  7354. (-[WebImageRenderer retainOrCopyIfNeeded]): Ditto.
  7355. (-[WebImageRenderer increaseUseCount]): Ditto.
  7356. (-[WebImageRenderer decreaseUseCount]): Ditto.
  7357. (-[WebImageRenderer flushRasterCache]): Ditto.
  7358. (-[WebImageRenderer imageRef]): Ditto.
  7359. (-[WebImageRenderer copyWithZone:]): Ditto.
  7360. * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]):
  7361. Update for slight changes to WebImageRenderer API.
  7362. * WebCoreSupport.subproj/WebImageRendererFactory.m:
  7363. (-[WebImageRendererFactory imageRendererWithMIMEType:]): Ditto.
  7364. (-[WebImageRendererFactory imageRendererWithData:MIMEType:]): Ditto.
  7365. (-[WebImageRendererFactory imageRendererWithSize:]): Ditto.
  7366. (-[WebImageRendererFactory imageRendererWithName:]): Ditto.
  7367. * WebView.subproj/WebImageView.m: (-[WebImageView image]): Ditto.
  7368. 2004-10-20 Chris Blumenberg <cblu@apple.com>
  7369. Fixed: <rdar://problem/3846943> REGRESSION: JNLP files are rendered instead of downloaded
  7370. Reviewed by john.
  7371. * Plugins.subproj/WebBasePluginPackage.h:
  7372. * Plugins.subproj/WebBasePluginPackage.m:
  7373. (-[WebBasePluginPackage isJavaPlugIn]): new
  7374. * Plugins.subproj/WebPluginDatabase.m:
  7375. (-[WebPluginDatabase refresh]): don't register the Java plug-in for a document view since Java file should be downloaded when not embedded.
  7376. 2004-10-20 Chris Blumenberg <cblu@apple.com>
  7377. Fixed:
  7378. <rdar://problem/3842030> WebKit needs to pass the mode (NP_FULL, NP_EMBED, etc) when calling plugInViewWithArguments
  7379. <rdar://problem/3792852> Safari is loading the new QuickTime Cocoa plugin on Panther
  7380. Reviewed by darin.
  7381. * Plugins.subproj/WebPluginDocumentView.m:
  7382. (-[WebPluginDocumentView setDataSource:]): pass "full" as the mode
  7383. * Plugins.subproj/WebPluginPackage.m:
  7384. (-[WebPluginPackage initWithPath:]): load plug-in with the "webplugin" extension
  7385. * WebCoreSupport.subproj/WebBridge.m:
  7386. (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): pass "embed" as the mode
  7387. * WebKit.pbproj/project.pbxproj:
  7388. 2004-10-19 Vicki Murley <vicki@apple.com>
  7389. - bump WebKit version to 167.1, so that we can do a quick dot submission for <rdar://problem/3843951>
  7390. * WebKit.pbproj/project.pbxproj:
  7391. 2004-10-19 Darin Adler <darin@apple.com>
  7392. Change suggested by Maciej during code review.
  7393. * WebCoreSupport.subproj/WebTextRenderer.m: Changed rounding hack table to be const so it can be in shared instead
  7394. of private memory, and doesn't require an initialization function.
  7395. (+[WebTextRenderer initialize]): Removed initialization.
  7396. 2004-10-19 Darin Adler <darin@apple.com>
  7397. Reviewed by Maciej.
  7398. - fixed <rdar://problem/3838934> Safari stops loading pages after rangeOfCharacterFromSet nil argument exception
  7399. - fixed <rdar://problem/3843951> REGRESSION (166-167): Safari crashes in widthForNextCharacter (belkin.com, at startup for others)
  7400. - fixed <rdar://problem/3841049> REGRESSION (109-110): control characters render as square boxes
  7401. * WebCoreSupport.subproj/WebTextRenderer.m:
  7402. (isSpace): Merged in isAlternateSpace, never used.
  7403. (setupRoundingHackCharacterTable): Fixed size of table, was 1 entry too short. Got rid of unneeded call to bzero,
  7404. since globals start out zeroed automatically.
  7405. (isRoundingHackCharacter): Fixed backwards logic causing the crash in widthForNextCharacter.
  7406. Also removed explicit compare with 1; check for non-zero is just fine.
  7407. (fontContainsString): Change code so we'll just skip the font if the covered character set returns nil rather than
  7408. throwing an exception like the old version did. This should make bug 3838934 go away, although perhaps covering up
  7409. the underlying problem.
  7410. (-[WebTextRenderer _convertCharacters:length:toGlyphs:]): Removed unused skipControlCharacters: parameter and also
  7411. the unnecessary code to copy the buffer to change newline characters and non-break spaces to spaces.
  7412. (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]): Removed unused local.
  7413. (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]): Added code to set up special cases for control characters,
  7414. \n and non-break spaces.
  7415. (-[WebTextRenderer _createATSUTextLayoutForRun:]): Added comment about the cases this code does not handle that
  7416. are handled by the CG case.
  7417. (widthForNextCharacter): Call isSpace instead of checking specifically for the space character here. The old code
  7418. would not handle cases with '\n' coming across from WebCore properly.
  7419. 2004-10-18 Chris Blumenberg <cblu@apple.com>
  7420. Fixed: <rdar://problem/3840916> GC: -[WebNetscapePluginPackage initWithPath:] leaks an NSURL
  7421. Reviewed by kevin.
  7422. * Plugins.subproj/WebNetscapePluginPackage.m:
  7423. (-[WebNetscapePluginPackage initWithPath:]): use executablePath on NSBundle instead of CFBundleCopyExecutableURL
  7424. 2004-10-18 Chris Blumenberg <cblu@apple.com>
  7425. * DOM.subproj/DOMPrivate.h: change to copied header that was never committed
  7426. 2004-10-18 John Sullivan <sullivan@apple.com>
  7427. Reviewed by Ken.
  7428. - fixed <rdar://problem/3810183> Make WebHTMLView respect return value of webView:doCommandBySelector:
  7429. * WebView.subproj/WebHTMLView.m:
  7430. (-[WebHTMLView doCommandBySelector:]):
  7431. only do default action if delegate returns NO; this works with Mail as of Tiger 8A275.
  7432. === Safari-167 ===
  7433. 2004-10-14 Ken Kocienda <kocienda@apple.com>
  7434. Reviewed by John
  7435. Final fix for these bugs:
  7436. <rdar://problem/3806306> HTML editing puts spaces at start of line
  7437. <rdar://problem/3814252> HTML editing groups space with word causing wrapping
  7438. This change sets some new CSS properties that have been added to WebCore to
  7439. enable whitespace-handling and line-breaking features that make WebView work
  7440. more like a text editor.
  7441. * WebView.subproj/WebHTMLRepresentation.m:
  7442. (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Turn on special editing
  7443. CSS properties when loading an HTML document into a WebView that is editable.
  7444. * WebView.subproj/WebView.m:
  7445. (-[WebView setEditable:]): Add and remove special editing CSS properties in current
  7446. document being displayed.
  7447. 2004-10-14 Richard Williamson <rjw@apple.com>
  7448. Fixed <rdar://problem/3823026> making isRoundingHackCharacter use -O3 and an 8-bit lookup-table will speed "XBS" test up by 3% (actually < 1%)
  7449. Careful testing shows a small performance gain on very large text files.
  7450. I saw large variations in timings, but taking the lowest PLT timing
  7451. with and without this change showed a 0.9% gain. Note the cvs-base showed
  7452. no improvement. The improvement was for the large page attached to the
  7453. bug.
  7454. Reviewed by Ken.
  7455. * WebCoreSupport.subproj/WebTextRenderer.m:
  7456. (setupRoundingHackCharacterTable):
  7457. (isRoundingHackCharacter):
  7458. (+[WebTextRenderer initialize]):
  7459. 2004-10-14 Ken Kocienda <kocienda@apple.com>
  7460. Reviewed by me
  7461. Fix build breakage. These three functions need to return the values from their
  7462. calls to WebCGColorSpaceCreateXXX.
  7463. * WebCoreSupport.subproj/WebGraphicsBridge.m:
  7464. (-[WebGraphicsBridge createRGBColorSpace])
  7465. (-[WebGraphicsBridge createGrayColorSpace])
  7466. (-[WebGraphicsBridge createCMYKColorSpace])
  7467. 2004-10-13 Richard Williamson <rjw@apple.com>
  7468. Addressed concerns in <rdar://problem/3803117> RESP: High complexity in icu uidna_IDNToASCII called by [NSString(WebNSURLExtras) _web_mapHostNameWithRange:encode:makeString:]
  7469. In practice I saw NO improvement in performance. Although,
  7470. special-case tests could possibly show improvement. Anyway,
  7471. the changes don't hurt performance.
  7472. Reviewed by Maciej.
  7473. * Misc.subproj/WebNSURLExtras.m:
  7474. (-[NSString _web_mapHostNameWithRange:encode:makeString:]):
  7475. 2004-10-13 Maciej Stachowiak <mjs@apple.com>
  7476. Reviewed by Ken.
  7477. <rdar://problem/3824626> Change to do colormatching for DeviceRGB colorspace causes ~11% Safari slowdown
  7478. - I fixed this by turning off all colormatching for WebKit
  7479. content. We might turn it back on later. For now, it's possible to
  7480. turn it on temporarily by defining COLORMATCH_EVERYTHING.
  7481. * WebCoreSupport.subproj/WebGraphicsBridge.m:
  7482. (-[WebGraphicsBridge setFocusRingStyle:radius:color:]):
  7483. (-[WebGraphicsBridge additionalPatternPhase]):
  7484. (-[WebGraphicsBridge createRGBColorSpace]):
  7485. (-[WebGraphicsBridge createGrayColorSpace]):
  7486. (-[WebGraphicsBridge createCMYKColorSpace]):
  7487. * WebCoreSupport.subproj/WebImageData.m:
  7488. * WebCoreSupport.subproj/WebImageRenderer.h:
  7489. * WebCoreSupport.subproj/WebImageRenderer.m:
  7490. (-[WebImageRenderer _adjustSizeToPixelDimensions]):
  7491. (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
  7492. (-[WebImageRenderer _adjustColorSpace]):
  7493. (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
  7494. (-[WebImageRenderer tileInRect:fromPoint:context:]):
  7495. (_createImageRef):
  7496. (WebCGColorSpaceCreateRGB):
  7497. (WebCGColorSpaceCreateGray):
  7498. (WebCGColorSpaceCreateCMYK):
  7499. * WebKitPrefix.h:
  7500. 2004-10-13 Richard Williamson <rjw@apple.com>
  7501. Don't fill background with transparency unless debug flag
  7502. is enabled.
  7503. Reviewed by Hyatt.
  7504. * WebView.subproj/WebHTMLView.m:
  7505. (-[WebHTMLView drawRect:]):
  7506. 2004-10-12 Richard Williamson <rjw@apple.com>
  7507. Fixed <rdar://problem/3829705> Need to remove filling w/ transparency when not drawing backgroundy.
  7508. Reviewed by Ken.
  7509. * WebView.subproj/WebHTMLView.m:
  7510. (-[WebHTMLView _transparentBackground]):
  7511. (-[WebHTMLView _setTransparentBackground:]):
  7512. (-[WebHTMLView drawRect:]):
  7513. * WebView.subproj/WebHTMLViewInternal.h:
  7514. * WebView.subproj/WebHTMLViewPrivate.h:
  7515. 2004-10-11 Chris Blumenberg <cblu@apple.com>
  7516. Fixed: <rdar://problem/3802039> 8A259: Can't use Grab services to grab selection from screen
  7517. Reviewed by john.
  7518. * WebView.subproj/WebHTMLView.m:
  7519. (+[WebHTMLView initialize]): register service "return types" which are types that can be inserted into a WebView
  7520. (-[WebHTMLView writeSelectionToPasteboard:types:]): service protocol method, be sure to only write specified types
  7521. (-[WebHTMLView readSelectionFromPasteboard:]): new, service protocol method, insert types
  7522. (-[WebHTMLView validRequestorForSendType:returnType:]): moved, handle return types
  7523. 2004-10-11 Darin Adler <darin@apple.com>
  7524. Reviewed by John.
  7525. - fixed <rdar://problem/3834130> nil-object-in-dictionary exception seen in -[WebView _elementAtWindowPoint:]
  7526. * WebView.subproj/WebView.m: (-[WebView _elementAtWindowPoint:]): Added a check for nil frame.
  7527. 2004-10-11 Darin Adler <darin@apple.com>
  7528. Reviewed by John.
  7529. - fixed <rdar://problem/3834166> <input type=file> sends onchange even when the same file is chosen twice
  7530. * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton chooseFilename:]):
  7531. Do nothing if filename is the same as before.
  7532. 2004-10-11 Ken Kocienda <kocienda@apple.com>
  7533. Reviewed by Darin
  7534. * WebView.subproj/WebHTMLView.m:
  7535. (-[WebTextCompleteController doCompletion]): bridge call to get caret rect at a node
  7536. now takes an affinity: caretRectAtNode:offset:affinity:.
  7537. 2004-10-10 Ken Kocienda <kocienda@apple.com>
  7538. Reviewed by Chris
  7539. Fix for this bug:
  7540. <rdar://problem/3814236> REGRESSION (Mail): Can't set the color of text in Mail compose window using drag/drag from color panel
  7541. * WebView.subproj/WebHTMLView.m:
  7542. (+[WebHTMLView _insertablePasteboardTypes]): Add NSColorPboardType to list.
  7543. (-[WebHTMLView _isNSColorDrag:]): New helper. Determines if drag is an NSColor drag.
  7544. (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): Add a case for NSColor drags,
  7545. else do what we did before.
  7546. (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Add a case for NSColor drags, which creates
  7547. a CSS style containing color info and calls the bridge to apply the style. Otherwise, do what we did before.
  7548. 2004-10-11 Darin Adler <darin@apple.com>
  7549. Reviewed by Ken.
  7550. - fixed <rdar://problem/3833848> REGRESSION (133-134): each keydown event is getting sent multiple times
  7551. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView performKeyEquivalent:]):
  7552. Don't send an event through WebCore if it has already been through once.
  7553. 2004-10-10 John Sullivan <sullivan@apple.com>
  7554. Reviewed by Ken.
  7555. - fixed <rdar://problem/3777253> Crash in redirect mechanism trying to display error page for bad scheme
  7556. * WebView.subproj/WebMainResourceClient.m:
  7557. (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
  7558. add retain/autorelease to the request returned from call to super. In this case, the return value
  7559. was being dealloc'ed before being returned.
  7560. 2004-10-09 Chris Blumenberg <cblu@apple.com>
  7561. Fixed:
  7562. <rdar://problem/3625352> up and down arrow and page up/down keys don't work to scroll overflow:auto/scroll/overlay areas
  7563. <rdar://problem/3397658> scroll wheel does not work to scroll overflow:auto/scroll/overlay areas (RSS)
  7564. Reviewed by hyatt.
  7565. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  7566. (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): fixed typo in comment
  7567. * Plugins.subproj/WebNetscapePluginStream.m:
  7568. (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): ditto
  7569. * WebView.subproj/WebFramePrivate.h:
  7570. * WebView.subproj/WebFrameView.m:
  7571. (-[WebFrameView _bridge]): new
  7572. (-[WebFrameView scrollToBeginningOfDocument:]): call the bridge to scroll, if that fails, scroll the document view
  7573. (-[WebFrameView scrollToEndOfDocument:]): ditto
  7574. (-[WebFrameView _pageVertically:]): ditto
  7575. (-[WebFrameView _pageHorizontally:]): ditto
  7576. (-[WebFrameView _scrollLineVertically:]): ditto
  7577. (-[WebFrameView _scrollLineHorizontally:]): ditto
  7578. * WebView.subproj/WebHTMLView.m:
  7579. (-[WebHTMLView scrollWheel:]): call the bridge to scroll, if that fails, pass to next responder
  7580. === Safari-166 ===
  7581. 2004-10-05 Chris Blumenberg <cblu@apple.com>
  7582. Fixed: <rdar://problem/3827002> assertion failure in WebBaseNetscapePluginStream on abc.go.com
  7583. Reviewed by rjw.
  7584. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  7585. (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): avoid assertion failure in dealloc by temporarily setting isTerminated to YES in case we are released in this method
  7586. * Plugins.subproj/WebNetscapePluginStream.m:
  7587. (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): ditto
  7588. 2004-10-05 John Sullivan <sullivan@apple.com>
  7589. * WebCoreSupport.subproj/WebBridge.m:
  7590. (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]):
  7591. initialize "arguments" var to nil to satisfy compiler on deployment build.
  7592. 2004-10-05 Richard Williamson <rjw@apple.com>
  7593. Fixed <rdar://problem/3825442> first click lost for Dashboard
  7594. Allow dashboard to force acceptsFirstMouse:
  7595. Reviewed by Chris.
  7596. * WebView.subproj/WebHTMLView.m:
  7597. (-[WebHTMLView acceptsFirstMouse:]):
  7598. * WebView.subproj/WebView.m:
  7599. (-[WebView _dashboardBehavior:]):
  7600. * WebView.subproj/WebViewInternal.h:
  7601. * WebView.subproj/WebViewPrivate.h:
  7602. * WebCoreSupport.subproj/WebImageRenderer.h:
  7603. Comment change only
  7604. 2004-10-05 Chris Blumenberg <cblu@apple.com>
  7605. Fixed: <rdar://problem/3760920> Need to record plugin view instances
  7606. Reviewed by rjw.
  7607. * Plugins.subproj/WebPluginController.h:
  7608. * Plugins.subproj/WebPluginController.m:
  7609. (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): new, creates plug-in view and adds it to global list
  7610. (+[WebPluginController isPlugInView:]): new, checks if the plug-in view is in the global list
  7611. (-[WebPluginController destroyAllPlugins]): remove the plug-in from the global list
  7612. * Plugins.subproj/WebPluginDocumentView.m:
  7613. (-[WebPluginDocumentView setDataSource:]): call [WebPluginController plugInViewWithArguments:fromPluginPackage:]
  7614. * WebCoreSupport.subproj/WebBridge.m:
  7615. (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): ditto
  7616. * WebView.subproj/WebFrame.m:
  7617. (-[WebFrame _reloadForPluginChanges]): call [WebPluginController isPlugInView:]
  7618. * WebView.subproj/WebHTMLView.m:
  7619. (-[WebHTMLView addSubview:]): ditto
  7620. 2004-10-05 David Hyatt <hyatt@apple.com>
  7621. Fix to make selection more like NSTextView. All gap painting is now done by WebCore, so WebKit no longer
  7622. needs to try to fill gaps around text.
  7623. Reviewed by kocienda
  7624. * WebCoreSupport.subproj/WebTextRenderer.m:
  7625. (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
  7626. (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]):
  7627. 2004-10-05 Darin Adler <darin@apple.com>
  7628. Reviewed by John.
  7629. - fixed <rdar://problem/3577255> custom file icon shows up upside down in <input type=file>
  7630. * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton setFilename:]): Added a call to
  7631. setFlipped that fixes the problem, even though I don't know why.
  7632. 2004-10-04 Darin Adler <darin@apple.com>
  7633. Reviewed by Maciej.
  7634. - fixed <rdar://problem/3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window
  7635. * WebView.subproj/WebHTMLView.m:
  7636. (-[WebHTMLView _selectionStartFontAttributesAsRTF]): Changed to call new bridge method
  7637. named fontAttributesForSelectionStart, deleted the method this used to use, and renamed
  7638. this to have the word "start" in it.
  7639. (-[WebHTMLView copyFont:]): Updated for name change.
  7640. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  7641. 2004-10-04 Chris Blumenberg <cblu@apple.com>
  7642. * WebView.subproj/WebFrameInternal.h: removed constant declarations that I committed by mistake
  7643. 2004-10-04 Chris Blumenberg <cblu@apple.com>
  7644. Fixed: <rdar://problem/3798948> NPP_URLNotify is not called if plug-in calls NPN_*URLNotfy
  7645. Fixed a number of FIXME's related to notifying plug-ins of loaded pages.
  7646. Reviewed by rjw.
  7647. * Plugins.subproj/WebBaseNetscapePluginStream.h:
  7648. - replaced URL ivar with requestURL and responseURL ivars since we need to pass both to plug-ins
  7649. - added sendNotification boolean. Relying on notifyData not being NULL was not information to know whether to call NPP_URLNotify or not.
  7650. - added isTerminated boolean because determining whether or not stream.ndata is NULL is not enough to know if the stream has been cancelled.
  7651. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  7652. (+[WebBaseNetscapePluginStream reasonForError:]): new, factored out from receivedError:
  7653. (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): new
  7654. (-[WebBaseNetscapePluginStream dealloc]): release new ivars
  7655. (-[WebBaseNetscapePluginStream finalize]): added assert
  7656. (-[WebBaseNetscapePluginStream setRequestURL:]): new
  7657. (-[WebBaseNetscapePluginStream setResponseURL:]): new
  7658. (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): renamed, use responseURL as it basically did before
  7659. (-[WebBaseNetscapePluginStream startStreamWithResponse:]): call renamed method
  7660. (-[WebBaseNetscapePluginStream destroyStream]):
  7661. - do nothing if terminated
  7662. - call NPP_StreamAsFile and NPP_DestroyStream if stream.ndata is not NULL
  7663. - call NPP_URLNotify if sendNotification is YES regardless of value of notifyData
  7664. (-[WebBaseNetscapePluginStream receivedError:]): call reasonForError
  7665. (-[WebBaseNetscapePluginStream deliverData]): use renamed ivar
  7666. * Plugins.subproj/WebBaseNetscapePluginView.h:
  7667. - added observingFrameLoadNotification boolean
  7668. - renamed dictionary ivar to pendingFrameLoads which has WebFrame keys and WebPluginRequest values
  7669. * Plugins.subproj/WebBaseNetscapePluginView.m:
  7670. (-[WebBaseNetscapePluginView addFrameLoadObserver]): new
  7671. (-[WebBaseNetscapePluginView removeFrameLoadObserver]): new
  7672. (-[WebBaseNetscapePluginView stop]): call removeFrameLoadObserver
  7673. (-[WebBaseNetscapePluginView initWithFrame:]): use renamed pendingFrameLoads ivar
  7674. (-[WebBaseNetscapePluginView dealloc]): ditto
  7675. (-[WebBaseNetscapePluginView requestWithURLCString:]): set referrer on the request just as IE does
  7676. (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
  7677. - call NPP_URLNotify depending of value of sendNotification
  7678. - call new init method on WebBaseNetscapePluginStream rather then setting variables individually
  7679. (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]): new, calls NPP_URLNotify at the right time with the right value
  7680. (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithError:]): new, delegate method called from WebFrame
  7681. (-[WebBaseNetscapePluginView loadPluginRequest:]): call addFrameLoadObserver
  7682. (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): take new sendNotification parameter and pass it
  7683. (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): pass YES for sendNotification
  7684. (-[WebBaseNetscapePluginView getURL:target:]): pass NO for sendNotification
  7685. (-[WebBaseNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]): take new sendNotification parameter and pass it
  7686. (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]): pass YES for sendNotification
  7687. (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): pass NO for sendNotification
  7688. (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:]): take new sendNotification parameter
  7689. (-[WebPluginRequest sendNotification]): new
  7690. * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
  7691. * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
  7692. (-[WebNetscapePluginEmbeddedView didStart]): set referrer on the request just as IE does
  7693. * Plugins.subproj/WebNetscapePluginRepresentation.m:
  7694. (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): set the request URL on the stream
  7695. * Plugins.subproj/WebNetscapePluginStream.h:
  7696. * Plugins.subproj/WebNetscapePluginStream.m:
  7697. (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): take new sendNotification parameter and pass it
  7698. (-[WebNetscapePluginStream dealloc]): use renamed ivar
  7699. (-[WebNetscapePluginStream start]): ditto
  7700. * WebView.subproj/WebFrame.m:
  7701. (-[WebFrame _setState:]): removed notification posting code. This was only used by WebBaseNetscapePluginView and it was the wrong notification to send.
  7702. (-[WebFrame _checkLoadCompleteForThisFrame]): call internal load delegate to tell it that the load has finished
  7703. (-[WebFrame _loadItem:withLoadType:]): ditto
  7704. (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): ditto
  7705. (-[WebFrame _setInternalLoadDelegate:]): new
  7706. (-[WebFrame _internalLoadDelegate]): new
  7707. * WebView.subproj/WebFrameInternal.h:
  7708. * WebView.subproj/WebFramePrivate.h:
  7709. 2004-10-04 Chris Blumenberg <cblu@apple.com>
  7710. Fixed: <rdar://problem/3758113> REGRESSION: Macromedia ColdFusion page doesn't show main content
  7711. After bumping up our plug-in version, Flash now sends 2 CRLF's between the headers and body of their POST request. Our code was not prepared for this.
  7712. Reviewed by darin.
  7713. * Plugins.subproj/WebBaseNetscapePluginView.m:
  7714. (-[NSData _web_locationAfterFirstBlankLine]): looks for 2 CRLF's, not for 2 LF's
  7715. 2004-10-04 Darin Adler <darin@apple.com>
  7716. Reviewed by Ken.
  7717. - fixed a potential storage leak when we turn on CGImageRef image rendering
  7718. * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer dealloc]): Fix potential storage leak
  7719. by adding [super dealloc], but leak was not real yet because the code is commented out.
  7720. - make paste style work with color as part of fix to <rdar://problem/3814237> REGRESSION (Mail):
  7721. Copy/paste style does not set color in Mail compose window
  7722. * WebView.subproj/WebHTMLView.m:
  7723. (-[WebHTMLView _selectionFontAttributes]): Change structure so it's easy to add more attributes.
  7724. For now I haven't added any yet.
  7725. (-[WebHTMLView _colorAsString:]): Moved this earlier in the file.
  7726. (-[WebHTMLView _shadowAsString:]): Ditto.
  7727. (-[WebHTMLView _styleFromFontAttributes:]): Add background color, foreground color, and text shadow.
  7728. 2004-09-30 Richard Williamson <rjw@apple.com>
  7729. Fixed <rdar://problem/3821215> NPN hasMethod and hasProperty functions should take NPObjects, not NPClass
  7730. Also changed dashboard regions dictionary to use "control"
  7731. for scroller region label, instead of "scroller, per
  7732. request from ouch.
  7733. Reviewed by Chris.
  7734. * Plugins.subproj/npruntime.h:
  7735. * WebView.subproj/WebView.m:
  7736. (-[WebView _addScrollerDashboardRegions:from:]):
  7737. 2004-09-30 Chris Blumenberg <cblu@apple.com>
  7738. Fixed: <rdar://problem/3498680> switching back and forth between tabs stops calling anything in a plug-in
  7739. Reviewed by darin.
  7740. * Plugins.subproj/WebBaseNetscapePluginView.m:
  7741. (-[WebBaseNetscapePluginView sendEvent:]): call setWindowIfNecessary because the window may have changed
  7742. (-[WebBaseNetscapePluginView updateAndSetWindow]): new
  7743. (-[WebBaseNetscapePluginView setWindowIfNecessary]): was setWindow, this method now just sets the window
  7744. (-[WebBaseNetscapePluginView start]): call updateAndSetWindow
  7745. (-[WebBaseNetscapePluginView viewDidMoveToWindow]): ditto
  7746. (-[WebBaseNetscapePluginView viewHasMoved:]): ditto
  7747. 2004-09-30 Chris Blumenberg <cblu@apple.com>
  7748. Fixed: <rdar://problem/3498668> switching out of tab doesn't send loseFocusEvent to plug-in
  7749. Reviewed by rjw.
  7750. * Plugins.subproj/WebBaseNetscapePluginView.h:
  7751. * Plugins.subproj/WebBaseNetscapePluginView.m:
  7752. (-[WebBaseNetscapePluginView setHasFocus:]): new, sends events to plug-in
  7753. (-[WebBaseNetscapePluginView becomeFirstResponder]): call setHasFocus
  7754. (-[WebBaseNetscapePluginView resignFirstResponder]): ditto
  7755. (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): ditto
  7756. 2004-09-30 Chris Blumenberg <cblu@apple.com>
  7757. Fixed:
  7758. Assertion failure when loading standalone netscape plug-in content.
  7759. Document loads of WebKit plug-in content should be cancelled since the plug-in does its own loading.
  7760. Reviewed by john.
  7761. * Misc.subproj/WebKitErrors.m: removed deprecated method
  7762. * Misc.subproj/WebKitErrorsPrivate.h:
  7763. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  7764. (-[WebNetscapePluginDocumentView setDataSource:]): fixed the assertion statement
  7765. * Plugins.subproj/WebPluginDocumentView.h:
  7766. * Plugins.subproj/WebPluginDocumentView.m:
  7767. (-[WebPluginDocumentView dealloc]): remove retained plug-in
  7768. (-[WebPluginDocumentView setDataSource:]): retain the plug-in, cancel the laod
  7769. 2004-09-29 Chris Blumenberg <cblu@apple.com>
  7770. Fixed:
  7771. <rdar://problem/3763832> Safari-155: Non-Embeded movies fail to open in Cocoa QT plug-in
  7772. <rdar://problem/3820517> "*** -[WebPluginPackage NPP_New]: selector not recognized [self = 0x5552c10]"
  7773. Reviewed by rjw.
  7774. * History.subproj/WebHistoryItem.m:
  7775. * Misc.subproj/WebNSViewExtras.h:
  7776. * Misc.subproj/WebNSViewExtras.m:
  7777. (-[NSView _web_firstResponderCausesFocusDisplay]):
  7778. (-[NSView _webView]):
  7779. (-[NSView _frame]):
  7780. (-[NSView _bridge]):
  7781. (-[NSView _dataSource]):
  7782. * Plugins.subproj/WebBasePluginPackage.h:
  7783. * Plugins.subproj/WebBasePluginPackage.m:
  7784. (-[WebBasePluginPackage hash]):
  7785. (-[WebBasePluginPackage isQuickTimePlugIn]):
  7786. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  7787. (-[WebNetscapePluginDocumentView setDataSource:]):
  7788. * Plugins.subproj/WebNetscapePluginRepresentation.m:
  7789. * Plugins.subproj/WebPluginController.h:
  7790. * Plugins.subproj/WebPluginController.m:
  7791. (-[WebPluginController initWithDocumentView:]):
  7792. (-[WebPluginController addPlugin:]):
  7793. (-[WebPluginController destroyAllPlugins]):
  7794. (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
  7795. (-[WebPluginController webPlugInContainerShowStatus:]):
  7796. (-[WebPluginController webPlugInContainerSelectionColor]):
  7797. (-[WebPluginController webFrame]):
  7798. * Plugins.subproj/WebPluginDatabase.h:
  7799. * Plugins.subproj/WebPluginDatabase.m:
  7800. (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
  7801. (-[WebPluginDatabase refresh]):
  7802. (WebPluginDocumentView::while):
  7803. * Plugins.subproj/WebPluginDocumentView.h: Added.
  7804. * Plugins.subproj/WebPluginDocumentView.m: Added.
  7805. (-[WebPluginDocumentView initWithFrame:]):
  7806. (-[WebPluginDocumentView dealloc]):
  7807. (-[WebPluginDocumentView drawRect:]):
  7808. (-[WebPluginDocumentView setDataSource:]):
  7809. (-[WebPluginDocumentView setNeedsLayout:]):
  7810. (-[WebPluginDocumentView layout]):
  7811. (-[WebPluginDocumentView currentWindow]):
  7812. (-[WebPluginDocumentView viewWillMoveToWindow:]):
  7813. (-[WebPluginDocumentView viewDidMoveToWindow]):
  7814. (-[WebPluginDocumentView viewWillMoveToHostWindow:]):
  7815. (-[WebPluginDocumentView viewDidMoveToHostWindow]):
  7816. (-[WebPluginDocumentView receivedData:withDataSource:]):
  7817. (-[WebPluginDocumentView receivedError:withDataSource:]):
  7818. (-[WebPluginDocumentView finishedLoadingWithDataSource:]):
  7819. (-[WebPluginDocumentView canProvideDocumentSource]):
  7820. (-[WebPluginDocumentView documentSource]):
  7821. (-[WebPluginDocumentView title]):
  7822. * Plugins.subproj/npapi.m:
  7823. (NPN_ReleaseVariantValue):
  7824. (NPN_GetStringIdentifier):
  7825. (NPN_GetStringIdentifiers):
  7826. (NPN_GetIntIdentifier):
  7827. (NPN_IdentifierIsString):
  7828. (NPN_UTF8FromIdentifier):
  7829. (NPN_IntFromIdentifier):
  7830. (NPN_CreateObject):
  7831. (NPN_RetainObject):
  7832. (NPN_ReleaseObject):
  7833. (NPN_Invoke):
  7834. (NPN_InvokeDefault):
  7835. (NPN_Evaluate):
  7836. (NPN_GetProperty):
  7837. (NPN_SetProperty):
  7838. (NPN_RemoveProperty):
  7839. (NPN_HasProperty):
  7840. (NPN_HasMethod):
  7841. (NPN_SetException):
  7842. (NPN_Call):
  7843. * WebCoreSupport.subproj/WebBridge.m:
  7844. (-[WebBridge frameRequiredForMIMEType:URL:]):
  7845. * WebCoreSupport.subproj/WebViewFactory.m:
  7846. * WebKit.exp:
  7847. * WebKit.pbproj/project.pbxproj:
  7848. * WebView.subproj/WebDebugDOMNode.m:
  7849. * WebView.subproj/WebDocumentInternal.h:
  7850. * WebView.subproj/WebHTMLView.m:
  7851. (-[WebHTMLView initWithFrame:]):
  7852. * WebView.subproj/WebHTMLViewPrivate.h:
  7853. * WebView.subproj/WebImageRepresentation.h:
  7854. * WebView.subproj/WebRenderNode.m:
  7855. * WebView.subproj/WebView.m:
  7856. 2004-09-29 Richard Williamson <rjw@apple.com>
  7857. Fixed <rdar://problem/3779998> bringing window to front or sending to back does not send focus/blur events to JavaScript window object
  7858. The fix has two parts, 1) make onblur and onfocus work for windows,
  7859. and 2), allow the dashboard to override WebKit's special key/non-key
  7860. behaviors.
  7861. Reviewed by Maciej.
  7862. * Plugins.subproj/WebBaseNetscapePluginView.m:
  7863. (-[WebBaseNetscapePluginView restartNullEvents]):
  7864. * WebView.subproj/WebHTMLView.m:
  7865. (-[WebHTMLView addMouseMovedObserver]):
  7866. (-[WebHTMLView removeMouseMovedObserver]):
  7867. * WebView.subproj/WebView.m:
  7868. (-[WebView _dashboardBehavior:]):
  7869. * WebView.subproj/WebViewInternal.h:
  7870. * WebView.subproj/WebViewPrivate.h:
  7871. 2004-09-29 Maciej Stachowiak <mjs@apple.com>
  7872. Reviewed by John.
  7873. - consolidated OS version checks into prefix header
  7874. * Misc.subproj/WebFileDatabase.m:
  7875. (-[WebFileDatabase _createLRUList:]):
  7876. (+[WebFileDatabase _syncLoop:]):
  7877. * Misc.subproj/WebKitErrors.m:
  7878. (registerErrors):
  7879. * Misc.subproj/WebNSObjectExtras.h:
  7880. (WebNSRetainCFRelease):
  7881. * Misc.subproj/WebNSPasteboardExtras.m:
  7882. (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
  7883. * Misc.subproj/WebUnicode.m:
  7884. (_unicodeDirection):
  7885. * WebCoreSupport.subproj/WebImageData.h:
  7886. * WebCoreSupport.subproj/WebImageRenderer.h:
  7887. * WebCoreSupport.subproj/WebKeyGenerator.h:
  7888. * WebCoreSupport.subproj/WebNewKeyGeneration.c:
  7889. * WebKitPrefix.h:
  7890. * WebView.subproj/WebDataSource.m:
  7891. (+[WebDataSource _repTypesAllowImageTypeOmission:]):
  7892. (-[WebDataSource isLoading]):
  7893. * WebView.subproj/WebFrameView.m:
  7894. (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
  7895. * WebView.subproj/WebHTMLView.m:
  7896. * WebView.subproj/WebPDFRepresentation.h:
  7897. * WebView.subproj/WebPDFRepresentation.m:
  7898. * WebView.subproj/WebPDFView.h:
  7899. * WebView.subproj/WebPDFView.m:
  7900. 2004-09-29 Ken Kocienda <kocienda@apple.com>
  7901. Reviewed by Hyatt
  7902. Fix for this bug:
  7903. <rdar://problem/3818296> REGRESSION (Mail): centerSelectionInVisibleArea does not work correctly
  7904. * WebView.subproj/WebHTMLView.m:
  7905. (-[WebHTMLView centerSelectionInVisibleArea:]): Now calls new centerSelectionInVisibleArea
  7906. bridge function instead of ensureCaretVisible. Now handles caret selections and range
  7907. selections correctly.
  7908. 2004-09-28 Chris Blumenberg <cblu@apple.com>
  7909. Added timing code so that Doug can time RTF conversion.
  7910. * WebView.subproj/WebHTMLView.m:
  7911. (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]):
  7912. (-[WebHTMLView _attributeStringFromDOMRange:]):
  7913. 2004-09-28 Richard Williamson <rjw@apple.com>
  7914. <rdar://problem/3817421> add getter for dashboard regions (debugging)
  7915. <rdar://problem/3817417> NSScrollView need autoregions for dashboard
  7916. Also KWQScrollBars
  7917. Reviewed by Hyatt.
  7918. * WebCoreSupport.subproj/WebBridge.m:
  7919. (-[WebBridge dashboardRegionsChanged:]):
  7920. * WebView.subproj/WebView.m:
  7921. (-[WebView _setInitiatedDrag:]):
  7922. (-[WebView _addScrollerDashboardRegions:from:]):
  7923. (-[WebView _addScrollerDashboardRegions:]):
  7924. (-[WebView _dashboardRegions]):
  7925. * WebView.subproj/WebViewPrivate.h:
  7926. 2004-09-27 John Sullivan <sullivan@apple.com>
  7927. - fixed <rdar://problem/3814705> 8A266: Safari authentication dialog "remember password" text should match Mail
  7928. * Panels.subproj/English.lproj/WebAuthenticationPanel.nib:
  7929. changed "Remember this password" to "Remember this password in my keychain";
  7930. this will need to go through CCC for this week's build.
  7931. 2004-09-27 Chris Blumenberg <cblu@apple.com>
  7932. Fixed: <rdar://problem/3594754> change null event interval from 20 ms to 10 ms to match speed on Windows
  7933. Reviewed by John.
  7934. * Plugins.subproj/WebBaseNetscapePluginView.m:
  7935. 2004-09-27 Chris Blumenberg <cblu@apple.com>
  7936. Fixed: <rdar://problem/3502138> text files don't remember scroll position when going back or reloading
  7937. Reviewed by john.
  7938. * WebView.subproj/WebTextView.m:
  7939. (-[WebTextView layout]): implemented, call sizeToFit, without this scrollPoint: won't work
  7940. 2004-09-27 John Sullivan <sullivan@apple.com>
  7941. Reviewed by Ken.
  7942. - WebKit part of fix for <rdar://problem/3734466> ER: Support standard editing keystrokes
  7943. like Cmd-B while editing rich text
  7944. * WebView.subproj/WebHTMLView.m:
  7945. (-[WebHTMLView _toggleBold]):
  7946. new method, toggles font-weight from "bold" to "normal"
  7947. (-[WebHTMLView _toggleItalic]):
  7948. new method, toggles font-style from "italic" to "normal"
  7949. (-[WebHTMLView _handleStyleKeyEquivalent:]):
  7950. new method, if the new preference is set and we're in an editable state, check for standard
  7951. key equivalents for toggling styles (just command-B and command-I for now).
  7952. (-[WebHTMLView performKeyEquivalent:]):
  7953. Moved in file, now calls _handleStyleKeyEquivalent:
  7954. * WebView.subproj/WebPreferenceKeysPrivate.h:
  7955. new preference key WebKitRespectStandardStyleKeyEquivalentsPreferenceKey
  7956. * WebView.subproj/WebPreferences.m:
  7957. (+[WebPreferences initialize]):
  7958. initial value of WebKitRespectStandardStyleKeyEquivalentsPreferenceKey is NO (maybe we'll
  7959. change our minds about this, but this is more guaranteed to be backward-compatible)
  7960. (-[WebPreferences respectStandardStyleKeyEquivalents]):
  7961. read WebKitRespectStandardStyleKeyEquivalentsPreferenceKey
  7962. (-[WebPreferences setRespectStandardStyleKeyEquivalents:]):
  7963. write WebKitRespectStandardStyleKeyEquivalentsPreferenceKey
  7964. * WebView.subproj/WebPreferencesPrivate.h:
  7965. declare getter and setter
  7966. * English.lproj/StringsNotToBeLocalized.txt:
  7967. updated for these and other recent changes
  7968. 2004-09-27 Chris Blumenberg <cblu@apple.com>
  7969. Fixed: <rdar://problem/3806649> assertion failure after control-click of webcam
  7970. Reviewed by john.
  7971. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  7972. (-[WebDefaultUIDelegate contextMenuItemsForElement:]): don't provide "Copy Image" if the image is not fully loaded
  7973. 2004-09-27 Chris Blumenberg <cblu@apple.com>
  7974. Fixed: <rdar://problem/3814810> REGRESSION (125-164): Exception adding nil to dictionary in dragging code
  7975. Reviewed by john.
  7976. * WebView.subproj/WebHTMLView.m:
  7977. (-[WebHTMLView _setMouseDownEvent:]): new
  7978. (-[WebHTMLView acceptsFirstMouse:]): call _setMouseDownEvent
  7979. (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto
  7980. (-[WebHTMLView mouseDown:]): ditto
  7981. (-[WebHTMLView _delegateDragSourceActionMask]): removed temp fix, assert that the mouse event is not nil
  7982. 2004-09-27 Darin Adler <darin@apple.com>
  7983. * WebKit.pbproj/project.pbxproj: Added WebDashboardRegion.h as a private header.
  7984. 2004-09-24 Chris Blumenberg <cblu@apple.com>
  7985. Reviewed by rjw.
  7986. * WebView.subproj/WebHTMLView.m:
  7987. (-[WebHTMLView _selectedArchive]): added timing code for copying markup
  7988. === Safari-165 ===
  7989. 2004-09-24 Chris Blumenberg <cblu@apple.com>
  7990. Temp fix for: <rdar://problem/3814810> REGRESSION (125-164): Exception adding nil to dictionary in dragging code
  7991. Reviewed by john.
  7992. * WebView.subproj/WebHTMLView.m:
  7993. (-[WebHTMLView _delegateDragSourceActionMask]): return none if the mouse down event is nil
  7994. 2004-09-24 Ken Kocienda <kocienda@apple.com>
  7995. Reviewed by John
  7996. Fix for this bug:
  7997. <rdar://problem/3813917> REGRESSION (125-163): The font panel will change the font of any web page
  7998. We were doing a laughably bad job at preventing edits in documents that were not editable.
  7999. This change fixes the specific case of the bug mentioned above, and makes an attempt to
  8000. fix similar bugs by checking for whether the view is in editing mode before making edits.
  8001. * WebView.subproj/WebHTMLView.m:
  8002. (-[WebHTMLView _canEdit]): Renamed from _canType. Used in many more places in the code now.
  8003. (-[WebHTMLView _isMoveDrag]): Change around code to make the meaning more clear. This one
  8004. was actually performing a correct check before.
  8005. (-[WebHTMLView keyDown:]): Renamed _canType to _canEdit.
  8006. (-[WebHTMLView paste:]): Don't beep if can't paste. This matches AppKit. Any paste-related beeps
  8007. will come from failure to handle key equivalent. Menu validation will kick in to dim menu.
  8008. (-[WebHTMLView _applyStyleToSelection:]): Bail if !_canEdit.
  8009. (-[WebHTMLView pasteAsPlainText:]): Ditto.
  8010. (-[WebHTMLView _alignSelectionUsingCSSValue:]): Ditto.
  8011. (-[WebHTMLView insertNewline:]): Ditto.
  8012. (-[WebHTMLView insertParagraphSeparator:]): Ditto.
  8013. (-[WebHTMLView _changeWordCaseWithSelector:]): Ditto.
  8014. (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): Ditto.
  8015. (-[WebHTMLView complete:]): Ditto.
  8016. (-[WebHTMLView _changeSpellingToWord:]): Ditto. Some code rearranging to eliminate bridge local variable.
  8017. (-[WebHTMLView ignoreSpelling:]): Ditto.
  8018. (-[WebHTMLView yank:]): Bail if !_canEdit.
  8019. (-[WebHTMLView yankAndSelect:]): Ditto.
  8020. (-[WebHTMLView deleteToMark:]): Ditto.
  8021. (-[WebHTMLView swapWithMark:]): Ditto.
  8022. (-[WebHTMLView transpose:]): Ditto.
  8023. (-[WebHTMLView _updateFontPanel]): Ditto. Some code rearranging to eliminate bridge local variable.
  8024. (-[WebHTMLView setMarkedText:selectedRange:]): Bail if !_canEdit.
  8025. (-[WebHTMLView _insertText:selectInsertedText:]): Ditto. Some code rearranging to eliminate bridge local variable.
  8026. * WebView.subproj/WebHTMLViewPrivate.h: Renamed _canType to _canEdit.
  8027. 2004-09-24 Ken Kocienda <kocienda@apple.com>
  8028. Reviewed by me
  8029. * WebCoreSupport.subproj/WebDashboardRegion.h: Check in file copied from WebCore.
  8030. 2004-09-23 Maciej Stachowiak <mjs@apple.com>
  8031. Reviewed by Darin.
  8032. <rdar://problem/3685235> REGRESSION (Mail): links are not properly editable
  8033. * WebView.subproj/WebDefaultUIDelegate.m: By default, don't allow
  8034. link dragging if the element under the mouse pointer is
  8035. editable. This way, you can drag-select starting inside a link.
  8036. 2004-09-23 John Sullivan <sullivan@apple.com>
  8037. Reviewed by Chris.
  8038. - WebKit part of fix for <rdar://problem/3415264>
  8039. Default encoding should initially be set to current system encoding
  8040. * WebView.subproj/WebPreferences.m:
  8041. (-[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]):
  8042. new SPI that sets the initial value of the default text encoding to
  8043. be the system encoding, with a special-case conversion of MacRoman->Latin1.
  8044. This is not done automatically for WebKit clients for fear of breaking them.
  8045. * WebView.subproj/WebPreferencesPrivate.h:
  8046. declare new SPI
  8047. 2004-09-23 Darin Adler <darin@apple.com>
  8048. Reviewed by Ken.
  8049. - fixed <rdar://problem/3811584> REGRESSION (85-125): iframe.document undefined in function called from button onclick; works from img onclick
  8050. The fix is to not let "defers callbacks" have any effect on loading "about:blank".
  8051. I also had to fix one bug in WebCore that could then be reproduced by going to "about:blank"
  8052. while using a button.
  8053. * WebView.subproj/WebMainResourceClient.m:
  8054. (-[WebMainResourceClient connection:didReceiveResponse:]): Loosen asserts to allow this callback
  8055. for the specific case of "about:blank" even if the defers callbacks flag is true.
  8056. (-[WebMainResourceClient connectionDidFinishLoading:]): Ditto.
  8057. (-[WebMainResourceClient loadWithRequestNow:]): Added NSURLRequest return value. Loosened asserts
  8058. as above. Changed code to return a new request if we get a new request back that is not empty
  8059. when the defers callbacks flag is true.
  8060. (-[WebMainResourceClient loadWithRequest:]): If the defers callbacks flag is set, but the
  8061. URL is one that gives us an empty document, then do the work right away, don't defer it.
  8062. 2004-09-23 Darin Adler <darin@apple.com>
  8063. - fixed B&I builds by checking in generated file
  8064. * WebCoreSupport.subproj/WebDashboardRegion.h: Added.
  8065. 2004-09-22 Richard Williamson <rjw@apple.com>
  8066. Pass dashboard regions to UI delegate.
  8067. Reviewed by Hyatt.
  8068. * WebCoreSupport.subproj/WebBridge.m:
  8069. (-[WebBridge dashboardRegionsChanged:]):
  8070. * WebView.subproj/WebUIDelegatePrivate.h:
  8071. * copy-webcore-files-to-webkit:
  8072. 2004-09-22 Chris Blumenberg <cblu@apple.com>
  8073. Fixed build that I just broke.
  8074. * WebView.subproj/WebHTMLView.m:
  8075. (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
  8076. 2004-09-22 Chris Blumenberg <cblu@apple.com>
  8077. <rdar://problem/3812091> REGRESSION (Mail): double-clicked word is not smart inserted on drag
  8078. Reviewed by john.
  8079. * WebView.subproj/WebHTMLView.m:
  8080. (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): pass value for smartMove
  8081. 2004-09-22 Chris Blumenberg <cblu@apple.com>
  8082. Fixed:
  8083. <rdar://problem/3667301> Frequent crashes in Mail when viewing HTML messages (CFURLGetByteRangeForComponent)
  8084. <rdar://problem/3810354> WebResourceLoadDelegate can't refuse requests by returning nil; code asserts/crashes instead
  8085. Reviewed by rjw.
  8086. * WebCoreSupport.subproj/WebSubresourceClient.m:
  8087. (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): removed broken code that handled loadWithRequest returning NO
  8088. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  8089. (-[WebBaseResourceHandleDelegate loadWithRequest:]): if nil is returned from the client for willSendRequest, report the cancelled error and return
  8090. 2004-09-22 Ken Kocienda <kocienda@apple.com>
  8091. Reviewed by Darin
  8092. * WebView.subproj/WebFrameView.m:
  8093. (-[WebFrameView _webcore_effectiveFirstResponder]): New function to yield the correct responder
  8094. to check for firstResponder-ness before calling makeFirstResonder. This helps to prevent
  8095. unwanted firstResponder switching.
  8096. * WebView.subproj/WebView.m:
  8097. (-[WebView _webcore_effectiveFirstResponder]): Ditto.
  8098. 2004-09-21 Chris Blumenberg <cblu@apple.com
  8099. Fixed:
  8100. <rdar://problem/3735071> REGRESSION (Mail): WebCore Editing must do smart paste
  8101. <rdar://problem/3799163> REGRESSION (Mail): Deleting a word doesn't delete whitespace
  8102. Reviewed by darin.
  8103. * WebView.subproj/WebDataSource.m:
  8104. (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): pass NO for smartReplace
  8105. * WebView.subproj/WebHTMLView.m:
  8106. (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard
  8107. (-[WebHTMLView _changeSpellingFromMenu:]): pass NO for smartReplace
  8108. (-[WebHTMLView pasteboardTypesForSelection]): include WebSmartPastePboardType when _canSmartCopyOrDelete return YES
  8109. (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): ditto
  8110. (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard
  8111. (-[WebHTMLView delete:]): call _deleteSelection
  8112. (-[WebHTMLView cut:]): don't call delegate twice, call _deleteRange to delete
  8113. (-[WebHTMLView pasteAsPlainText:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard
  8114. (-[WebHTMLView _changeWordCaseWithSelector:]): pass NO for smartReplace
  8115. (-[WebHTMLView deleteBackward:]): call _deleteSelection when there is a selected range
  8116. (-[WebHTMLView _changeSpellingToWord:]): pass NO for smartReplace
  8117. (-[WebHTMLView deleteToMark:]): pass NO for smartDeleteOK
  8118. (-[WebHTMLView transpose:]): pass NO for smartReplace
  8119. (-[WebHTMLView _shouldDeleteRange:]): moved
  8120. (-[WebHTMLView _deleteRange:preflight:killRing:prepend:smartDeleteOK:]): moved, handle smartDelete
  8121. (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): moved
  8122. (-[WebHTMLView _deleteSelection]): new
  8123. (-[WebHTMLView _canSmartReplaceWithPasteboard]): new
  8124. (-[WebHTMLView _canSmartCopyOrDelete]): new
  8125. (-[WebHTMLView setMarkedText:selectedRange:]): pass NO for smartReplace
  8126. (-[WebHTMLView _discardMarkedText]): call _deleteSelection
  8127. (-[WebTextCompleteController _insertMatch:]): pass NO for smartReplace
  8128. (-[WebTextCompleteController endRevertingChange:moveLeft:]): pass NO for smartReplace
  8129. * WebView.subproj/WebHTMLViewInternal.h:
  8130. * WebView.subproj/WebView.m:
  8131. (-[WebView _commonInitializationWithFrameName:groupName:]): set smartInsertDeleteEnabled to YES
  8132. (-[WebView replaceSelectionWithNode:]): pass NO for smartReplace
  8133. (-[WebView replaceSelectionWithText:]): pass NO for smartReplace
  8134. (-[WebView replaceSelectionWithMarkupString:]): pass NO for smartReplace
  8135. (-[WebView deleteSelection]): call _deleteSelection on WebHTMLView
  8136. 2004-09-21 John Sullivan <sullivan@apple.com>
  8137. Reviewed by Darin.
  8138. - WebKit part of fix for <rdar://problem/3618274> REGRESSION (125-135):
  8139. Option-tab doesn't always work as expected
  8140. * WebCoreSupport.subproj/WebBridge.m:
  8141. (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
  8142. Don't set WebCoreKeyboardAccessFull when setting WebCoreKeyboardAccessTabsToLinks
  8143. after all; these need to be tested independently to get the option-tab behavior
  8144. correct.
  8145. 2004-09-21 John Sullivan <sullivan@apple.com>
  8146. * WebView.subproj/WebHTMLView.m:
  8147. (-[WebHTMLView doCommandBySelector:]):
  8148. Commented out part of previous change; it breaks Mail editing until Mail
  8149. fixes bug 3810158.
  8150. 2004-09-21 John Sullivan <sullivan@apple.com>
  8151. Reviewed by Ken.
  8152. * WebView.subproj/WebHTMLView.m:
  8153. (-[WebHTMLView doCommandBySelector:]):
  8154. Fix build failure from previous checkin, d'oh! Didn't set up webview variable.
  8155. 2004-09-21 John Sullivan <sullivan@apple.com>
  8156. Reviewed by Ken.
  8157. - fixed <rdar://problem/3809477> WebHTMLView needs to pass doCommandBySelector through delegate
  8158. * WebView.subproj/WebHTMLView.m:
  8159. (-[WebHTMLView doCommandBySelector:]):
  8160. Call through to editing delegate. If editing delegate returns YES, don't call super.
  8161. * WebView.subproj/WebDefaultEditingDelegate.m:
  8162. (-[WebDefaultEditingDelegate webView:doCommandBySelector:]):
  8163. default implementation (which was never called) was returning YES, but it should
  8164. return NO to signal that it didn't handle the selector.
  8165. 2004-09-21 Chris Blumenberg <cblu@apple.com>
  8166. Fixed: <rdar://problem/3647229> Safari does not play inline Windows Media Content on some sites (miggy.net and ministryofsound.com)
  8167. Reviewed by john.
  8168. * Plugins.subproj/WebBaseNetscapePluginView.m:
  8169. * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
  8170. (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:]): set the plug-in before calling setting the attributes, so we can avoid passing certain attributes to the WMP plug-in that cause it to crash
  8171. 2004-09-20 Chris Blumenberg <cblu@apple.com>
  8172. Fixed: <rdar://problem/3781290> REGRESSION (Mail): Crash in ReplaceSelectionCommandImpl attaching file to new message
  8173. Reviewed by kocienda.
  8174. * WebView.subproj/WebView.m:
  8175. (-[WebView setEditable:]): call updateSelectionFromEmpty on the bridge if there is no selection
  8176. 2004-09-20 Chris Blumenberg <cblu@apple.com>
  8177. Changes to implement renamed bridge methods.
  8178. Reviewed by darin.
  8179. * ChangeLog:
  8180. * DOM.subproj/WebDOMOperations.m:
  8181. (-[DOMDocument URLWithAttributeString:]): call renamed bridge method
  8182. * WebCoreSupport.subproj/WebBridge.m:
  8183. (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): take 2 parameter arrays rather than 1 which will have to be parsed
  8184. (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): ditto
  8185. 2004-09-20 Darin Adler <darin@apple.com>
  8186. Reviewed by Chris.
  8187. * WebView.subproj/WebFramePrivate.h: Added back.
  8188. * WebView.subproj/WebFrameViewPrivate.h: Removed.
  8189. 2004-09-20 Darin Adler <darin@apple.com>
  8190. Reviewed by Ken.
  8191. - fixed <rdar://problem/3655360> REGRESSION (Mail): Ctrl-V emacs key binding, -pageDown: method, unimplemented (and pageUp, and selection-modifying versions)
  8192. - fixed <rdar://problem/3792138> REGRESSION (Mail): Spell checker doesn't check current selected word
  8193. * WebView.subproj/WebFrameViewInternal.h: Moved WebFrameViewPrivate inside the WebFrameView.m file.
  8194. Removed a bunch of methods that don't need to be seen in other files, and added _verticalPageScrollDistance.
  8195. * WebView.subproj/WebFrameViewPrivate.h: Removed. Renamed to WebFrameViewInternal.h.
  8196. * WebView.subproj/WebFrameView.m:
  8197. (-[WebFrameView _verticalKeyboardScrollDistance]): Move in the file because of internal vs. private.
  8198. (-[WebFrameView _shouldDrawBorder]): Ditto.
  8199. (-[WebFrameView _tile]): Ditto.
  8200. (-[WebFrameView _verticalPageScrollDistance]): Added. Separate method so it can be called
  8201. by the code to implement pageDown:.
  8202. (-[WebFrameView _drawBorder]): Move in the file because of internal vs. private.
  8203. (-[WebFrameView _goBack]): Ditto.
  8204. (-[WebFrameView _goForward]): Ditto.
  8205. (-[WebFrameView _scrollVerticallyBy:]): Ditto.
  8206. (-[WebFrameView _scrollHorizontallyBy:]): Ditto.
  8207. (-[WebFrameView _horizontalKeyboardScrollDistance]): Ditto.
  8208. (-[WebFrameView _horizontalPageScrollDistance]): Added. Separate method for consistency with
  8209. vertical method above.
  8210. (-[WebFrameView _pageVertically:]): Moved and changed to use _verticalPageScrollDistance.
  8211. (-[WebFrameView _pageHorizontally:]): Moved and changed to use _horizontalPageScrollDistance.
  8212. (-[WebFrameView _scrollLineVertically:]): Move in the file because of internal vs. private.
  8213. (-[WebFrameView _scrollLineHorizontally:]): Ditto.
  8214. (-[WebFrameView scrollPageUp:]): Ditto.
  8215. (-[WebFrameView scrollPageDown:]): Ditto.
  8216. (-[WebFrameView scrollLineUp:]): Ditto.
  8217. (-[WebFrameView scrollLineDown:]): Ditto.
  8218. (-[WebFrameView _firstResponderIsControl]): Ditto.
  8219. (-[WebFrameView keyDown:]): Changed to eliminate _pageLeft, _lineLeft, _pageRight, and _lineRight.
  8220. * WebView.subproj/WebDataSource.m: Use WebFrameView.h instead of WebFrameViewPrivate.h.
  8221. * WebView.subproj/WebHTMLView.m:
  8222. (-[WebHTMLView _alterCurrentSelection:verticalDistance:]): Added.
  8223. (-[WebHTMLView moveToBeginningOfDocument:]): Use WebSelectToDocumentBoundary.
  8224. (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto.
  8225. (-[WebHTMLView moveToEndOfDocument:]): Ditto.
  8226. (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto.
  8227. (-[WebHTMLView moveParagraphBackwardAndModifySelection:]): Added.
  8228. (-[WebHTMLView moveParagraphForwardAndModifySelection:]): Added.
  8229. (-[WebHTMLView pageUp:]): Added.
  8230. (-[WebHTMLView pageDown:]): Added.
  8231. (-[WebHTMLView pageUpAndModifySelection:]): Added.
  8232. (-[WebHTMLView pageDownAndModifySelection:]): Added.
  8233. (-[WebHTMLView showGuessPanel:]): Changed to call advanceToNextMisspellingStartingJustBeforeSelection.
  8234. This fixes the problem with spell checking.
  8235. * WebView.subproj/WebImageView.m:
  8236. (-[WebImageView webView]): Changed to use _web_parentWebView.
  8237. (-[WebImageView menuForEvent:]): Changed to use [self webView].
  8238. (-[WebImageView mouseDown:]): Ditto.
  8239. (-[WebImageView mouseDragged:]): Ditto.
  8240. (-[WebImageView draggedImage:endedAt:operation:]): Ditto.
  8241. * WebView.subproj/WebTextView.m:
  8242. (-[WebTextView _textSizeMultiplierFromWebView]): Changed to use _web_parentWebView.
  8243. (-[WebTextView menuForEvent:]): Ditto.
  8244. (-[WebTextView drawPageBorderWithSize:]): Ditto.
  8245. (-[WebTextView knowsPageRange:]): Ditto.
  8246. * Plugins.subproj/WebPluginDatabase.m: Updated filename of WebFrameViewInternal.h.
  8247. * WebCoreSupport.subproj/WebBridge.m: Ditto.
  8248. * WebKit.pbproj/project.pbxproj: Ditto.
  8249. * WebView.subproj/WebFrame.m: Ditto.
  8250. * WebView.subproj/WebView.m: Ditto.
  8251. * Misc.subproj/WebNSViewExtras.m: Ditto.
  8252. 2004-09-20 Darin Adler <darin@apple.com>
  8253. Reviewed by Ken.
  8254. - added helper method _web_parentWebView so fewer files need to get at WebFrame private methods
  8255. * Misc.subproj/WebNSViewExtras.h: Added _web_parentWebView.
  8256. * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_parentWebView]): Added.
  8257. === Safari-164 ===
  8258. 2004-09-17 Chris Blumenberg <cblu@apple.com>
  8259. Fixed:
  8260. <rdar://problem/3805757> don't unnecessarily put RTFD on the pasteboard
  8261. <rdar://problem/3805756> strip attachments before generating RTF
  8262. Reviewed by john.
  8263. * WebView.subproj/WebHTMLView.m:
  8264. (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): only put RTFD on the pasteboard if it has attachments, strip attachments when writing RTF
  8265. 2004-09-16 Darin Adler <darin@apple.com>
  8266. Reviewed by John.
  8267. - fixed <rdar://problem/3804648> 8A262: Safari crashed in -[WebView(WebPrivate) _editingDelegateForwarder] inside QuickTime Cocoa Plug-in during WebView deallocation
  8268. * WebView.subproj/WebView.m: (-[WebView _editingDelegateForwarder]):
  8269. Check _private for nil before dereferencing it.
  8270. 2004-09-16 Chris Blumenberg <cblu@apple.com>
  8271. Fixed: <rdar://problem/3779150> REGRESSION: images not copied when copying HTML in Safari and pasting into TextEdit
  8272. Reviewed by john.
  8273. * WebView.subproj/WebHTMLView.m:
  8274. (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): use RTFDFromRange:: for RTFD
  8275. * WebView.subproj/WebHTMLViewPrivate.h:
  8276. 2004-09-15 Darin Adler <darin@apple.com>
  8277. Reviewed by John.
  8278. - fixed assertion I saw using the font panel
  8279. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _colorAsString:]):
  8280. Convert color space before trying to get R, G, and B components.
  8281. 2004-09-15 Chris Blumenberg <cblu@apple.com>
  8282. Fixed: <rdar://problem/3802232> REGRESSION (Mail): WebCore Editing must do smart copy
  8283. Reviewed by kocienda.
  8284. * WebView.subproj/WebHTMLView.m:
  8285. (-[WebHTMLView _writeSelectionToPasteboard:]): call instance method not class method to get pasteboard types since the types depends on the current selection granularity
  8286. (-[WebHTMLView pasteboardTypesForSelection]): if the selection granularity is "word" include the smart pasteboard type
  8287. (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): put nil on the pasteboard for smart copy
  8288. 2004-09-14 Darin Adler <darin@apple.com>
  8289. Reviewed by Maciej.
  8290. - fixed <rdar://problem/3788894> REGRESSION (Mail): ctrl-t emacs key binding does not work (transpose)
  8291. - fixed <rdar://problem/3798946> REGRESSION (Mail): Cursor does not disappear when typing
  8292. * WebView.subproj/WebHTMLView.m:
  8293. (-[WebHTMLView keyDown:]): Hide cursor by calling setHiddenUntilMouseMoves:YES.
  8294. (-[WebHTMLView transpose:]): Added.
  8295. 2004-09-14 Richard Williamson <rjw@apple.com>
  8296. 1. Add class parameter to object allocation function. This is somewhat redundant, given that
  8297. the allocation function is in the class function vector, but people wanted to use the same
  8298. allocation function for different classes.
  8299. 2. Renamed NPN_Class to NPN_Invoke to match the name in the function vector.
  8300. 3. Add support for a default function on an object. This is a feature that ActiveX supports,
  8301. and will allow JavaScript code to be written that will look exactly the same for both ActiveX
  8302. plugins and Netscape or WebKit plugins. There are implementations included for the 'C' and
  8303. 'Objective-C' bindings.
  8304. There bugs are covered by
  8305. <rdar://problem/3776343> Support for default functions in the JavaScript bindings
  8306. <rdar://problem/3779186> NPN_Call needs to be renamed to NPN_Invoke
  8307. <rdar://problem/3674754> Need to implement latest npruntime.h
  8308. Reviewed by John.
  8309. * Plugins.subproj/WebNetscapePluginPackage.m:
  8310. (-[WebNetscapePluginPackage load]):
  8311. * Plugins.subproj/WebScriptObject.h:
  8312. * Plugins.subproj/npfunctions.h:
  8313. * Plugins.subproj/npruntime.h:
  8314. 2004-09-13 Richard Williamson <rjw@apple.com>
  8315. D'oh. How many times can I screw up a simple fix!
  8316. * WebCoreSupport.subproj/WebTextRenderer.m:
  8317. (-[WebTextRenderer initWithFont:usingPrinterFont:]):
  8318. 2004-09-13 Richard Williamson <rjw@apple.com>
  8319. Fixed snafu from 3782533 checkin.
  8320. Reviewed by John.
  8321. * WebCoreSupport.subproj/WebTextRenderer.m:
  8322. (-[WebTextRenderer initWithFont:usingPrinterFont:]):
  8323. 2004-09-12 Chris Blumenberg <cblu@apple.com>
  8324. Support for: <rdar://problem/3794790> drop rate or time remaining from download status when window is too small to fit it
  8325. Reviewed by john.
  8326. * Misc.subproj/WebStringTruncator.h:
  8327. * Misc.subproj/WebStringTruncator.m:
  8328. (+[WebStringTruncator widthOfString:font:]): new
  8329. 2004-09-10 Richard Williamson <rjw@apple.com>
  8330. Fixed <rdar://problem/3782533> CrashTracer: .1459 crashes at com.apple.WebKit: -[WebTextRenderer initWithFont:usingPrinterFont:] + 0x138
  8331. We were explicitly failing when we encountered deprecated fonts.
  8332. (Those with unsupported glyph packings).
  8333. Deprecated fonts should only appear on a system that have
  8334. stuff migrated from OS 9. Ugh, thats probably why we've never seen
  8335. the problem here.
  8336. Reviewed by John.
  8337. * WebCoreSupport.subproj/WebTextRenderer.m:
  8338. (-[WebTextRenderer initWithFont:usingPrinterFont:]):
  8339. 2004-09-10 John Sullivan <sullivan@apple.com>
  8340. Reviewed by Chris.
  8341. - added _isFrameSet as a private method, so it can be used in WebBrowser.
  8342. This is needed to merge the fix for 3123987 to SUPanNavy.
  8343. * WebView.subproj/WebFrame.m:
  8344. (-[WebFrame _isFrameSet]):
  8345. new method
  8346. * WebView.subproj/WebFramePrivate.h:
  8347. declare new method
  8348. 2004-09-09 Chris Blumenberg <cblu@apple.com>
  8349. Support for: <rdar://problem/3795485> debug menu item to enable RSS animation on first layout
  8350. Reviewed by rjw.
  8351. * WebCoreSupport.subproj/WebBridge.m:
  8352. (-[WebBridge didFirstLayout]): new
  8353. * WebView.subproj/WebDefaultFrameLoadDelegate.m:
  8354. (-[WebDefaultFrameLoadDelegate webView:didFirstLayoutInFrame:]): new
  8355. * WebView.subproj/WebViewPrivate.h:
  8356. 2004-09-09 Richard Williamson <rjw@apple.com>
  8357. Alternate implementation of image rendering. Use CGImageRefs instead
  8358. of NSImages.
  8359. Mostly works, but currently disabled because of issues w/ CG.
  8360. Reviewed by Chris.
  8361. * ChangeLog:
  8362. * WebCoreSupport.subproj/WebImageData.h: Added.
  8363. * WebCoreSupport.subproj/WebImageData.m: Added.
  8364. (-[WebImageData _commonTermination]):
  8365. (-[WebImageData dealloc]):
  8366. (-[WebImageData finalize]):
  8367. (-[WebImageData copyWithZone:]):
  8368. (-[WebImageData numberOfImages]):
  8369. (-[WebImageData currentFrame]):
  8370. (-[WebImageData _invalidateImages]):
  8371. (-[WebImageData imageAtIndex:]):
  8372. (-[WebImageData incrementalLoadWithBytes:length:complete:]):
  8373. (drawPattern):
  8374. (-[WebImageData tileInRect:fromPoint:context:]):
  8375. (-[WebImageData isNull]):
  8376. (-[WebImageData size]):
  8377. (-[WebImageData _frameDuration]):
  8378. (-[WebImageData _repetitionCount]):
  8379. (-[WebImageData isAnimationFinished]):
  8380. (+[WebImageData stopAnimationsInView:]):
  8381. (-[WebImageData addAnimatingRenderer:inView:]):
  8382. (-[WebImageData removeAnimatingRenderer:]):
  8383. (-[WebImageData _stopAnimation]):
  8384. (-[WebImageData _nextFrame:]):
  8385. (-[WebImageData animate]):
  8386. * WebCoreSupport.subproj/WebImageRenderer.h:
  8387. * WebCoreSupport.subproj/WebImageRenderer.m:
  8388. (-[WebImageRenderer initWithMIMEType:]):
  8389. (-[WebImageRenderer initWithData:MIMEType:]):
  8390. (-[WebImageRenderer initWithContentsOfFile:]):
  8391. (-[WebImageRenderer dealloc]):
  8392. (-[WebImageRenderer copyWithZone:]):
  8393. (-[WebImageRenderer retainOrCopyIfNeeded]):
  8394. (-[WebImageRenderer resize:]):
  8395. (-[WebImageRenderer size]):
  8396. (-[WebImageRenderer MIMEType]):
  8397. (-[WebImageRenderer frameCount]):
  8398. (-[WebImageRenderer isNull]):
  8399. (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
  8400. (-[WebImageRenderer drawImageInRect:fromRect:]):
  8401. (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
  8402. (-[WebImageRenderer tileInRect:fromPoint:context:]):
  8403. (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
  8404. (+[WebImageRenderer stopAnimationsInView:]):
  8405. (-[WebImageRenderer stopAnimation]):
  8406. (-[WebImageRenderer targetAnimationRect]):
  8407. (-[WebImageRenderer increaseUseCount]):
  8408. (-[WebImageRenderer decreaseUseCount]):
  8409. (-[WebImageRenderer flushRasterCache]):
  8410. (-[WebImageRenderer imageRef]):
  8411. (-[WebImageRenderer TIFFRepresentation]):
  8412. (-[WebImageRenderer image]):
  8413. * WebCoreSupport.subproj/WebImageRendererFactory.m:
  8414. (-[WebImageRendererFactory imageRendererWithMIMEType:]):
  8415. (-[WebImageRendererFactory imageRendererWithData:MIMEType:]):
  8416. (-[WebImageRendererFactory imageRendererWithSize:]):
  8417. (-[WebImageRendererFactory imageRendererWithName:]):
  8418. * WebKit.pbproj/project.pbxproj:
  8419. * WebView.subproj/WebImageView.m:
  8420. (-[WebImageView image]):
  8421. === Safari-163 ===
  8422. 2004-09-09 Maciej Stachowiak <mjs@apple.com>
  8423. - rolled out last two changes, they seem to cause a performance regression
  8424. * WebView.subproj/WebHTMLView.m:
  8425. (-[WebHTMLView firstRectForCharacterRange:]):
  8426. 2004-09-09 Maciej Stachowiak <mjs@apple.com>
  8427. - fixed build
  8428. * WebView.subproj/WebHTMLView.m:
  8429. (-[WebHTMLView firstRectForCharacterRange:]):
  8430. 2004-09-08 Maciej Stachowiak <mjs@apple.com>
  8431. Reviewed by Dave.
  8432. WebKit part of fix for:
  8433. <rdar://problem/3759187> REGRESSION (Mail): implement firstRectForCharacterRange:
  8434. * WebView.subproj/WebHTMLView.m:
  8435. (-[WebHTMLView firstRectForCharacterRange:]): Call the appropriate new bridge method,
  8436. and translate to screen coordinates.
  8437. 2004-09-09 Darin Adler <darin@apple.com>
  8438. Reviewed by Ken.
  8439. - fixed <rdar://problem/3790526> mark-related methods not implemented (needed for people with them in their key bindings files)
  8440. * WebKit.pbproj/project.pbxproj: Update MACOSX_DEPLOYMENT_TARGET to 10.3 and add -fobjc-exceptions
  8441. so we can use new exceptions.
  8442. * WebView.subproj/WebHTMLView.m:
  8443. (-[WebHTMLView setMark:]): Added.
  8444. (unionDOMRanges): Added.
  8445. (-[WebHTMLView deleteToMark:]): Added.
  8446. (-[WebHTMLView selectToMark:]): Added.
  8447. (-[WebHTMLView swapWithMark:]): Added.
  8448. (-[WebHTMLView markedRange]): Updated for change to bridge method names.
  8449. (-[WebHTMLView hasMarkedText]): Ditto.
  8450. (-[WebHTMLView unmarkText]): Ditto.
  8451. (-[WebHTMLView _selectMarkedText]): Ditto.
  8452. (-[WebHTMLView _selectRangeInMarkedText:]): Ditto.
  8453. (-[WebHTMLView setMarkedText:selectedRange:]): Ditto.
  8454. (-[WebHTMLView _insertText:selectInsertedText:]): Removed check for empty string. An empty string
  8455. should not be filtered out here. We need to allow inserting an empty string.
  8456. (-[WebHTMLView _selectionIsInsideMarkedText]): Updated for change to bridge method names.
  8457. (-[WebHTMLView _updateSelectionForInputManager]): Ditto.
  8458. * WebView.subproj/WebView.m: (-[WebView searchFor:direction:caseSensitive:wrap:]):
  8459. Changed to use selectionDOMRange instead of selectionStart.
  8460. * WebView.subproj/WebHTMLRepresentation.h: Removed unused setSelectionFrom method.
  8461. * WebView.subproj/WebHTMLRepresentation.m: Ditto.
  8462. 2004-09-08 John Sullivan <sullivan@apple.com>
  8463. Reviewed by Darin.
  8464. - fixed the localization aspect of:
  8465. <rdar://problem/3790011> undoable operations all say "Undo" in the menu, no specific action names
  8466. We now have all the strings ready for localization; we just don't actually use them yet.
  8467. * English.lproj/Localizable.strings:
  8468. updated for this change
  8469. * WebCoreSupport.subproj/WebBridge.m:
  8470. (-[WebBridge setUndoActionNamePlaceholder]):
  8471. added this placeholder method whose purpose is to hold localizable strings for all the Undo
  8472. action names that NSTextView uses. Later we will use some or all of these, but we can do
  8473. that part after the localization freeze.
  8474. 2004-09-08 Chris Blumenberg <cblu@apple.com>
  8475. Fixed: <rdar://problem/3778785> REGRESSION (Mail): copying from MS word and pasting into editable region leaves internal clipboard data
  8476. Reviewed by kocienda.
  8477. * WebView.subproj/WebHTMLView.m:
  8478. (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): ignore Microsoft's header meta data
  8479. 2004-09-08 Chris Blumenberg <cblu@apple.com>
  8480. Fixed: <rdar://problem/3792893> WebBaseResourceHandleDelegate always returns cached data for subresource loads
  8481. Reviewed by rjw.
  8482. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  8483. (-[WebBaseResourceHandleDelegate _canUseResourceForRequest:]): new
  8484. (-[WebBaseResourceHandleDelegate loadWithRequest:]): call _canUseResourceForRequest:
  8485. 2004-09-08 Chris Blumenberg <cblu@apple.com>
  8486. Forgot to add this in previous check-in.
  8487. * English.lproj/WebViewEditingContextMenu.nib: Added.
  8488. 2004-09-08 Chris Blumenberg <cblu@apple.com>
  8489. Fixed: <rdar://problem/3791240> WebKit uses the NSTextViewContextMenu nib from inside AppKit
  8490. Reviewed by john.
  8491. * English.lproj/StringsNotToBeLocalized.txt:
  8492. * WebKit.pbproj/project.pbxproj:
  8493. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  8494. (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]): use our copy of the nib
  8495. 2004-09-07 Darin Adler <darin@apple.com>
  8496. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
  8497. 2004-09-07 Chris Blumenberg <cblu@apple.com>
  8498. Fixed: <rdar://problem/3790143> exception raised when dragging a URL with 2-byte characters
  8499. (checked in with last check-in)
  8500. 2004-09-07 Chris Blumenberg <cblu@apple.com>
  8501. Fixed:
  8502. <rdar://problem/3080103> Need to pass cmd-modified keys to plug-ins
  8503. <rdar://problem/3751509> can't use safari edit menu to copy and paste with Vantage Learning's My Access
  8504. Reviewed by john.
  8505. * Plugins.subproj/WebBaseNetscapePluginView.m: fake up command-key events for cut, copy, paste and select all so these menu items work for plug-ins
  8506. (-[WebBaseNetscapePluginView sendModifierEventWithKeyCode:character:]):
  8507. (-[WebBaseNetscapePluginView cut:]):
  8508. (-[WebBaseNetscapePluginView copy:]):
  8509. (-[WebBaseNetscapePluginView paste:]):
  8510. (-[WebBaseNetscapePluginView selectAll:]):
  8511. 2004-09-07 Darin Adler <darin@apple.com>
  8512. - fixed deployment build
  8513. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:]):
  8514. Initialize prepend variable.
  8515. 2004-09-06 Darin Adler <darin@apple.com>
  8516. Reviewed by John.
  8517. - fixed <rdar://problem/3696542> REGRESSION (Mail): Editable WebKit doesn't support underline yet (in the iChat profile window, at least)
  8518. - fixed <rdar://problem/3780249> REGRESSION (Mail): copy style/paste style doesn't work in HTML editing in Mail
  8519. - fixed <rdar://problem/3788857> REGRESSION (Mail): Home and End keys don't work in message composer
  8520. - fixed <rdar://problem/3788884> REGRESSION (Mail): ctrl-d emacs key binding does not work (delete forward)
  8521. - fixed <rdar://problem/3788890> REGRESSION (Mail): ctrl-k emacs key binding does not work (delete to end of paragraph)
  8522. - fixed <rdar://problem/3788899> REGRESSION (Mail): ctrl-y emacs key binding does not work (yank)
  8523. - fixed <rdar://problem/3788901> REGRESSION (Mail): ctrl-o emacs key binding does not work (insert newline in front of insertion point)
  8524. - fixed <rdar://problem/3788908> REGRESSION (Mail): ctrl-left-arrow emacs key binding does not work (move to beginning of line)
  8525. - fixed <rdar://problem/3788913> REGRESSION (Mail): ctrl-right-arrow emacs key binding does not work (move to end of line)
  8526. - implemented a first cut at other attribute changes from Text Panel besides underline (bugs?)
  8527. - dealt with a couple of FIXMEs in WebHTMLView.m
  8528. - updated list of not-yet-implemented methods in WebHTMLView.m
  8529. - fixed many deletion operations to call the correct editing delegate methods
  8530. * WebView.subproj/WebFrameViewPrivate.h: Remove _scrollToTopLeft and _scrollToBottomLeft.
  8531. No one was calling them anyway, so they should really have been marked internal and not private.
  8532. * WebView.subproj/WebFrameView.m:
  8533. (-[WebFrameView scrollToBeginningOfDocument:]): Renamed _scrollToTopLeft to this, so the home key
  8534. would start working with the key bindings machinery.
  8535. (-[WebFrameView scrollToEndOfDocument:]): Same thing, for end key.
  8536. (-[WebFrameView keyDown:]): Update for name changes, and also make sure we don't try to grab
  8537. control-arrow keys here (probably not necessary, but good anyway).
  8538. * WebView.subproj/WebHTMLViewInternal.h: Added keyDownEvent field, and startNewKillRingSequence
  8539. and nextResponderDisabledOnce flags.
  8540. * WebView.subproj/WebHTMLView.m:
  8541. Rearrange declarations at the top of the file so that external things are up with
  8542. the #import directives and things inside this file are declared below.
  8543. (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]): Ditto.
  8544. (-[WebHTMLView _calculatePrintHeight]): Moved up into the "internal to file" category.
  8545. (-[WebHTMLView _updateTextSizeMultiplier]): Ditto.
  8546. (-[WebHTMLView _selectedRange]): Added.
  8547. (-[WebHTMLView _openLinkFromMenu:]): Left this method lying around even though I deleted the
  8548. other APPKIT_CODE_FOR_REFERENCE in case this shows up in the context menu we are now sharing
  8549. with the AppKit. Chris will look at this later, and he can delete it then.
  8550. (+[WebHTMLView initialize]): Call _NSInitializeKillRing.
  8551. (-[WebHTMLView _documentRange]): Added.
  8552. (-[WebHTMLView string]): Call the bridge to get the plain text rather than making an attributed
  8553. string and then getting the text from there.
  8554. (-[WebHTMLView becomeFirstResponder]): Set startNewKillRingSequence flag, so that new deletions
  8555. will create a new kill ring entry.
  8556. (-[WebHTMLView moveToBeginningOfDocument:]): Use backward direction instead of left direction.
  8557. (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto.
  8558. (-[WebHTMLView moveToBeginningOfLine:]): Ditto.
  8559. (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]): Ditto.
  8560. (-[WebHTMLView moveToBeginningOfParagraph:]): Ditto, also use WebSelectToParagraphBoundary.
  8561. (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]): Ditto.
  8562. (-[WebHTMLView moveToEndOfDocument:]): Use forward direction instead of right direction.
  8563. (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto.
  8564. (-[WebHTMLView moveToEndOfLine:]): Ditto.
  8565. (-[WebHTMLView moveToEndOfLineAndModifySelection:]): Ditto.
  8566. (-[WebHTMLView moveToEndOfParagraph:]): Ditto, also use WebSelectToParagraphBoundary.
  8567. (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]): Ditto.
  8568. (-[WebHTMLView _shouldDeleteRange:]): Added.
  8569. (-[WebHTMLView _deleteRange:preflight:killRing:prepend:]): Added.
  8570. (-[WebHTMLView delete:]): Changed to call new _deleteRange method.
  8571. (-[WebHTMLView cut:]): Changed to preflight property and call new _deleteRange method.
  8572. (-[WebHTMLView _selectionFontAttributes]): Added.
  8573. (-[WebHTMLView _selectionFontAttributesAsRTF]): Added.
  8574. (-[WebHTMLView _fontAttributesFromFontPasteboard]): Added.
  8575. (-[WebHTMLView _emptyStyle]): Added.
  8576. (-[WebHTMLView _styleFromFontAttributes:]): Added.
  8577. (-[WebHTMLView _applyStyleToSelection:]): Added.
  8578. (-[WebHTMLView copyFont:]): Implemented.
  8579. (-[WebHTMLView pasteFont:]): Implemented.
  8580. (-[WebHTMLView _originalFontA]): Added.
  8581. (-[WebHTMLView _originalFontB]): Added.
  8582. (-[WebHTMLView _addToStyle:fontA:fontB:]): Added. Has code from the method that figures out
  8583. what the font manager is doing for changeFont:, now needed for changeAttribute: too.
  8584. (-[WebHTMLView _styleFromFontManagerOperation]): Renamed and now calls shared methods.
  8585. (-[WebHTMLView changeFont:]): Call shared method, still does the same thing.
  8586. (-[WebHTMLView _colorAsString:]): Added. Has code from the method we were using with the
  8587. color panel before.
  8588. (-[WebHTMLView _shadowAsString:]): Added.
  8589. (-[WebHTMLView _styleForAttributeChange:]): Added.
  8590. (-[WebHTMLView changeAttributes:]): Implemented.
  8591. (-[WebHTMLView _styleFromColorPanelWithSelector:]): Renamed and now calls shared methods.
  8592. (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]): Call method by new name.
  8593. (-[WebHTMLView changeDocumentBackgroundColor:]): Call method by new name.
  8594. (-[WebHTMLView changeColor:]): Changed around a bit; still doesn't work yet.
  8595. (-[WebHTMLView _alignSelectionUsingCSSValue:]): Call shared methods.
  8596. (-[WebHTMLView indent:]): Removed, since NSTextView doesn't implement this method. Added to list
  8597. of methods to possibly implement later in the file.
  8598. (-[WebHTMLView insertTab:]): Call insertText: to save code and so we get WebViewInsertActionTyped
  8599. instead of WebViewInsertActionPasted.
  8600. (-[WebHTMLView changeCaseOfLetter:]): Removed, since NSTextView doesn't implement this method.
  8601. Added to list of methods to possibly implement later in the file.
  8602. (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): Added.
  8603. (-[WebHTMLView deleteForward:]): Implemented. This makes Control-D work.
  8604. (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Implemented by just calling
  8605. deleteBackward for now; probably better than doing nothing.
  8606. (-[WebHTMLView deleteWordForward:]): Changed to call new _delete method above. Fixes things
  8607. so that we delete the selection if there is one, get the appropriate delegate calls, handle
  8608. the kill ring properly, and don't do any selection if we can't delete.
  8609. (-[WebHTMLView deleteWordBackward:]): Ditto.
  8610. (-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
  8611. (-[WebHTMLView deleteToEndOfLine:]): Ditto.
  8612. (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
  8613. (-[WebHTMLView deleteToEndOfParagraph:]): Ditto. Added additional behavior needed since this
  8614. is bound to Control-K, so it's not really just delete to end of paragraph.
  8615. (-[WebHTMLView insertNewlineIgnoringFieldEditor:]): Added. Calls insertNewline:.
  8616. (-[WebHTMLView insertTabIgnoringFieldEditor:]): Added. Calls insertTab:.
  8617. (-[WebHTMLView subscript:]): Added.
  8618. (-[WebHTMLView superscript:]): Added.
  8619. (-[WebHTMLView unscript:]): Added.
  8620. (-[WebHTMLView underline:]): Added.
  8621. (-[WebHTMLView yank:]): Added.
  8622. (-[WebHTMLView yankAndSelect:]): Added. Calls _insertText.
  8623. (-[WebHTMLView _arrowKeyDownEventSelectorIfPreprocessing:]): Added. Part of workaround for
  8624. control-arrow key trouble.
  8625. (-[WebHTMLView respondsToSelector:]): Added. More of workaround.
  8626. (-[WebHTMLView nextResponder:]): Added. More of workaround.
  8627. (-[WebHTMLView _selectionChanged]): Set startNewKillRingSequence flag, so that new deletions
  8628. will create a new kill ring entry.
  8629. (-[WebHTMLView _updateFontPanel]): Remove a bunch of code here that wasn't working very well
  8630. because it walked a DOM range incorrectly, and instead use the new method that does all the
  8631. right stuff on the other side of the bridge.
  8632. (-[WebHTMLView _insertText:selectInsertedText:]): Added new helper method for use by both
  8633. insertText and yankAndSelect, with most of the guts of insertText and one additional parameter.
  8634. (-[WebHTMLView insertText:]): Call the new _insertText.
  8635. * WebView.subproj/WebView.m: Use macros to make the forwarding from WebView more terse.
  8636. Updated the list to include a few methods it didn't before.
  8637. 2004-09-06 John Sullivan <sullivan@apple.com>
  8638. Reviewed by Darin.
  8639. - put preference keys in a private header file so Safari can use them for Managed Preferences
  8640. * WebView.subproj/WebPreferenceKeysPrivate.h:
  8641. new Private header file, includes the #defines for NSUserDefaults preference keys
  8642. * WebView.subproj/WebPreferences.m:
  8643. moved the preference key #defines out of here; now imports WebPreferenceKeysPrivate.h
  8644. * WebKit.pbproj/project.pbxproj:
  8645. updated for new file
  8646. 2004-09-03 Chris Blumenberg <cblu@apple.com>
  8647. Fixed: <rdar://problem/3782543> CrashTracer: ...87 crashes at com.apple.WebKit: -[WebNetscapePluginPackage initWithPath:] + 0x18c
  8648. Reviewed by john.
  8649. * Plugins.subproj/WebNetscapePluginPackage.m:
  8650. (-[WebNetscapePluginPackage initWithPath:]): make sure the file is at least 8 bytes long before calling memcmp
  8651. 2004-09-03 Chris Blumenberg <cblu@apple.com>
  8652. Fixed:
  8653. <rdar://problem/3788328> assertion failure when moving an image
  8654. <rdar://problem/3783628> REGRESSION (Mail): when I try to reorder an image, the image is duplicated
  8655. * DOM.subproj/WebDOMOperations.m:
  8656. (-[DOMDocument _createRangeWithNode:]): new, convenience
  8657. (-[DOMDocument _documentRange]): use _ createRangeWithNode:
  8658. * DOM.subproj/WebDOMOperationsPrivate.h:
  8659. * WebView.subproj/WebHTMLView.m:
  8660. (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): set the selection to the image when starting the drag. This allows "move selection" to work and this matches NSText's behavior
  8661. === Safari-162 ===
  8662. 2004-09-02 Richard Williamson <rjw@apple.com>
  8663. Support for patterns in <canvas>.
  8664. (These changes attempt to create a CGImageRef from a WebImageRenderer that
  8665. is used by the pattern drawing function.)
  8666. Reviewed by Hyatt.
  8667. * WebCoreSupport.subproj/WebImageRenderer.h:
  8668. * WebCoreSupport.subproj/WebImageRenderer.m:
  8669. (-[WebImageRenderer dealloc]):
  8670. (-[WebImageRenderer finalize]):
  8671. (-[WebImageRenderer imageRef]):
  8672. (_createImageRef):
  8673. * WebView.subproj/WebPDFView.h:
  8674. * WebView.subproj/WebPDFView.m:
  8675. 2004-09-01 Chris Blumenberg <cblu@apple.com>
  8676. Fixed deployment build failure.
  8677. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  8678. (-[WebDefaultUIDelegate menuItemWithTag:]):
  8679. 2004-08-31 Chris Blumenberg <cblu@apple.com>
  8680. Fixed:
  8681. <rdar://problem/3699498> Context menu for editable WebViews should provide items like Cut and Paste
  8682. <rdar://problem/3781535> REGRESSION (Mail): no context menu after ctrl-clicking a misspelled word
  8683. Reviewed by kocienda.
  8684. * English.lproj/Localizable.strings:
  8685. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  8686. (-[WebDefaultUIDelegate menuItemWithTag:]): updated to handle new menu items
  8687. (-[WebDefaultUIDelegate contextMenuItemsForElement:]): renamed from webView:contextMenuItemsForElement:defaultMenuItems:
  8688. (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]): new
  8689. (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): moved, now call contextMenuItemsForElement: or editingContextMenuItemsForElement:
  8690. * WebView.subproj/WebDefaultUIDelegate.h:
  8691. * WebView.subproj/WebHTMLView.m:
  8692. (-[WebHTMLView _isSelectionMisspelled]): new
  8693. (-[WebHTMLView _guessesForMisspelledSelection]): new
  8694. (-[WebHTMLView _changeSpellingFromMenu:]): new
  8695. (-[WebHTMLView _ignoreSpellingFromMenu:]): new
  8696. (-[WebHTMLView _learnSpellingFromMenu:]): new
  8697. * WebView.subproj/WebHTMLViewPrivate.h:
  8698. * WebView.subproj/WebUIDelegate.h:
  8699. 2004-08-31 Darin Adler <darin@apple.com>
  8700. - fixed B&I build failure
  8701. * WebView.subproj/WebHTMLView.m: (-[WebTextCompleteController _buildUI]):
  8702. Work around unwanted warning by adding a cast.
  8703. 2004-08-27 Maciej Stachowiak <mjs@apple.com>
  8704. Reviewed by John.
  8705. <rdar://problem/3778314> REGRESSION: Can't proceed to survey questions on Lominger's Apple website
  8706. Because we will stop parsing when there is a pending redirection,
  8707. avoid setting one if no navigation would actually take place
  8708. because the number of steps is out of range.
  8709. * WebCoreSupport.subproj/WebBridge.m:
  8710. (-[WebBridge canGoBackOrForward:]):
  8711. 2004-08-30 Darin Adler <darin@apple.com>
  8712. Reviewed by John.
  8713. - part of fix for <rdar://problem/3637519> REGRESSION (125-128): unrepro crash in QListBox::sizeForNumberOfLines at istweb.apple.com
  8714. * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory clearCaches]):
  8715. Call [super clearCaches].
  8716. 2004-08-30 Darin Adler <darin@apple.com>
  8717. Reviewed by Chris.
  8718. - did work to prepare for uploading files incrementally when submitting forms
  8719. * History.subproj/WebHistoryItem.m:
  8720. (-[WebHistoryItem _setFormInfoFromRequest:]): Use NSArray instead of NSData for form data.
  8721. (-[WebHistoryItem formData]): Ditto.
  8722. * History.subproj/WebHistoryItemPrivate.h: Ditto.
  8723. * WebCoreSupport.subproj/WebBridge.m:
  8724. (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto.
  8725. (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Ditto.
  8726. (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.
  8727. * WebCoreSupport.subproj/WebSubresourceClient.h: Ditto.
  8728. * WebCoreSupport.subproj/WebSubresourceClient.m:
  8729. (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]): Ditto.
  8730. * WebView.subproj/WebFrame.m:
  8731. (-[WebFrame _loadItem:withLoadType:]): Ditto.
  8732. (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.
  8733. * WebView.subproj/WebFramePrivate.h: Ditto.
  8734. * WebView.subproj/WebFormDataStream.h: Added.
  8735. * WebView.subproj/WebFormDataStream.m:
  8736. (-[WebFormDataStream initWithFormDataArray:]): Placeholder; not done yet.
  8737. (-[WebFormDataStream formDataArray]): Ditto.
  8738. * WebKit.pbproj/project.pbxproj: Added WebFormDataStream files.
  8739. 2004-08-30 John Sullivan <sullivan@apple.com>
  8740. Reviewed by Ken.
  8741. - WebKit part of fix for <rdar://problem/3607720> myFrame.print() prints the window
  8742. but should only print the frame
  8743. * WebView.subproj/WebUIDelegatePrivate.h:
  8744. declare new delegate method that includes which frame to print
  8745. * WebView.subproj/WebDefaultUIDelegate.m:
  8746. (-[WebDefaultUIDelegate webView:printFrameView:]):
  8747. implement default (no-op) version of new delegate method
  8748. * WebCoreSupport.subproj/WebBridge.m:
  8749. (-[WebBridge print]):
  8750. call new delegate method if available, otherwise call old delegate method, for
  8751. backward compatibility.
  8752. 2004-08-27 Maciej Stachowiak <mjs@apple.com>
  8753. Reviewed by John.
  8754. Checked in by Ken
  8755. Ken comments: It looks like Maciej forgot to land this when he checked in the
  8756. WebCore portion of this change.
  8757. <rdar://problem/3778314> REGRESSION: Can't proceed to survey questions on Lominger's Apple website
  8758. Because we will stop parsing when there is a pending redirection,
  8759. avoid setting one if no navigation would actually take place
  8760. because the number of steps is out of range.
  8761. * WebCoreSupport.subproj/WebBridge.m:
  8762. (-[WebBridge canGoBackOrForward:]):
  8763. 2004-08-27 Ken Kocienda <kocienda@apple.com>
  8764. Reviewed by Chris
  8765. Fix for this bug:
  8766. <rdar://problem/3756997> WebKit aggressive in making pasted text into a URL, even when it's not much like a URL
  8767. * WebView.subproj/WebHTMLView.m:
  8768. (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): Don't try so hard to coerce data
  8769. on the pasteboard into a URL, and do not make an anchor with an href for any URLs that are
  8770. explicitly present on the pasteboard. Also, move URL pasteboard type check beneath the RTF
  8771. checks.
  8772. === Safari-161 ===
  8773. 2004-08-26 Chris Blumenberg <cblu@apple.com>
  8774. Fixed build failure on Panther.
  8775. Reviewed by john.
  8776. * WebView.subproj/WebHTMLView.m:
  8777. (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): ifdef'd out call to AppKit SPI
  8778. (-[WebHTMLView _attributeStringFromDOMRange:]): ditto
  8779. 2004-08-26 Chris Blumenberg <cblu@apple.com>
  8780. Tweak to last check-in.
  8781. * WebView.subproj/WebHTMLView.m:
  8782. (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]):
  8783. 2004-08-26 Chris Blumenberg <cblu@apple.com>
  8784. Fixed:
  8785. <rdar://problem/3546412> support for pasting and drag and dropping of RTF and RTFD to editable WebViews
  8786. <rdar://problem/3745345> use AppKit for converting from DOM to RTF
  8787. Reviewed by rjw.
  8788. * DOM.subproj/WebDOMOperations.m:
  8789. (-[DOMDocument _documentRange]): new
  8790. * DOM.subproj/WebDOMOperationsPrivate.h:
  8791. * WebView.subproj/WebHTMLView.m:
  8792. (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): call AppKit SPI to get a document fragment from an attributed string
  8793. (-[WebHTMLView string]): added a FIXME
  8794. (-[WebHTMLView _attributeStringFromDOMRange:]): new, calls AppKit SPI that creates an attributed string from a DOM Range
  8795. (-[WebHTMLView attributedString]): call _attributeStringFromDOMRange:, fallback to old code if it returns nil
  8796. (-[WebHTMLView selectedAttributedString]): ditto
  8797. 2004-08-26 Chris Blumenberg <cblu@apple.com>
  8798. Fixed: <rdar://problem/3774178> Plugin hooks for selected state aren't being called
  8799. Reviewed by darin.
  8800. * WebCoreSupport.subproj/WebBridge.m:
  8801. (-[WebBridge setIsSelected:forView:]): don't forget colons in method names
  8802. 2004-08-26 Chris Blumenberg <cblu@apple.com>
  8803. Fixed: <rdar://problem/3768439> can't click in WebView in Carbon WebKit apps (GetEventPlatformEventRecord returns false)
  8804. Reviewed by rjw.
  8805. * Carbon.subproj/HIWebView.m:
  8806. (Click): use WebGetEventPlatformEventRecord not GetEventPlatformEventRecord
  8807. (MouseUp): ditto
  8808. (MouseMoved): ditto
  8809. (MouseDragged): ditto
  8810. (MouseWheelMoved): ditto
  8811. (WindowHandler): ditto
  8812. (HIWebViewEventHandler): ditto
  8813. (UpdateObserver): ditto
  8814. (WebGetEventPlatformEventRecord): Call GetEventPlatformEventRecord, if that fails fallback to the current event. This is code Eric Schlegel to me to use.
  8815. 2004-08-24 Chris Blumenberg <cblu@apple.com>
  8816. Fixed with help from Trey:
  8817. <rdar://problem/3764856> REGRESSION !25-154): Safari accepts mouse clicks (follows links) when not key
  8818. Reviewed by rjw.
  8819. * WebView.subproj/WebHTMLView.m:
  8820. (-[WebHTMLView _isSelectionEvent:]): brought back from CVS
  8821. (-[WebHTMLView acceptsFirstMouse:]): only call eventMayStartDrag if _isSelectionEvent returns YES since we only want to allow selection dragging on the first mouse down
  8822. (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto
  8823. 2004-08-24 Ken Kocienda <kocienda@apple.com>
  8824. Reviewed by Hyatt
  8825. Improved the checks used to see if certain operations can be done based
  8826. on the state of the selection and whether the selection is editable. I
  8827. added some helpers and improved some others to assist in making these
  8828. determinations.
  8829. This helps to fix this bug:
  8830. <rdar://problem/3764987> Crash after adding newline to quoted text
  8831. Since some editing methods expect the the selection to be in a certain state
  8832. in order to work, these checks help obviate crashes like 3764987.
  8833. * WebView.subproj/WebHTMLView.m:
  8834. (-[WebHTMLView _writeSelectionToPasteboard:]): _haveSelection name changed to _hasSelection.
  8835. (-[WebHTMLView _canCopy]): Checks to see if state is appropriate to perform this operation.
  8836. (-[WebHTMLView _canCut]): Ditto. Function added.
  8837. (-[WebHTMLView _canDelete]): Ditto. Function refined.
  8838. (-[WebHTMLView _canPaste]): Ditto. Function refined.
  8839. (-[WebHTMLView _canType]): Ditto. Function added.
  8840. (-[WebHTMLView _hasSelection]): Name changed from _haveSelection.
  8841. (-[WebHTMLView _hasSelectionOrInsertionPoint]): Added.
  8842. (-[WebHTMLView _isEditable]): Added.
  8843. (-[WebHTMLView takeFindStringFromSelection:]): _haveSelection name changed to _hasSelection.
  8844. (-[WebHTMLView validateUserInterfaceItem:]): Ditto
  8845. (-[WebHTMLView validRequestorForSendType:returnType:]): Ditto
  8846. (-[WebHTMLView keyDown:]):
  8847. (-[WebHTMLView copy:]): Uses new _canCopy check.
  8848. (-[WebHTMLView cut:]): Uses new _canCut check.
  8849. (-[WebHTMLView delete:]): Now uses _canDelete check.
  8850. (-[WebHTMLView paste:]): Now uses _canPaste check.
  8851. (-[WebHTMLView _updateFontPanel]): _haveSelection name changed to _hasSelection.
  8852. * WebView.subproj/WebHTMLViewPrivate.h:
  8853. * WebView.subproj/WebView.m:
  8854. (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): Use selectionState check to
  8855. determine whether or not operation can be done.
  8856. 2004-08-24 Richard Williamson <rjw@apple.com>
  8857. Fixed <rdar://problem/3770469> Some PDFs open with line of previous page above PDF view
  8858. Set height resize flags on WebPDFView.
  8859. Reviewed by Chris.
  8860. * WebView.subproj/WebPDFView.m:
  8861. (-[WebPDFView initWithFrame:]):
  8862. 2004-08-24 David Hyatt <hyatt@apple.com>
  8863. Add Atom and RSS MIME types to set of supported XML types.
  8864. Reviewed by rjw
  8865. * WebView.subproj/WebDataSource.m:
  8866. (+[WebDataSource _repTypesAllowImageTypeOmission:]):
  8867. * WebView.subproj/WebFrameView.m:
  8868. (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
  8869. 2004-08-23 Maciej Stachowiak <mjs@apple.com>
  8870. Reviewed by Kevin.
  8871. - remove annoying ERROR spew and replace with comment
  8872. * WebView.subproj/WebHTMLView.m:
  8873. (-[WebHTMLView validAttributesForMarkedText]):
  8874. 2004-08-23 Maciej Stachowiak <mjs@apple.com>
  8875. Reviewed by Richard.
  8876. - a bit of code cleanup
  8877. * WebView.subproj/WebDataSource.m:
  8878. (-[WebDataSource _stringWithData:]): Call textEncodingName instead of
  8879. copying it's code.
  8880. (-[WebDataSource textEncodingName]): Tweak formatting.
  8881. 2004-08-23 Chris Blumenberg <cblu@apple.com>
  8882. Fixed build.
  8883. * WebKit.pbproj/project.pbxproj: make sure we're doing -f on a file, not a directory
  8884. 2004-08-23 Chris Blumenberg <cblu@apple.com>
  8885. Fixed: <rdar://problem/3674867> use new Security framework SPI's to reenable cert acquisition
  8886. Reviewed by john.
  8887. * WebCoreSupport.subproj/WebKeyGeneration.cpp:
  8888. * WebCoreSupport.subproj/WebKeyGeneration.h:
  8889. * WebCoreSupport.subproj/WebKeyGenerator.h:
  8890. * WebCoreSupport.subproj/WebKeyGenerator.m:
  8891. (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]): re-enabled cert code, call Panther version on Panther, Tiger version on Tiger
  8892. (-[WebKeyGenerator addCertificatesToKeychainFromData:]): ditto
  8893. * WebCoreSupport.subproj/WebNewKeyGeneration.c: Added.
  8894. (gnrAddContextAttribute):
  8895. (gnrGetSubjPubKey):
  8896. (gnrNullAlgParams):
  8897. (gnrSign):
  8898. (gnrFreeCssmData):
  8899. (nssArraySize):
  8900. (signedPublicKeyAndChallengeString):
  8901. (addCertificateToKeychainFromData):
  8902. (addCertificatesToKeychainFromData):
  8903. * WebCoreSupport.subproj/WebNewKeyGeneration.h: Added.
  8904. * WebKit.pbproj/project.pbxproj:
  8905. 2004-08-20 David Hyatt <hyatt@apple.com>
  8906. Fix the directionality of the unicode hyphen so that on Panther it now matches Tiger.
  8907. Reviewed by darin
  8908. * Misc.subproj/WebUnicode.m:
  8909. (_unicodeDirection):
  8910. 2004-08-20 Richard Williamson <rjw@apple.com>
  8911. Implemented new JNI abstraction. We no longer invoke Java methods
  8912. directly with JNI, rather we call into the plugin. This allows the
  8913. plugin to dispatch the call to the appropriate VM thread. This
  8914. change should (will?) fix a whole class of threading related problems with
  8915. the Java VM.
  8916. Reviewed by Hyatt.
  8917. * WebCoreSupport.subproj/WebBridge.m:
  8918. (-[WebBridge getAppletInView:]):
  8919. 2004-08-20 Trey Matteson <trey@apple.com>
  8920. 3655407 - Editing: -complete: method unimplemented (WebKit editing API)
  8921. This feature is mostly implemented. The only loose ends I know of are:
  8922. 3769654 - text insertions done via complete: should preserve case of full replacement string
  8923. 3769652 - positioning of complete: popup window wrong for right-to-left languages
  8924. Reviewed by John
  8925. * WebView.subproj/WebHTMLView.m:
  8926. (-[WebHTMLViewPrivate dealloc]): Free new object.
  8927. (-[WebHTMLView menuForEvent:]): Bail on completion session.
  8928. (-[WebHTMLView windowDidResignKey:]): Ditto.
  8929. (-[WebHTMLView windowWillClose:]): Ditto.
  8930. (-[WebHTMLView mouseDown:]): Ditto.
  8931. (-[WebHTMLView resignFirstResponder]): Ditto.
  8932. (-[WebHTMLView keyDown:]): Bail on completion session if WebCore takes the event.
  8933. Give the CompleteController a crack at the key event.
  8934. (-[WebHTMLView _expandSelectionToGranularity:]): Adopt method rename
  8935. (-[WebHTMLView complete:]): Make CompleteController, tell it to do its thing.
  8936. (-[WebHTMLView checkSpelling:]): Add ERROR().
  8937. (-[WebHTMLView showGuessPanel:]): Add ERROR().
  8938. (-[WebHTMLView _changeSpellingToWord:]): Add ERROR().
  8939. (-[WebHTMLView ignoreSpelling:]): Add ERROR().
  8940. (-[WebTextCompleteController initWithHTMLView:]):
  8941. (-[WebTextCompleteController dealloc]):
  8942. (-[WebTextCompleteController _insertMatch:]): Stick the new string into the doc.
  8943. (-[WebTextCompleteController _buildUI]): Make popup window.
  8944. (-[WebTextCompleteController _placePopupWindow:]): Position popup window.
  8945. (-[WebTextCompleteController doCompletion]): Lookup matches, display window.
  8946. (-[WebTextCompleteController endRevertingChange:moveLeft:]): Bail on complete: session.
  8947. (-[WebTextCompleteController filterKeyDown:]): Process keys while popup is up.
  8948. (-[WebTextCompleteController _reflectSelection]): Handle choice in popup.
  8949. (-[WebTextCompleteController tableAction:]): Handle double click in popup
  8950. (-[WebTextCompleteController numberOfRowsInTableView:]): Fill table with matches.
  8951. (-[WebTextCompleteController tableView:objectValueForTableColumn:row:]): Ditto.
  8952. (-[WebTextCompleteController tableViewSelectionDidChange:]): Handle selection change.
  8953. * WebView.subproj/WebHTMLViewInternal.h:
  8954. 2004-08-20 John Sullivan <sullivan@apple.com>
  8955. * English.lproj/StringsNotToBeLocalized.txt:
  8956. checked this in; the only difference is that
  8957. the strings were out of order.
  8958. 2004-08-19 Richard Williamson <rjw@apple.com>
  8959. Continue to call old pollForAppletInView: in Tiger until
  8960. we get an plugin that supports the new API.
  8961. Reviewed by Chris.
  8962. * WebCoreSupport.subproj/WebBridge.m:
  8963. (-[WebBridge getAppletInView:]):
  8964. * WebKit.pbproj/project.pbxproj:
  8965. === Safari-158 ===
  8966. 2004-08-19 Chris Blumenberg <cblu@apple.com>
  8967. Fixed typo in comment.
  8968. * Misc.subproj/WebIconDatabase.m:
  8969. (-[WebIconDatabase _updateFileDatabase]):
  8970. 2004-08-19 Chris Blumenberg <cblu@apple.com>
  8971. Fixed: <rdar://problem/3566336> CrashTracer: .2403 crashes at com.apple.WebKit: -[WebFileDatabase performSetObject:forKey:] + 0x94
  8972. Reviewed by trey.
  8973. * Misc.subproj/WebIconDatabase.m:
  8974. (-[WebIconDatabase _updateFileDatabase]): pass WebFileDatabase copies of the mutable dictionaries or else they may be accessed on a separate thread as the main thread is modifying them
  8975. 2004-08-18 Richard Williamson <rjw@apple.com>
  8976. Replace horrible pollForAppletInView: with new
  8977. webPlugInGetApplet. The details of how the applet instance
  8978. is provided now belong to the Java team. Yeh.
  8979. Reviewed by Chris.
  8980. * WebCoreSupport.subproj/WebBridge.m:
  8981. (-[WebBridge getAppletInView:]):
  8982. 2004-08-17 Richard Williamson <rjw@apple.com>
  8983. Fixed <rdar://problem/3759093> Need PDF context menu: "Open in Preview" or other external app
  8984. Added support for "Open with ..." in PDF view.
  8985. Reviewed by Chris and Trey.
  8986. * ChangeLog:
  8987. * English.lproj/Localizable.strings:
  8988. * English.lproj/StringsNotToBeLocalized.txt:
  8989. * WebView.subproj/WebPDFView.h:
  8990. * WebView.subproj/WebPDFView.m:
  8991. (-[WebPDFView initWithFrame:]):
  8992. (-[WebPDFView dealloc]):
  8993. (applicationInfoForMIMEType):
  8994. (-[WebPDFView path]):
  8995. (-[WebPDFView menuForEvent:]):
  8996. (-[WebPDFView setDataSource:]):
  8997. (-[WebPDFView layout]):
  8998. (-[WebPDFView viewDidMoveToHostWindow]):
  8999. (-[WebPDFView openWithFinder:]):
  9000. 2004-08-17 Richard Williamson <rjw@apple.com>
  9001. JNI needs both the jmethodID and return type. Changed API to
  9002. pass both.
  9003. Reviewed by Chris.
  9004. * Plugins.subproj/WebJavaPlugIn.h:
  9005. 2004-08-17 Trey Matteson <trey@apple.com>
  9006. 3764147 - failure of subframe to load leaves links in parent doc broken
  9007. Reviewed by Maciej.
  9008. * WebView.subproj/WebDataSource.m:
  9009. (-[WebDataSource _receivedMainResourceError:complete:]):
  9010. Need to call [bridge end] in the case of an error, so WC can clean up.
  9011. === Safari-157 ===
  9012. 2004-08-15 Richard Williamson <rjw@apple.com>
  9013. More changes to np headers.
  9014. Reviewed by Darin.
  9015. * Plugins.subproj/WebNetscapePluginPackage.m:
  9016. (-[WebNetscapePluginPackage load]):
  9017. * Plugins.subproj/npapi.h:
  9018. * Plugins.subproj/npfunctions.h:
  9019. * Plugins.subproj/npruntime.h:
  9020. 2004-08-13 Darin Adler <darin@apple.com>
  9021. Reviewed by Chris.
  9022. - fixed <rdar://problem/3760924> Carbon path passed in NPP_StreamAsFile must be in local character set, not UTF-8
  9023. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  9024. (CarbonPathFromPOSIXPath): Added. New function that uses the path pieces from an FSSpec.
  9025. This has many advantages; the big one that fixes the bug is that it gives the mangled names
  9026. that work even for files that have names that can't otherwise be encoded in Carbon-style
  9027. path names. I didn't write this from scratch: I started with the method in Foundation
  9028. and just changed it to use FSSpec.
  9029. (-[WebBaseNetscapePluginStream destroyStream]): Remove code that used NSString and just call
  9030. CarbonPathFromPOSIXPath instead.
  9031. * Plugins.subproj/npapi.h: The Revision tag wanted to touch this file.
  9032. I think we are going to have some trouble with this; I'd like to take that out.
  9033. * English.lproj/StringsNotToBeLocalized.txt: Updated.
  9034. 2004-08-12 Trey Matteson <trey@apple.com>
  9035. 3761329 - query result links all dead in ingrammicro.com (sometimes)
  9036. 3761328 - links in some docs dead when doc is loaded from WebArchive
  9037. Nasty problem. It turns out that these result pages are a parent frame with two child
  9038. frames. One of the child frames is a 1 or 2 byte text document. When the text child
  9039. is the last doc to complete, because we use a Text rep instead of an HTMLRep, it turns
  9040. out we never send [bridge end] from WebKit. That mistake results in checkCompleted not
  9041. being called enough in the part, and we never realize the load is done. WebCore does
  9042. not allow redirects to happen until the entire load is complete, and the links on this
  9043. results page are actually little pieces of JS that set location to a generated URL. Since
  9044. redirects are not allowed these links all silently fail to do anything, and the doc never
  9045. achieves a completed state where they will work.
  9046. Solution is to make sure we always call [bridge end] from the DataSource instead of only
  9047. the HTML rep doing it.
  9048. Reviewed by Richard and Darin.
  9049. * WebView.subproj/WebDataSource.m:
  9050. (-[WebDataSource _finishedLoading]): Call [bridge end] here for all kinds of docs.
  9051. * WebView.subproj/WebHTMLRepresentation.m:
  9052. (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Don't call is just for HTMLReps.
  9053. 2004-08-12 Richard Williamson <rjw@apple.com>
  9054. Bring npruntime.h and friends closer to compliance with
  9055. latest spec.
  9056. Reviewed by Maciej.
  9057. * Plugins.subproj/npapi.h:
  9058. * Plugins.subproj/npfunctions.h:
  9059. * Plugins.subproj/npruntime.h:
  9060. (_NPString::):
  9061. (_NPString::_NPVariant::):
  9062. * copy-webcore-files-to-webkit:
  9063. 2004-08-12 Chris Blumenberg <cblu@apple.com>
  9064. Fixed: <rdar://problem/3761097> should be able to option-drag selection so HTML can be copied within a page
  9065. Reviewed by rjw.
  9066. * WebView.subproj/WebHTMLView.m:
  9067. (-[WebHTMLView _isMoveDrag]): new, take into account the option key
  9068. (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): call _isMoveDrag
  9069. (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): call _isMoveDrag
  9070. 2004-08-12 Richard Williamson <rjw@apple.com>
  9071. Quick fix for 3760903. The real fix is described in 3760920. Needed
  9072. by Java plugin guys so they can be unblocked for feature freeze.
  9073. Reviewed by Chris.
  9074. * WebView.subproj/WebFrame.m:
  9075. (-[WebFrame _reloadForPluginChanges]):
  9076. * WebView.subproj/WebHTMLView.m:
  9077. (-[WebHTMLView addSubview:]):
  9078. 2004-08-12 Chris Blumenberg <cblu@apple.com>
  9079. Fixed: <rdar://problem/3760898> error pages in subframes attempt to load appledata URLs when reloaded
  9080. Reviewed by darin.
  9081. * WebView.subproj/WebFrame.m:
  9082. (-[WebFrame _createItem:]): when setting the original URL of the history item, use the unreachable URL
  9083. === Safari-156 ===
  9084. 2004-08-11 Adele Amchan <adele@apple.com>
  9085. Reviewed by me, bug fix by Darin.
  9086. - fixed <rdar://problem/3736477> Pages don't load if hard drive is named with non-ASCII Symbol
  9087. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  9088. (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]):
  9089. Use UTF8String instead of cString to convert the MIME type to a C string. Safer, since it can't
  9090. ever fail due to encoding problems even though this string should always be ASCII.
  9091. (-[WebBaseNetscapePluginStream destroyStream]): Use stringWithUTF8String to convert the path name
  9092. to an NSString, since stringWithCString is deprecated (doesn't really matter since the path is always
  9093. all ASCII). Fix the bug by calling fileSystemRepresentation on the NSString to turn it into a C
  9094. string form. Even though the POSIX path can't have any non-ASCII characters in it, the Carbon path
  9095. can, so we need to use this instead of cString which can fail depending on characters and encoding.
  9096. 2004-08-09 Maciej Stachowiak <mjs@apple.com>
  9097. Reviewed by Trey.
  9098. WebKit part of:
  9099. - made basic marked text highlighting work to complete basic level of <rdar://problem/3704359> input method support not yet implemented for HTML editing
  9100. * WebView.subproj/WebHTMLView.m:
  9101. (-[WebHTMLView markedRange]): Use new bridge calls instead of internal marked range storage.
  9102. (-[WebHTMLView hasMarkedText]): Likewise.
  9103. (-[WebHTMLView unmarkText]): Likewise.
  9104. (-[WebHTMLView _selectMarkedText]): Likewise.
  9105. (-[WebHTMLView _selectRangeInMarkedText:]): Likewise.
  9106. (-[WebHTMLView _selectionIsInsideMarkedText]): Likewise.
  9107. (-[WebHTMLView _updateSelectionForInputManager]): Likewise.
  9108. (-[WebHTMLView setMarkedText:selectedRange:]): Use direct bridge call instead
  9109. of private _selectMarkedDOMRange: method, which would now be trivial.
  9110. * WebView.subproj/WebHTMLViewInternal.h: Remove unneeded
  9111. 2004-08-10 Darin Adler <darin@apple.com>
  9112. Reviewed by Ken.
  9113. - change name of WebMakeCollectable to WebNSRetainCFRelease so it fits into the
  9114. "NS and CF retain counts are separate" mental model, rather than the "think about
  9115. how garbage collection works" one
  9116. * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Rename.
  9117. * Misc.subproj/WebNSObjectExtras.h: (WebNSRetainCFRelease): Ditto.
  9118. * Misc.subproj/WebNSURLExtras.m:
  9119. (+[NSURL _web_URLWithData:relativeToURL:]): Ditto.
  9120. (-[NSURL _web_URLWithLowercasedScheme]): Ditto.
  9121. 2004-08-09 Trey Matteson <trey@apple.com>
  9122. 3756599 - REGRESSION: hit assertion in KWQPageState invalidate
  9123. By inspection I found a flaw in the recently added logic, although
  9124. I have no steps to repro. My theoretical explanation is that we would
  9125. get two errors and go through _receivedMainResourceError: twice, which
  9126. would cause the pageState to be invalidated twice, which is the only
  9127. way I can see to hit the assert.
  9128. Reviewed by Darin
  9129. * WebView.subproj/WebFrame.m:
  9130. (-[WebFrame _receivedMainResourceError:]): Clear the pageState out
  9131. of the history item after it's been invalidated by WebCore.
  9132. 2004-08-09 Richard Williamson <rjw@apple.com>
  9133. Inspired by Trey we have a much better approach for conditionally
  9134. linking Quart.framework. Instead of multiple targets we use
  9135. `` to invoke some inline script to extend COMMON_LDFLAGS as
  9136. necessary. Thanks Trey!
  9137. Reviewed by Trey.
  9138. * WebKit.pbproj/project.pbxproj:
  9139. 2004-08-09 Trey Matteson <trey@apple.com>
  9140. Hookup UI for "Continuous Spelling" menu item.
  9141. Reviewed by Richard.
  9142. * WebView.subproj/WebView.m:
  9143. (-[WebView validateUserInterfaceItem:]): Enable and check the
  9144. menu item to reflect our state.
  9145. (-[WebView toggleContinuousSpellChecking:]): Change type to
  9146. IBAction, just cosmetic.
  9147. * WebView.subproj/WebViewPrivate.h:
  9148. 2004-08-08 Trey Matteson <trey@apple.com>
  9149. 3745023 - Safari crashes trying to access anchor while downloading
  9150. I bet this is behind a few other crashers as well. In this bug the start of the
  9151. download leaves a KWQPageState hanging around, and when that is freed it damages
  9152. the part and view. If you're still using that page, you're dead.
  9153. The fix is to properly invalidate the PageState when we receive an error before
  9154. reaching WebFrameCommitted state. Normally this happens when a page is reheated
  9155. from the PageState, but in this case we never manage to leave the page to begin
  9156. with, although we've already created the PageState.
  9157. Other errors besides the synthetic one download generates would have caused similar
  9158. crashing. Another example would be clicking on a second link before the load
  9159. caused by clicking on the first link reached committed state.
  9160. Reviewed by Richard
  9161. * WebView.subproj/WebDataSource.m:
  9162. (-[WebDataSource _receivedMainResourceError:complete:]): Let the frame do the
  9163. main work (since it has access to the pageCache state). Also renamed to make
  9164. it clear that this is about an error for the main resource.
  9165. * WebView.subproj/WebDataSourcePrivate.h:
  9166. * WebView.subproj/WebFrame.m:
  9167. (-[WebFrame _receivedMainResourceError:]): Let WC know about the failure, as
  9168. the DataSource used to, but now pass the pageCache state along too.
  9169. * WebView.subproj/WebFramePrivate.h:
  9170. * WebView.subproj/WebMainResourceClient.m:
  9171. (-[WebMainResourceClient receivedError:]): Call renamed method.
  9172. (-[WebMainResourceClient cancelWithError:]): Ditto.
  9173. 2004-08-08 Vicki Murley <vicki@apple.com>
  9174. Reviewed by vicki (changes by rjw)
  9175. - make "weak" linking with Quartz work with buildit
  9176. * WebKit.pbproj/project.pbxproj:
  9177. 2004-08-06 Ken Kocienda <kocienda@apple.com>
  9178. Reviewed by Maciej
  9179. Finish off spellchecking support to HTML editing. Includes work to
  9180. enable continuous spellchecking.
  9181. * WebCoreSupport.subproj/WebBridge.m:
  9182. (-[WebBridge isContinuousSpellCheckingEnabled]): Simple bridge method.
  9183. * WebCoreSupport.subproj/WebTextRenderer.m:
  9184. (-[WebTextRenderer drawLineForMisspelling:withWidth:]): New method to add
  9185. AppKit-style misspelling underline.
  9186. === Safari-155 ===
  9187. 2004-08-05 Darin Adler <darin@apple.com>
  9188. * WebView.subproj/WebHTMLView.m: Added a list of methods that NSTextView implements that we don't.
  9189. All inside #if 0.
  9190. 2004-08-05 Chris Blumenberg <cblu@apple.com>
  9191. Fixed unnecessary import of NSURLFileTypeMappings.
  9192. * WebView.subproj/WebMainResourceClient.m:
  9193. 2004-08-05 Richard Williamson <rjw@apple.com>
  9194. Make builds conditionally include -framework Quartz.
  9195. Reviewed by Chris.
  9196. * WebKit.pbproj/project.pbxproj:
  9197. 2004-08-04 Darin Adler <darin@apple.com>
  9198. - fixed broken Deployment build
  9199. * Carbon.subproj/HIWebView.m: (Click):
  9200. Remove code that checks err variable before setting it.
  9201. 2004-08-03 Richard Williamson <rjw@apple.com>
  9202. First cut at dirt simple PDF support. This feature
  9203. depends on Quartz.framework (parent of PDFKit), which only exists
  9204. on Tiger. So, we "weak" link against Quartz.
  9205. We do very basic PDF rendering. Coming up are support for
  9206. "Find..." and linearized PDF (incremental). Linearized PDF
  9207. support will require API changes in PDFKit.
  9208. No UI is added to Safari, yet.
  9209. Reviewed by John.
  9210. * WebKit.pbproj/project.pbxproj:
  9211. * WebView.subproj/WebDataSource.m:
  9212. (+[WebDataSource _repTypesAllowImageTypeOmission:]):
  9213. * WebView.subproj/WebFrameView.m:
  9214. (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
  9215. * WebView.subproj/WebPDFRepresentation.h: Added.
  9216. * WebView.subproj/WebPDFRepresentation.m: Added.
  9217. (-[WebPDFRepresentation finishedLoadingWithDataSource:]):
  9218. (-[WebPDFRepresentation canProvideDocumentSource]):
  9219. (-[WebPDFRepresentation documentSource]):
  9220. (-[WebPDFRepresentation title]):
  9221. * WebView.subproj/WebPDFView.h: Added.
  9222. * WebView.subproj/WebPDFView.m: Added.
  9223. (-[WebPDFView initWithFrame:]):
  9224. (-[WebPDFView setDataSource:]):
  9225. (-[WebPDFView dataSourceUpdated:]):
  9226. (-[WebPDFView setNeedsLayout:]):
  9227. (-[WebPDFView layout]):
  9228. (-[WebPDFView viewWillMoveToHostWindow:]):
  9229. (-[WebPDFView viewDidMoveToHostWindow]):
  9230. Copied fix from Jaguar carbon/cocoa work.
  9231. Reviewed by Darin (Jaguar version)
  9232. * Carbon.subproj/CarbonWindowAdapter.h:
  9233. * Carbon.subproj/CarbonWindowAdapter.m:
  9234. (-[CarbonWindowAdapter relinquishFocus]):
  9235. * Carbon.subproj/HIWebView.m:
  9236. (Click):
  9237. (OwningWindowChanged):
  9238. (WindowHandler):
  9239. 2004-08-03 David Hyatt <hyatt@apple.com>
  9240. Add the text/xsl MIME type as one that can be displayed.
  9241. Reviewed by john
  9242. * WebView.subproj/WebDataSource.m:
  9243. (+[WebDataSource _repTypesAllowImageTypeOmission:]):
  9244. * WebView.subproj/WebFrameView.m:
  9245. (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
  9246. 2004-08-03 Maciej Stachowiak <mjs@apple.com>
  9247. Reviewed by Ken.
  9248. - implemented enough of the NSTextInput protocol and added the
  9249. proper calls to NSInputManager to allow input methods to
  9250. work. However, the text is not marked yet.
  9251. * WebView.subproj/WebHTMLViewInternal.h: Added new fields to track
  9252. marked range.
  9253. * WebView.subproj/WebHTMLView.m:
  9254. (-[WebHTMLView markedRange]): Implemented
  9255. (-[WebHTMLView conversationIdentifier]): Implemented
  9256. (-[WebHTMLView hasMarkedText]): Implemented
  9257. (-[WebHTMLView unmarkText]): Implemented
  9258. (-[WebHTMLView setMarkedText:selectedRange:]): Implemented - does
  9259. not yet handle attributes in attributed strings
  9260. (-[WebHTMLView insertText:]): Modified to handle replacing or abandoning
  9261. the marked text when set.
  9262. (-[WebHTMLView _selectMarkedText]): new helper method, self-explanatory
  9263. (-[WebHTMLView _setMarkedDOMRange:]): hitto.
  9264. (-[WebHTMLView _selectRangeInMarkedText:]): ditto
  9265. (-[WebHTMLView _discardMarkedText]): ditto
  9266. (-[WebHTMLView _selectionIsInsideMarkedText]): ditto
  9267. (-[WebHTMLView _updateSelectionForInputManager]): ditto
  9268. - did a bit of refactoring while I was in here.
  9269. * WebView.subproj/WebHTMLView.m:
  9270. (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]): added this new
  9271. helper method to simplify the common case of calling the shouldInsertText: delegate
  9272. (-[WebHTMLView pasteAsPlainText:]): use it
  9273. (-[WebHTMLView insertTab:]): ditto
  9274. (-[WebHTMLView insertNewline:]): ditto
  9275. (-[WebHTMLView _changeWordCaseWithSelector:]): ditto
  9276. (-[WebHTMLView _changeSpellingToWord:]): ditto
  9277. (-[WebHTMLView _selectionChanged]): ditto
  9278. 2004-08-03 Chris Blumenberg <cblu@apple.com>
  9279. Fixed: <rdar://problem/3572737> Images not resizing at www.bmx-test.com (spoof nofix)
  9280. Reviewed by darin.
  9281. * WebCoreSupport.subproj/WebImageRendererFactory.m:
  9282. (-[WebImageRendererFactory supportedMIMETypes]): hard code image/pjpeg to the list of image mime types that we can handle
  9283. 2004-08-03 Darin Adler <darin@apple.com>
  9284. Reviewed by Ken.
  9285. - fixed <rdar://problem/3740937> ER: A way to turn a DOMRange into text (equivalent of -innerText)
  9286. * DOM.subproj/DOMPrivate.h: Added.
  9287. * WebKit.pbproj/project.pbxproj: Added DOMPrivate.h.
  9288. * copy-webcore-files-to-webkit: Added DOMPrivate.h.
  9289. 2004-08-02 John Sullivan <sullivan@apple.com>
  9290. Reviewed by Darin.
  9291. WebKit part of fix for <rdar://problem/3631868> NSToolbar adoption:
  9292. Tab key should cycle around toolbar and page content
  9293. * WebView.subproj/WebHTMLView.m:
  9294. removed overrides of nextKeyView and previousKeyView
  9295. (-[WebHTMLView nextValidKeyView]):
  9296. call super only if we can't move the focus within the frame hierarchy
  9297. (-[WebHTMLView previousValidKeyView]):
  9298. ditto
  9299. * WebView.subproj/WebHTMLViewInternal.h:
  9300. removed nextKeyViewAccessShouldMoveFocus ivar
  9301. 2004-08-02 Ken Kocienda <kocienda@apple.com>
  9302. Reviewed by John
  9303. Update name of firstResponderIsSelfOrDescendantView, adding _web_ prefix to this SPI call.
  9304. Do some work to make caret blinking in newly-created editable WebView's that are
  9305. similar in structure to Blot more "automatic".
  9306. * Misc.subproj/WebNSViewExtras.h: Change name of firstResponderIsSelfOrDescendantView. Add _web_ prefix.
  9307. * Misc.subproj/WebNSViewExtras.m:
  9308. (-[NSView _web_firstResponderIsSelfOrDescendantView]): Name change.
  9309. (-[NSView _web_firstResponderCausesFocusDisplay]): Adds an additional check for whether the view's
  9310. is first responder. This helps to make the focus setting in viewDidMoveToWindow work right.
  9311. * WebView.subproj/WebHTMLView.m:
  9312. (-[WebHTMLView updateFocusDisplay]): Use _web_firstResponderCausesFocusDisplay now instead of
  9313. firstResponderIsSelfOrDescendantView.
  9314. (-[WebHTMLView viewDidMoveToWindow]): Schedule call to updateFocusDisplay for the next crank of the
  9315. run loop. The reason is that placing the caret in the just-installed view requires the HTML/XML
  9316. document to be available on the WebCore side, but it is not at the time this code is running.
  9317. However, it will be there on the next crank of the run loop. Doing this helps to make a
  9318. blinking caret appear in a new, empty window "automatic".
  9319. (-[WebHTMLView performKeyEquivalent:]): _web_firstResponderIsSelfOrDescendantView name change.
  9320. * WebView.subproj/WebView.m:
  9321. (-[WebView _performResponderOperation:with:]): _web_firstResponderIsSelfOrDescendantView name change.
  9322. 2004-07-29 Maciej Stachowiak <mjs@apple.com>
  9323. Reviewed by John.
  9324. Added stubbed-out versions of all the NSTextInput protocol
  9325. methods, and put comments in places where we will need to call the
  9326. input manager to make input methods work 100%.
  9327. * WebCoreSupport.subproj/WebBridge.m:
  9328. (-[WebBridge respondToChangedSelection]):
  9329. * WebView.subproj/WebHTMLView.m:
  9330. (-[WebHTMLView mouseDown:]):
  9331. (-[WebHTMLView mouseDragged:]):
  9332. (-[WebHTMLView mouseUp:]):
  9333. (-[WebHTMLView _interceptEditingKeyEvent:]):
  9334. (-[WebHTMLView keyDown:]):
  9335. (-[WebHTMLView _selectionChanged]):
  9336. (-[WebHTMLView _delegateDragSourceActionMask]):
  9337. (-[WebHTMLView validAttributesForMarkedText]):
  9338. (-[WebHTMLView characterIndexForPoint:]):
  9339. (-[WebHTMLView firstRectForCharacterRange:]):
  9340. (-[WebHTMLView selectedRange]):
  9341. (-[WebHTMLView markedRange]):
  9342. (-[WebHTMLView attributedSubstringFromRange:]):
  9343. (-[WebHTMLView conversationIdentifier]):
  9344. (-[WebHTMLView hasMarkedText]):
  9345. (-[WebHTMLView unmarkText]):
  9346. (-[WebHTMLView setMarkedText:selectedRange:]):
  9347. (-[WebHTMLView doCommandBySelector:]):
  9348. (-[WebHTMLView insertText:]):
  9349. * WebView.subproj/WebHTMLViewInternal.h:
  9350. * WebView.subproj/WebView.m:
  9351. === Safari-154 ===
  9352. 2004-07-29 Darin Adler <darin@apple.com>
  9353. Reviewed by Ken.
  9354. - fill in some unimplemented methods
  9355. * WebView.subproj/WebHTMLView.m:
  9356. (-[WebHTMLView moveToBeginningOfDocument:]): Implement, using new document granularity.
  9357. (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto.
  9358. (-[WebHTMLView moveToBeginningOfParagraph:]): Implement, even though the underlying WebCore
  9359. code is not yet implemented.
  9360. (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]): Ditto.
  9361. (-[WebHTMLView moveToEndOfDocument:]): More of the same.
  9362. (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto.
  9363. (-[WebHTMLView moveToEndOfParagraph:]): More of the same.
  9364. (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]): Ditto.
  9365. (-[WebHTMLView pageDown:]): Added comment describing desired behavior.
  9366. (-[WebHTMLView pageUp:]): Ditto.
  9367. (-[WebHTMLView copyFont:]): Ditto.
  9368. (-[WebHTMLView pasteFont:]): Ditto.
  9369. (-[WebHTMLView changeAttributes:]): Ditto.
  9370. (-[WebHTMLView indent:]): Ditto.
  9371. 2004-07-28 Chris Blumenberg <cblu@apple.com>
  9372. Fixed: <rdar://problem/3737864> Can not download image from web by using drag and drop
  9373. Reviewed by john.
  9374. * Misc.subproj/WebNSPasteboardExtras.m:
  9375. (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]): On Tiger, to use NSFilesPromisePboardType with other pasteboard types, set the file types of the promise on the pasteboard as a property list instead of mucking with the NSFilePromiseDragSource class
  9376. 2004-07-28 Maciej Stachowiak <mjs@apple.com>
  9377. Reviewed by John.
  9378. - avoid triggering an assertion when using dead keys (like option-e)
  9379. * WebView.subproj/WebHTMLView.m:
  9380. (-[WebHTMLView insertText:]): Don't pass zero-length strings to
  9381. WebCore. Dead-key input seems to insert empty strings as a side
  9382. effect.
  9383. 2004-07-28 Trey Matteson <trey@apple.com>
  9384. Spellchecking, Part I. Basic spellcheck is working. Spelling panel is hooked up.
  9385. At this point, no special marking of misspellings, no grammar check, no context
  9386. menu integration, no "check continually" mode.
  9387. Reviewed by Ken.
  9388. * WebCoreSupport.subproj/WebBridge.m:
  9389. (-[WebBridge spellCheckerDocumentTag]): Typical bridge glue.
  9390. * WebView.subproj/WebHTMLView.m:
  9391. (-[WebHTMLView validateUserInterfaceItem:]): Validate various spelling actions.
  9392. (-[WebHTMLView checkSpelling:]): Call WC for real work, update panel.
  9393. (-[WebHTMLView showGuessPanel:]): Show panel, call WC for real work.
  9394. (-[WebHTMLView _changeSpellingToWord:]): Apply correction to our doc.
  9395. (-[WebHTMLView changeSpelling:]): Simple pass through to above method.
  9396. (-[WebHTMLView ignoreSpelling:]): Tell checker to ignore the word.
  9397. * WebView.subproj/WebView.m:
  9398. (-[WebView _close]): Call AK's closeSpellDocumentWithTag: for proper cleanup.
  9399. 2004-07-27 John Sullivan <sullivan@apple.com>
  9400. Reviewed by Trey.
  9401. WebKit part of fix for <rdar://problem/3622268> Reload failed pages when a
  9402. network problem is corrected, inc. using Network Diagnostics
  9403. * WebView.subproj/WebFrame.m:
  9404. (-[WebFrame reload]):
  9405. This method did not handle unreachableURLs at all. The reason Safari's Reload
  9406. did work with unreachableURLs was that Safari does "reloadObeyingLocationField"
  9407. which never actually calls -[WebFrame reload]. Fixed by creating a fresh
  9408. request for the previously-unreachable URL.
  9409. 2004-07-26 Richard Williamson <rjw@apple.com>
  9410. Fixed 3739737. When setting the focus to a NSView, set the focus
  9411. carbon focus to kControlIndicatorPart. kControlIndicatorPart is a
  9412. placeholder value for use to indicate that Cocoa has the focus.
  9413. Reviewed by Ken.
  9414. * Carbon.subproj/CarbonWindowAdapter.m:
  9415. (-[CarbonWindowAdapter makeFirstResponder:]):
  9416. * Carbon.subproj/HIWebView.m:
  9417. (Click):
  9418. (SetFocusPart):
  9419. 2004-07-26 Chris Blumenberg <cblu@apple.com>
  9420. Fixed: <rdar://problem/3689734> dragging to an editable WebView does not scroll document
  9421. Reviewed by rjw.
  9422. * WebView.subproj/WebView.m:
  9423. (-[WebView documentViewAtWindowPoint:]): new, factored from draggingDocumentViewAtWindowPoint:
  9424. (-[WebView _draggingDocumentViewAtWindowPoint:]): call documentViewAtWindowPoint:
  9425. (-[WebView _autoscrollForDraggingInfo:timeDelta:]): forward call to the document view
  9426. (-[WebView _shouldAutoscrollForDraggingInfo:]): ditto
  9427. === Safari-153 ===
  9428. 2004-07-23 Ken Kocienda <kocienda@apple.com>
  9429. Reviewed by Trey
  9430. Fix for this bug:
  9431. <rdar://problem/3738920> Caret blinks in inactive window
  9432. As part of the fix, I cleaned up the way we handle special drawing that needs
  9433. to be done in the HTML view that is first responder in the key window (e.g the
  9434. drawing of text selection highlight and caret blinking).
  9435. * WebView.subproj/WebHTMLView.m:
  9436. (-[WebHTMLView updateFocusDisplay]): New method that centralizes the changes
  9437. we need to make when the first responder-ness of the view or key-ness of the
  9438. window changes.
  9439. (-[WebHTMLView viewDidMoveToWindow]): Call new updateFocusDisplay helper.
  9440. (-[WebHTMLView windowDidBecomeKey:]): Ditto.
  9441. (-[WebHTMLView windowDidResignKey:]): Ditto.
  9442. (-[WebHTMLView becomeFirstResponder]): Ditto.
  9443. (-[WebHTMLView resignFirstResponder]): Ditto.
  9444. 2004-07-22 Darin Adler <darin@apple.com>
  9445. * Plugins.subproj/npruntime.h: Update with new version from newer JavaScriptCore.
  9446. 2004-07-21 Ken Kocienda <kocienda@apple.com>
  9447. Reviewed by Trey
  9448. * WebCoreSupport.subproj/WebBridge.m: Remove interceptEditingKeyEvent
  9449. bridge call over. This method of handling editing key events is now
  9450. obsolete.
  9451. * WebView.subproj/WebHTMLView.m:
  9452. (-[WebHTMLView performKeyEquivalent:]): Send key event over to the
  9453. DOM if this view is or contains the first responder. This now
  9454. happens unconditionally.
  9455. (-[WebHTMLView keyDown:]): Send key event to the DOM, then see if
  9456. the web view wants to interpret it an an editing key event. This
  9457. is the new place to intercept key events for editing.
  9458. 2004-07-21 Ken Kocienda <kocienda@apple.com>
  9459. Reviewed by John
  9460. Add implementations for these methods. Formerly, they logged an error.
  9461. * WebView.subproj/WebHTMLView.m:
  9462. (-[WebHTMLView moveToBeginningOfLine:]):
  9463. (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]):
  9464. (-[WebHTMLView moveToEndOfLine:]):
  9465. (-[WebHTMLView moveToEndOfLineAndModifySelection:]):
  9466. 2004-07-21 Ken Kocienda <kocienda@apple.com>
  9467. Reviewed by John
  9468. Added some more handlers for standard Cocoa key bindings.
  9469. These are "secrets" of NSText, meaning they are not public API, but we choose to mimic.
  9470. * WebView.subproj/WebHTMLView.m:
  9471. (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]):
  9472. (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]):
  9473. (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]):
  9474. (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]):
  9475. (-[WebHTMLView moveToEndOfLineAndModifySelection:]):
  9476. (-[WebHTMLView moveToEndOfParagraph:]):
  9477. (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]):
  9478. * WebView.subproj/WebView.h: Add these declarations to the comment in the header listing
  9479. the responder-like methods we support.
  9480. * WebView.subproj/WebView.m:
  9481. (-[WebView moveToBeginningOfParagraphAndModifySelection:]):
  9482. (-[WebView moveToEndOfParagraphAndModifySelection:]):
  9483. (-[WebView moveToBeginningOfLineAndModifySelection:]):
  9484. (-[WebView moveToEndOfLineAndModifySelection:]):
  9485. (-[WebView moveToBeginningOfDocumentAndModifySelection:]):
  9486. (-[WebView moveToEndOfDocumentAndModifySelection:]):
  9487. 2004-07-20 Ken Kocienda <kocienda@apple.com>
  9488. Reviewed by Richard
  9489. * Misc.subproj/WebNSEventExtras.h: Added helper that returns whether
  9490. a key event has a binding in the key binding manager.
  9491. * Misc.subproj/WebNSEventExtras.m:
  9492. (-[NSEvent _web_keyBindingManagerHasBinding]): New helper mentioned above.
  9493. * Plugins.subproj/npruntime.h:
  9494. * WebView.subproj/WebHTMLView.m:
  9495. (-[WebHTMLView performKeyEquivalent:]): Add a check of whether the key event
  9496. has a binding in the key binding manager. This works around the fact that
  9497. NSResponder's interpretKeyEvents does not return a value telling whether
  9498. or not the key was handled. This now makes it possible for us to trap
  9499. modified key events we know we can handle (like those command-key + arrow events
  9500. used for text navigation), while letting all others pass.
  9501. 2004-07-20 Chris Blumenberg <cblu@apple.com>
  9502. Fixed:
  9503. <rdar://problem/3580589> REGRESSION (1.1-1.2): can't open a new window for an image that has not loaded
  9504. <rdar://problem/3612691> Missing image icons (blue ?) lack context menu
  9505. Reviewed by john.
  9506. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  9507. (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): if there is no image, but there is an image URL, provide image context menu items besides "Copy Image"
  9508. * WebView.subproj/WebHTMLView.m:
  9509. (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): don't drag an image with an actual image
  9510. (-[WebHTMLView _mayStartDragAtEventLocation:]): ditto
  9511. 2004-07-20 Maciej Stachowiak <mjs@apple.com>
  9512. Reviewed by Chris.
  9513. <rdar://problem/3721690> REGRESSION (125.7-148u) clicking on links at macosx.apple.com/Builds does not load new page in frame
  9514. * Plugins.subproj/npruntime.h:
  9515. * WebCoreSupport.subproj/WebBridge.m:
  9516. (-[WebBridge canTargetLoadInFrame:]): Don't apply the restrictions to frames
  9517. that are in the same window (Mozilla does this too).
  9518. 2004-07-20 Richard Williamson <rjw@apple.com>
  9519. Fix for 3728558. Fixed the key event handling in the carbon/cocoa
  9520. integration code. This does not fix the arrow keys not working on
  9521. initial focus problem also mentioned in the bug.
  9522. Bumped the version of the NP function structures.
  9523. Reviewed by John.
  9524. * Carbon.subproj/CarbonUtils.m:
  9525. (WebInitForCarbon):
  9526. (PoolCleaner):
  9527. * Carbon.subproj/HIWebView.m:
  9528. (OwningWindowChanged):
  9529. (WindowHandler):
  9530. * Plugins.subproj/npapi.h:
  9531. 2004-07-20 Trey Matteson <trey@apple.com>
  9532. 3733698 REGRESSION: sometimes dragging photos on homepage.mac.com leads to an assertion
  9533. Relax an assertion, as we ran into a valid case where it's not true.
  9534. Reviewed by Chris.
  9535. * WebView.subproj/WebHTMLView.m:
  9536. (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
  9537. Removing this assert allows for the oddball case of a drag gesture that
  9538. starts on one element, but then the element is no longer there when
  9539. the drag is about to start.
  9540. 2004-07-20 Ken Kocienda <kocienda@apple.com>
  9541. Reviewed by Hyatt
  9542. Fix for this bug:
  9543. <rdar://problem/3707505> HTMLCompose: blinking cursor in both an address text field and the message body
  9544. * WebView.subproj/WebHTMLView.m:
  9545. (-[WebHTMLView setCaretVisible:]): New helper. Calls over bridge to do the work.
  9546. (-[WebHTMLView windowDidBecomeKey:]): This function cannot just assume that self is first responder
  9547. (and do things like adjusting text background color and restoring focus rings).
  9548. First-responder-ness needs to be checked first. Now it is.
  9549. (-[WebHTMLView windowDidResignKey:]): Ditto.
  9550. (-[WebHTMLView becomeFirstResponder]): Call new helper to make caret visible.
  9551. (-[WebHTMLView resignFirstResponder]): Call new helper to make caret invisible.
  9552. 2004-07-12 Richard Williamson <rjw@apple.com>
  9553. Fixed 3721917. The RealPlayer plugin doesn't support the new
  9554. NPPVpluginScriptableNPObject variable passed to NPP_GetValue and
  9555. incorrectly returns NPERR_NO_ERROR. We interpret this to the
  9556. mean the variable has been set. The variable has not been set
  9557. and will consequently be uninitialized.
  9558. * Plugins.subproj/WebBaseNetscapePluginView.m:
  9559. (-[WebBaseNetscapePluginView pluginScriptableObject]):
  9560. 2004-07-19 Ken Kocienda <kocienda@apple.com>
  9561. Reviewed by Richard
  9562. Fix for this bug:
  9563. <rdar://problem/3707504> HTMLCompose: key events are stolen by Web(HTML)View
  9564. * Misc.subproj/WebNSViewExtras.h:
  9565. * Misc.subproj/WebNSViewExtras.m:
  9566. (-[NSView firstResponderIsSelfOrDescendantView]): New helper to
  9567. (-[WebHTMLView performKeyEquivalent:]): Do not pass key events through to the editing
  9568. key handler unless the WebHTMLView is first responder or contains the first responder.
  9569. This prevents the "stealing" of key events mentioned in the bug.
  9570. * WebView.subproj/WebView.m:
  9571. (-[WebView _performResponderOperation:with:]): Uses the new firstResponderIsSelfOrDescendantView
  9572. helper. The code I replaced used the same logic as the new helper.
  9573. === Safari-152 ===
  9574. 2004-07-12 Maciej Stachowiak <mjs@apple.com>
  9575. Reviewed by Kevin.
  9576. <rdar://problem/3673988>: (REGRESSION(141-144): connection assertion failure at http://traffic.511.org/sfgate)
  9577. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  9578. (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
  9579. Don't check connection consistency if this load got cancelled
  9580. while finishing, because in this case we have cleared the
  9581. connection field already. This can happen when a redirect fires
  9582. from an onload handler.
  9583. 2004-07-12 Maciej Stachowiak <mjs@apple.com>
  9584. Reviewed by John.
  9585. <rdar://problem/3632570>: (REGRESSION: SocialText.net wiki keeps asking for auth, even though pages load)
  9586. * Misc.subproj/WebIconLoader.m:
  9587. (-[WebIconLoader didReceiveAuthenticationChallenge:]): Ignore the challenge - we don't
  9588. want an auth panel for favicons.
  9589. (-[WebIconLoader didCancelAuthenticationChallenge:]): Ignore cancel, since we are ignoring
  9590. the challenge.
  9591. 2004-07-09 Chris Blumenberg <cblu@apple.com>
  9592. Allowed my change for 3715785 to compile on Jaguar.
  9593. Reviewed by kocienda.
  9594. * WebCoreSupport.subproj/WebBridge.m:
  9595. (-[WebBridge canTargetLoadInFrame:]): don't use the DOM API since it doesn't exist on Jaguar, instead call the new domain method on the bridge
  9596. 2004-07-09 Ken Kocienda <kocienda@apple.com>
  9597. Reviewed by John
  9598. * Plugins.subproj/npruntime.h: Updated license to lawyer-approved
  9599. joint Apple-Mozilla BSD-style license.
  9600. 2004-07-08 Chris Blumenberg <cblu@apple.com>
  9601. Fixed: <rdar://problem/3720728> REGRESSION (125.8-146): Crash moving mouse over plugin at manray-photo.com
  9602. Reviewed by john.
  9603. * Plugins.subproj/WebBaseNetscapePluginView.m:
  9604. (-[WebBaseNetscapePluginView pluginScriptableObject]): don't call NPP_GetValue unless the plug-in implements it
  9605. 2004-07-08 Chris Blumenberg <cblu@apple.com>
  9606. Fixed: <rdar://problem/3706296> VIP: ifilm.com crashing reproducibly with Safari
  9607. Reviewed by kocienda.
  9608. * Plugins.subproj/WebNetscapePluginPackage.m:
  9609. (-[WebNetscapePluginPackage launchRealPlayer]): don't release a NULL appURL
  9610. 2004-07-08 Chris Blumenberg <cblu@apple.com>
  9611. Fixed: <rdar://problem/3650140> reproducible assertion failure going to plugin page with JavaScript disabled
  9612. Reviewed by john.
  9613. * Plugins.subproj/WebBaseNetscapePluginView.m:
  9614. (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): don't call NPP_NewStream and other stream methods if there is no JS result to deliver. This is what Mozilla does.
  9615. (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Return NPERR_GENERIC_ERROR if JS is disabled. This is what Mozilla does.
  9616. === Safari-151 ===
  9617. 2004-07-07 Trey Matteson <trey@apple.com>
  9618. 3719051 - Safari doesn't update form inputs when a page was refreshed by javascript window.location
  9619. ... and at least 5 other cases in Radar
  9620. Very similar problem to the Harvard PIN bug. We need to be sure
  9621. to not carry any state over when we are processing a client
  9622. redirect, which reuses the same WebHistoryItem.
  9623. Reviewed by John.
  9624. * WebView.subproj/WebFrame.m:
  9625. (-[WebFrame _transitionToCommitted:]): Comment
  9626. (-[WebFrame _opened]): Clear form and scroll state on client redirect.
  9627. 2004-07-06 Chris Blumenberg <cblu@apple.com>
  9628. Fixed: <rdar://problem/3715785> multiple frame injection vulnerability reported by Secunia, affects almost all browsers
  9629. Reviewed by john, trey, kocienda.
  9630. * WebCoreSupport.subproj/WebBridge.m:
  9631. (-[WebBridge canTargetLoadInFrame:]): new method, return YES if the requesting frame is local, the target frame is an entire window or if the domain of the parent of the targeted frame equals this domain
  9632. (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): call canTargetLoadInFrame: to make sure we can load the request
  9633. (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): ditto
  9634. 2004-07-06 John Sullivan <sullivan@apple.com>
  9635. Reviewed by Trey.
  9636. - fixed <rdar://problem/3717147> folder icon used for error page in back/forward
  9637. menu when iTunes is not installed
  9638. * WebView.subproj/WebFrame.m:
  9639. (-[WebFrame _transitionToCommitted:]):
  9640. When displaying the error page for an unreachable URL, leave the requested URL
  9641. in the WebHistoryItem; don't clobber it with a bogus one that represents the
  9642. error page. This not only avoids the wrong-icon problem, but should also help
  9643. in cases where an unreachable URL becomes reachable later on.
  9644. 2004-07-06 Trey Matteson <trey@apple.com>
  9645. 3716053 - www.theage.com.au has extra back/forward items due to ads
  9646. The real change was in WebKit. Here was are just renaming a method and folding
  9647. all the WebFrameLoadTypeOnLoadEvent uses to be WebFrameLoadTypeInternal, since there
  9648. was never any difference anyway.
  9649. Reviewed by Richard
  9650. * WebCoreSupport.subproj/WebBridge.m:
  9651. (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): rename part of the method.
  9652. * WebView.subproj/WebFrame.m: Nuke WebFrameLoadTypeOnLoadEvent.
  9653. (-[WebFrame _transitionToCommitted:]):
  9654. (-[WebFrame _checkLoadCompleteForThisFrame]):
  9655. (-[WebFrame _loadItem:withLoadType:]):
  9656. (-[WebFrame _itemForRestoringDocState]):
  9657. * WebView.subproj/WebFramePrivate.h:
  9658. 2004-07-06 Ken Kocienda <kocienda@apple.com>
  9659. Reviewed by Trey
  9660. Only register the editing delegate for those notifications for which it implements the callbacks.
  9661. * WebView.subproj/WebView.m:
  9662. (-[WebView registerForEditingDelegateNotification:selector:]):
  9663. (-[WebView setEditingDelegate:]):
  9664. 2004-07-06 Trey Matteson <trey@apple.com>
  9665. 3294652 - Failed drag of links doesn't slide back
  9666. The only reason for this is that because of some hacks, we lie to
  9667. AK about the drag image offset, which means we slide back to
  9668. slightly the wrong place. But it's very minor, so we should
  9669. just fix it.
  9670. Reviewed by Ken.
  9671. * WebView.subproj/WebHTMLView.m:
  9672. (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
  9673. Ask for slideback.
  9674. 2004-07-02 Darin Adler <darin@apple.com>
  9675. Reviewed by Dave.
  9676. - fixed problem where tabsToLinks and privateBrowsingEnabled did not work with non-
  9677. standard WebPreferences objects
  9678. * WebView.subproj/WebPreferences.m:
  9679. (-[WebPreferences _valueForKey:]): New helper.
  9680. (-[WebPreferences _stringValueForKey:]): Use _valueForKey.
  9681. (-[WebPreferences _integerValueForKey:]): Use _valueForKey.
  9682. (-[WebPreferences _boolValueForKey:]): Use _valueForKey.
  9683. (-[WebPreferences tabsToLinks]): Use _boolValueForKey; this is the bug fix.
  9684. (-[WebPreferences privateBrowsingEnabled]): Ditto.
  9685. (+[WebPreferences _setIBCreatorID:]): Use copy instead of retain for keeping an NSString.
  9686. 2004-07-01 Trey Matteson <trey@apple.com>
  9687. 3556159 - Crashes in -[WebFrame(WebPrivate) _transitionToCommitted:] at www.mastercardbusiness.com
  9688. We know from the line number of the crash that it is due to [self parentFrame]==nil.
  9689. Looking at the HTML and that of the related bugs, they do special stuff with onload
  9690. handlers. It is no longer repro, presumably because the includes JS files changed,
  9691. as the bugs only included the top level HTML. I suspect that the problem is that the
  9692. WebFrameLoadTypeOnLoadEvent case was added, and in some weird sequence specific to
  9693. MasterCard, they hit a case where we would be in WebFrameLoadTypeOnLoadEvent mode but
  9694. not have a parent frame.
  9695. So we guard in the code against hitting a nil parentFrame, and log an error just in
  9696. case this ever crops up again and we can learn more about it.
  9697. Reviewed by Richard.
  9698. * WebView.subproj/WebFrame.m:
  9699. (-[WebFrame _transitionToCommitted:]): Guard against nil parentFrame.
  9700. 2004-07-01 John Sullivan <sullivan@apple.com>
  9701. Reviewed by Trey.
  9702. - fixed these bugs:
  9703. <rdar://problem/3709110> REGRESSION (Tiger): Pressing Tab key to move focus
  9704. onto links skips every other link
  9705. <rdar://problem/3692576> focus ring is in odd place after clicking RSS button
  9706. with "Tab to links" enabled
  9707. WebHTMLView has some trickery by which we advance the focused link when nextKeyView
  9708. or previousKeyView is called within nextValidKeyView or previousValidKeyView. This
  9709. broke in Tiger because AppKit now (sometimes at least) calls nextKeyView more than
  9710. once within nextValidKeyView. Fixed 3709110 by making sure we only advance the focus
  9711. once within a call to nextValidKeyView or previousValidKeyView.
  9712. Also, this same trickery didn't work right with hidden views. Fixed 3692576 by checking
  9713. whether the view is hidden and bypassing the focus-moving trickery in that case.
  9714. * WebView.subproj/WebHTMLViewInternal.h:
  9715. renamed inNextValidKeyView -> nextKeyViewAccessShouldMoveFocus
  9716. * WebView.subproj/WebHTMLView.m:
  9717. (-[WebHTMLView nextKeyView]):
  9718. now clears nextKeyViewAccessShouldMoveFocus
  9719. (-[WebHTMLView previousKeyView]):
  9720. ditto
  9721. (-[WebHTMLView nextValidKeyView]):
  9722. now doesn't set focus-moving trigger ivar if view is hidden or has hidden ancestor
  9723. (-[WebHTMLView previousValidKeyView]):
  9724. ditto
  9725. 2004-06-30 Trey Matteson <trey@apple.com>
  9726. Dragging within a web view should be allowed to start when the window isn't key.
  9727. A few months ago, Chris made this work, but it relied on the fact that all dragging
  9728. was done in WebKit. When WebCore got involved in dragging, it was broken. Now we
  9729. have a new scheme that gets it working again that properly involves WebCore.
  9730. The general idea is that when AK asks us whether to accept the first mouse and do
  9731. "delayed window ordering", we must consult WC to see if we might start a drag. In
  9732. addition, instead of these drags in non-active windows being started as a special
  9733. case in WK, they go through the normal WK-WC drag machinery. Finally to work in
  9734. frames we have to drill to the deepest hit view in acceptsFirstMouse, because previous
  9735. hacks to hitTest make the top-most WebHTMLView field all events for its view tree
  9736. (which leads to it fielding all acceptFirstMouse messages too).
  9737. Reviewed by John.
  9738. * WebCoreSupport.subproj/WebBridge.m:
  9739. (-[WebBridge mayStartDragAtEventLocation:]): Glue change for new arg type.
  9740. * WebView.subproj/WebHTMLView.m:
  9741. (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
  9742. firstMouseDownEvent ivar is no longer needed.
  9743. (-[WebHTMLView _mayStartDragAtEventLocation:]): Receives a location instead of a drag
  9744. event, since we need to do this work when we have no drag event. This means the
  9745. check of the delay for text dragging is moved down to WebCore.
  9746. (-[WebHTMLView acceptsFirstMouse:]): Respond based on whether we might do a drag.
  9747. This includes drilling to the deepest view the event hits, whereas we used to only
  9748. respond considering the topmost WebHTMLView.
  9749. (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): Ditto.
  9750. (-[WebHTMLView mouseDown:]): Get rid of special case where some activating
  9751. mouseDown events weren't sent to WC. We need to go through the whole pipeline
  9752. now to get a drag started properly.
  9753. (-[WebHTMLView mouseDragged:]): Ditto, let WC start the drag.
  9754. (-[WebHTMLView mouseUp:]): firstMouseDownEvent ivar is no longer needed.
  9755. * WebView.subproj/WebHTMLViewInternal.h:
  9756. * WebView.subproj/WebHTMLViewPrivate.h:
  9757. 2004-06-25 Trey Matteson <trey@apple.com>
  9758. Added new utility method.
  9759. Reviewed by John.
  9760. * WebView.subproj/WebFrame.m:
  9761. (-[WebFrame _isDescendantOfFrame:]): New code.
  9762. * WebView.subproj/WebFramePrivate.h:
  9763. 2004-06-24 Richard Williamson <rjw@apple.com>
  9764. Fixed <rdar://problem/3710313>: CGContext not zeroed when WebImageRenderer is copied
  9765. The context ivar of WebImageRenderer wasn't being nil when the object was copied.
  9766. Reviewed by Darin.
  9767. * WebCoreSupport.subproj/WebImageRenderer.m:
  9768. (-[WebImageRenderer copyWithZone:]):
  9769. (-[WebImageRenderer dealloc]):
  9770. (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
  9771. 2004-06-24 Trey Matteson <trey@apple.com>
  9772. 3672725 - Assertion failure in URLCompletion code with particular set of bookmarks
  9773. Problem was caused by a URL with unescaped unicodes getting into
  9774. the Bookmarks file, presumably from import from IE. We now test
  9775. for this case and convert the data on the way in as if it were
  9776. user-entered.
  9777. Reviewed by John and Darin.
  9778. * History.subproj/WebHistoryItem.m:
  9779. (-[WebHistoryItem initFromDictionaryRepresentation:]):
  9780. 2004-06-24 Trey Matteson <trey@apple.com>
  9781. 3704950 drag image in DB ConfigBar has horizontal graphics turd WebCore JavaScript
  9782. When we generate a drag image (or a selection image too, for that matter) we
  9783. translate the CTM using a CG call. Later, WebImageRenderer adjusts the pattern
  9784. phase based on the CTM of the focused view, which doesn't include our translate.
  9785. So we must inform WebKit about the additional phase adjustment.
  9786. Reviewed by Richard
  9787. * WebCoreSupport.subproj/WebGraphicsBridge.h:
  9788. * WebCoreSupport.subproj/WebGraphicsBridge.m:
  9789. (-[WebGraphicsBridge setAdditionalPatternPhase:]): New trivial setter.
  9790. (-[WebGraphicsBridge additionalPatternPhase]): ...and getter.
  9791. * WebCoreSupport.subproj/WebImageRenderer.m:
  9792. (-[WebImageRenderer tileInRect:fromPoint:context:]): Take any additional phase
  9793. adjustment into account when setting phase.
  9794. 2004-06-24 Trey Matteson <trey@apple.com>
  9795. 3693420 - onbeforecut and onbeforepaste need real implementaion
  9796. Reviewed by Chris.
  9797. * WebView.subproj/WebHTMLView.m:
  9798. (-[WebHTMLView validateUserInterfaceItem:]): Check with WebCore
  9799. to see if cut, copy, paste should be enabled.
  9800. 2004-06-24 John Sullivan <sullivan@apple.com>
  9801. Reviewed by Darin.
  9802. - fixed <rdar://problem/3706792> 8A161: Choosing text encoding for
  9803. error page opens finder window!?
  9804. * WebView.subproj/WebFrame.m:
  9805. (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
  9806. take unreachableURL into account
  9807. 2004-06-23 Richard Williamson <rjw@apple.com>
  9808. Implemented changes for latest npruntime.h.
  9809. Made npruntime.h public.
  9810. Reviewed by Chris.
  9811. * Plugins.subproj/WebBaseNetscapePluginView.h:
  9812. * Plugins.subproj/WebBaseNetscapePluginView.m:
  9813. (-[WebBaseNetscapePluginView pluginScriptableObject]):
  9814. (-[WebBaseNetscapePluginView forceRedraw]):
  9815. (-[WebBaseNetscapePluginView getVariable:value:]):
  9816. * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
  9817. * Plugins.subproj/WebNetscapePluginPackage.m:
  9818. (-[WebNetscapePluginPackage load]):
  9819. * Plugins.subproj/npapi.h:
  9820. * Plugins.subproj/npapi.m:
  9821. (NPN_GetValue):
  9822. * Plugins.subproj/npfunctions.h:
  9823. * Plugins.subproj/npruntime.h:
  9824. * WebKit.pbproj/project.pbxproj:
  9825. 2004-06-21 Darin Adler <darin@apple.com>
  9826. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  9827. 2004-06-21 Chris Blumenberg <cblu@apple.com>
  9828. Made WebKitErrorDescriptionPlugInCancelledConnection have its own description string
  9829. (Not for software update branch)
  9830. Reviewed by john.
  9831. * English.lproj/Localizable.strings:
  9832. * Misc.subproj/WebKitErrors.m:
  9833. 2004-06-21 Chris Blumenberg <cblu@apple.com>
  9834. Made WebKitErrorDescriptionPlugInCancelledConnection properly reuse an already localized string to avoid loc changes.
  9835. Reviewed by john.
  9836. * ChangeLog:
  9837. * Misc.subproj/WebKitErrors.m:
  9838. 2004-06-21 Chris Blumenberg <cblu@apple.com>
  9839. Fixed: <rdar://problem/3701269> change in error handling behavior from 10.3.3 to 10.3.4 breaks unreleased Adobe PDF plug-in
  9840. Reviewed by john.
  9841. * Misc.subproj/WebKitErrors.m:
  9842. (registerErrors): register string for WebKitErrorPlugInCancelledConnection
  9843. * Misc.subproj/WebKitErrorsPrivate.h:
  9844. * Plugins.subproj/WebBaseNetscapePluginStream.h:
  9845. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  9846. (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): use renamed WEB_REASON_PLUGIN_CANCELLED constant
  9847. (-[WebBaseNetscapePluginStream destroyStream]): ditto
  9848. * Plugins.subproj/WebNetscapePluginRepresentation.m:
  9849. (-[WebNetscapePluginRepresentation cancelWithReason:]): if the reason is WEB_REASON_PLUGIN_CANCELLED, cancel the load with WebKitErrorPlugInCancelledConnection
  9850. * Plugins.subproj/WebNetscapePluginStream.m:
  9851. (-[WebNetscapePluginStream cancelWithReason:]): ditto
  9852. === Safari-146 ===
  9853. 2004-06-17 Richard Williamson <rjw@apple.com>
  9854. Changed private headers to be pubic for npapi.h and npfunctions.h. That
  9855. API was approved but never marked as public in the project file. This change does
  9856. not make npruntime.h public, which contains the not yet approved changes
  9857. for script-ability of netscape plugins. Unfortunately, that API will not
  9858. be public for WWDC.
  9859. Reviewed by Chris.
  9860. * WebKit.pbproj/project.pbxproj:
  9861. 2004-06-17 Trey Matteson <trey@apple.com>
  9862. 3698514 - coordinates in ondragstart and ondrag events are wrong
  9863. This part fixes the ondrag coords. I thought Cocoa passed us the mouse location
  9864. in draggedImage:movedTo:, but no, it's the position of the dragged image.
  9865. WebCore needs the mouse location, so to calc that we must save away the
  9866. offset of the mouse relative to the image when we kick off the drag.
  9867. Reviewed by Maciej.
  9868. * Misc.subproj/WebNSViewExtras.h:
  9869. * Misc.subproj/WebNSViewExtras.m:
  9870. (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]): Add the ability
  9871. to return the offset of the cursor wrt to the drag image, since this routine
  9872. generates its own drag image and positions it.
  9873. * WebView.subproj/WebHTMLView.m:
  9874. (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
  9875. Calc the offset of the cursor wrt to the drag image in the myriad of ways
  9876. that we kick off the drag.
  9877. (-[WebHTMLView draggedImage:movedTo:]): Adjust the location by the
  9878. offset we save when we kicked off the drag.
  9879. (-[WebHTMLView draggedImage:endedAt:operation:]): Ditto.
  9880. * WebView.subproj/WebHTMLViewInternal.h:
  9881. * WebView.subproj/WebImageView.m:
  9882. (-[WebImageView mouseDragged:]): Pass nil for new arg, we don't care.
  9883. 2004-06-16 David Hyatt <hyatt@apple.com>
  9884. In order to support truncation in Emerson, enhance pointToOffset so that it needn't include partial
  9885. character glyphs (the left half of a glyph).
  9886. Reviewed by mjs
  9887. * WebCoreSupport.subproj/WebTextRenderer.m:
  9888. (-[WebTextRenderer pointToOffset:style:position:reversed:includePartialGlyphs:]):
  9889. (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
  9890. (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
  9891. === Safari-145 ===
  9892. 2004-06-16 Darin Adler <darin@apple.com>
  9893. - fixed <rdar://problem/3696081> REGRESSION: <WebKit/CarbonUtils.h> doesn't build any more
  9894. Reviewed by Trey.
  9895. * Carbon.subproj/CarbonUtils.h: Fixed include. Need to include <ApplicationServices/ApplicationServices.h>
  9896. to get CGImageRef; can't include an individual header.
  9897. 2004-06-15 Richard Williamson <rjw@apple.com>
  9898. Fixed <rdar://problem/3695875>: Objective-C instances that are exported to JavaScript are too promiscuous
  9899. Flip the policy for exposing Objective-C methods and properties.
  9900. Reviewed by Trey.
  9901. * Plugins.subproj/WebPluginPackage.m:
  9902. (+[NSObject isSelectorExcludedFromWebScript:]): Just return YES.
  9903. (+[NSObject isKeyExcludedFromWebScript:]): Just return YES.
  9904. 2004-06-15 Trey Matteson <trey@apple.com>
  9905. 3639321 - Harvard PIN authentication ends up sending PIN as clear text with POST action
  9906. When going back/forward to an item, if we went there originally via a POST,
  9907. we ask the user about rePOSTing, and if they say yes, we resend the POST.
  9908. This rePOST case is triggered by the form data that we saved on the b/f item.
  9909. In the case of this bug, the overall navigation was accomplished by a POST,
  9910. then a redirect, causing a GET. When a load of type redirect achieves the Committed
  9911. stage, we replace the current URL in the b/f item with the new URL (instead of
  9912. adding a new item to the b/f list).
  9913. The bug is that at the same time we should also update the form data in
  9914. the b/f item to match that of the new request. I think this will normally
  9915. mean nil'ing it out, unless there's some way for the result of the redirect
  9916. to be another POST.
  9917. The security leak occurred because we did not clear the form data on the item,
  9918. so when going back or forward to the page, we would go into the rePOSTing code,
  9919. even though we eventually reached that page via a GET (caused by the redirect).
  9920. So we would do a POST to the redirect URL containing the private data sent in
  9921. the original POST.
  9922. Reviewed by mjs and rjw.
  9923. * History.subproj/WebHistoryItem.m:
  9924. (-[WebHistoryItem _setFormInfoFromRequest:]): New method, just wraps 3 old set methods.
  9925. (-[WebHistoryItem formData]): Diff being dumb, no change.
  9926. (-[WebHistoryItem formContentType]): Ditto
  9927. (-[WebHistoryItem formReferrer]): Ditto
  9928. * History.subproj/WebHistoryItemPrivate.h:
  9929. * WebView.subproj/WebFrame.m:
  9930. (-[WebFrame _createItem:]): Call new WebHistoryItem method - no change in real behavior
  9931. (-[WebFrame _transitionToCommitted:]): Clear out the form data at the key time, to fix the bug.
  9932. 2004-06-15 Chris Blumenberg <cblu@apple.com>
  9933. Fixed: <rdar://problem/3695724> WebKit plug-ins should only have to implement plugInViewWithArguments:
  9934. Reviewed by rjw.
  9935. * ChangeLog:
  9936. * Plugins.subproj/WebPluginViewFactory.h: mention that plugInViewWithArguments is required
  9937. * WebView.subproj/WebFrame.m:
  9938. (-[WebFrame _reloadForPluginChanges]): check for plugInViewWithArguments: not webPlugInInitialize
  9939. * WebView.subproj/WebHTMLView.m:
  9940. (-[WebHTMLView addSubview:]): ditto
  9941. 2004-06-15 Trey Matteson <trey@apple.com>
  9942. 3695240 - pasting plain text with newlines in it turns them into spaces
  9943. Easy fix, we just need to consume the incoming data as text instead of markup.
  9944. Reviewed by John and Darin.
  9945. * WebView.subproj/WebHTMLView.m:
  9946. (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]):
  9947. 2004-06-15 Darin Adler <darin@apple.com>
  9948. - fixed crash introduced by my earlier change
  9949. * WebCoreSupport.subproj/WebImageRenderer.m:
  9950. (-[WebImageContext dealloc]): Set _cgsContext to 0 before calling super as before.
  9951. (-[WebImageContext finalize]): Ditto.
  9952. 2004-06-14 Darin Adler <darin@apple.com>
  9953. Reviewed by Maciej.
  9954. - fixed some things for GC that Patrick missed, or that happened after the branch
  9955. * Carbon.subproj/HIWebView.m:
  9956. (HIWebViewConstructor): Use CFRetain instead of retain.
  9957. (HIWebViewDestructor): Use CFRelease instead of release.
  9958. * Misc.subproj/WebFileDatabase.m:
  9959. (-[WebFileDatabase initWithPath:]): Use release instead of dealloc.
  9960. * WebCoreSupport.subproj/WebImageRenderer.m:
  9961. (-[WebImageContext finalize]): Had [super dealloc] here by mistake; change to [super finalize].
  9962. * WebCoreSupport.subproj/WebTextRenderer.m:
  9963. (-[WebTextRenderer finalize]): Added.
  9964. * WebView.subproj/WebDebugDOMNode.m:
  9965. (-[WebDebugDOMNode initWithWebFrameView:]): Use release instead of dealloc.
  9966. * WebView.subproj/WebRenderNode.m:
  9967. (-[WebRenderNode initWithWebFrameView:]): Use release instead of dealloc.
  9968. 2004-06-15 Trey Matteson <trey@apple.com>
  9969. Fix ASSERT/crash we get sometimes when dragging link images. Turns
  9970. out there was an uninitialized variable for the image size,
  9971. so at random we would try to create huge images that could not
  9972. be focused.
  9973. Reviewed by Maciej and Darin.
  9974. * WebView.subproj/WebHTMLView.m:
  9975. (-[WebHTMLView _dragImageForLinkElement:]): Trivial fix to
  9976. not use += with uninited variable.
  9977. 2004-06-14 Darin Adler <darin@apple.com>
  9978. Reviewed by me, code changes by Patrick Beard.
  9979. - fixed <rdar://problem/3671507>: (WebKit should adopt GC changes and compile with GC enabled)
  9980. * WebKit.pbproj/project.pbxproj: Added WebNSObjectExtras.h.
  9981. * Misc.subproj/WebNSObjectExtras.h: Added. Includes WebMakeCollectable, a cover for
  9982. CFMakeCollectable that returns type id, for less casting, and works on Panther as well
  9983. as Tiger. Also declares finalize in NSObject so we can call super without warnings on Panther.
  9984. * Carbon.subproj/CarbonWindowAdapter.m: Fixed header and includes a bit.
  9985. (-[CarbonWindowAdapter finalize]): Added.
  9986. * History.subproj/WebBackForwardList.m:
  9987. (-[WebBackForwardList dealloc]): Got count outside loop.
  9988. (-[WebBackForwardList finalize]): Added.
  9989. * History.subproj/WebHistoryItem.m:
  9990. (-[WebHistoryItem finalize]): Added.
  9991. * Misc.subproj/WebFileDatabase.m:
  9992. (-[WebFileDatabase _createLRUList:]): Use release on Panther, drain on Tiger.
  9993. (+[WebFileDatabase _syncLoop:]): Ditto.
  9994. (-[WebFileDatabase dealloc]): Removed, since we never deallocate objects of this class, and
  9995. the method was untested.
  9996. * Misc.subproj/WebKitErrors.m: (registerErrors): Use release on Panther, drain on Tiger.
  9997. * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Use
  9998. WebMakeCollectable. Also fixed indenting.
  9999. * Misc.subproj/WebNSURLExtras.m:
  10000. (+[NSURL _web_URLWithData:relativeToURL:]): Use WebMakeCollectable.
  10001. (-[NSURL _web_URLWithLowercasedScheme]): Use WebMakeCollectable.
  10002. (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Change code to use CFRelease
  10003. to balance CFURLCreateStringByReplacingPercentEscapes CFString creation, not release.
  10004. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  10005. (-[WebBaseNetscapePluginStream finalize]): Added.
  10006. * Plugins.subproj/WebBaseNetscapePluginView.m:
  10007. (-[WebBaseNetscapePluginView freeAttributeKeysAndValues]): Added. Shared code for dealloc and finalize.
  10008. (-[WebBaseNetscapePluginView dealloc]): Call freeAttributeKeysAndValues.
  10009. (-[WebBaseNetscapePluginView finalize]): Added.
  10010. (-[WebBaseNetscapePluginView requestWithURLCString:]): Changed so that CFString objects are
  10011. released with CFRelease, not release.
  10012. (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Fixed storage leak in
  10013. error case. Made sure CFString object is released with CFRelease, not release.
  10014. (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
  10015. Another CFString that needed to a CFRelease, not a release.
  10016. (-[WebBaseNetscapePluginView status:]): Ditto.
  10017. * Plugins.subproj/WebBasePluginPackage.m:
  10018. (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): Changed code to
  10019. CFRelease a CFURLRef, instead of release.
  10020. (-[WebBasePluginPackage finalize]): Added.
  10021. * WebCoreSupport.subproj/WebBridge.m:
  10022. (-[WebBridge fini]): Added. Shared code for dealloc and finalize.
  10023. (-[WebBridge dealloc]): Call fini.
  10024. (-[WebBridge finalize]): Added.
  10025. * WebCoreSupport.subproj/WebGlyphBuffer.m:
  10026. (-[WebGlyphBuffer finalize]): Added.
  10027. * WebCoreSupport.subproj/WebImageRenderer.m:
  10028. (-[WebImageContext initWithBounds:context:]): Use CGContextRetain to avoid cast.
  10029. (-[WebImageContext dealloc]): Tweaked.
  10030. (-[WebImageContext finalize]): Added.
  10031. (-[WebImageRenderer finalize]): Added.
  10032. (-[WebPDFDocument finalize]): Added.
  10033. * WebView.subproj/WebDataProtocol.m:
  10034. (+[NSURL _web_uniqueWebDataURL]): Changed so that CFString object is released with
  10035. CFRelease, not release.
  10036. * WebView.subproj/WebDataSource.m:
  10037. (-[WebDataSourcePrivate dealloc]): Took non-release work out of here.
  10038. (-[WebDataSource dealloc]): Moved it here.
  10039. (-[WebDataSource finalize]): Added.
  10040. (-[WebDataSource isLoading]): Use release on Panther, drain on Tiger.
  10041. * WebView.subproj/WebFrame.m:
  10042. (-[WebFramePrivate dealloc]): Took non-release work out of here.
  10043. (-[WebFrame dealloc]): Moved it here.
  10044. (-[WebFrame finalize]): Added.
  10045. * WebView.subproj/WebFrameView.m:
  10046. (-[WebFrameView finalize]): Added.
  10047. * WebView.subproj/WebHTMLRepresentation.m:
  10048. (-[WebHTMLRepresentation finalize]): Added.
  10049. * WebView.subproj/WebHTMLView.m:
  10050. (-[WebHTMLViewPrivate dealloc]): Moved non-release work out of here.
  10051. (-[WebHTMLView dealloc]): Moved it here.
  10052. (-[WebHTMLView finalize]): Added.
  10053. * WebView.subproj/WebImageView.m:
  10054. (-[WebImageView finalize]): Added.
  10055. * WebView.subproj/WebMainResourceClient.m:
  10056. (-[WebMainResourceClient finalize]): Added.
  10057. * WebView.subproj/WebTextView.m:
  10058. (-[WebTextView finalize]): Added.
  10059. * WebView.subproj/WebView.m:
  10060. (-[WebView finalize]): Added.
  10061. 2004-06-14 Ken Kocienda <kocienda@apple.com>
  10062. Reviewed by Darin
  10063. Fix for this bug:
  10064. <rdar://problem/3693202> WebView.h header unnecessarily lists NSResponder methods it overrides
  10065. * WebView.subproj/WebView.h: NSResponder overrides now gathered in a comment section.
  10066. 2004-06-13 Trey Matteson <trey@apple.com>
  10067. Support for DHTML cut/copy/paste.
  10068. Reviewed by Chris
  10069. * WebView.subproj/WebHTMLView.m:
  10070. (-[WebHTMLView copy:]): Give DHTML first crack at executing the command.
  10071. (-[WebHTMLView cut:]): Ditto
  10072. (-[WebHTMLView paste:]): Ditto
  10073. 2004-06-14 Chris Blumenberg <cblu@apple.com>
  10074. Fixed: <rdar://problem/3674456> make new drag & drop API compatible with DHTML dragging
  10075. Reviewed by trey.
  10076. * WebView.subproj/WebHTMLView.m:
  10077. (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): tweak
  10078. * WebView.subproj/WebUIDelegate.h: removed old, added new methods
  10079. * WebView.subproj/WebUIDelegatePrivate.h: moved new methods to public header
  10080. * WebView.subproj/WebView.h: removed old, added new methods
  10081. * WebView.subproj/WebView.m: moved methods around
  10082. (-[WebView moveDragCaretToPoint:]): moved
  10083. (-[WebView removeDragCaret]): moved
  10084. (-[WebView _bridgeAtPoint:]): moved
  10085. (-[WebView editableDOMRangeForPoint:]): moved
  10086. * WebView.subproj/WebViewInternal.h: add new internal method
  10087. * WebView.subproj/WebViewPrivate.h: moved new methods to public header
  10088. 2004-06-14 Trey Matteson <trey@apple.com>
  10089. Use a different hack, as recommended by Kristin, to force the drag
  10090. manager to exit a modal event wait it is in. The hack is required
  10091. to update the drag image on the fly. Instead of posting a CG
  10092. event we post at the AppKit level.
  10093. Reviewed by Louch
  10094. * WebCoreSupport.subproj/WebGraphicsBridge.m:
  10095. (-[WebGraphicsBridge setDraggingImage:at:]):
  10096. 2004-06-14 Chris Blumenberg <cblu@apple.com>
  10097. Fixed:
  10098. <rdar://problem/3692668> REGRESSION: delay when images and links
  10099. <rdar://problem/3692675> links should drag when dragging images that are links when drag source action is WebDragSourceActionLink
  10100. Reviewed by trey.
  10101. * WebView.subproj/WebHTMLView.m:
  10102. (-[WebHTMLView _mayStartDragWithMouseDragged:]): cleaned up, only use selection delay for selections, allow links to be dragged when image dragging is disabled
  10103. 2004-06-12 Trey Matteson <trey@apple.com>
  10104. Small rearrangement to support dynamic changing of the drag
  10105. image during DHTML dragging.
  10106. Reviewed by John
  10107. * WebCoreSupport.subproj/WebBridge.m: Bridge glue moved to WebGraphicsBridge.
  10108. * WebCoreSupport.subproj/WebGraphicsBridge.m:
  10109. (FlipImageSpec): Code moved from WebHTMLView.m.
  10110. (-[WebGraphicsBridge setDraggingImage:at:]): Ditto. Plus, we've added a gross
  10111. event posting hack to force CG drag manager to update the display when we set
  10112. the drag image.
  10113. * WebView.subproj/WebHTMLView.m: Code moved to WebGraphicsBridge.
  10114. * WebView.subproj/WebHTMLViewPrivate.h:
  10115. 2004-06-11 Chris Blumenberg <cblu@apple.com>
  10116. Implemented the remainder of the drag & drop API.
  10117. Reviewed by trey.
  10118. * Misc.subproj/WebNSPasteboardExtras.h:
  10119. * Misc.subproj/WebNSPasteboardExtras.m:
  10120. (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]): new
  10121. * Misc.subproj/WebNSViewExtras.h:
  10122. * Misc.subproj/WebNSViewExtras.m:
  10123. (-[NSView _web_dragImage:rect:event:pasteboard:source:]): simplified, this method now just creates a drag image and starts the drag
  10124. * WebCoreSupport.subproj/WebBridge.m:
  10125. (-[WebBridge allowDHTMLDrag:UADrag:]): now calls _delegateDragSourceActionMask on WebHTMLView to interact with the delegate
  10126. * WebView.subproj/WebDefaultUIDelegate.m:
  10127. * WebView.subproj/WebHTMLView.m:
  10128. (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): call new delegate method, cleaned-up a little
  10129. (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): call drag caret methods on WebView instead of WebBridge so WebView can make sure only 1 HTML view has a drag cursor
  10130. (-[WebHTMLView draggingCancelledWithDraggingInfo:]): ditto
  10131. (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto
  10132. (-[WebHTMLView _delegateDragSourceActionMask]): new, gets drag source action mask from delegate
  10133. * WebView.subproj/WebHTMLViewInternal.h:
  10134. * WebView.subproj/WebImageView.h:
  10135. * WebView.subproj/WebImageView.m:
  10136. (-[WebImageView mouseDown:]): get the drag source action mask from the delegate
  10137. (-[WebImageView mouseDragged:]): inform the delegate of the drag
  10138. * WebView.subproj/WebView.m:
  10139. (-[WebViewPrivate dealloc]): assert that dragCursorBridge is nil
  10140. (-[WebView _close]): release dragCursorBridge
  10141. (-[WebView _bridgeAtPoint:]): new
  10142. (-[WebView editableDOMRangeForPoint:]): new API
  10143. (-[WebView moveDragCaretToPoint:]): new API
  10144. (-[WebView removeDragCaret]): new API
  10145. (-[WebView _frameViewAtWindowPoint:]): moved so this can be called internally
  10146. * WebView.subproj/WebViewInternal.h:
  10147. * WebView.subproj/WebViewPrivate.h:
  10148. 2004-07-10 Trey Matteson <trey@apple.com>
  10149. Prep work for latest delegate API for dragging. In addition, I also straightened out all
  10150. the cases of DHTML setting a drag image or setting pasteboard data, and how that would
  10151. override WebKit's default behavior (which follows how WinIE does things).
  10152. Reviewed by Chris.
  10153. * Misc.subproj/WebNSViewExtras.h:
  10154. * Misc.subproj/WebNSViewExtras.m:
  10155. (-[NSView _web_dragImage:archive:rect:URL:title:event:dragImage:dragLocation:writePasteboard:]):
  10156. New args to allow WebCore override of dragImage and pasteboard data.
  10157. * WebCoreSupport.subproj/WebBridge.m:
  10158. (-[WebBridge allowDHTMLDrag:UADrag:]): New method to return the drag action info to WC.
  10159. (-[WebBridge startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
  10160. Pass along new args.
  10161. * WebView.subproj/WebHTMLView.m:
  10162. (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
  10163. Allow WebCore to override drag image and pasteboard data for any type of drag.
  10164. (-[WebHTMLView mouseDragged:]): Pass NO for new args.
  10165. * WebView.subproj/WebHTMLViewPrivate.h:
  10166. * WebView.subproj/WebImageView.m:
  10167. (-[WebImageView mouseDragged:]): Pass NO/nil for new args.
  10168. === Safari-144 ===
  10169. 2004-06-10 Kevin Decker <kdecker@apple.com>
  10170. Reviewed by John.
  10171. * WebView.subproj/WebResource.m:
  10172. (-[WebResource description]):
  10173. -added per request of cblu
  10174. (-[WebResource _response]):
  10175. -added this method to the header
  10176. (-[WebResource _stringValue]):
  10177. - gives the string value of the NSData representation
  10178. * WebView.subproj/WebResourcePrivate.h:
  10179. 2004-06-10 Darin Adler <darin@apple.com>
  10180. Reviewed by Ken.
  10181. * WebCoreSupport.subproj/WebBridge.m: Removed undo-related methods.
  10182. (-[WebBridge undoManager]): Added.
  10183. * WebKit.pbproj/.cvsignore: Updated for new Xcode files.
  10184. 2004-06-09 Ken Kocienda <kocienda@apple.com>
  10185. Reviewed by Darin
  10186. Fix for this bug:
  10187. <rdar://problem/3672088>: "Editable WebViews should maintain a selection even when they're not firstResponder"
  10188. Add some code to determine whether a WebHTMLView should maintain an
  10189. inactive selection when the view is not first responder. Traditionally,
  10190. these views have not maintained such selections, clearing them when the
  10191. view was not first responder. However, for appls embedding this view as
  10192. an editing widget, it is desirable to act more like an NSTextView. For
  10193. now, however, the view only acts in this way when the web view is set to
  10194. be editable with -[WebView setEditable:YES]. This will maintain
  10195. traditional behavior for WebKit clients dating back to before this
  10196. change, and will likely be a decent switch for the long term, since
  10197. clients to ste the web view to be editable probably want it to act like
  10198. a "regular" Cocoa view in terms of its selection behavior.
  10199. * WebView.subproj/WebHTMLView.m:
  10200. (-[WebHTMLView updateTextBackgroundColor]): Add code to tell whether the view is resigning first responder,
  10201. and if it is, use the inactive text background color.
  10202. (-[WebHTMLView maintainsInactiveSelection]): New helper which does checks to see if the new selection
  10203. behavior should be used, or whether we should continue with traditional WebKit behavior.
  10204. (-[WebHTMLView resignFirstResponder]): Call new maintainsInactiveSelection helper. If true,
  10205. do not clear the selection.
  10206. * WebView.subproj/WebHTMLViewInternal.h: Add resigningFirstResponder flag.
  10207. 2004-06-09 Chris Blumenberg <cblu@apple.com>
  10208. Implemented drag destination portion of the new drag & drop API.
  10209. Reviewed by trey.
  10210. * WebView.subproj/WebDefaultUIDelegate.m:
  10211. (-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]): new delegate implementation
  10212. (-[WebDefaultUIDelegate webView:willPerformDragDestinationAction:forDraggingInfo:]): ditto
  10213. * WebView.subproj/WebDocumentInternal.h:
  10214. * WebView.subproj/WebHTMLView.m:
  10215. (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): handle the action mask
  10216. (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto
  10217. * WebView.subproj/WebUIDelegate.h:
  10218. * WebView.subproj/WebUIDelegatePrivate.h:
  10219. * WebView.subproj/WebView.m:
  10220. (-[WebView _dragOperationForDraggingInfo:]): call new delegate methods
  10221. (-[WebView performDragOperation:]): ditto
  10222. * WebView.subproj/WebViewInternal.h:
  10223. * WebView.subproj/WebViewPrivate.h:
  10224. 2004-06-09 Richard Williamson <rjw@apple.com>
  10225. Implemented PDF rendering for the drawImage() function
  10226. in Context2D. This allows PDF files to be drawn in scaled
  10227. or rotated context without rasterization artifacts.
  10228. The PDF image is currently NOT cached. Caching can/will be added
  10229. as an optimization. The hooks are already in place to flush
  10230. the cache as necessary.
  10231. Reviewed by John.
  10232. * WebCoreSupport.subproj/WebImageRenderer.h:
  10233. * WebCoreSupport.subproj/WebImageRenderer.m:
  10234. (-[WebImageRenderer dealloc]):
  10235. (-[WebImageRenderer _needsRasterFlush]):
  10236. (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
  10237. (-[WebImageRenderer _PDFDocumentRef]):
  10238. (-[WebImageRenderer _PDFDraw]):
  10239. (-[WebImageRenderer _PDFDrawFromRect:toRect:operation:alpha:flipped:]):
  10240. (-[WebImageRenderer MIMEType]):
  10241. (ReleasePDFDocumentData):
  10242. (-[WebPDFDocument initWithData:]):
  10243. (-[WebPDFDocument dealloc]):
  10244. (-[WebPDFDocument documentRef]):
  10245. (-[WebPDFDocument mediaBox]):
  10246. (-[WebPDFDocument bounds]):
  10247. (-[WebPDFDocument adjustCTM:]):
  10248. (-[WebPDFDocument setCurrentPage:]):
  10249. (-[WebPDFDocument currentPage]):
  10250. (-[WebPDFDocument pageCount]):
  10251. Added back check for old plugin API.
  10252. * WebView.subproj/WebFrame.m:
  10253. (-[WebFrame _reloadForPluginChanges]):
  10254. * WebView.subproj/WebHTMLView.m:
  10255. (-[WebHTMLView addSubview:]):
  10256. * WebCoreSupport.subproj/WebBridge.m:
  10257. (-[WebBridge frameRequiredForMIMEType:URL:]):
  10258. 2004-06-08 Trey Matteson <trey@apple.com>
  10259. In DHTML dragging there is no notion of registering for types, so we'd
  10260. like to just pass all types down to WebCore. It turns out that the per-type
  10261. registration doesn't matter as far as the underlying drag service is
  10262. concerned, so Cocoa is already getting called for any type. We just hack and
  10263. override a private method to ensure we accept any type.
  10264. Reviewed by Chris.
  10265. * WebView.subproj/WebView.m:
  10266. (-[WebView _hitTest:dragTypes:]): We accept any drag type if it is within
  10267. our view, without overriding a subview's decision.
  10268. 2004-06-08 Trey Matteson <trey@apple.com>
  10269. A DHTML drag source can now change the dragging image during the drag. Currently
  10270. it may only be set to a static image.
  10271. Reviewed by John
  10272. * WebCoreSupport.subproj/WebBridge.m:
  10273. (-[WebBridge setDraggingImage:at:]): Typical bridge glue.
  10274. * WebView.subproj/WebHTMLView.m:
  10275. (FlipImageSpec): New utility, copied from AppKit.
  10276. (-[WebHTMLView _setDraggingImage:at:]): Mostly copied from AppKit. Sets the drag
  10277. image using CG API.
  10278. * WebView.subproj/WebHTMLViewPrivate.h:
  10279. 2004-06-08 Chris Blumenberg <cblu@apple.com>
  10280. Fixed: <rdar://problem/3640423>: (REGRESSION: can't paste text copied from web page into Excel (due to HTML on the pasteboard?))
  10281. Reviewed by darin.
  10282. * WebView.subproj/WebHTMLView.m:
  10283. (+[WebHTMLView _selectionPasteboardTypes]): don't include NSHTMLPboardType
  10284. (-[WebHTMLView _selectedArchive]): removed markup string parameter
  10285. (_selectionPasteboardTypes::if): don't put NSHTMLPboardType on the pasteboard
  10286. * WebView.subproj/WebHTMLViewPrivate.h:
  10287. 2004-06-07 Darin Adler <darin@apple.com>
  10288. Reviewed by Chris.
  10289. - fixed <rdar://problem/3676761>: (REGRESSION: Text Bigger/Smaller commands are always disabled in TOT)
  10290. * WebView.subproj/WebHTMLView.m: Add @interface declaration for WebTextSizing category
  10291. on WebHTMLView. This must have gotten lost somewhere along the way.
  10292. 2004-06-05 Trey Matteson <trey@apple.com>
  10293. WebKit no longer causes an endless stream of dragexit events to
  10294. occur at the DHTML level when hovering over an element that is
  10295. not accepting the drag.
  10296. Reviewed by Chris
  10297. * WebView.subproj/WebView.m:
  10298. (-[WebView _dragOperationForDraggingInfo:]): If the potential target refuses
  10299. the item, don't turn around and immediately tell it to cancel the drag, which is
  10300. what leads to the exit event happening at the DOM level. If the target just
  10301. refused the drag, it should not have anything it needs to cancel.
  10302. 2004-06-03 Trey Matteson <trey@apple.com>
  10303. DHTML dragging uses the Cocoa NSDragOperation on both the source and dest ends.
  10304. Most of the real work is in WebCore.
  10305. Reviewed by rjw
  10306. * WebCoreSupport.subproj/WebBridge.m:
  10307. (-[WebBridge startDraggingImage:at:operation:event:]): Pass the drag op along.
  10308. * WebView.subproj/WebHTMLView.m:
  10309. (-[WebHTMLView _startDraggingImage:at:operation:event:]): Remember drag op from WC.
  10310. (-[WebHTMLView mouseDragged:]): Pass None for the op (alternate code path that will
  10311. be going away).
  10312. (-[WebHTMLView draggingSourceOperationMaskForLocal:]): Use the WC drag op.
  10313. * WebView.subproj/WebHTMLViewInternal.h:
  10314. * WebView.subproj/WebHTMLViewPrivate.h:
  10315. === Safari-143 ===
  10316. 2004-06-04 Chris Blumenberg <cblu@apple.com>
  10317. Fixed: <rdar://problem/3674921>: (can't drag an image from Desktop to Blot document)
  10318. Reviewed by mjs.
  10319. * WebView.subproj/WebDataSource.m:
  10320. (-[WebDataSource _imageElementWithImageResource:]): factored out from _documentFragmentWithImageResource:
  10321. (-[WebDataSource _documentFragmentWithImageResource:]): call _imageElementWithImageResource:
  10322. * WebView.subproj/WebDataSourcePrivate.h:
  10323. * WebView.subproj/WebHTMLView.m:
  10324. (-[WebHTMLView _imageExistsAtPaths:]): new
  10325. (-[WebHTMLView _documentFragmentWithPaths:]): new
  10326. (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): handle NSFilenamesPboardType
  10327. (+[WebHTMLView _insertablePasteboardTypes]): include NSFilenamesPboardType
  10328. (-[WebHTMLView _canProcessDragWithDraggingInfo:]): check for NSFilenamesPboardType and check that the files are images
  10329. 2004-06-04 Richard Williamson <rjw@apple.com>
  10330. Fixed crasher from last checkin.
  10331. Reviewed by Ken.
  10332. * Plugins.subproj/WebPluginDatabase.m:
  10333. (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
  10334. (pluginLocations):
  10335. 2004-06-03 Richard Williamson <rjw@apple.com>
  10336. Add SPI to allow setting of plugin load path.
  10337. Reviewed by Hyatt.
  10338. * Plugins.subproj/WebPluginDatabase.h:
  10339. * Plugins.subproj/WebPluginDatabase.m:
  10340. (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
  10341. (pluginLocations):
  10342. 2004-06-03 Darin Adler <darin@apple.com>
  10343. Reviewed by Chris.
  10344. - fixed <rdar://problem/3677038>: (Need SPI to get URL of favicon for a site)
  10345. * Misc.subproj/WebIconDatabase.h: Add iconURLForURL: method.
  10346. * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase iconURLForURL:]): Added.
  10347. 2004-06-02 Ken Kocienda <kocienda@apple.com>
  10348. Reviewed by John
  10349. Fix for these bugs:
  10350. <rdar://problem/3675806>: "Make API name change for -webViewShouldBeginEditing:inDOMRange:"
  10351. <rdar://problem/3675809>: "Make API name change for -webViewShouldEndEditing:inDOMRange:"
  10352. New names are -webView:shouldBeginEditingInDOMRange: and -webView:shouldEndEditingInDOMRange:,
  10353. respectively.
  10354. * WebView.subproj/WebDefaultEditingDelegate.m:
  10355. (-[WebDefaultEditingDelegate webView:shouldBeginEditingInDOMRange:]):
  10356. (-[WebDefaultEditingDelegate webView:shouldEndEditingInDOMRange:]):
  10357. * WebView.subproj/WebEditingDelegate.h:
  10358. * WebView.subproj/WebView.m:
  10359. (-[WebView _shouldBeginEditingInDOMRange:]):
  10360. (-[WebView _shouldEndEditingInDOMRange:]):
  10361. 2004-06-02 Richard Williamson <rjw@apple.com>
  10362. conformsToProtocol:@protocol(WebPlugin) becomes
  10363. respondsToSelector:@selector(webPlugInInitialize) because
  10364. protocol was changed to an informal protocol.
  10365. Reviewed by Kevin.
  10366. * WebCoreSupport.subproj/WebBridge.m:
  10367. (-[WebBridge frameRequiredForMIMEType:URL:]):
  10368. * WebView.subproj/WebHTMLView.m:
  10369. (-[WebHTMLView addSubview:]):
  10370. 2004-06-01 Trey Matteson <trey@apple.com>
  10371. First cut at source side of DHTML dragging. Most of the work is in WebCore.
  10372. Reviewed by hyatt.
  10373. * WebCoreSupport.subproj/WebBridge.m:
  10374. (-[WebBridge startDraggingImage:at:event:]): Added image and loc args for
  10375. when WC tells WK to start a drag.
  10376. * WebView.subproj/WebHTMLView.m:
  10377. (-[WebHTMLView _startDraggingImage:at:event:]): New image and loc args coming
  10378. from WebCore. Hysteresis is moved to WC.
  10379. (-[WebHTMLView mouseDragged:]): Call new _startDragging method.
  10380. (-[WebHTMLView draggedImage:movedTo:]): Pass event to WC.
  10381. (-[WebHTMLView draggedImage:endedAt:operation:]): Pass event to WC.
  10382. (-[WebHTMLView mouseUp:]): Reset firstMouseDownEvent. Fixes bug where
  10383. we would occasionally short-circuit WC event handling due to aliasing
  10384. problem with this event.
  10385. * WebView.subproj/WebHTMLViewPrivate.h:
  10386. 2004-06-02 Darin Adler <darin@apple.com>
  10387. Reviewed by John.
  10388. - fixed problem with timing of delegate callbacks in the back/forward cache case
  10389. * WebView.subproj/WebFrame.m:
  10390. (-[WebFrame _transitionToCommitted:]): Move code to indicate page is done loading in the
  10391. back/forward cache case from here ...
  10392. (-[WebFrame _opened]): ... to here.
  10393. 2004-06-01 Richard Williamson <rjw@apple.com>
  10394. Fixed deployment build warning.
  10395. * WebCoreSupport.subproj/WebImageRenderer.m:
  10396. (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
  10397. 2004-06-01 Richard Williamson <rjw@apple.com>
  10398. Added support for drawImage and drawImageFromRect to <CANVAS>
  10399. Added support for composite attribute to <CANVAS>
  10400. Reviewed by Trey.
  10401. * WebCoreSupport.subproj/WebImageRenderer.h:
  10402. * WebCoreSupport.subproj/WebImageRenderer.m:
  10403. (-[WebImageContext initWithBounds:context:]):
  10404. (-[WebImageContext dealloc]):
  10405. (-[WebImageContext saveGraphicsState]):
  10406. (-[WebImageContext restoreGraphicsState]):
  10407. (-[WebImageContext isDrawingToScreen]):
  10408. (-[WebImageContext focusStack]):
  10409. (-[WebImageContext setFocusStack:]):
  10410. (-[WebImageContext bounds]):
  10411. (-[WebImageContext isFlipped]):
  10412. (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
  10413. (-[WebImageRenderer dealloc]):
  10414. (-[WebImageRenderer _beginRedirectContext:]):
  10415. (-[WebImageRenderer _endRedirectContext:]):
  10416. (-[WebImageRenderer _needsRasterFlush]):
  10417. (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
  10418. (-[WebImageRenderer drawImageInRect:fromRect:]):
  10419. (-[WebImageRenderer flushRasterCache]):
  10420. (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
  10421. (-[WebImageRenderer tileInRect:fromPoint:context:]):
  10422. * WebCoreSupport.subproj/WebImageRendererFactory.m:
  10423. (-[WebImageRendererFactory imageRendererWithMIMEType:]):
  10424. (-[WebImageRendererFactory imageRendererWithName:]):
  10425. (-[WebImageRendererFactory CGCompositeOperationInContext:]):
  10426. (-[WebImageRendererFactory setCGCompositeOperation:inContext:]):
  10427. (-[WebImageRendererFactory setCGCompositeOperationFromString:inContext:]):
  10428. 2004-06-01 John Sullivan <sullivan@apple.com>
  10429. Reviewed by Trey.
  10430. Work on text-align API. Marked these bugs fixed:
  10431. <rdar://problem/3655380>: (Editing: -alignCenter: method unimplemented (WebKit editing API))
  10432. <rdar://problem/3655381>: (Editing: -alignJustified: method unimplemented (WebKit editing API))
  10433. <rdar://problem/3655383>: (Editing: -alignLeft: method unimplemented (WebKit editing API))
  10434. <rdar://problem/3655384>: (Editing: -alignRight: method unimplemented (WebKit editing API))
  10435. in favor of opening this bug:
  10436. <rdar://problem/3675191>: (Editing: -alignLeft: and friends mostly implemented but not
  10437. yet working (WebKit editing API))
  10438. * English.lproj/StringsNotToBeLocalized.txt:
  10439. updated for these changes
  10440. * WebView.subproj/WebHTMLView.m:
  10441. (-[WebHTMLView changeDocumentBackgroundColor:]):
  10442. added a FIXME about why this is still not quite right
  10443. (-[WebHTMLView _alignSelectionUsingCSSValue:]):
  10444. new method, bottleneck for the various values
  10445. (-[WebHTMLView alignCenter:]):
  10446. call _alignSelectionUsingCSSValue:@"center"
  10447. (-[WebHTMLView alignJustified:]):
  10448. call _alignSelectionUsingCSSValue:@"justify"
  10449. (-[WebHTMLView alignLeft:]):
  10450. call _alignSelectionUsingCSSValue:@"left"
  10451. (-[WebHTMLView alignRight:]):
  10452. call _alignSelectionUsingCSSValue:@"right"
  10453. 2004-06-01 John Sullivan <sullivan@apple.com>
  10454. Reviewed by Ken.
  10455. - fixed <rdar://problem/3655378>: (Editing: -changeDocumentBackgroundColor: 
  10456. method unimplemented (WebKit editing API))
  10457. - made startSpeaking: actually work; previous implementation raised a DOMException
  10458. * WebView.subproj/WebHTMLView.m:
  10459. (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
  10460. added range parameter
  10461. (-[WebHTMLView _entireDOMRange]):
  10462. new convenience method
  10463. (-[WebHTMLView changeDocumentBackgroundColor:]):
  10464. now affects entire document, not just selected range, a la NSTextView
  10465. (-[WebHTMLView changeColor:]):
  10466. now passes in a range to _changeCSSColorUsingSelector:inRange:
  10467. (-[WebHTMLView startSpeaking:]):
  10468. now uses _entireDOMRange
  10469. 2004-06-01 Chris Blumenberg <cblu@apple.com>
  10470. Fixed: <rdar://problem/3661505>: (REGRESSION (Safari-140) can't drag standalone images more than once)
  10471. Reviewed by john.
  10472. * WebView.subproj/WebImageView.m:
  10473. (-[WebImageView mouseDown:]): set ignoringMouseDraggedEvents to NO. This line of code was deleted somehow.
  10474. 2004-06-01 John Sullivan <sullivan@apple.com>
  10475. Reviewed by Darin.
  10476. - fixed <rdar://problem/3657003>: (HTML Editing: Color panel doesn't work)
  10477. * WebView.subproj/WebHTMLView.m:
  10478. (-[WebHTMLView _colorPanelColorAsStyleUsingSelector:]):
  10479. new method, returns a DOMCSSStyleDeclaration *
  10480. (-[WebHTMLView _changeCSSColorUsingSelector:]):
  10481. new method, sets a color-related style attribute on the selection
  10482. (-[WebHTMLView changeDocumentBackgroundColor:]):
  10483. call _changeCSSColorUsingSelector: with @selector(setBackgroundColor:)
  10484. (-[WebHTMLView changeColor:]):
  10485. call _changeCSSColorUsingSelector: with @selector(setColor:); also added
  10486. comments explaining why changeDocumentBackgroundColor: will never actually
  10487. be called until an AppKit code-incest mess is straighted out.
  10488. 2004-06-01 Ken Kocienda <kocienda@apple.com>
  10489. Reviewed by Darin
  10490. * WebView.subproj/WebHTMLView.m:
  10491. (-[WebHTMLView _fontManagerOperationAsStyle]): Fixed typo in family-name code that caused
  10492. family names to match when they should not.
  10493. 2004-06-01 Chris Blumenberg <cblu@apple.com>
  10494. Made paste and drop ask the delegate before making any replacements.
  10495. Reviewed by kocienda.
  10496. * WebView.subproj/WebHTMLView.m:
  10497. (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): renamed, now calls _shouldInsertFragment:replacingDOMRange:givenAction:
  10498. (-[WebHTMLView _shouldInsertFragment:replacingDOMRange:givenAction:]): new, asks delegate
  10499. (-[WebHTMLView concludeDragForDraggingInfo:]): now calls _shouldInsertFragment:replacingDOMRange:givenAction:
  10500. (-[WebHTMLView paste:]): call renamed _pasteWithPasteboard:allowPlainText:
  10501. (-[WebHTMLView pasteAsRichText:]): ditto
  10502. 2004-05-28 Darin Adler <darin@apple.com>
  10503. Reviewed by Maciej.
  10504. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _fontManagerOperationAsStyle]):
  10505. First cut at figuring out what operation the font manager is doing without
  10506. digging into its private data structures.
  10507. 2004-05-28 Darin Adler <darin@apple.com>
  10508. Reviewed by Ken.
  10509. - various editing-related improvements
  10510. - fixed <rdar://problem/3655366>: (Editing: -selectParagraph: method unimplemented (WebKit editing API))
  10511. - fixed <rdar://problem/3655367>: (Editing: -selectLine: method unimplemented (WebKit editing API))
  10512. - fixed <rdar://problem/3655369>: (Editing: -selectWord: method unimplemented (WebKit editing API))
  10513. - fixed <rdar://problem/3655392>: (Editing: -uppercaseWord: method unimplemented (WebKit editing API))
  10514. - fixed <rdar://problem/3655393>: (Editing: -lowercaseWord: method unimplemented (WebKit editing API))
  10515. - fixed <rdar://problem/3655394>: (Editing: -capitalizeWord: method unimplemented (WebKit editing API))
  10516. * WebView.subproj/WebHTMLView.m:
  10517. (-[WebHTMLView _alterCurrentSelection:direction:granularity:]): Removed the call to
  10518. ensureCaretVisible. This is now handled on the other side of the bridge.
  10519. (-[WebHTMLView moveDown:]): Changed to use WebSelectByLine granularity instead of
  10520. WebSelectDown direction.
  10521. (-[WebHTMLView moveDownAndModifySelection:]): Ditto.
  10522. (-[WebHTMLView moveUp:]): Ditto.
  10523. (-[WebHTMLView moveUpAndModifySelection:]): Ditto.
  10524. (-[WebHTMLView _expandSelectionToGranularity:]): Added.
  10525. (-[WebHTMLView selectParagraph:]): Implemented by calling _expandSelectionToGranularity.
  10526. (-[WebHTMLView selectLine:]): Ditto.
  10527. (-[WebHTMLView selectWord:]): Ditto.
  10528. (-[WebHTMLView _fontManagerOperationAsStyle]): Added. Placeholder for the job of figuring
  10529. out what style change to make based on NSFontManager.
  10530. (-[WebHTMLView changeFont:]): Implemented, but not really tested because guts are still
  10531. missing due to lack of above method.
  10532. (-[WebHTMLView insertTab:]): Removed the call to ensureCaretVisible.
  10533. (-[WebHTMLView insertNewline:]): Removed the call to ensureCaretVisible.
  10534. (-[WebHTMLView insertParagraphSeparator:]): Made this insert a newline for now.
  10535. (-[WebHTMLView _changeWordCaseWithSelector:]): Added.
  10536. (-[WebHTMLView uppercaseWord:]): Implemented by calling _changeWordCaseWithSelector.
  10537. (-[WebHTMLView lowercaseWord:]): Ditto.
  10538. (-[WebHTMLView capitalizeWord:]): Ditto.
  10539. (-[WebHTMLView deleteBackward:]): Removed the call to ensureCaretVisible.
  10540. (-[WebHTMLView checkSpelling:]): Put a pile of AppKit code in here as a placeholder.
  10541. (-[WebHTMLView startSpeaking:]): Use the new stringForRange: method instead of outerText.
  10542. That way we can handle cases where the entire document is selected.
  10543. (-[WebHTMLView insertText:]): Removed the call to ensureCaretVisible.
  10544. 2004-05-28 Chris Blumenberg <cblu@apple.com>
  10545. Fixed: <rdar://problem/3672129>: (selection deselects when clicking editable WebView in background window)
  10546. Fixed this problem by using NSTextView's approach of only allowing dragging on first mouse down.
  10547. Reviewed by john.
  10548. * WebView.subproj/WebHTMLView.m:
  10549. (-[WebHTMLView acceptsFirstMouse:]): store the first mouse down
  10550. (-[WebHTMLView mouseDown:]): Don't tell WebCore about the first mouse down event since only dragging can occur on the first mouse down.
  10551. (-[WebHTMLView mouseDragged:]): Don't tell WebCore about the drags that occur after the first mouse down since only dragging can occur after the first mouse down.
  10552. * WebView.subproj/WebHTMLViewInternal.h:
  10553. 2004-05-28 Darin Adler <darin@apple.com>
  10554. * WebView.subproj/WebView.m: At Ken's suggestion, for better efficiency and safety,
  10555. use _cmd rather than explicit selector names in the forwarding methods.
  10556. 2004-05-28 Darin Adler <darin@apple.com>
  10557. Reviewed by Ken.
  10558. - implemented a few more editing operations, moved code from WebView to WebHTMLView
  10559. * WebCoreSupport.subproj/WebBridge.m:
  10560. (-[WebBridge respondToChangedContents]): Call _updateFontPanel on the WebHTMLView, not the WebView.
  10561. (-[WebBridge respondToChangedSelection]): Ditto.
  10562. * WebView.subproj/WebHTMLView.m: Moved WebElementOrTextFilter class here from WebView and
  10563. gave it a prefix so it won't conflict with developers' class names.
  10564. (-[WebHTMLView _updateFontPanel]): Moved here from WebView.
  10565. * WebView.subproj/WebView.m:
  10566. (-[WebView toggleSmartInsertDelete:]): Added.
  10567. (-[WebView toggleContinuousSpellChecking:]): Added.
  10568. (-[WebView isContinuousGrammarCheckingEnabled]): Added.
  10569. (-[WebView setContinuousGrammarCheckingEnabled:]): Added.
  10570. (-[WebView toggleContinuousGrammarChecking:]): Added.
  10571. (-[WebView setSmartInsertDeleteEnabled:]): Implemented. We have the flag now, although we
  10572. still don't actually have smart insert and delete implemented.
  10573. (-[WebView smartInsertDeleteEnabled]): Ditto.
  10574. (-[WebView setContinuousSpellCheckingEnabled:]): Implemented.
  10575. (-[WebView isContinuousSpellCheckingEnabled]): Implemented.
  10576. (-[WebView spellCheckerDocumentTag]): Implemented.
  10577. (-[WebView _preflightSpellCheckerNow:]): Added.
  10578. (-[WebView _preflightSpellChecker]): Added.
  10579. (-[WebView _continuousCheckingAllowed]): Added.
  10580. * WebView.subproj/WebHTMLViewInternal.h: Added. We'll things here from WebHTMLViewPrivate so
  10581. they are internal to the framework, rather than SPI.
  10582. * WebKit.pbproj/project.pbxproj: Added WebHTMLViewInternal.h.
  10583. * WebView.subproj/WebHTMLViewPrivate.h: Moved WebHTMLViewPrivate into the internal header.
  10584. Despite its name, it's internal, not SPI.
  10585. * WebView.subproj/WebViewPrivate.h: Moved WebViewPrivate into the internal header.
  10586. Despite its name, it's internal, not SPI. Added a number of new operations which should
  10587. be public API. We'll have to figure out what to do about API review and the WWDC deadline.
  10588. * WebView.subproj/WebViewInternal.h: Removed _updateFontPanel method.
  10589. * English.lproj/StringsNotToBeLocalized.txt: Update.
  10590. 2004-05-27 Ken Kocienda <kocienda@apple.com>
  10591. Reviewed by John
  10592. The font panel now updates correctly, reflecting the current selection. There may
  10593. still be some bugs and corner cases to handle, but this will work for a general
  10594. implementation of the feature.
  10595. * WebView.subproj/WebView.m:
  10596. (+[ElementOrTextFilter filter]): Added. This filter will accept DOM elements and
  10597. text nodes and skip everything else. This filter is used when walking a selection
  10598. to determine the fonts in use.
  10599. (-[ElementOrTextFilter acceptNode:]): DOM node filter implementation method.
  10600. (-[WebView _fontFromStyle]): Removed, in lieu of new fontForCurrentPosition call on the bridge.
  10601. (-[WebView _updateFontPanel]): Reworked to use a TreeWalker instead of a NodeIterator. This
  10602. was done since the iterator must be rooted at the document root, but start iterating
  10603. at the start of the selection. TreeWalker's setCurrentNode allows this to be done.
  10604. 2004-05-27 Kevin Decker <kdecker@apple.com>
  10605. * Plugins.subproj/WebScriptObject.h:
  10606. 2004-05-27 Kevin Decker <kdecker@apple.com>
  10607. Reviewed by Ken.
  10608. - error messages (eg. from JavaScriptCore) sent to the bridge now
  10609. get delievered to a new delegate method.
  10610. * WebCoreSupport.subproj/WebBridge.m:
  10611. (-[WebBridge addMessageToConsole:]):
  10612. * WebKit.pbproj/project.pbxproj:
  10613. * WebView.subproj/WebUIDelegatePrivate.h:
  10614. === Safari-142 ===
  10615. 2004-05-27 Trey Matteson <trey@apple.com>
  10616. First cut at DHTML dragging, destination side. Dragging text, files and URLs onto
  10617. elements works. Type conversion from NSPasteboard to MIME types is hardwired.
  10618. No JS access yet to modifier keys, or operations mask.
  10619. Reviewed by Chris.
  10620. * WebView.subproj/WebHTMLView.m:
  10621. (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): Call DHTML dragging via bridge.
  10622. (-[WebHTMLView draggingCancelledWithDraggingInfo:]): Ditto.
  10623. (-[WebHTMLView concludeDragForDraggingInfo:]): Ditto.
  10624. * WebView.subproj/WebHTMLViewPrivate.h:
  10625. * WebView.subproj/WebView.m:
  10626. (-[WebView _setWebKitDragRespondsToDragging:]): New SPI for finer grained control than the
  10627. delegate currently has.
  10628. (-[WebView _webKitDragRespondsToDragging]): Ditto.
  10629. (-[WebView _commonInitializationWithFrameName:groupName:]): Init new flag.
  10630. (-[WebView _dragOperationForDraggingInfo:]): Comment.
  10631. * WebView.subproj/WebViewPrivate.h:
  10632. 2004-05-27 Darin Adler <darin@apple.com>
  10633. * WebView.subproj/WebFrameView.m: (-[WebFrameView _scrollVerticallyBy:]): Added comment.
  10634. 2004-05-27 Darin Adler <darin@apple.com>
  10635. Reviewed by Maciej.
  10636. - fixed <rdar://problem/3667948>: (REGRESSION: Page Down key goes down two pages when smooth scrolling is on)
  10637. * WebView.subproj/WebFrameView.m:
  10638. (-[WebFrameView _scrollVerticallyBy:]): Added return value to indicate if any scrolling was done.
  10639. This requires using secret AppKit methods; the public methods don't have a return value.
  10640. (-[WebFrameView _pageVertically:]): Added return value to indicate if any scrolling was done.
  10641. (-[WebFrameView scrollPageUp:]): Base call through to next responder on whether any scrolling was done,
  10642. using return value, rather than looking at new scroll position. This was the cause of the bug,
  10643. since with smooth scrolling no scrolling has happened yet when the function returns.
  10644. (-[WebFrameView scrollPageDown:]): Ditto.
  10645. - removed temporary DOMDocument method from WebView
  10646. * WebView.subproj/WebView.m:
  10647. (-[WebView computedStyleForElement:pseudoElement:]): Call getComputedStyle on the document that owns the
  10648. element rather than on the document that currently contains the selection.
  10649. (-[WebView _updateFontPanel]): Get the document from the DOM range rather than using the DOMDocument method.
  10650. (-[WebView styleDeclarationWithText:]): Change this method to not use the DOMDocument method, but do the same
  10651. job with inline code.
  10652. * WebView.subproj/WebViewPrivate.h: Moved a recently-added category that is not SPI out of here.
  10653. * WebView.subproj/WebViewInternal.h: Moved the category in here. And removed the DOMDocument method from it.
  10654. - other changes
  10655. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  10656. * copy-webcore-files-to-webkit: Change tabs to spaces. Quiet the script down by
  10657. making it no longer echo each command or print messages about what it's doing by default.
  10658. 2004-05-27 Darin Adler <darin@apple.com>
  10659. Reviewed by Maciej.
  10660. - moved to new symlink technique for embedding frameworks
  10661. * WebKit.pbproj/project.pbxproj: Get rid of embed-frameworks build step
  10662. because we don't need it any more.
  10663. 2004-05-27 Darin Adler <darin@apple.com>
  10664. - fixed Deployment build
  10665. * WebView.subproj/WebView.m: (-[WebView concludeDragOperation:]):
  10666. Got rid of ASSERT-only local variable.
  10667. 2004-05-26 Maciej Stachowiak <mjs@apple.com>
  10668. Reviewed by Dave.
  10669. - fix further problems with Emerson feed: redirection for RSS feeds
  10670. This is done by removing removing the calls to defer callbacks
  10671. while waiting for [... Maciej stopped typing here ...]
  10672. * WebView.subproj/WebMainResourceClient.m:
  10673. (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]):
  10674. (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
  10675. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  10676. (-[WebMainResourceClient checkContentPolicyForResponse:]):
  10677. 2004-05-26 Chris Blumenberg <cblu@apple.com>
  10678. Added and implemented proposed dragging API changes. These changes are necessary to make JS dragging work properly.
  10679. Reviewed by trey.
  10680. * WebView.subproj/WebDefaultUIDelegate.m:
  10681. (-[WebDefaultUIDelegate webView:shouldDetermineDragOperationForDraggingInfo:dragOperation:]): instead of calling back to the WebView to get the default drag operation, return YES. Return NO in order to return a custom drag operation. Removed element parameter since another new API provides a way to get that.
  10682. (-[WebDefaultUIDelegate webView:shouldProcessDragWithDraggingInfo:]): Removed element parameter since another new API provides a way to get that.
  10683. * WebView.subproj/WebDocumentInternal.h:
  10684. * WebView.subproj/WebHTMLView.m:
  10685. (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): now returns a drag operation
  10686. (-[WebHTMLView draggingCancelledWithDraggingInfo:]): moved
  10687. * WebView.subproj/WebUIDelegatePrivate.h:
  10688. * WebView.subproj/WebView.m:
  10689. (-[WebView elementAtPoint:]): new proposed API
  10690. (-[WebView dragOperationForDraggingInfo:]): removed code from this API that should be removed
  10691. (-[WebView _dragOperationForDraggingInfo:]): call new API
  10692. (-[WebView concludeDragOperation:]): call new API
  10693. 2004-05-26 Darin Adler <darin@apple.com>
  10694. Reviewed by John.
  10695. - moved HTML editing operations from WebView to WebHTMLView, leaving only forwarding machinery
  10696. at the WebView level
  10697. - fixed <rdar://problem/3655412>: (Editing: -startSpeaking: method unimplemented (WebKit editing API))
  10698. - fixed <rdar://problem/3655414>: (Editing: -stopSpeaking: method unimplemented (WebKit editing API))
  10699. - fixed <rdar://problem/3655375>: (Editing: -pasteAsRichText: method unimplemented (WebKit editing API))
  10700. * WebView.subproj/WebView.h: Added missing declaration of selectionAffinity. I think this
  10701. omission was an editorial mistake.
  10702. * WebView.subproj/WebView.m:
  10703. (-[WebView searchFor:direction:caseSensitive:wrap:]): Use _frameForCurrentSelection directly,
  10704. since it no longer returns nil.
  10705. (-[WebView pasteboardTypesForSelection]): Use _frameForCurrentSelection instead of going through the bridge.
  10706. (-[WebView _frameForCurrentSelection]): Renamed from _currentFrame and changed to return main frame
  10707. rather than nil when called on WebView that has no current selection.
  10708. (-[WebView _bridgeForCurrentSelection]): Moved in file.
  10709. (-[WebView _updateFontPanel]): Removed the one call to _currentSelectionIsEditable here, since
  10710. it was the only one left in this file. Eventually this code will move to WebHTMLView.
  10711. (-[WebView _performResponderOperation:with:]): Name change.
  10712. * WebView.subproj/WebDataSource.m: (-[WebDataSource _documentFragmentWithImageResource:]):
  10713. Build document fragment using DOM instead of composing HTML text.
  10714. * WebView.subproj/WebHTMLView.m:
  10715. (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): Added allowPlainText boolean,
  10716. moved method into new location in file so it can be in the right category, changed link pasting
  10717. to use DOM instead of composing HTML text.
  10718. (-[WebHTMLView _replaceSelectionWithPasteboard:selectReplacement:allowPlainText:]): Added allowPlainText
  10719. boolean, moved method into new location in file so it can be in the right category.
  10720. (-[WebHTMLView concludeDragForDraggingInfo:]): Pass YES for allowPlainText.
  10721. (-[WebHTMLView keyDown:]): Set keyDownEvent field for use by workaround below.
  10722. (-[WebHTMLView centerSelectionInVisibleArea:]): Moved here from WebView.
  10723. (-[WebHTMLView _alterCurrentSelection:direction:granularity:]): Ditto.
  10724. (-[WebHTMLView moveBackward:]): Ditto.
  10725. (-[WebHTMLView moveBackwardAndModifySelection:]): Ditto.
  10726. (-[WebHTMLView moveDown:]): Ditto.
  10727. (-[WebHTMLView moveDownAndModifySelection:]): Ditto.
  10728. (-[WebHTMLView moveForward:]): Ditto.
  10729. (-[WebHTMLView moveForwardAndModifySelection:]): Ditto.
  10730. (-[WebHTMLView moveLeft:]): Ditto.
  10731. (-[WebHTMLView moveLeftAndModifySelection:]): Ditto.
  10732. (-[WebHTMLView moveRight:]): Ditto.
  10733. (-[WebHTMLView moveRightAndModifySelection:]): Ditto.
  10734. (-[WebHTMLView moveToBeginningOfDocument:]): Ditto.
  10735. (-[WebHTMLView moveToBeginningOfLine:]): Ditto.
  10736. (-[WebHTMLView moveToBeginningOfParagraph:]): Ditto.
  10737. (-[WebHTMLView moveToEndOfDocument:]): Ditto.
  10738. (-[WebHTMLView moveToEndOfLine:]): Ditto.
  10739. (-[WebHTMLView moveToEndOfParagraph:]): Ditto.
  10740. (-[WebHTMLView moveUp:]): Ditto.
  10741. (-[WebHTMLView moveUpAndModifySelection:]): Ditto.
  10742. (-[WebHTMLView moveWordBackward:]): Ditto.
  10743. (-[WebHTMLView moveWordBackwardAndModifySelection:]): Ditto.
  10744. (-[WebHTMLView moveWordForward:]): Ditto.
  10745. (-[WebHTMLView moveWordForwardAndModifySelection:]): Ditto.
  10746. (-[WebHTMLView moveWordLeft:]): Ditto.
  10747. (-[WebHTMLView moveWordLeftAndModifySelection:]): Ditto.
  10748. (-[WebHTMLView moveWordRight:]): Ditto.
  10749. (-[WebHTMLView moveWordRightAndModifySelection:]): Ditto.
  10750. (-[WebHTMLView pageDown:]): Ditto.
  10751. (-[WebHTMLView pageUp:]): Ditto.
  10752. (-[WebHTMLView selectParagraph:]): Ditto.
  10753. (-[WebHTMLView selectLine:]): Ditto.
  10754. (-[WebHTMLView selectWord:]): Ditto.
  10755. (-[WebHTMLView copy:]): Moved down in file so it's in the right category.
  10756. (-[WebHTMLView cut:]): Ditto.
  10757. (-[WebHTMLView delete:]): Ditto.
  10758. (-[WebHTMLView paste:]): Ditto.
  10759. (-[WebHTMLView copyFont:]): Moved here from WebView.
  10760. (-[WebHTMLView pasteFont:]): Ditto.
  10761. (-[WebHTMLView pasteAsPlainText:]): Ditto.
  10762. (-[WebHTMLView pasteAsRichText:]): Implemented this by calling the paste code with
  10763. allowPlainText:NO; believe it or not, that's what this means in NSTextView.
  10764. (-[WebHTMLView changeFont:]): Moved here from WebView.
  10765. (-[WebHTMLView changeAttributes:]): Ditto.
  10766. (-[WebHTMLView changeDocumentBackgroundColor:]): Ditto.
  10767. (-[WebHTMLView changeColor:]): Ditto.
  10768. (-[WebHTMLView alignCenter:]): Ditto.
  10769. (-[WebHTMLView alignJustified:]): Ditto.
  10770. (-[WebHTMLView alignLeft:]): Ditto.
  10771. (-[WebHTMLView alignRight:]): Ditto.
  10772. (-[WebHTMLView indent:]): Ditto.
  10773. (-[WebHTMLView insertTab:]): Moved here from WebView, also call insertText rather than
  10774. replaceSelectionWithText so it's undoable like a typed character.
  10775. (-[WebHTMLView insertBacktab:]): Moved here from WebView.
  10776. (-[WebHTMLView insertNewline:]): Moved here from WebView, also call insertText rather than
  10777. replaceSelectionWithText so it's undoable like a typed character.
  10778. (-[WebHTMLView insertParagraphSeparator:]): Moved here from WebView.
  10779. (-[WebHTMLView changeCaseOfLetter:]): Ditto.
  10780. (-[WebHTMLView uppercaseWord:]): Ditto.
  10781. (-[WebHTMLView lowercaseWord:]): Ditto.
  10782. (-[WebHTMLView capitalizeWord:]): Ditto.
  10783. (-[WebHTMLView deleteForward:]): Ditto.
  10784. (-[WebHTMLView deleteBackward:]): Ditto.
  10785. (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Ditto.
  10786. (-[WebHTMLView deleteWordForward:]): Ditto.
  10787. (-[WebHTMLView deleteWordBackward:]): Ditto.
  10788. (-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
  10789. (-[WebHTMLView deleteToEndOfLine:]): Ditto.
  10790. (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
  10791. (-[WebHTMLView deleteToEndOfParagraph:]): Ditto.
  10792. (-[WebHTMLView complete:]): Ditto.
  10793. (-[WebHTMLView checkSpelling:]): Ditto.
  10794. (-[WebHTMLView showGuessPanel:]): Ditto.
  10795. (-[WebHTMLView performFindPanelAction:]): Ditto.
  10796. (-[WebHTMLView startSpeaking:]): Implemented this.
  10797. (-[WebHTMLView stopSpeaking:]): Implemented this.
  10798. (-[WebHTMLView insertText:]): Moved here from WebView.
  10799. * WebView.subproj/WebHTMLViewPrivate.h: Removed declarations of methods that are neither
  10800. SPI nor needed outside WebHTMLView.m.
  10801. * WebView.subproj/WebViewInternal.h: Removed _currentFrame, and added _frameForCurrentSelection and
  10802. _bridgeForCurrentSelection.
  10803. 2004-05-25 Maciej Stachowiak <mjs@apple.com>
  10804. Reviewed by Richard.
  10805. <rdar://problem/3652498>: new sniffing support is crashing
  10806. * WebView.subproj/WebMainResourceClient.m:
  10807. (-[WebMainResourceClient checkContentPolicyForResponse:]): Retain
  10808. listener around call, in case delegate does something that ends up
  10809. invalidating it, like navigating to a new URL.
  10810. 2004-05-25 Chris Blumenberg <cblu@apple.com>
  10811. Fixed regression where undoing typing would undo character-by-character.
  10812. Reviewed by kocienda.
  10813. * WebView.subproj/WebView.m:
  10814. (-[WebView insertText:]): call insertText: rather than replaceSelectionWithText:: since text insertion via insertText: is coalesced and this is the behavior we want here
  10815. 2004-05-25 Ken Kocienda <kocienda@apple.com>
  10816. Reviewed by John
  10817. Change postDidChangeSelectionNotification and postDidChangeNotification tp
  10818. respondToChangedSelection and respondToChangedContents, respectively, to
  10819. account for the fact that we do work in these calls other than post a
  10820. notification. The need to clear the typing style on both kinds of changes
  10821. inspired the name change.
  10822. Add in support to set and access typing style. We don't do anything with it yet
  10823. except store and return it. Using the typing style is still to come.
  10824. * WebCoreSupport.subproj/WebBridge.m:
  10825. (-[WebBridge respondToChangedContents]): Change name of functions as described.
  10826. (-[WebBridge respondToChangedSelection]): Change name of functions as described.
  10827. * WebView.subproj/WebView.m:
  10828. (-[WebView dealloc:]): Dealloc typing style ivar.
  10829. (-[WebView setTypingStyle:]): Change to set typing style ivar.
  10830. (-[WebView typingStyle]): Return new typing style ivar.
  10831. * WebView.subproj/WebViewPrivate.h: Add ivar for typing style.
  10832. 2004-05-25 Ken Kocienda <kocienda@apple.com>
  10833. Reviewed by John
  10834. Improve _bridgeForCurrentSelection so that it is frame-savvy.
  10835. Fixup setSelectedDOMRange:affinity: so that it uses the right bridge.
  10836. * WebView.subproj/WebView.m:
  10837. (-[WebView _bridgeForCurrentSelection]): Use _currentFrame not mainFrame.
  10838. (-[WebView _currentFrame]): Moved to WebView (WebInternal) category so _bridgeForCurrentSelection can use it.
  10839. (-[WebView setSelectedDOMRange:affinity:]): Derive the bridge to use from the range passed in; _bridgeForCurrentSelection
  10840. is not the right way to get at the document for the range.
  10841. * WebView.subproj/WebViewInternal.h: Add _currentFrame declaration.
  10842. 2004-05-24 Darin Adler <darin@apple.com>
  10843. Reviewed by Ken.
  10844. - fixed <rdar://problem/3666022>: (REGRESSION: crash from infinite regress in -[WebFrameView(WebPrivate) scrollPageDown:])
  10845. * WebView.subproj/WebView.m:
  10846. (-[WebView _performResponderOperation:sender:]): Helper method that knows how to pass on operations
  10847. to the responder chain, allowing us to implement operations that will get passed to views inside
  10848. us as necessary. Moved a few methods to this, and soon will move even more.
  10849. (-[WebView scrollLineDown:]): Use the above method.
  10850. (-[WebView scrollLineUp:]): Ditto.
  10851. (-[WebView scrollPageDown:]): Ditto.
  10852. (-[WebView scrollPageUp:]): Ditto.
  10853. (-[WebView copy:]): Ditto.
  10854. (-[WebView cut:]): Ditto.
  10855. (-[WebView paste:]): Ditto.
  10856. (-[WebView delete:]): Ditto.
  10857. (-[WebView insertBacktab:]): Ditto.
  10858. 2004-05-24 Chris Blumenberg <cblu@apple.com>
  10859. Improved editing via drag
  10860. Reviewed by kocienda.
  10861. * WebView.subproj/WebDataSource.m:
  10862. (-[WebDataSource _documentFragmentWithImageResource:]): made this method return a fragment instead of replace the selection so that the caller do other things with the fragment
  10863. (-[WebDataSource _documentFragmentWithArchive:]): ditto
  10864. (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): call renamed methods
  10865. * WebView.subproj/WebDataSourcePrivate.h:
  10866. * WebView.subproj/WebDocumentInternal.h:
  10867. * WebView.subproj/WebHTMLView.m:
  10868. (-[WebHTMLView _documentFragmentFromPasteboard:]): made this method return a fragment instead of replace the selection so that the caller do other things with the fragment
  10869. (-[WebHTMLView _replaceSelectionWithPasteboard:selectReplacement:]): new
  10870. (-[WebHTMLView paste:]): call _replaceSelectionWithPasteboard:selectReplacement:
  10871. (-[WebHTMLView dragOperationForDraggingInfo:]): handle the case where the destination is editable, but the source is not
  10872. (-[WebHTMLView draggingCancelledWithDraggingInfo:]): new, removes drag caret
  10873. (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): remove drag caret when we can't handle the drag
  10874. (-[WebHTMLView concludeDragForDraggingInfo:]): instead of calling paste, move the selection when doing a move and replace the drag caret when doing a copy
  10875. * WebView.subproj/WebHTMLViewPrivate.h:
  10876. * WebView.subproj/WebView.m:
  10877. (-[WebViewPrivate dealloc]):
  10878. (-[WebView _setDraggingDocumentView:]): new
  10879. (-[WebView _dragOperationForDraggingInfo:]): if the current dragging document view changes, tell the previous dragging document view that dragging cancelled
  10880. (-[WebView draggingExited:]): new, tell the previous dragging document view that dragging cancelled
  10881. (-[WebView concludeDragOperation:]): release the dragging document view
  10882. (-[WebView replaceSelectionWithNode:]): pass the selectReplacement BOOL to the bridge
  10883. (-[WebView replaceSelectionWithText:]): ditto
  10884. (-[WebView replaceSelectionWithMarkupString:]): ditto
  10885. (-[WebView replaceSelectionWithArchive:]): ditto
  10886. (-[WebView pasteAsPlainText:]): ditto
  10887. (-[WebView insertTab:]): ditto
  10888. (-[WebView insertText:]): ditto
  10889. * WebView.subproj/WebViewPrivate.h:
  10890. 2004-05-24 John Sullivan <sullivan@apple.com>
  10891. Reviewed by Dave.
  10892. - added private RSSFeedReferrer field to WebHistoryItem so RSS feeds in the
  10893. back/forward list can remember what page (if any) they were initiated from.
  10894. * History.subproj/WebHistoryItem.m:
  10895. new RSSFeedReferrer ivar in private structure
  10896. (-[WebHistoryItemPrivate dealloc]):
  10897. release RSSFeedReferrer
  10898. (-[WebHistoryItem copyWithZone:]):
  10899. copy RSSFeedReferrer
  10900. (-[WebHistoryItem RSSFeedReferrer]):
  10901. return RSSFeedReferrer
  10902. (-[WebHistoryItem setRSSFeedReferrer:]):
  10903. set RSSFeedReferrer
  10904. * History.subproj/WebHistoryItemPrivate.h:
  10905. declare -RSSFeedReferrer and -setRSSFeedReferrer:
  10906. 2004-05-22 Darin Adler <darin@apple.com>
  10907. Reviewed by Ken.
  10908. - implemented some of the trivial WebView editing operations; some had bug reports, to wit:
  10909. - fixed <rdar://problem/3655342>: (Editing: -centerSelectionInVisibleArea: method unimplemented (WebKit editing API))
  10910. - fixed <rdar://problem/3655398>: (Editing: -deleteWordBackward: method unimplemented (WebKit editing API))
  10911. - fixed <rdar://problem/3655397>: (Editing: -deleteWordForward: method unimplemented (WebKit editing API))
  10912. - fixed <rdar://problem/3655387>: (Editing: -insertBacktab: method unimplemented (WebKit editing API))
  10913. - fixed <rdar://problem/3655386>: (Editing: -insertTab: method unimplemented (WebKit editing API))
  10914. - fixed <rdar://problem/3655351>: (Editing: -moveWordBackward: method unimplemented (WebKit editing API))
  10915. - fixed <rdar://problem/3655352>: (Editing: -moveWordBackwardAndModifySelection: method unimplemented (WebKit editing API))
  10916. - fixed <rdar://problem/3655353>: (Editing: -moveWordForward: method unimplemented (WebKit editing API))
  10917. - fixed <rdar://problem/3655354>: (Editing: -moveWordForwardAndModifySelection: method unimplemented (WebKit editing API))
  10918. - fixed <rdar://problem/3655374>: (Editing: -pasteAsPlainText: method unimplemented (WebKit editing API))
  10919. - fixed <rdar://problem/3655362>: (Editing: -scrollLineDown: method unimplemented (WebKit editing API))
  10920. - fixed <rdar://problem/3655363>: (Editing: -scrollLineUp: method unimplemented (WebKit editing API))
  10921. * WebView.subproj/WebView.m:
  10922. (-[WebView centerSelectionInVisibleArea:]): Implemented. The implementation isn't perfect, but it's hooked
  10923. up. It simply calls ensureCaretVisible for now.
  10924. (-[WebView moveBackward:]): Implemented. The WebCore API already has a way to specify backward as opposed
  10925. to left. A separate issue is the fact that these operations don't have bi-di-savvy implementations, but
  10926. now this method is hooked up and will work at least for left-to-right text.
  10927. (-[WebView moveBackwardAndModifySelection:]): Ditto.
  10928. (-[WebView moveForward:]): Ditto.
  10929. (-[WebView moveForwardAndModifySelection:]): Ditto.
  10930. (-[WebView moveWordBackward:]): Ditto.
  10931. (-[WebView moveWordBackwardAndModifySelection:]): Ditto.
  10932. (-[WebView moveWordForward:]): Ditto.
  10933. (-[WebView moveWordForwardAndModifySelection:]): Ditto.
  10934. (-[WebView scrollLineDown:]): Forward to WebFrameView.
  10935. (-[WebView scrollLineUp:]): Ditto.
  10936. (-[WebView scrollPageDown:]): Ditto.
  10937. (-[WebView scrollPageUp:]): Ditto.
  10938. (-[WebView delete:]): Implemented. Follows pattern used in cut, copy, and paste.
  10939. (-[WebView pasteAsPlainText:]): Implemented. Calls delegate, then replaceSelectionWithText: on the bridge.
  10940. (-[WebView insertTab:]): Implemented. Calls delegate, then replaceSelectionWithText: on the bridge.
  10941. (-[WebView insertBacktab:]): Implemented. Does nothing. If we ever change so that you can use a WebView as
  10942. a field editor, then we might have to add code here.
  10943. (-[WebView deleteWordForward:]): Implement by calling moveForwardAndModifySelection: and then delete:.
  10944. Might not be a perfect implementation in the presence of delegates who refuse to delete because it will
  10945. change the selection even if the delete is disallowed.
  10946. (-[WebView deleteWordBackward:]): Implement by calling moveBackwardAndModifySelection: and then delete:.
  10947. Same issue about about delegates as deleteWordForward:.
  10948. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteFromPasteboard:]): Added a FIXME.
  10949. * DOM.subproj/DOMViews.h: Updated from recent change to WebCore.
  10950. 2004-05-21 Richard Williamson <rjw@apple.com>
  10951. Removed _bindObject:forFrame: SPI.
  10952. Reviewed by Chris.
  10953. * WebView.subproj/WebView.m:
  10954. * WebView.subproj/WebViewPrivate.h:
  10955. === Safari-141 ===
  10956. 2004-05-21 Darin Adler <darin@apple.com>
  10957. Reviewed by Ken and Chris.
  10958. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteFromPasteboard:]): Call replaceSelectionWithText:
  10959. instead of replaceSelectionWithMarkupString: when pasting plain text.
  10960. * WebView.subproj/WebDataSource.m: (-[WebDataSource _replaceSelectionWithMarkupString:baseURL:]):
  10961. Remove bogus check for empty markup. There's nothing wrong with an empty string, and no reason
  10962. that replacing with empty string should be a no-op instead of a delete.
  10963. 2004-05-20 Darin Adler <darin@apple.com>
  10964. Reviewed by Chris.
  10965. - fixed <rdar://problem/3662383>: (REGRESSION: drag slide-back sometimes causes link to load)
  10966. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge handleMouseDragged:]):
  10967. Added BOOL result to handleMouseDragged:.
  10968. * WebView.subproj/WebHTMLViewPrivate.h: Added BOOL result to _handleMouseDragged:.
  10969. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): Added BOOL result,
  10970. returning YES when the drag started, and no when the hysteresis has not yet been overcome.
  10971. 2004-05-20 Ken Kocienda <kocienda@apple.com>
  10972. Reviewed by Hyatt
  10973. Provide the methods to glue the WebView's editing delegate so that these methods work:
  10974. <rdar://problem/3655316>: "Editing: -webViewShouldBeginEditing:inDOMRange: method unimplemented (WebKit editing API)"
  10975. <rdar://problem/3655317>: "Editing: -webViewShouldEndEditing:inDOMRange: method unimplemented (WebKit editing API)"
  10976. * WebCoreSupport.subproj/WebBridge.m:
  10977. (-[WebBridge shouldBeginEditing:]): New method used to glue delegate to focus shifts.
  10978. (-[WebBridge shouldEndEditing:]): Ditto.
  10979. * WebView.subproj/WebView.m:
  10980. (-[WebView _shouldBeginEditingInDOMRange:]): Ditto.
  10981. (-[WebView _shouldEndEditingInDOMRange:]): Ditto.
  10982. * WebView.subproj/WebViewPrivate.h: Ditto.
  10983. 2004-05-20 Richard Williamson <rjw@apple.com>
  10984. Fixed typo in header comment.
  10985. Reviewed by Ken.
  10986. * Plugins.subproj/WebScriptObject.h:
  10987. 2004-05-19 Chris Blumenberg <cblu@apple.com>
  10988. Fixed: <rdar://problem/3462627>: (API: Need a way to disable/customize dragging)
  10989. Reviewed by john.
  10990. * Misc.subproj/WebNSPasteboardExtras.m:
  10991. (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): fixed bug that caused exception
  10992. * WebView.subproj/WebDefaultUIDelegate.m:
  10993. (-[WebDefaultUIDelegate webView:shouldBeginDragForElement:dragImage:mouseDownEvent:mouseDraggedEvent:]): new, returns YES
  10994. (-[WebDefaultUIDelegate webView:dragOperationForDraggingInfo:overElement:]): new, returns [WebView dragOperationForDraggingInfo:]
  10995. (-[WebDefaultUIDelegate webView:shouldProcessDragWithDraggingInfo:overElement:]): new, returns YES
  10996. * WebView.subproj/WebDocumentInternal.h: added WebDocumentDragging and WebDocumentElement for document dragging
  10997. * WebView.subproj/WebDocumentPrivate.h: moved WebDocumentSelection to WebDocumentInternal.h
  10998. * WebView.subproj/WebFrame.m:
  10999. (-[WebFrame _actionInformationForNavigationType:event:originalURL:]):
  11000. * WebView.subproj/WebHTMLView.h:
  11001. * WebView.subproj/WebHTMLView.m:
  11002. (+[WebHTMLView _insertablePasteboardTypes]): new
  11003. (-[WebHTMLView _handleMouseDragged:]): call shouldBeginDragForElement:::: delegate API
  11004. (-[WebHTMLView _mayStartDragWithMouseDragged:]): call renamed elementAtPoint SPI
  11005. (-[WebHTMLView initWithFrame:]): don't register for drag types since this is handled at the WebView
  11006. (-[WebHTMLView menuForEvent:]): call renamed elementAtPoint SPI
  11007. (-[WebHTMLView _isSelectionEvent:]): call renamed elementAtPoint SPI
  11008. (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): rather than unregistering drag types on the WebView, just tell it that we're dragging
  11009. (-[WebHTMLView draggedImage:endedAt:operation:]): ditto
  11010. (-[WebHTMLView _canProcessDragWithDraggingInfo:]): new
  11011. (-[WebHTMLView dragOperationForDraggingInfo:]): new WebDocumentDragging SPI
  11012. (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): ditto
  11013. (-[WebHTMLView concludeDragForDraggingInfo:]): ditto
  11014. (-[WebHTMLView elementAtPoint:]): renamed from _elementAtPoint since this is part of the WebDocumentElement SPI
  11015. * WebView.subproj/WebHTMLViewPrivate.h:
  11016. * WebView.subproj/WebImageView.h:
  11017. * WebView.subproj/WebImageView.m:
  11018. (-[WebImageView elementAtPoint:]): new
  11019. (-[WebImageView menuForEvent:]): call elementAtPoint
  11020. (-[WebImageView mouseDragged:]): rather than unregistering drag types on the WebView, just tell it that we're dragging
  11021. (-[WebImageView draggedImage:endedAt:operation:]): ditto
  11022. * WebView.subproj/WebTextView.h:
  11023. * WebView.subproj/WebTextView.m:
  11024. (-[WebTextView _elementAtWindowPoint:]): new
  11025. (-[WebTextView elementAtPoint:]): new
  11026. (-[WebTextView menuForEvent:]): call _elementAtWindowPoint
  11027. * WebView.subproj/WebView.h:
  11028. * WebView.subproj/WebView.m:
  11029. (-[WebViewPrivate dealloc]): removed draggedTypes ivar
  11030. (+[WebView URLFromPasteboard:]): implemented
  11031. (+[WebView URLTitleFromPasteboard:]): implemented
  11032. (-[WebView _registerDraggedTypes]): moved
  11033. (-[WebView _frameViewAtWindowPoint:]): new
  11034. (-[WebView _draggingDocumentViewAtWindowPoint:]): new
  11035. (-[WebView _elementAtWindowPoint:]): new
  11036. (-[WebView dragOperationForDraggingInfo:]): updated this API to handle subviews that may want to handle drags
  11037. (-[WebView _dragOperationForDraggingInfo:]): new, handles UI delegate for drag control
  11038. (-[WebView draggingEntered:]): call _dragOperationForDraggingInfo:
  11039. (-[WebView draggingUpdated:]): ditto
  11040. (-[WebView concludeDragOperation:]): work with the UI delegate and the subview to handle what happens
  11041. * WebView.subproj/WebViewPrivate.h:
  11042. 2004-05-19 Richard Williamson <rjw@apple.com>
  11043. Removed extraneous tabs that were added (by XCode?).
  11044. * DOM.subproj/DOM-compat.h:
  11045. * Plugins.subproj/WebScriptObject.h:
  11046. 2004-05-19 Richard Williamson <rjw@apple.com>
  11047. Updated header copy script to only copy if modified headers
  11048. are different.
  11049. * copy-webcore-files-to-webkit:
  11050. 2004-05-19 Ken Kocienda <kocienda@apple.com>
  11051. Reviewed by Hyatt and Darin
  11052. Fix for this bug:
  11053. <rdar://problem/3643230>: "can't tab out of contentEditable Elements"
  11054. * WebCoreSupport.subproj/WebBridge.m:
  11055. (-[WebBridge interceptEditingKeyEvent:]): Renamed from _editingKeyDown. Also now returns
  11056. a BOOL to report whether the event was handled or not.
  11057. * WebView.subproj/WebView.m:
  11058. (-[WebView _interceptEditingKeyEvent:]): Also renamed from _editingKeyDown. Now includes
  11059. a check if the web view is editable and whether the event is a tab key event. If the former
  11060. is not true and the latter is, the key is not intercepted. This causes the tab to shift once
  11061. the key is processed by other non-editing key-handling mechanisms.
  11062. * WebView.subproj/WebViewPrivate.h: Changed declaration due to name change.
  11063. 2004-05-19 Ken Kocienda <kocienda@apple.com>
  11064. Reviewed by Hyatt
  11065. * WebCoreSupport.subproj/WebBridge.m:
  11066. (-[WebBridge isEditable]): Return the isEditable value for the
  11067. WebView which contains this bridge's frame.
  11068. 2004-05-19 Darin Adler <darin@apple.com>
  11069. - fixed headers with licenses mangled by Xcode auto-indenting
  11070. * DOM.subproj/DOMExtensions.h:
  11071. * WebCoreSupport.subproj/WebGraphicsBridge.h:
  11072. * WebCoreSupport.subproj/WebGraphicsBridge.m:
  11073. 2004-05-18 David Hyatt <hyatt@apple.com>
  11074. Improve layout scheduling.
  11075. Reviewed by kocienda
  11076. * WebView.subproj/WebFrame.m:
  11077. (-[WebFrame _transitionToLayoutAcceptable]):
  11078. (-[WebFrame _checkLoadCompleteForThisFrame]):
  11079. * WebView.subproj/WebHTMLRepresentation.m:
  11080. (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
  11081. 2004-05-18 Richard Williamson <rjw@apple.com>
  11082. Finished implementation of windowScriptObject.
  11083. Reviewed by Maciej.
  11084. * WebView.subproj/WebView.m:
  11085. (-[WebView windowScriptObject]):
  11086. 2004-05-18 Richard Williamson <rjw@apple.com>
  11087. Added WebKit portion of webView:windowScriptObjectAvailable:
  11088. implementation. Still need to implement creating the WebScriptObject
  11089. wrapper on the WebCore side.
  11090. Reviewed by Maciej.
  11091. Removed "_" from _setPageWidthForPrinting:. This method facilitates
  11092. a work-around for carbon printing. At some point we may make this
  11093. method public API.
  11094. Reviewed by Chris.
  11095. * WebCoreSupport.subproj/WebBridge.m:
  11096. (-[WebBridge overrideMediaType]):
  11097. (-[WebBridge windowObjectCleared]):
  11098. * WebView.subproj/WebDefaultFrameLoadDelegate.m:
  11099. (-[WebDefaultFrameLoadDelegate webView:windowScriptObjectAvailable:]):
  11100. * WebView.subproj/WebHTMLView.m:
  11101. (-[WebHTMLView setPageWidthForPrinting:]):
  11102. 2004-05-18 Darin Adler <darin@apple.com>
  11103. Reviewed by John.
  11104. - fixed <rdar://problem/3520322>: "can't use <WebKit/HIWebView.h> or <WebKit/CarbonUtils.h> from non-Objective C"
  11105. * Carbon.subproj/CarbonUtils.h: Added ifdefs so file compiles when included from non-Objective-C.
  11106. Changed style to match other Carbon headers a bit more closely. Also remove unnecessary includes.
  11107. * Carbon.subproj/HIWebView.h: Ditto.
  11108. - fixed <rdar://problem/3648505>: "this text file scrolls to the second line instead of first when pressing home"
  11109. * WebView.subproj/WebFrameView.m:
  11110. (-[WebFrameView _scrollToTopLeft]): Scroll to origin.y instead of assuming that top is 0; can be non-0 for text view.
  11111. (-[WebFrameView _scrollToBottomLeft]): Use NSMaxY instead of height for the same reason.
  11112. 2004-05-17 David Hyatt <hyatt@apple.com>
  11113. Fix for performance regression in PLT caused by not setting _timeOfLastCompletedLoad, causing
  11114. page cache to release during the benchmark.
  11115. * WebView.subproj/WebFrame.m:
  11116. (-[WebFrame _setState:]):
  11117. 2004-05-17 Chris Blumenberg <cblu@apple.com>
  11118. Implemented new WebView pasteboard methods. Made a lot of factoring changes related to pasteboard management.
  11119. Reviewed by john.
  11120. * Misc.subproj/WebNSPasteboardExtras.h:
  11121. * Misc.subproj/WebNSPasteboardExtras.m:
  11122. (+[NSPasteboard _web_writableTypesForURL]): renamed to not include "drag" these types are also used for copying
  11123. (+[NSPasteboard _web_writableTypesForImage]): new
  11124. (-[NSPasteboard _web_bestURL]): tweak
  11125. (-[NSPasteboard _web_writeURL:andTitle:types:]): take an array of types that this method should write, don't declare the types since this complicates things for the caller
  11126. (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): ditto
  11127. * Misc.subproj/WebNSViewExtras.m:
  11128. (-[NSView _web_dragImage:archive:rect:URL:title:event:]): call renamed methods
  11129. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  11130. (-[WebDefaultUIDelegate copyLinkToClipboard:]): call code factored out to WebView
  11131. (-[WebDefaultUIDelegate copyImageToClipboard:]): ditto
  11132. * WebView.subproj/WebDocumentPrivate.h:
  11133. * WebView.subproj/WebHTMLView.h:
  11134. * WebView.subproj/WebHTMLView.m:
  11135. (-[WebHTMLView _selectedRTFData]): new factored out method
  11136. (-[WebHTMLView _writeSelectionToPasteboard:]): factored code out to writeSelectionWithPasteboardTypes:toPasteboard:
  11137. (-[WebHTMLView _dragImageForLinkElement:]): tweak
  11138. (-[WebHTMLView _handleMouseDragged:]): call renamed methods
  11139. (-[WebHTMLView pasteboardTypesForSelection]): new
  11140. (-[WebTextView writeSelectionWithPasteboardTypes:toPasteboard:]): new, code moved from _writeSelectionToPasteboard:
  11141. * WebView.subproj/WebHTMLViewPrivate.h:
  11142. * WebView.subproj/WebImageView.h:
  11143. * WebView.subproj/WebImageView.m:
  11144. (-[WebImageView writeImageToPasteboard:types:]): call renamed methods
  11145. (-[WebImageView copy:]):
  11146. (-[WebImageView writeSelectionToPasteboard:types:]): call renamed methods
  11147. * WebView.subproj/WebTextView.h:
  11148. * WebView.subproj/WebTextView.m:
  11149. (-[WebTextView pasteboardTypesForSelection]): new
  11150. (-[WebTextView writeSelectionWithPasteboardTypes:toPasteboard:]): new
  11151. * WebView.subproj/WebView.m:
  11152. (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]): new
  11153. (-[WebView _writeLinkElement:withPasteboardTypes:toPasteboard:]): mew
  11154. (-[WebView dragOperationForDraggingInfo:]): implemented API
  11155. (-[WebView draggingEntered:]): call API
  11156. (-[WebView draggingUpdated:]): ditto
  11157. (-[WebView concludeDragOperation:]): ditto
  11158. (-[WebView pasteboardTypesForSelection]): implemented API
  11159. (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): ditto
  11160. (-[WebView pasteboardTypesForElement:]): ditto
  11161. (-[WebView writeElement:withPasteboardTypes:toPasteboard:]): ditto
  11162. * WebView.subproj/WebViewPrivate.h:
  11163. 2004-05-17 Ken Kocienda <kocienda@apple.com>
  11164. Reviewed by John
  11165. Remove overrides in WebView for scrollPageDown and scrollPageUp.
  11166. NSView behavior gives us just what we want, and there is no
  11167. special behavior required for editing.
  11168. <rdar://problem/3655364>: "Editing: -scrollPageDown: method unimplemented (WebKit editing API)"
  11169. <rdar://problem/3655365>: "Editing: -scrollPageUp: method unimplemented (WebKit editing API)"
  11170. * WebView.subproj/WebView.h: Comment methods out and add a note about why.
  11171. * WebView.subproj/WebView.m: Remove stubbed out implementation.
  11172. 2004-05-14 Vicki Murley <vicki@apple.com>
  11173. Reviewed by mjs.
  11174. <rdar://problem/3642427>: framework marketing number should be 2.0 for DoubleBarrel release
  11175. * WebKit.pbproj/project.pbxproj: change CFBundleShortVersionString to 2.0
  11176. 2004-05-14 David Hyatt <hyatt@apple.com>
  11177. Eliminate timedLayout.
  11178. Reviewed by darin
  11179. * WebView.subproj/WebFrame.m:
  11180. (-[WebFramePrivate dealloc]):
  11181. (-[WebFrame _detachFromParent]):
  11182. (-[WebFrame _transitionToLayoutAcceptable]):
  11183. (-[WebFrame _setState:]):
  11184. (-[WebFrame _checkLoadCompleteForThisFrame]):
  11185. (-[WebFrame stopLoading]):
  11186. * WebView.subproj/WebFramePrivate.h:
  11187. === Safari-140 ===
  11188. 2004-05-14 Chris Blumenberg <cblu@apple.com>
  11189. Fixed: <rdar://problem/3655495>: (exception loading applets)
  11190. Reviewed by kocienda.
  11191. * WebCoreSupport.subproj/WebBridge.m:
  11192. (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): when calling old cocoa plug-ins, use old keys
  11193. 2004-05-14 Chris Blumenberg <cblu@apple.com>
  11194. Fixed: <rdar://problem/3655204>: (repro assertion failure and crash loading java applets)
  11195. Reviewed by kocienda.
  11196. * WebCoreSupport.subproj/WebBridge.m:
  11197. (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): call pluginViewWithArguments: for old Cocoa plug-ins
  11198. 2004-05-14 Chris Blumenberg <cblu@apple.com>
  11199. Copied headers from WebCore.
  11200. * DOM.subproj/DOMCore.h:
  11201. * DOM.subproj/DOMEvents.h:
  11202. 2004-05-14 Ken Kocienda <kocienda@apple.com>
  11203. Reviewed by me
  11204. * Plugins.subproj/WebPluginController.m:
  11205. (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Fixed a compile error: undeclared identifier.
  11206. Looked like a typo.
  11207. 2004-05-13 Richard Williamson <rjw@apple.com>
  11208. Backed out mistaken change that I didn't mean to checkin.
  11209. * WebCoreSupport.subproj/WebBridge.m:
  11210. (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
  11211. 2004-05-13 Richard Williamson <rjw@apple.com>
  11212. Updated to reflect new API.
  11213. Reviewed by Chris.
  11214. * WebCoreSupport.subproj/WebBridge.m:
  11215. (-[WebBridge setIsSelected:forView:]):
  11216. * WebView.subproj/WebFrame.m:
  11217. (-[WebFrame _reloadForPluginChanges]):
  11218. 2004-05-13 Chris Blumenberg <cblu@apple.com>
  11219. Fixed some indenting issues in public headers.
  11220. * Plugins.subproj/WebJavaPlugIn.h:
  11221. * Plugins.subproj/WebPlugin.h:
  11222. * Plugins.subproj/WebScriptObject.h:
  11223. * WebView.subproj/WebEditingDelegate.h:
  11224. * WebView.subproj/WebFrameView.h:
  11225. * WebView.subproj/WebPolicyDelegate.h:
  11226. * WebView.subproj/WebResourceLoadDelegate.h:
  11227. * WebView.subproj/WebView.h:
  11228. 2004-05-13 Ken Kocienda <kocienda@apple.com>
  11229. Reviewed by Chris
  11230. Moved -DOMDocument convenience back to private header.
  11231. I mistakenly moved it to the public header earlier today.
  11232. * WebView.subproj/WebView.h: Removed
  11233. * WebView.subproj/WebViewPrivate.h: Re-added
  11234. 2004-05-13 Richard Williamson <rjw@apple.com>
  11235. Updated to implementation to reflect new API. Left old SPI
  11236. in place for compatibility. Can remove when the Java plug-in
  11237. updates.
  11238. Reviewed by Chris.
  11239. * Plugins.subproj/WebPlugin.h:
  11240. * Plugins.subproj/WebPluginContainer.h:
  11241. * Plugins.subproj/WebPluginController.h:
  11242. * Plugins.subproj/WebPluginController.m:
  11243. (-[WebPluginController startAllPlugins]):
  11244. (-[WebPluginController stopAllPlugins]):
  11245. (-[WebPluginController addPlugin:]):
  11246. (-[WebPluginController destroyAllPlugins]):
  11247. (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
  11248. (-[WebPluginController showURL:inFrame:]):
  11249. (-[WebPluginController webPlugInContainerShowStatus:]):
  11250. (-[WebPluginController showStatus:]):
  11251. (-[WebPluginController webPlugInContainerSelectionColor]):
  11252. (-[WebPluginController selectionColor]):
  11253. (-[WebPluginController webFrame]):
  11254. 2004-05-13 Chris Blumenberg <cblu@apple.com>
  11255. - Added stubs for WebView action and drag & drop customization API's
  11256. - Fixed: <rdar://problem/3616555>: (API: Make DOM extensions and WebKit DOM operations public)
  11257. Reviewed by rjw.
  11258. * DOM.subproj/WebDOMOperations.h: added remaining DOM operations
  11259. * DOM.subproj/WebDOMOperationsPrivate.h:
  11260. * Misc.subproj/WebKit.h: added new public headers
  11261. * WebKit.pbproj/project.pbxproj:
  11262. * WebKit.exp: added symbol for WebElementDOMNodeKey
  11263. * WebView.subproj/WebUIDelegate.h: added new UI delegate methods
  11264. * WebView.subproj/WebView.h: added new pasteboard related methods
  11265. * WebView.subproj/WebView.m:
  11266. (+[WebView URLFromPasteboard:]): new stub
  11267. (+[WebView URLTitleFromPasteboard:]): new stub
  11268. (-[WebView dragOperationForDraggingInfo:]): new stub
  11269. (-[WebView pasteboardTypesForSelection]): new stub
  11270. (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): new stub
  11271. (-[WebView pasteboardTypesForElement:]): new stub
  11272. (-[WebView writeElement:withPasteboardTypes:toPasteboard:]): new stub
  11273. * WebView.subproj/WebViewPrivate.h:
  11274. 2004-05-13 Richard Williamson <rjw@apple.com>
  11275. Changed imports of all DOM headers. DOM headers
  11276. should be imported using the normal #import <WebCore/foo.h>,
  11277. they import is modified when copied to WebKit.
  11278. Other approved API changes. Currently unimplemented.
  11279. Reviewed by Chris.
  11280. * ChangeLog:
  11281. * DOM.subproj/DOM.h:
  11282. * DOM.subproj/DOMCSS.h:
  11283. * DOM.subproj/DOMCore.h:
  11284. * DOM.subproj/DOMEvents.h:
  11285. * DOM.subproj/DOMExtensions.h:
  11286. * DOM.subproj/DOMHTML.h:
  11287. * DOM.subproj/DOMRange.h:
  11288. * DOM.subproj/DOMStylesheets.h:
  11289. * DOM.subproj/DOMTraversal.h:
  11290. * DOM.subproj/DOMViews.h:
  11291. * Plugins.subproj/WebPlugin.h:
  11292. * Plugins.subproj/WebPluginContainer.h:
  11293. * Plugins.subproj/WebPluginPackage.m:
  11294. * Plugins.subproj/WebPluginViewFactory.h:
  11295. * Plugins.subproj/WebScriptObject.h:
  11296. * WebCoreSupport.subproj/WebBridge.m:
  11297. (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
  11298. (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
  11299. * WebKit.exp:
  11300. * WebKit.pbproj/project.pbxproj:
  11301. * WebView.subproj/WebFrameLoadDelegate.h:
  11302. * WebView.subproj/WebView.h:
  11303. * WebView.subproj/WebView.m:
  11304. (-[WebView windowScriptObject]):
  11305. * copy-webcore-files-to-webkit:
  11306. 2004-05-13 Ken Kocienda <kocienda@apple.com>
  11307. Reviewed by Kevin
  11308. Move WebKit editing APIs to public API files.
  11309. * WebCoreSupport.subproj/WebBridge.m: Add WebEditingDelegate include.
  11310. * WebKit.pbproj/project.pbxproj: Go Xcode!
  11311. * WebView.subproj/WebDefaultEditingDelegate.m: Remove WebViewPrivate include; add WebEditingDelegate include.
  11312. * WebView.subproj/WebEditingDelegate.h: Added. New file.
  11313. * WebView.subproj/WebView.h: Move API-approved interfaces to this file.
  11314. * WebView.subproj/WebView.m: Add WebEditingDelegate include.
  11315. * WebView.subproj/WebViewPrivate.h: Move API-approved interfaces from this file.
  11316. 2004-05-12 Chris Blumenberg <cblu@apple.com>
  11317. Fixed:
  11318. <rdar://problem/3633296>: (Japanese input is not working properly in Carbon Web Kit applications (including CarbonWeb))
  11319. <rdar://problem/3631390>: (can't toggle between Input Methods (IMEs) using cmd-space in Carbon Web Kit applications)
  11320. Reviewed by rjw.
  11321. * Carbon.subproj/CarbonWindowAdapter.m:
  11322. (-[CarbonWindowAdapter sendSuperEvent:]): call [NSInputContext processInputKeyBindings:inEvent] just as NSApp does
  11323. * Carbon.subproj/HIWebView.m:
  11324. (HIWebViewEventHandler): [NSApp setWindowsNeedUpdate:YES] must be called before events so that ActivateTSMDocument is called to set an active document. Without an active document, TSM will use a default document which uses a bottom-line input window which we don't want.
  11325. 2004-05-11 Chris Blumenberg <cblu@apple.com>
  11326. Fixed:
  11327. <rdar://problem/3616537>: (API: Make WebResource, WebArchive and related API's public)
  11328. <rdar://problem/3616471>: (API: provide way to get from WebFrame to DOMDocument and vice versa)
  11329. Reviewed by rjw.
  11330. * DOM.subproj/WebDOMOperations.h:
  11331. * DOM.subproj/WebDOMOperations.m:
  11332. (-[DOMHTMLFrameElement contentFrame]): new
  11333. (-[DOMHTMLIFrameElement contentFrame]): new
  11334. (-[DOMHTMLObjectElement contentFrame]): new
  11335. * DOM.subproj/WebDOMOperationsPrivate.h:
  11336. * Misc.subproj/WebNSImageExtras.m:
  11337. (-[NSImage _web_saveAndOpen]): fixed leak
  11338. * WebKit.pbproj/project.pbxproj:
  11339. * WebView.subproj/WebDataSource.h:
  11340. * WebView.subproj/WebDataSource.m:
  11341. (-[WebDataSource _addSubresources:]): made private
  11342. (-[WebDataSource _archiveWithMarkupString:nodes:]): handle object tags with frame content
  11343. (-[WebDataSource _archiveWithCurrentState:]): renamed from _archive, now takes flag
  11344. (-[WebDataSource _replaceSelectionWithArchive:]): call renamed _addSubresources
  11345. (-[WebDataSource webArchive]): new
  11346. (-[WebDataSource mainResource]): new
  11347. (-[WebDataSource subresources]): made public
  11348. (-[WebDataSource subresourceForURL:]): made public
  11349. (-[WebDataSource addSubresource:]): made public
  11350. * WebView.subproj/WebDataSourcePrivate.h:
  11351. * WebView.subproj/WebDocumentPrivate.h:
  11352. * WebView.subproj/WebFrame.h:
  11353. * WebView.subproj/WebFrame.m:
  11354. (-[WebFrame _loadRequest:subresources:subframeArchives:]): call renamed _addSubresources
  11355. (-[WebFrame DOMDocument]): new
  11356. (-[WebFrame frameElement]): new
  11357. (-[WebFrame loadArchive:]): made public
  11358. * WebView.subproj/WebFramePrivate.h:
  11359. * WebView.subproj/WebHTMLRepresentation.m:
  11360. (-[WebHTMLRepresentation loadArchive]): call renamed _addSubresources
  11361. * WebView.subproj/WebImageRepresentation.m:
  11362. (-[WebImageRepresentation archive]): call webArchive on WebDataSource
  11363. 2004-05-10 Maciej Stachowiak <mjs@apple.com>
  11364. Reviewed by Darin.
  11365. - avoid redecoding animated images that are only used once for
  11366. ~2.5% iBench speedup (WebCore part of fix)
  11367. * WebCoreSupport.subproj/WebImageRenderer.h:
  11368. * WebCoreSupport.subproj/WebImageRenderer.m:
  11369. (-[WebImageRenderer increaseUseCount]):
  11370. (-[WebImageRenderer decreaseUseCount]):
  11371. (-[WebImageRenderer retainOrCopyIfNeeded]):
  11372. 2004-05-10 Maciej Stachowiak <mjs@apple.com>
  11373. Fix build.
  11374. * WebView.subproj/WebFrame.m:
  11375. 2004-05-09 Maciej Stachowiak <mjs@apple.com>
  11376. Reviewed by Ken.
  11377. - avoid messing with undo manager needlessly for ~1% HTML iBench speedup
  11378. * WebCoreSupport.subproj/WebBridge.h:
  11379. * WebCoreSupport.subproj/WebBridge.m:
  11380. (-[WebBridge registerCommandForUndo:]): mark undo/redo item flag
  11381. (-[WebBridge registerCommandForRedo:]): ditto
  11382. (-[WebBridge clearUndoRedoOperations]): check flag before removing items,
  11383. and clear it after removing them
  11384. 2004-05-08 Maciej Stachowiak <mjs@apple.com>
  11385. Reviewed by Darin.
  11386. - -[WebFrame childFrames] is so hot that a special internal
  11387. version which avoids the copy and autorelease results in a .75%
  11388. performance improvement on HTML iBench.
  11389. * WebView.subproj/WebFramePrivate.h: Prototype new method.
  11390. * WebView.subproj/WebFrame.m:
  11391. (-[WebFrame _internalChildFrames]): New method, just returns
  11392. internal value instead of copying.
  11393. (-[WebFrame _descendantFrameNamed:]): Use it
  11394. (-[WebFrame _textSizeMultiplierChanged]): likewise
  11395. (-[WebFrame _viewWillMoveToHostWindow:]): likewise
  11396. (-[WebFrame _viewDidMoveToHostWindow]): likewise
  11397. (-[WebFrame _saveDocumentAndScrollState]): likewise
  11398. (-[WebFrame _numPendingOrLoadingRequests:]): likewise
  11399. (-[WebFrame _checkLoadComplete]): Refactored this and it's two
  11400. helpers a little so we could get away with using
  11401. _internalChildFrames.
  11402. (-[WebFrame _checkLoadCompleteForThisFrame]): Renamed from
  11403. _isLoadComplete
  11404. (-[WebFrame _recursiveCheckLoadComplete]): renamed from (class
  11405. method) _recursiveCheckCompleteFromFrame:
  11406. * WebView.subproj/WebDataSource.m:
  11407. (-[WebDataSource _defersCallbacksChanged]): Use it
  11408. (-[WebDataSource isLoading]): likewise
  11409. * WebView.subproj/WebView.m:
  11410. (-[WebView _frameForDataSource:fromFrame:]): likewise
  11411. (-[WebView _frameForView:fromFrame:]): likewise
  11412. 2004-05-10 Chris Blumenberg <cblu@apple.com>
  11413. Forgot to commit this copied header.
  11414. * DOM.subproj/DOMExtensions.h:
  11415. === Safari-139 ===
  11416. 2004-05-06 Chris Blumenberg <cblu@apple.com>
  11417. * DOM.subproj/WebDOMOperations.h: improved a header doc comment
  11418. 2004-05-05 Chris Blumenberg <cblu@apple.com>
  11419. - DOM Extensions API tweaks
  11420. Reviewed by kocienda.
  11421. * DOM.subproj/DOMExtensions.h: copied from WebCore
  11422. * DOM.subproj/WebDOMOperations.h: added header doc comments
  11423. * DOM.subproj/WebDOMOperations.m:
  11424. (-[DOMNode _URLsFromSelectors:]): use renamed URLWithAttributeString
  11425. (-[DOMDocument URLWithAttributeString:]): renamed
  11426. (-[DOMHTMLTableElement _web_background]): new private method
  11427. (-[DOMHTMLTableElement _subresourceURLs]): use new private method
  11428. (-[DOMHTMLTableCellElement _web_background]): new private method
  11429. (-[DOMHTMLTableCellElement _subresourceURLs]): use new private method
  11430. 2004-05-04 Ken Kocienda <kocienda@apple.com>
  11431. Reviewed by Hyatt
  11432. * DOM.subproj/DOMTraversal.h: File coppied from WebCore
  11433. 2004-05-02 Darin Adler <darin@apple.com>
  11434. Reviewed by Ken.
  11435. - fixed <rdar://problem/3640419>: "_webkit_stringByReplacingValidPercentEscapes does not handle %00 properly"
  11436. * Misc.subproj/WebNSURLExtras.m: (-[NSString _webkit_stringByReplacingValidPercentEscapes]):
  11437. Use the function in NSURL instead of implementing our own here.
  11438. 2004-04-30 John Sullivan <sullivan@apple.com>
  11439. * WebView.subproj/WebView.m:
  11440. fixed deployment build breakage
  11441. 2004-04-30 John Sullivan <sullivan@apple.com>
  11442. - more work on getting the font panel to work with editable HTML.
  11443. The font panel in Blot now correctly reflects the first selected font when the
  11444. selection is at least one character long.
  11445. Reviewed by Ken.
  11446. * WebView.subproj/WebView.m:
  11447. removed unfinished plumbing to support reflecting selected attributes (e.g. text color,
  11448. underline) in font panel, since this doesn't work in Mail or TextEdit either.
  11449. (_fontFromStyle):
  11450. removed assertion for now
  11451. (-[WebView _updateFontPanel]):
  11452. now uses new bridge method to get the NSFont from the node, instead of trying
  11453. to create an NSFont from a DOMCSSStyleDeclaration
  11454. 2004-04-29 John Sullivan <sullivan@apple.com>
  11455. - more work on getting the font panel to work with editable HTML
  11456. Reviewed by Ken.
  11457. * WebView.subproj/WebView.m:
  11458. (-[WebView computedStyleForElement:pseudoElement:]):
  11459. convert nil pseudoElement to empty string because lower level chokes on nil
  11460. (_fontFromStyle):
  11461. I tried to implement this, but was thwarted by missing API, so I added a
  11462. bunch of FIXMEs instead
  11463. (_stylesRepresentSameFont):
  11464. new function, not yet implementable
  11465. (_stylesRepresentSameAttributes):
  11466. new function, not yet implementable
  11467. (-[WebView _updateFontPanel]):
  11468. added code to get first and last element in selection, and to use
  11469. NodeIterator to walk through the entire selection to see if more than one
  11470. font or set of attributes is in use. However, createNodeIterator is declared
  11471. in DOMTraversal.h but not actually defined anywhere, so I had to prevent this
  11472. code from actually being called.
  11473. 2004-04-28 Chris Blumenberg <cblu@apple.com>
  11474. - Made WebArchive and WebResource conform to NSCoding and NSCopying.
  11475. Reviewed by rjw.
  11476. * DOM.subproj/WebDOMOperations.h: added header doc comment for WebArchive methods
  11477. * WebView.subproj/WebArchive.h:
  11478. * WebView.subproj/WebArchive.m:
  11479. (-[WebArchive initWithCoder:]): new
  11480. (-[WebArchive encodeWithCoder:]): new
  11481. (-[WebArchive copyWithZone:]): new
  11482. * WebView.subproj/WebResource.h:
  11483. * WebView.subproj/WebResource.m:
  11484. (-[WebResource init]): new
  11485. (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call [self init]
  11486. (-[WebResource initWithCoder:]): new
  11487. (-[WebResource encodeWithCoder:]): new
  11488. (-[WebResource copyWithZone:]): new
  11489. 2004-04-28 John Sullivan <sullivan@apple.com>
  11490. A little bit more progress in wiring up the font panel.
  11491. Reviewed by Ken.
  11492. * WebView.subproj/WebViewInternal.h:
  11493. put _updateFontPanel here. Also moved _isLoading here, since it was
  11494. already in a category named WebInternal
  11495. * WebView.subproj/WebView.m:
  11496. (-[WebView _isLoading]):
  11497. moved into WebInternal category implementation
  11498. (_textAttributesFromStyle):
  11499. changed from method to function
  11500. (_fontFromStyle):
  11501. added, guts not filled in yet
  11502. (-[WebView _updateFontPanel]):
  11503. now calls these two functions (but results are always nil)
  11504. (-[WebView setSelectedDOMRange:affinity:]):
  11505. remove call to _updateFontPanel here since it's now called in
  11506. the proper bottleneck
  11507. * WebCoreSupport.subproj/WebBridge.m:
  11508. (-[WebBridge postDidChangeNotification]):
  11509. call -[WebView _updateFontPanel] in addition to sending notification
  11510. (-[WebBridge postDidChangeSelectionNotification]):
  11511. ditto
  11512. 2004-04-28 John Sullivan <sullivan@apple.com>
  11513. - fixed these bugs:
  11514. <rdar://problem/3636570>: "API: [WebPreferences tabsToLinks] should be public API"
  11515. <rdar://problem/3610597>: "API: could turn "stealth browsing" preference into API"
  11516. Reviewed by Darin.
  11517. I just moved the declarations and implementations from one place to another.
  11518. (No clients in WebKit needed their #imports updated.) This confused cvs diff quite a bit.
  11519. * WebView.subproj/WebPreferences.h:
  11520. * WebView.subproj/WebPreferences.m:
  11521. (-[WebPreferences setTabsToLinks:]):
  11522. (-[WebPreferences tabsToLinks]):
  11523. (-[WebPreferences setPrivateBrowsingEnabled:]):
  11524. (-[WebPreferences privateBrowsingEnabled]):
  11525. (-[WebPreferences _pageCacheSize]):
  11526. (-[WebPreferences _objectCacheSize]):
  11527. (-[WebPreferences _backForwardCacheExpirationInterval]):
  11528. * WebView.subproj/WebPreferencesPrivate.h:
  11529. 2004-04-27 David Hyatt <hyatt@apple.com>
  11530. Cut the time spent on an operation inside widthForNextCharacter from 17% of the function time down to less than
  11531. 5% merely by adding a check for non-zero letter-spacing (thus avoiding double precision math in the
  11532. common case where we just add 0 between letters).
  11533. Reviewed by rjw
  11534. * WebCoreSupport.subproj/WebTextRenderer.m:
  11535. (widthForNextCharacter):
  11536. 2004-04-28 John Sullivan <sullivan@apple.com>
  11537. Initial plumbing to get the font panel to be updated from an editable
  11538. WebView.
  11539. Reviewed by Ken.
  11540. * WebView.subproj/WebView.m:
  11541. (-[WebView _textAttributesFromStyle:]):
  11542. new dummy method, will need implementation
  11543. (-[WebView _updateFontPanel]):
  11544. new method, sets the font shown in the font panel from the current
  11545. selection. Lots of placeholder stuff.
  11546. (-[WebView setSelectedDOMRange:affinity:]):
  11547. call _updateFontPanel here for now.
  11548. 2004-04-28 Ken Kocienda <kocienda@apple.com>
  11549. Reviewed by Darin
  11550. * WebCoreSupport.subproj/WebBridge.m:
  11551. (-[WebBridge postDidChangeNotification]): Posts Cocoa notification when the document changes
  11552. due to editing.
  11553. (-[WebBridge postDidChangeSelectionNotification]): Posts Cocoa notification when the document selection
  11554. changes.
  11555. * WebKit.exp: Export editing notification string constants.
  11556. * WebView.subproj/WebView.m: Define editing notification string constants.
  11557. (-[WebView computedStyleForElement:pseudoElement:]): Add implementation.
  11558. (-[WebView setEditingDelegate:]): Do work to set up delegate to receive notification callbacks.
  11559. (-[WebView DOMDocument]): Simplify to just call the bridge DOMDocument. No need to jump through hoops here.
  11560. (-[WebView insertNewline:]): Consult delegate before taking action.
  11561. (-[WebView deleteBackward:]): Ditto.
  11562. (-[WebView insertText:]): Ditto.
  11563. 2004-04-27 John Sullivan <sullivan@apple.com>
  11564. Fixed broken development build.
  11565. * WebView.subproj/WebFrame.m:
  11566. (-[WebFrame _transitionToLayoutAcceptable]):
  11567. updated bad variable name used only in LOG statement to match
  11568. recent change.
  11569. 2004-04-27 Richard Williamson <rjw@apple.com>
  11570. Fixes for:
  11571. <rdar://problem/3279301>: API: WebKitErrorCannotFindPlugin and WebKitErrorCannotLoadPlugin should use PlugIn
  11572. <rdar://problem/3278513>: API: Need API to control the size of WebHistory
  11573. <rdar://problem/3564519>: API: please add a way to set the media type for a WebView
  11574. <rdar://problem/3565642>: API: allow a way to extend the MIME types that a WebView will display
  11575. <rdar://problem/3577693>: API: add ability to subclass WebView but still use it with Carbon
  11576. Reviewed by Chris.
  11577. * Carbon.subproj/HIWebView.h:
  11578. * Carbon.subproj/HIWebView.m:
  11579. (HIWebViewCreate):
  11580. (HIWebViewCreateWithClass):
  11581. (HIWebViewConstructor):
  11582. * History.subproj/WebHistory.h:
  11583. * History.subproj/WebHistory.m:
  11584. (-[WebHistoryPrivate setHistoryAgeInDaysLimit:]):
  11585. (-[WebHistoryPrivate historyAgeInDaysLimit]):
  11586. (-[WebHistoryPrivate setHistoryItemLimit:]):
  11587. (-[WebHistoryPrivate historyItemLimit]):
  11588. (-[WebHistoryPrivate _ageLimitDate]):
  11589. (-[WebHistoryPrivate arrayRepresentation]):
  11590. (-[WebHistory setHistoryItemLimit:]):
  11591. (-[WebHistory historyItemLimit]):
  11592. (-[WebHistory setHistoryAgeInDaysLimit:]):
  11593. (-[WebHistory historyAgeInDaysLimit]):
  11594. * History.subproj/WebHistoryPrivate.h:
  11595. * Misc.subproj/WebKitErrors.h:
  11596. * Misc.subproj/WebKitErrors.m:
  11597. (registerErrors):
  11598. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  11599. (-[WebNetscapePluginDocumentView setDataSource:]):
  11600. * WebCoreSupport.subproj/WebBridge.m:
  11601. (-[WebBridge isViewSelected:]):
  11602. (-[WebBridge overrideMediaType]):
  11603. * WebView.subproj/WebView.h:
  11604. * WebView.subproj/WebView.m:
  11605. (-[WebViewPrivate dealloc]):
  11606. (+[WebView MIMETypesShownAsHTML]):
  11607. (+[WebView setMIMETypesShownAsHTML:]):
  11608. (-[WebView customUserAgent]):
  11609. (-[WebView setMediaStyle:]):
  11610. (-[WebView mediaStyle]):
  11611. * WebView.subproj/WebViewPrivate.h:
  11612. 2004-04-27 David Hyatt <hyatt@apple.com>
  11613. Eliminate the preferences for timed/resource layouts. Accessing them is now taking 0.5% on the cvs-base
  11614. test, so we're just going to hardcode the values instead.
  11615. Reviewed by mjs
  11616. * WebView.subproj/WebFrame.m:
  11617. (-[WebFrame _transitionToLayoutAcceptable]):
  11618. (-[WebFrame _isLoadComplete]):
  11619. * WebView.subproj/WebPreferences.m:
  11620. (+[WebPreferences initialize]):
  11621. (-[WebPreferences _objectCacheSize]):
  11622. * WebView.subproj/WebPreferencesPrivate.h:
  11623. * WebView.subproj/WebView.m:
  11624. (-[WebView _mainReceivedBytesSoFar:fromDataSource:complete:]):
  11625. 2004-04-27 Ken Kocienda <kocienda@apple.com>
  11626. Reviewed by Hyatt
  11627. Make selections draw in a more Cocoa-like way, where
  11628. fully-selected lines draw out to the ends of lines, and
  11629. spaces between lines are drawn with the selection color as well.
  11630. * Misc.subproj/WebKitNSStringExtras.m: Use new WebCoreTextGeometry struct. No change in functionality.
  11631. * WebCoreSupport.subproj/WebTextRenderer.m:
  11632. (-[WebTextRenderer drawRun:style:geometry:]): Use new WebCoreTextGeometry struct. No change in functionality.
  11633. (-[WebTextRenderer drawHighlightForRun:style:geometry:]): Ditto.
  11634. (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]): Many changes to add the new selection drawing behavior.
  11635. (-[WebTextRenderer _CG_drawRun:style:geometry:]): Use new WebCoreTextGeometry struct. No change in functionality.
  11636. (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]): Many changes to add the new selection drawing behavior.
  11637. (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): Use new WebCoreTextGeometry struct. No change in functionality.
  11638. 2004-04-26 Richard Williamson <rjw@apple.com>
  11639. Added support for specifying composite operation on an
  11640. image element, i.e.:
  11641. <img composite="source-over" src="triangle.png">
  11642. <img style="position:relative; left:-200px;" composite="destination-in" src="circle.png">
  11643. This feature was requested by the dashboard guys. They can use it to apply
  11644. transparency masks to widgies.
  11645. Reviewed by Ken.
  11646. * WebCoreSupport.subproj/WebImageRenderer.h:
  11647. * WebCoreSupport.subproj/WebImageRenderer.m:
  11648. (-[WebImageRenderer initWithMIMEType:]):
  11649. (-[WebImageRenderer initWithData:MIMEType:]):
  11650. (-[WebImageRenderer initWithContentsOfFile:]):
  11651. (-[WebImageRenderer copyWithZone:]):
  11652. (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
  11653. (-[WebImageRenderer drawImageInRect:fromRect:]):
  11654. (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:]):
  11655. 2004-04-26 Chris Blumenberg <cblu@apple.com>
  11656. More header doc changes after John's review.
  11657. * WebView.subproj/WebDataSourcePrivate.h:
  11658. * WebView.subproj/WebResource.h:
  11659. 2004-04-26 Chris Blumenberg <cblu@apple.com>
  11660. * WebView.subproj/WebDataSourcePrivate.h: added some header doc comments
  11661. * WebView.subproj/WebFramePrivate.h: fixed header doc typo
  11662. 2004-04-24 Darin Adler <darin@apple.com>
  11663. Reviewed by Dave.
  11664. * Misc.subproj/WebNSURLExtras.m: (hexDigit): Use capitalized hex, not lowercase, for consistency
  11665. with similar functions in WebCore and what other web browsers do.
  11666. 2004-04-23 Darin Adler <darin@apple.com>
  11667. Reviewed by Maciej.
  11668. - fixed <rdar://problem/3627362>: "bad access with libgmalloc in -[_WebCoreHistoryProvider containsItemForURLUnicode:length:]"
  11669. * History.subproj/WebHistory.m:
  11670. (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]): Add range checks so we
  11671. don't overrun the buffer while looking for slashes.
  11672. 2004-04-23 Chris Blumenberg <cblu@apple.com>
  11673. Reviewed by John
  11674. Added header doc comments to proposed API's.
  11675. * WebView.subproj/WebArchive.h:
  11676. * WebView.subproj/WebFramePrivate.h:
  11677. * WebView.subproj/WebResource.h:
  11678. === Safari-138 ===
  11679. 2004-04-23 Ken Kocienda <kocienda@apple.com>
  11680. Reviewed by John
  11681. Added some plumbing for applying styles.
  11682. * DOM.subproj/DOMExtensions.h: Copied from WebCore.
  11683. * WebView.subproj/WebView.m:
  11684. (-[WebView DOMDocument]): Added new helper.
  11685. (-[WebView styleDeclarationWithText:]): Added new helper.
  11686. * WebView.subproj/WebViewPrivate.h: Declare above methods.
  11687. 2004-04-22 Richard Williamson <rjw@apple.com>
  11688. Updates to plugin binding APIs.
  11689. Updates to Java plugin APIs.
  11690. Transparency fix for Dashboard.
  11691. Reviewed by John and Greg Bolsinga.
  11692. * Plugins.subproj/WebPluginJava.h: Added.
  11693. New API for Java plugin.
  11694. * Plugins.subproj/npfunctions.h:
  11695. * Plugins.subproj/npruntime.h:
  11696. (_NPString::):
  11697. (_NPString::_NPVariant::):
  11698. * Plugins.subproj/npsap.h: Added.
  11699. New API for plugin bindings.
  11700. * WebView.subproj/WebHTMLView.m:
  11701. (-[WebHTMLView drawRect:]):
  11702. Update for Dashboard. View must fill with transparency when not
  11703. drawing background.
  11704. * copy-webcore-files-to-webkit:
  11705. 2004-04-22 Ken Kocienda <kocienda@apple.com>
  11706. Reviewed by Hyatt
  11707. More work to bring code up to date with the latest API proposal. Note that
  11708. all of the replaceXXX methods below now operate on the current selection, so
  11709. the method implementations have been simplifed accordingly.
  11710. * WebView.subproj/WebDataSource.m:
  11711. (-[WebDataSource _replaceSelectionWithArchive:]): New name for _replaceSelectionWithWebArchive.
  11712. * WebView.subproj/WebDataSourcePrivate.h: Ditto.
  11713. * WebView.subproj/WebDefaultEditingDelegate.m:
  11714. (-[WebDefaultEditingDelegate webViewShouldBeginEditing:inDOMRange:]): Added inDOMRange: parameter.
  11715. (-[WebDefaultEditingDelegate webViewShouldEndEditing:inDOMRange:]): Ditto.
  11716. (-[WebDefaultEditingDelegate webView shouldChangeSelectedDOMRange:toDOMRange:proposedRange affinity:stillSelecting:]):
  11717. Missed adding affinity in last patch.
  11718. * WebView.subproj/WebHTMLView.m:
  11719. (-[WebHTMLView _pasteFromPasteboard:]): Call old method with new name: _replaceSelectionWithArchive
  11720. * WebView.subproj/WebView.m:
  11721. (-[WebView replaceSelectionWithNode:]): New version of insertNode:replacingDOMRange:
  11722. (-[WebView replaceSelectionWithText:]): New version of insertText:replacingDOMRange:
  11723. (-[WebView replaceSelectionWithMarkupString:]): New version of insertMarkupString:replacingDOMRange:
  11724. (-[WebView replaceSelectionWithArchive:]): New version of insertWebArchive:replacingDOMRange:
  11725. (-[WebView deleteSelection]): New version of deleteDOMRange:
  11726. (-[WebView applyStyle:]): New version of applyStyle:toElementsInDOMRange:
  11727. * WebView.subproj/WebViewPrivate.h:
  11728. 2004-04-22 Ken Kocienda <kocienda@apple.com>
  11729. Reviewed by John
  11730. Adds the notion of selection affinity to the editing API, bringing it up to
  11731. date with the latest proposal.
  11732. * WebView.subproj/WebView.m:
  11733. (-[WebView _alterCurrentSelection:direction:granularity:]): Pass selection affinity
  11734. to the delegate. We can just pass the current one since this does not change with arrow keys.
  11735. (-[WebView setSelectedDOMRange:affinity:]): Set the affinity on the selection.
  11736. (-[WebView selectionAffinity]): New accessor.
  11737. (-[WebView insertNode:replacingDOMRange:]): Change to pass selection affinity to call
  11738. to set selection. This is just to get the code to compile for now, since this method
  11739. will soon be removed in place of a similar one from the latest proposal that always
  11740. works on the current selection.
  11741. (-[WebView insertText:replacingDOMRange:]): Ditto.
  11742. (-[WebView insertMarkupString:replacingDOMRange:]): Ditto.
  11743. (-[WebView insertWebArchive:replacingDOMRange:]): Ditto.
  11744. (-[WebView deleteDOMRange:]): Ditto.
  11745. (-[WebView applyStyle:toElementsInDOMRange:]): Ditto.
  11746. * WebView.subproj/WebViewPrivate.h: Add selection affinity to API declarations as needed.
  11747. 2004-04-22 Ken Kocienda <kocienda@apple.com>
  11748. Reviewed by Darin
  11749. Work around this bug:
  11750. <rdar://problem/3630640>: "Calling interpretKeyEvents: in a custom text view can fail to process keys right after app startup"
  11751. * WebView.subproj/WebView.m:
  11752. (-[WebView _editingKeyDown:]): The issue is with a message to nil in AppKit
  11753. key binding manager code. Add call to [NSKeyBindingManager sharedKeyBindingManager] to make
  11754. sure the not-supposed-to-be-nil object is created before calling interpretKeyEvents:.
  11755. 2004-04-22 Ken Kocienda <kocienda@apple.com>
  11756. Reviewed by Hyatt
  11757. Added calls to ensure caret visibility after the editing action is done.
  11758. * WebView.subproj/WebView.m:
  11759. (-[WebView _alterCurrentSelection:direction:granularity:]):
  11760. (-[WebView insertNewline:]):
  11761. (-[WebView deleteBackward:]):
  11762. (-[WebView insertText:]):
  11763. 2004-04-20 Chris Blumenberg <cblu@apple.com>
  11764. Fixed: <rdar://problem/3605209>: "HITLIST: REGRESSION (131-132): iframes/frames no longer dump on layout tests"
  11765. Reviewed by hyatt.
  11766. * WebView.subproj/WebHTMLRepresentation.m:
  11767. (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): the encoding was not being set in the about:blank case. Call receivedData:textEncodingName: as we did in the past to set it.
  11768. 2004-04-20 Ken Kocienda <kocienda@apple.com>
  11769. Reviewed by Hyatt
  11770. Added implementations for these methods.
  11771. * WebView.subproj/WebView.m:
  11772. (-[WebView moveUpAndModifySelection:]):
  11773. (-[WebView moveWordLeft:]):
  11774. (-[WebView moveWordLeftAndModifySelection:]):
  11775. (-[WebView moveWordRight:]):
  11776. (-[WebView moveWordRightAndModifySelection:]):
  11777. 2004-04-20 John Sullivan <sullivan@apple.com>
  11778. - fixed <rdar://problem/3622393>: When in stealth mode, visited webpage
  11779. contents should not be cached to disk
  11780. Reviewed by Ken.
  11781. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  11782. (-[WebBaseResourceHandleDelegate willCacheResponse:]):
  11783. if will cache to disk and in stealth mode, replace cache response with
  11784. an identical one that won't cache to disk.
  11785. 2004-04-19 Ken Kocienda <kocienda@apple.com>
  11786. Reviewed by Hyatt
  11787. * WebView.subproj/WebView.m:
  11788. (-[WebView moveDown:]): Added implementation.
  11789. (-[WebView moveUp:]): Added implementation.
  11790. 2004-04-19 Chris Blumenberg <cblu@apple.com>
  11791. Added support for pasting frames via WebArchives.
  11792. Reviewed by kocienda.
  11793. * WebView.subproj/WebDataSource.m:
  11794. (-[WebDataSource _addSubframeArchives:]): renamed, now allows subframe archives to be added at anytime
  11795. (-[WebDataSource _popSubframeArchiveWithName:]): renamed, now deletes the returned subframe to consume less memory
  11796. (-[WebDataSource _replaceSelectionWithWebArchive:]): added support for subframes
  11797. * WebView.subproj/WebDataSourcePrivate.h:
  11798. * WebView.subproj/WebFrame.m:
  11799. (-[WebFrame _loadRequest:subresources:subframeArchives:]): call renamed methods
  11800. (-[WebFrame _loadURL:intoChild:]): ditto
  11801. * WebView.subproj/WebHTMLRepresentation.m:
  11802. (-[WebHTMLRepresentation loadArchive]): ditto
  11803. === Safari-137 ===
  11804. 2004-04-16 Richard Williamson <rjw@apple.com>
  11805. Added an SPI to allow ObjC instances to be easily bound to
  11806. JS. This is needed by the dashboard guys for their prototyping.
  11807. Eventually they will use new API.
  11808. Reviewed by Chris.
  11809. * WebView.subproj/WebView.m:
  11810. (-[WebView _bindObject:withName:toFrame:]):
  11811. * WebView.subproj/WebViewPrivate.h:
  11812. 2004-04-16 Chris Blumenberg <cblu@apple.com>
  11813. Fixed: <rdar://problem/3587599>: Mail Page, Web Archives don't preserve subframes
  11814. Moved code that assembled subresource URLs from DOM nodes from WebCore to WebKit.
  11815. Reviewed by rjw.
  11816. * DOM.subproj/DOMExtensions.h: copied from WebCore
  11817. * DOM.subproj/WebDOMOperations.h:
  11818. * DOM.subproj/WebDOMOperations.m:
  11819. (-[DOMNode webArchive]): call renamed methods
  11820. (-[DOMNode markupString]): ditto
  11821. (-[DOMNode _URLsFromSelectors:]): new, returns array of URLs given selectors
  11822. (-[DOMNode _subresourceURLs]): new, base class does nothing, subclasses call _URLsFromSelectors with URL selectors
  11823. (-[DOMDocument webFrame]): new
  11824. (-[DOMRange webArchive]): call renamed methods
  11825. (-[DOMRange markupString]): ditto
  11826. (-[DOMHTMLBodyElement _subresourceURLs]): new
  11827. (-[DOMHTMLInputElement _subresourceURLs]): new
  11828. (-[DOMHTMLLinkElement _subresourceURLs]): new
  11829. (-[DOMHTMLScriptElement _subresourceURLs]): new
  11830. (-[DOMHTMLImageElement _subresourceURLs]): new
  11831. (-[DOMHTMLEmbedElement _subresourceURLs]): new
  11832. (-[DOMHTMLObjectElement _subresourceURLs]): new
  11833. (-[DOMHTMLParamElement _subresourceURLs]): new
  11834. (-[DOMHTMLTableElement _subresourceURLs]): new
  11835. (-[DOMHTMLTableCellElement _subresourceURLs]): new
  11836. * WebKit.pbproj/project.pbxproj:
  11837. * WebView.subproj/WebArchive.h:
  11838. * WebView.subproj/WebArchive.m:
  11839. (-[WebArchivePrivate dealloc]): release new subframeArchives ivar
  11840. (-[WebArchive initWithMainResource:subresources:subframeArchives:]): take subframeArchives
  11841. (-[WebArchive _initWithPropertyList:]): new, recursively creates WebArchives
  11842. (-[WebArchive initWithData:]): call _initWithPropertyList
  11843. (-[WebArchive subframeArchives]): new
  11844. (-[WebArchive _propertyListRepresentation]): new, recursively creates property lists of WebArchives
  11845. (-[WebArchive data]): call _propertyListRepresentation
  11846. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  11847. (-[WebBaseResourceHandleDelegate saveResource]): call renamed methods
  11848. * WebView.subproj/WebDataSource.m:
  11849. (-[WebDataSourcePrivate dealloc]): release new pendingSubframeArchives ivar
  11850. (-[WebDataSource _archiveWithMarkupString:nodes:]): renamed and reimplemented, handles subframes
  11851. (-[WebDataSource _archive]): new
  11852. (-[WebDataSource _setPendingSubframeArchives:]): new
  11853. (-[WebDataSource _archiveForFrameName:]): new
  11854. * WebView.subproj/WebDataSourcePrivate.h:
  11855. * WebView.subproj/WebFrame.m:
  11856. (-[WebFrame loadArchive:]): handle subframes
  11857. (-[WebFrame _loadRequest:subresources:subframeArchives:]): ditto
  11858. (-[WebFrame _loadURL:intoChild:]): use the subframe archive if we have it
  11859. (-[WebFrame loadRequest:]): call renamed methods
  11860. * WebView.subproj/WebFramePrivate.h:
  11861. * WebView.subproj/WebHTMLRepresentation.m:
  11862. (-[WebHTMLRepresentation loadWebArchive]): call renamed methods and handle subframes
  11863. * WebView.subproj/WebHTMLView.m:
  11864. (-[WebHTMLView _selectedArchive:]): call renamed methods
  11865. (-[WebHTMLView _pasteFromPasteboard:]): call renamed methods
  11866. * WebView.subproj/WebHTMLViewPrivate.h:
  11867. * WebView.subproj/WebImageRepresentation.h:
  11868. * WebView.subproj/WebImageRepresentation.m: instead of storing some items from the data source, just store the data source
  11869. (-[WebImageRepresentation dealloc]): removed use of deleted ivars
  11870. (-[WebImageRepresentation URL]): use dataSource instead of ivar
  11871. (-[WebImageRepresentation doneLoading]): use new boolean ivar
  11872. (-[WebImageRepresentation setDataSource:]): store the data source
  11873. (-[WebImageRepresentation receivedData:withDataSource:]): use dataSource instead of ivar
  11874. (-[WebImageRepresentation receivedError:withDataSource:]): ditto
  11875. (-[WebImageRepresentation finishedLoadingWithDataSource:]): ditto
  11876. (-[WebImageRepresentation title]): ditto
  11877. (-[WebImageRepresentation data]): ditto
  11878. (-[WebImageRepresentation filename]): ditto
  11879. (-[WebImageRepresentation archive]): ditto
  11880. * WebView.subproj/WebResource.h:
  11881. * WebView.subproj/WebResource.m:
  11882. (-[WebResourcePrivate dealloc]): release new frame name ivar
  11883. (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): take a frame name
  11884. (-[WebResource frameName]): new
  11885. (-[WebResource _initWithPropertyList:]): handle frame name
  11886. (-[WebResource _initWithCachedResponse:originalURL:]): call renamed methods
  11887. (-[WebResource _propertyListRepresentation]):
  11888. * WebView.subproj/WebResourcePrivate.h: handle frame name
  11889. 2004-04-15 David Hyatt <hyatt@apple.com>
  11890. Make sure isOpaque returns NO when the WebHTMLVIew doesn't draw its background.
  11891. Reviewed by darin
  11892. * WebView.subproj/WebFrameView.m:
  11893. (-[WebFrameView isOpaque]):
  11894. * WebView.subproj/WebHTMLView.m:
  11895. (-[WebHTMLView isOpaque]):
  11896. 2004-04-15 John Sullivan <sullivan@apple.com>
  11897. * WebView.subproj/WebPreferencesPrivate.h:
  11898. added comments
  11899. 2004-04-14 Richard Williamson <rjw@apple.com>
  11900. Updated fix for 3576315. Don't hardcode 22 as the titlebar
  11901. height. (Note, other places in CarbonWindowFrame DO hardcode
  11902. window geometry information, yuck!).
  11903. Reviewed by Hyatt.
  11904. * Carbon.subproj/CarbonWindowFrame.m:
  11905. 2004-04-14 John Sullivan <sullivan@apple.com>
  11906. - changed stealth mode preference name from "historyIsFrozen"
  11907. to "privateBrowsingEnabled"
  11908. Reviewed by Darin.
  11909. * WebView.subproj/WebFrame.m:
  11910. (-[WebFrame _transitionToCommitted:]):
  11911. updated for method name change
  11912. * WebView.subproj/WebPreferences.m:
  11913. changed preference key name
  11914. (+[WebPreferences initialize]):
  11915. updated for preference key name change
  11916. (-[WebPreferences setPrivateBrowsingEnabled:]):
  11917. changed name from setHistoryIsFrozen:
  11918. (-[WebPreferences privateBrowsingEnabled]):
  11919. changed name from historyIsFrozen:
  11920. * WebView.subproj/WebPreferencesPrivate.h:
  11921. changed declared method names
  11922. * English.lproj/StringsNotToBeLocalized.txt:
  11923. updated for this and other recent changes
  11924. 2004-04-13 Chris Blumenberg <cblu@apple.com>
  11925. - Added WebElementDOMNodeKey as a potential API so that clients can get the node from an element dictionary.
  11926. - Removed WebElementIsEditableKey. This functionality is available via [DOMNode isContentEditable].
  11927. Reviewed by rjw.
  11928. * DOM.subproj/WebDOMOperations.h:
  11929. * DOM.subproj/WebDOMOperations.m:
  11930. (-[DOMDocument URLWithRelativeString:]): new potential API
  11931. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  11932. (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): indenting tweak
  11933. (-[WebDefaultUIDelegate copyImageToClipboard:]): use WebElementDOMNodeKey
  11934. * WebView.subproj/WebHTMLView.m:
  11935. (-[WebHTMLView _handleMouseDragged:]): use WebElementDOMNodeKey
  11936. (-[WebHTMLView _dragOperationForDraggingInfo:]): use isContentEditable
  11937. * WebView.subproj/WebView.h:
  11938. * WebView.subproj/WebView.m:
  11939. * WebView.subproj/WebViewPrivate.h:
  11940. 2004-04-13 Chris Blumenberg <cblu@apple.com>
  11941. Fixed deployment build failure.
  11942. Reviewed by john.
  11943. * WebView.subproj/WebHTMLView.m:
  11944. (-[WebHTMLView _handleMouseDragged:]): removed use of fileWrapper variable
  11945. 2004-04-12 Chris Blumenberg <cblu@apple.com>
  11946. Factored out WebArchive to DOM code so that it could be used by both [WebHTMLView _pasteFromPasteboard:] and [WebView insertWebArchive:replacingDOMRange:].
  11947. Reviewed by kocienda.
  11948. * WebView.subproj/WebDataSource.m:
  11949. (-[WebDataSource _replaceSelectionWithMarkupString:baseURL:]): moved from WebHTMLView
  11950. (-[WebDataSource _replaceSelectionWithImageResource:]): ditto
  11951. (-[WebDataSource _replaceSelectionWithWebArchive:]): ditto
  11952. * WebView.subproj/WebDataSourcePrivate.h:
  11953. * WebView.subproj/WebHTMLView.m:
  11954. (-[WebHTMLView _replaceSelectionWithMarkupString:]): renamed
  11955. (-[WebHTMLView _pasteFromPasteboard:]): call renamed methods
  11956. * WebView.subproj/WebView.m:
  11957. (-[WebView insertMarkupString:replacingDOMRange:]): call renamed methods
  11958. (-[WebView insertWebArchive:replacingDOMRange:]): have data source handle the archive instead of the bridge
  11959. 2004-04-12 Ken Kocienda <kocienda@apple.com>
  11960. Reviewed by Dave
  11961. Added execCommand support for cut/copy/paste.
  11962. * WebCoreSupport.subproj/WebBridge.m:
  11963. (-[WebBridge issueCutCommand]): Glue for calling from WebCore to do a cut in Cocoa.
  11964. (-[WebBridge issueCopyCommand]): Same as above, but for copy.
  11965. (-[WebBridge issuePasteCommand]): Same as above, but for paste.
  11966. * WebView.subproj/WebHTMLView.m:
  11967. (-[WebHTMLView copy:]): Move this to private implementation category so the bridge can see it.
  11968. (-[WebHTMLView cut:]): Ditto.
  11969. (-[WebHTMLView paste:]): Ditto.
  11970. * WebView.subproj/WebHTMLViewPrivate.h: Move copy;, cut:, and paste: to private implementation
  11971. category so the bridge can see it.
  11972. * WebView.subproj/WebView.m:
  11973. (-[WebView copy:]): Implemented by calling WebHTMLView to do the work.
  11974. (-[WebView cut:]): Ditto.
  11975. (-[WebView paste:]): Ditto.
  11976. * WebView.subproj/WebViewPrivate.h: Added all the NSReponder methods we plan to implement as
  11977. part of the WebKit editing API.
  11978. 2004-04-09 Ken Kocienda <kocienda@apple.com>
  11979. Reviewed by Darin
  11980. Stubbed in the entire WebKit editing API, improving some
  11981. methods already present in minor ways, and adding those
  11982. methods not yet present.
  11983. * WebCoreSupport.subproj/WebBridge.m:
  11984. (-[WebBridge editingKeyDown:]):
  11985. * WebView.subproj/WebDefaultEditingDelegate.m:
  11986. (-[WebDefaultEditingDelegate webView:shouldChangeSelectedDOMRange:toDOMRange:stillSelecting:]):
  11987. * WebView.subproj/WebHTMLView.m:
  11988. (-[WebHTMLView _pasteMarkupString:]):
  11989. * WebView.subproj/WebView.m:
  11990. (-[WebView _alterCurrentSelection:direction:granularity:]):
  11991. (-[WebView _currentSelectionIsEditable]):
  11992. (-[WebView computedStyleForElement:pseudoElement:]):
  11993. (-[WebView _editingKeyDown:]):
  11994. (-[WebView setEditable:]):
  11995. (-[WebView isEditable]):
  11996. (-[WebView setTypingStyle:]):
  11997. (-[WebView typingStyle]):
  11998. (-[WebView setSmartInsertDeleteEnabled:]):
  11999. (-[WebView smartInsertDeleteEnabled]):
  12000. (-[WebView setContinuousSpellCheckingEnabled:]):
  12001. (-[WebView isContinuousSpellCheckingEnabled]):
  12002. (-[WebView spellCheckerDocumentTag]):
  12003. (-[WebView undoManager]):
  12004. (-[WebView insertNode:replacingDOMRange:]):
  12005. (-[WebView insertText:replacingDOMRange:]):
  12006. (-[WebView insertMarkupString:replacingDOMRange:]):
  12007. (-[WebView insertWebArchive:replacingDOMRange:]):
  12008. (-[WebView deleteDOMRange:]):
  12009. (-[WebView applyStyle:toElementsInDOMRange:]):
  12010. (-[WebView centerSelectionInVisibleArea:]):
  12011. (-[WebView moveBackward:]):
  12012. (-[WebView moveBackwardAndModifySelection:]):
  12013. (-[WebView moveDown:]):
  12014. (-[WebView moveDownAndModifySelection:]):
  12015. (-[WebView moveForward:]):
  12016. (-[WebView moveForwardAndModifySelection:]):
  12017. (-[WebView moveLeft:]):
  12018. (-[WebView moveLeftAndModifySelection:]):
  12019. (-[WebView moveRight:]):
  12020. (-[WebView moveRightAndModifySelection:]):
  12021. (-[WebView moveToBeginningOfDocument:]):
  12022. (-[WebView moveToBeginningOfLine:]):
  12023. (-[WebView moveToBeginningOfParagraph:]):
  12024. (-[WebView moveToEndOfDocument:]):
  12025. (-[WebView moveToEndOfLine:]):
  12026. (-[WebView moveToEndOfParagraph:]):
  12027. (-[WebView moveUp:]):
  12028. (-[WebView moveUpAndModifySelection:]):
  12029. (-[WebView moveWordBackward:]):
  12030. (-[WebView moveWordBackwardAndModifySelection:]):
  12031. (-[WebView moveWordForward:]):
  12032. (-[WebView moveWordForwardAndModifySelection:]):
  12033. (-[WebView moveWordLeft:]):
  12034. (-[WebView moveWordLeftAndModifySelection:]):
  12035. (-[WebView moveWordRight:]):
  12036. (-[WebView moveWordRightAndModifySelection:]):
  12037. (-[WebView pageDown:]):
  12038. (-[WebView pageUp:]):
  12039. (-[WebView scrollLineDown:]):
  12040. (-[WebView scrollLineUp:]):
  12041. (-[WebView scrollPageDown:]):
  12042. (-[WebView scrollPageUp:]):
  12043. (-[WebView selectAll:]):
  12044. (-[WebView selectParagraph:]):
  12045. (-[WebView selectLine:]):
  12046. (-[WebView selectWord:]):
  12047. (-[WebView copy:]):
  12048. (-[WebView cut:]):
  12049. (-[WebView paste:]):
  12050. (-[WebView copyFont:]):
  12051. (-[WebView pasteFont:]):
  12052. (-[WebView delete:]):
  12053. (-[WebView pasteAsPlainText:]):
  12054. (-[WebView pasteAsRichText:]):
  12055. (-[WebView changeFont:]):
  12056. (-[WebView changeAttributes:]):
  12057. (-[WebView changeDocumentBackgroundColor:]):
  12058. (-[WebView changeColor:]):
  12059. (-[WebView alignCenter:]):
  12060. (-[WebView alignJustified:]):
  12061. (-[WebView alignLeft:]):
  12062. (-[WebView alignRight:]):
  12063. (-[WebView indent:]):
  12064. (-[WebView insertTab:]):
  12065. (-[WebView insertBacktab:]):
  12066. (-[WebView insertNewline:]):
  12067. (-[WebView insertParagraphSeparator:]):
  12068. (-[WebView changeCaseOfLetter:]):
  12069. (-[WebView uppercaseWord:]):
  12070. (-[WebView lowercaseWord:]):
  12071. (-[WebView capitalizeWord:]):
  12072. (-[WebView deleteForward:]):
  12073. (-[WebView deleteBackward:]):
  12074. (-[WebView deleteBackwardByDecomposingPreviousCharacter:]):
  12075. (-[WebView deleteWordForward:]):
  12076. (-[WebView deleteWordBackward:]):
  12077. (-[WebView deleteToBeginningOfLine:]):
  12078. (-[WebView deleteToEndOfLine:]):
  12079. (-[WebView deleteToBeginningOfParagraph:]):
  12080. (-[WebView deleteToEndOfParagraph:]):
  12081. (-[WebView complete:]):
  12082. (-[WebView checkSpelling:]):
  12083. (-[WebView showGuessPanel:]):
  12084. (-[WebView performFindPanelAction:]):
  12085. (-[WebView startSpeaking:]):
  12086. (-[WebView stopSpeaking:]):
  12087. (-[WebView insertText:]):
  12088. * WebView.subproj/WebViewPrivate.h:
  12089. 2004-04-09 Darin Adler <darin@apple.com>
  12090. Reviewed by Ken.
  12091. - added "transparent mode"
  12092. * WebView.subproj/WebFrameInternal.h: Added. Contains _updateDrawsBackground.
  12093. * WebView.subproj/WebFrame.m:
  12094. (-[WebFrame _makeDocumentView]): Call _updateDrawsBackground to tell the newly created
  12095. KHTMLView whether to draw a background or not.
  12096. (-[WebFrame _setState:]): Don't tell the scroll view to start drawing background if the
  12097. WebView is not supposed to draw a background.
  12098. (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground: on the bridge, and do the
  12099. same for all subframes.
  12100. * WebView.subproj/WebFrameView.m: (-[WebFrameView setFrameSize:]): Only call setDrawsBackground:YES
  12101. on the scroll view if the WebView has drawsBackground set to YES.
  12102. * WebView.subproj/WebViewPrivate.h: Added new proposed API, setDrawsBackground and drawsBackground.
  12103. Also added drawsBackground boolean to private structure.
  12104. * WebView.subproj/WebView.m:
  12105. (-[WebView _commonInitializationWithFrameName:groupName:]): Set drawsBackground to YES by default.
  12106. (-[WebView setDrawsBackground:]): Added. Sets boolean and calls _updateDrawsBackground to update
  12107. the flag for each frame.
  12108. (-[WebView drawsBackground]): Added. Returns value of boolean.
  12109. (-[WebView _bridgeForCurrentSelection]): Tweaked comment for no good reason.
  12110. * WebView.subproj/WebViewInternal.h: Added, but empty for the moment.
  12111. * WebView.subproj/WebFramePrivate.h: Tweaked a bit.
  12112. 2004-04-08 Chris Blumenberg <cblu@apple.com>
  12113. Fixed:
  12114. <rdar://problem/3616873>: support for pasting and drag and dropping of URLS to editable WebViews
  12115. <rdar://problem/3546417>: support for pasting and drag and dropping of images to editable WebViews
  12116. Reviewed by rjw.
  12117. * DOM.subproj/WebDOMOperations.h:
  12118. * DOM.subproj/WebDOMOperations.m:
  12119. (-[DOMNode webArchive]): renamed from "archive" because "archive" collides with DOMHTMLObjectElement's method
  12120. (-[DOMRange webArchive]): ditto
  12121. * Misc.subproj/WebNSPasteboardExtras.h:
  12122. * Misc.subproj/WebNSPasteboardExtras.m:
  12123. (-[NSPasteboard _web_writeImage:URL:title:archive:]): take just an archive instead of an HTML string and file wrapper
  12124. * Misc.subproj/WebNSViewExtras.h:
  12125. * Misc.subproj/WebNSViewExtras.m:
  12126. (-[NSView _web_dragImage:archive:rect:URL:title:event:]): take just an archive instead of an HTML string and file wrapper
  12127. * WebView.subproj/WebDataProtocol.h:
  12128. * WebView.subproj/WebDataProtocol.m:
  12129. (+[NSURL _web_uniqueWebDataURL]): new
  12130. (+[NSURL _web_uniqueWebDataURLWithRelativeString:]): new
  12131. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  12132. (-[WebDefaultUIDelegate copyImageToClipboard:]): call renamed _web_writeImage
  12133. * WebView.subproj/WebFrame.m:
  12134. (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]): use _web_uniqueWebDataURL for creating a URL
  12135. * WebView.subproj/WebHTMLView.m:
  12136. (-[WebHTMLView _pasteImageResource:]): new
  12137. (-[WebHTMLView _pasteFromPasteboard:]): renamed, now handles images and URLs
  12138. (-[WebHTMLView _handleMouseDragged:]): call renamed _web_dragImage
  12139. (-[WebHTMLView paste:]): call renamed _pasteFromPasteboard
  12140. (-[WebHTMLView concludeDragOperation:]): call renamed _pasteFromPasteboard
  12141. * WebView.subproj/WebHTMLViewPrivate.h:
  12142. * WebView.subproj/WebImageRepresentation.h:
  12143. * WebView.subproj/WebImageRepresentation.m:
  12144. (-[WebImageRepresentation archive]): new
  12145. * WebView.subproj/WebImageView.m:
  12146. (-[WebImageView writeImageToPasteboard:]): call renamed _web_writeImage
  12147. (-[WebImageView mouseDragged:]): call renamed _web_dragImage
  12148. === Safari-136 ===
  12149. 2004-04-08 Chris Blumenberg <cblu@apple.com>
  12150. Fixed: <rdar://problem/3548274>: API: DOM API for WebKit clients
  12151. Reviewed by kocienda.
  12152. * DOM.subproj/DOM.h: copied from WebCore
  12153. * WebKit.pbproj/project.pbxproj: made our DOM headers public!
  12154. 2004-04-08 Chris Blumenberg <cblu@apple.com>
  12155. Moved WebArchive to its own file.
  12156. Reviewed by kocienda.
  12157. * WebKit.pbproj/project.pbxproj:
  12158. * WebView.subproj/WebArchive.h: Added.
  12159. * WebView.subproj/WebArchive.m: Added.
  12160. (-[WebArchive data]): renamed from dataRepresentation
  12161. * WebView.subproj/WebDataSource.m:
  12162. * WebView.subproj/WebFrame.m:
  12163. * WebView.subproj/WebHTMLRepresentation.m:
  12164. * WebView.subproj/WebHTMLView.m:
  12165. (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed [WebArchive data]
  12166. * WebView.subproj/WebResource.h:
  12167. * WebView.subproj/WebResource.m:
  12168. 2004-04-07 Chris Blumenberg <cblu@apple.com>
  12169. Created WebDOMOperations which are WebKit-specific categories on DOM objects.
  12170. Reviewed by rjw.
  12171. * DOM.subproj/DOMExtensions.h:
  12172. * DOM.subproj/WebDOMOperations.h: Added.
  12173. * DOM.subproj/WebDOMOperations.m: Added.
  12174. (-[DOMNode _bridge]): new
  12175. (-[DOMNode archive]): new
  12176. (-[DOMNode markupString]): new
  12177. (-[DOMRange _bridge]): new
  12178. (-[DOMRange archive]): new
  12179. (-[DOMRange markupString]): new
  12180. (-[DOMHTMLImageElement image]):
  12181. * WebCoreSupport.subproj/WebBridge.h:
  12182. * WebCoreSupport.subproj/WebBridge.m:
  12183. (-[WebBridge webFrame]): new
  12184. * WebKit.pbproj/project.pbxproj:
  12185. * WebView.subproj/WebDataSource.m:
  12186. (-[WebDataSource _archiveWithMarkupString:subresourceURLStrings:]): moved from WebHTMLRepresentation
  12187. * WebView.subproj/WebDataSourcePrivate.h:
  12188. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  12189. (-[WebDefaultUIDelegate copyImageToClipboard:]): call markupString on the node
  12190. * WebView.subproj/WebDocumentPrivate.h:
  12191. * WebView.subproj/WebFrame.m:
  12192. (+[WebFrame frameForDOMDocument:]): new
  12193. (-[WebFrame loadArchive:]): renamed
  12194. * WebView.subproj/WebFramePrivate.h:
  12195. * WebView.subproj/WebHTMLRepresentation.h:
  12196. * WebView.subproj/WebHTMLRepresentation.m:
  12197. * WebView.subproj/WebHTMLRepresentationPrivate.h:
  12198. * WebView.subproj/WebHTMLView.m:
  12199. (-[WebHTMLView _selectedArchive:]): renamed
  12200. (-[WebHTMLView _handleMouseDragged:]): called renamed methods
  12201. 2004-04-07 Darin Adler <darin@apple.com>
  12202. Reviewed by Chris.
  12203. * DOM.subproj/DOMCSS.h: Updated from WebCore.
  12204. 2004-04-07 Ken Kocienda <kocienda@apple.com>
  12205. Reviewed by Darin and Dave (many weeks ago....I am so ashamed for not landing)
  12206. * WebCoreSupport.subproj/WebBridge.m:
  12207. (-[WebBridge expiresTimeForResponse:]): Now adds in the difference between
  12208. the Mac OS X epoch and the "standard" unix epoch when passing back a time
  12209. that WebCore will use for its cache expiration determinations.
  12210. 2004-04-07 Richard Williamson <rjw@apple.com>
  12211. Fix for 3604388. The runtime version check (_CFExecutableLinkedOnOrAfter) used by many of
  12212. our frameworks doesn't work for CFM apps. So, conditional panther bugs fixes aren't
  12213. being pickup by CFM apps that use WebKit, specifically Contribute. This particular radar
  12214. describes a problem that was conditionally fixed in the AppKit for panther. The work-around
  12215. is to force NSBitmapImageRep to execute to conditional code.
  12216. Reviewed by Maciej.
  12217. * Carbon.subproj/CarbonUtils.m:
  12218. (WebInitForCarbon):
  12219. 2004-04-06 Richard Williamson <rjw@apple.com>
  12220. Fixed 3510805. Only release pool in timer if the current nesting level of the
  12221. pool matches the nesting level when the pool was created.
  12222. Reviewed by Chris.
  12223. * Carbon.subproj/CarbonUtils.m:
  12224. (getNumPools):
  12225. (WebInitForCarbon):
  12226. (PoolCleaner):
  12227. 2004-04-06 Chris Blumenberg <cblu@apple.com>
  12228. Fixed: <rdar://problem/3613974>: remove "to Clipboard" from context menus because it is redundant
  12229. Reviewed by john.
  12230. * English.lproj/Localizable.strings:
  12231. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  12232. (-[WebDefaultUIDelegate menuItemWithTag:]):
  12233. 2004-04-06 Ken Kocienda <kocienda@apple.com>
  12234. Reviewed by Dave
  12235. * WebCoreSupport.subproj/WebBridge.m:
  12236. (-[WebBridge issueUndoCommand]): New method. Forwards call to the undo manager. Added
  12237. to support undo called via Javascript execCommand.
  12238. (-[WebBridge issueRedoCommand]): Ditto.
  12239. 2004-04-05 Chris Blumenberg <cblu@apple.com>
  12240. Fixed: <rdar://problem/3612580>: SPI: WebPlugin selection
  12241. Reviewed by kocienda.
  12242. * Plugins.subproj/WebPlugin.h: extended SPI for selection
  12243. * Plugins.subproj/WebPluginContainer.h: ditto
  12244. * Plugins.subproj/WebPluginController.m:
  12245. (-[WebPluginController selectionColor]): new, calls [WebCoreBridge selectionColor]
  12246. * WebCoreSupport.subproj/WebBridge.m:
  12247. (-[WebBridge setIsSelected:forView:]): new, calls [WebPlugin setIsSelected:]
  12248. (-[WebBridge isViewSelected:]): new, calls [WebPlugin isSelected]
  12249. 2004-04-02 Chris Blumenberg <cblu@apple.com>
  12250. Forgot to add the WebKit copy of DOMExtensions.h.
  12251. * DOM.subproj/DOMExtensions.h: Added.
  12252. 2004-04-02 John Sullivan <sullivan@apple.com>
  12253. Reviewed by Dave.
  12254. * WebView.subproj/WebPreferences.m:
  12255. (-[WebPreferences historyIsFrozen]):
  12256. take out OMIT_TIGER_FEATURES ifdeffing, since if we turn this into API
  12257. then we'll probably want it to work in Panther also. To protect Safari users,
  12258. Safari now explicitly sets historyIsFrozen to NO when starting up in Panther.
  12259. * English.lproj/StringsNotToBeLocalized.txt:
  12260. updated for recent changes
  12261. 2004-04-02 Chris Blumenberg <cblu@apple.com>
  12262. Moved the DOM extensions to their own headers
  12263. Reviewed by kocienda.
  12264. * DOM.subproj/DOM.h: changed from WebCore
  12265. * DOM.subproj/DOMHTML.h: ditto
  12266. * WebKit.pbproj/project.pbxproj: added DOMExtensions.h
  12267. * copy-webcore-files-to-webkit: copy DOMExtensions.h
  12268. === Safari-135 ===
  12269. 2004-04-01 Richard Williamson <rjw@apple.com>
  12270. Fixed 3609493. Don't remove the plugin's view until after
  12271. sending pluginDestroy. This change was requested by Greg
  12272. and is needed in the Lavender update.
  12273. Reviewed by Greg Bolsinga.
  12274. * Plugins.subproj/WebPluginController.m:
  12275. (-[WebPluginController destroyAllPlugins]):
  12276. * Plugins.subproj/npruntime.h:
  12277. 2004-03-31 John Sullivan <sullivan@apple.com>
  12278. - fixed <rdar://problem/3577917>: API: mechanism for displaying error
  12279. page for failed page load
  12280. This was not commented on for a week in macosx-api-reviewers, so it
  12281. has the silent rubber stamp of approval.
  12282. Note that it isn't guarded by "Tiger only" availability macros because
  12283. we (probably) want to use it in Panther for Safari. Maybe what we should
  12284. do is guard the API with "Tiger only" macros but add an SPI version
  12285. that Safari uses?
  12286. Reviewed by Dave.
  12287. * WebView.subproj/WebDataSource.h:
  12288. moved unreachableURL to here
  12289. * WebView.subproj/WebDataSource.m:
  12290. (-[WebDataSource unreachableURL]):
  12291. moved this from private category to main section
  12292. * WebView.subproj/WebDataSourcePrivate.h:
  12293. removed unreachableURL from here
  12294. * WebView.subproj/WebFrame.h:
  12295. moved loadAlternateHTMLString... to here
  12296. * WebView.subproj/WebFrame.m:
  12297. (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]):
  12298. moved this from private category to main section
  12299. * WebView.subproj/WebFramePrivate.h:
  12300. removed unreachableURL from here
  12301. 2004-03-31 Richard Williamson <rjw@apple.com>
  12302. Changed to reflect NP_runtime.h to npruntime.h.
  12303. * copy-webcore-files-to-webkit:
  12304. 2004-03-31 John Sullivan <sullivan@apple.com>
  12305. Reviewed by Darin.
  12306. * WebView.subproj/WebPreferences.m:
  12307. (-[WebPreferences historyIsFrozen]):
  12308. always return NO on Panther and older, so you can't get into a state
  12309. where the WebKit pref is invisibly set and affecting Safari.
  12310. 2004-03-31 Darin Adler <darin@apple.com>
  12311. * WebView.subproj/WebHTMLView.m: Whitespace tweaks.
  12312. 2004-03-30 Chris Blumenberg <cblu@apple.com>
  12313. Fixed: <rdar://problem/3604391>: Plug-in context menus (Flash) don't work in Carbon WebKit applications (e.g., CarbonWeb)
  12314. Reviewed by rjw.
  12315. * Carbon.subproj/HIWebView.m:
  12316. (ContextMenuClick): instead of calling menuForEvent (which is not implemented on our plug-in view) call rightMouseDown and let AppKit handle the rest
  12317. 2004-03-29 John Sullivan <sullivan@apple.com>
  12318. - some support for "Stealth Browsing"; add a preference that
  12319. controls whether a history item is added when a page is visited.
  12320. This is called "historyIsFrozen" for now, but I wouldn't be
  12321. surprised to see this name change.
  12322. Reviewed by Dave.
  12323. * WebView.subproj/WebPreferencesPrivate.h:
  12324. new historyIsFrozen, setHistoryIsFrozen: methods
  12325. * WebView.subproj/WebPreferences.m:
  12326. new WebKitHistoryIsFrozenPreferenceKey
  12327. (+[WebPreferences initialize]):
  12328. set initial value of WebKitHistoryIsFrozenPreferenceKey
  12329. (-[WebPreferences setHistoryIsFrozen:]):
  12330. set value of WebKitHistoryIsFrozenPreferenceKey
  12331. (-[WebPreferences historyIsFrozen]):
  12332. read value of WebKitHistoryIsFrozenPreferenceKey
  12333. * WebView.subproj/WebFrame.m:
  12334. (-[WebFrame _transitionToCommitted:]):
  12335. don't add item to history if history is frozen
  12336. 2004-03-29 Darin Adler <darin@apple.com>
  12337. Reviewed by John.
  12338. - fixed <rdar://problem/3559178>: navigator.language always returns "en"
  12339. * WebCoreSupport.subproj/WebViewFactory.m: (-[WebViewFactory defaultLanguageCode]):
  12340. Call +[NSUserDefaults _web_preferredLanguageCode] rather than returning "en".
  12341. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  12342. 2004-03-26 John Sullivan <sullivan@apple.com>
  12343. - fixed <rdar://problem/3576334>: Printing "empty" page gives print error,
  12344. leaves browser window UI broken
  12345. Reviewed by Dave.
  12346. * WebView.subproj/WebHTMLView.m:
  12347. (-[WebHTMLView knowsPageRange:]):
  12348. AppKit printing mechanism can't handle the case where you tell it there is
  12349. nothing at all to print, so when we hit that case we give it a degenerate
  12350. 1-pixel rect to print. This prints a blank page (with correctly-placed
  12351. header & footer if so configured), which matches other browsers' behavior for
  12352. this page.
  12353. * Plugins.subproj/npruntime.h:
  12354. cvs keeps thinking I've removed a blank line from this auto-copied file.
  12355. Richard said to just check it in to see if it stops doing this.
  12356. === Safari-134 ===
  12357. 2004-03-26 John Sullivan <sullivan@apple.com>
  12358. - fixed the following bugs:
  12359. <rdar://problem/3601630>: command-modified keypresses that would activate links are ignored by WebKit
  12360. <rdar://problem/3601604>: WebActionModifierFlagsKey not set correctly for modified keypresses that activate links
  12361. <rdar://problem/3544946>: cmd-return should open a link in a new tab
  12362. Reviewed by Darin.
  12363. * WebView.subproj/WebFrame.m:
  12364. (-[WebFrame _actionInformationForNavigationType:event:originalURL:]):
  12365. Pass modifier flags always, not just for mouse events. This fixes 3601604.
  12366. * WebView.subproj/WebHTMLView.m:
  12367. (-[WebHTMLView performKeyEquivalent:]):
  12368. Give the bridge a chance to intercept command-modified keypresses. This fixes 3601630.
  12369. Together these two changes fix 3544946.
  12370. 2004-03-25 David Hyatt <hyatt@apple.com>
  12371. Implement the rest of the search field.
  12372. Implement onscroll at the document level.
  12373. Reviewed by darin
  12374. * English.lproj/Localizable.strings:
  12375. * WebCoreSupport.subproj/WebBridge.m:
  12376. * WebCoreSupport.subproj/WebViewFactory.m:
  12377. (-[NSMenu addItemWithTitle:action:tag:]):
  12378. (-[WebViewFactory submitButtonDefaultLabel]):
  12379. (-[WebViewFactory cellMenuForSearchField]):
  12380. * WebView.subproj/WebHTMLView.m:
  12381. (-[WebHTMLView _frameOrBoundsChanged]):
  12382. (-[WebHTMLView viewDidMoveToWindow]):
  12383. * WebView.subproj/WebHTMLViewPrivate.h:
  12384. 2004-03-25 Richard Williamson <rjw@apple.com>
  12385. Netscape plugin API header cleanup.
  12386. Replaced our hacked up version of npapi.h with the
  12387. "official SDK" npapi.h. Moved our changes to the new
  12388. npfunctions.h. npfunctions.h really replaces what was defined in
  12389. the Netscape npupp.h header. However, rather than use the "official SDK"
  12390. npupp.h I think the cleaner npfunctions.h is better. npupp.h actually
  12391. has a bunch of Mac classic specific stuff that is no longer needed.
  12392. Copied npruntime.h to WebKit using Ken's copy-o-matic mechanism.
  12393. Made npapi.h, npruntime.h, and npfunctions.h SPI. With a bit
  12394. more consideration they will become API. They will also eventually be made
  12395. available for other platforms/vendors are mozilla.org.
  12396. Reviewed by Ken.
  12397. * Plugins.subproj/WebBaseNetscapePluginStream.h:
  12398. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  12399. (-[WebBaseNetscapePluginStream dealloc]):
  12400. (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]):
  12401. * Plugins.subproj/WebBaseNetscapePluginView.h:
  12402. * Plugins.subproj/WebNetscapePluginPackage.h:
  12403. * Plugins.subproj/WebNetscapePluginPackage.m:
  12404. (-[WebNetscapePluginPackage load]):
  12405. * Plugins.subproj/npapi.h:
  12406. * Plugins.subproj/npruntime.h: Added.
  12407. * WebKit.pbproj/project.pbxproj:
  12408. * copy-webcore-files-to-webkit:
  12409. 2004-03-24 Darin Adler <darin@apple.com>
  12410. Reviewed by John.
  12411. - fixed <rdar://problem/3566805>: REGRESSION: When the subject of mailto is 2 byte Safari failed to send mail address and subject to Mail.app
  12412. * Misc.subproj/WebNSURLExtras.m: (applyHostNameFunctionToMailToURLString): Update to handle hostnames
  12413. that end just before a '?' since a '?' ends the entire part of the URL that can contain hostnames.
  12414. Also change the logic so that the '?' will successfully end the search.
  12415. 2004-03-24 Ken Kocienda <kocienda@apple.com>
  12416. Reviewed by me
  12417. * DOM.subproj/DOMHTML.h: Checking in copied over version of
  12418. modified file.
  12419. 2004-03-23 David Hyatt <hyatt@apple.com>
  12420. Fix for 3513627, HTML mail prints upside down occasionally. Change printing so that it never resizes the
  12421. WebHTMLView when formatting for printing. When computing page rects, instead of using the view's bounds,
  12422. use the root layer's width instead.
  12423. Reviewed by darin
  12424. * WebView.subproj/WebHTMLView.m:
  12425. (-[WebHTMLView knowsPageRange:]):
  12426. === Safari-133 ===
  12427. 2004-03-17 David Hyatt <hyatt@apple.com>
  12428. Expose ageLimitDate so that the autocomplete code can access it.
  12429. Reviewed by john
  12430. * History.subproj/WebHistory.m:
  12431. (-[WebHistory ageLimitDate]):
  12432. * History.subproj/WebHistoryPrivate.h:
  12433. 2004-03-17 Richard Williamson <rjw@apple.com>
  12434. Fixed 3591667. Plugin view is added to view hierarchy before calling init.
  12435. Reviewed by Ken.
  12436. * WebView.subproj/WebHTMLView.m:
  12437. (-[WebHTMLView addSubview:]):
  12438. 2004-03-16 Darin Adler <darin@apple.com>
  12439. * DOM.subproj/DOMHTML.h: Updated from WebCore.
  12440. * DOM.subproj/DOMRange.h: Ditto.
  12441. 2004-03-16 Darin Adler <darin@apple.com>
  12442. Reviewed by Ken.
  12443. - update for new DOM namespacing and header organization
  12444. * DOM.subproj/DOM.h: Changed to include the other DOM headers.
  12445. * DOM.subproj/DOMCSS.h: Added.
  12446. * DOM.subproj/DOMCore.h: Added.
  12447. * DOM.subproj/DOMEvents.h: Added.
  12448. * DOM.subproj/DOMHTML.h: Added.
  12449. * DOM.subproj/DOMRange.h: Added.
  12450. * DOM.subproj/DOMStylesheets.h: Added.
  12451. * DOM.subproj/DOMTraversal.h: Added.
  12452. * DOM.subproj/DOMViews.h: Added.
  12453. * WebKit.pbproj/project.pbxproj: Added new files.
  12454. * WebView.subproj/WebDefaultEditingDelegate.m:
  12455. (-[WebDefaultEditingDelegate webView:shouldApplyStyle:toElementsInDOMRange:]):
  12456. (-[WebDefaultEditingDelegate webView:shouldChangeTypingStyle:toStyle:]):
  12457. Change class names from CSS to DOMCSS.
  12458. * WebView.subproj/WebViewPrivate.h: Ditto.
  12459. * copy-webcore-files-to-webkit: Add new files.
  12460. 2004-03-15 Ken Kocienda <kocienda@apple.com>
  12461. Reviewed by John
  12462. Fix for this bug:
  12463. <rdar://problem/3588717>: REGRESSION (125-131u): Tabbing to links and tabbing in bookmarks view no longer works
  12464. WebView can't lay claim to -keyDown: just for editing events, as
  12465. this gets in the way of tab processing. The solution is to give
  12466. WebView a private method for processing editing key events fed to
  12467. it from over the bridge, and leave -keyDown: unimplemented.
  12468. * WebCoreSupport.subproj/WebBridge.m:
  12469. (-[WebBridge editingKeyDown:]): Changed from -keyDown: to keep
  12470. terminology consistent with renamed WebView -editingKeyDown: method.
  12471. * WebView.subproj/WebView.m:
  12472. (-[WebView editingKeyDown:]): Give WebView a method to handle
  12473. editing key events in a way that does not interfere with other key down
  12474. events it processes.
  12475. * WebView.subproj/WebViewPrivate.h: Declare -editingKeyDown: method.
  12476. === Safari-132 ===
  12477. 2004-03-15 Darin Adler <darin@apple.com>
  12478. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  12479. 2004-03-12 Darin Adler <darin@apple.com>
  12480. Reviewed by Ken.
  12481. - fixed <rdar://problem/3433887>: copied &nbsp; characters remain non-breaking spaces; other browsers give normal spaces
  12482. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _writeSelectionToPasteboard:]):
  12483. Convert non-breaking spaces to the normal kind in the plain text part of the pasteboard.
  12484. 2004-03-12 Ken Kocienda <kocienda@apple.com>
  12485. Reviewed by Chris
  12486. * WebView.subproj/WebView.m:
  12487. (-[WebView _alterCurrentSelection:direction:granularity:]): Changed name from
  12488. _alterSelection:direction:granularity: to give a little extra clarity. Also, the
  12489. body calls through to renamed rangeByAlteringCurrentSelection:direction:granularity:
  12490. in WebCore.
  12491. (-[WebView moveRight:]): Now calls renamed _alterCurrentSelection:direction:granularity:.
  12492. (-[WebView moveRightAndModifySelection:]): Ditto.
  12493. (-[WebView moveLeft:]): Ditto.
  12494. (-[WebView moveLeftAndModifySelection:]): Ditto.
  12495. 2004-03-11 Richard Williamson <rjw@apple.com>
  12496. Workaround for 3585644. Force the window number of the
  12497. mouse moved event to be correct.
  12498. Reviewed by Chris.
  12499. * Carbon.subproj/CarbonWindowFrame.m:
  12500. * Carbon.subproj/HIWebView.m:
  12501. (MouseMoved):
  12502. (MouseDragged):
  12503. 2004-03-11 Ken Kocienda <kocienda@apple.com>
  12504. Reviewed by Dave
  12505. Various changes to begin implementing the draft API proposal.
  12506. * DOM.subproj/DOM.h: Checking in generated file.
  12507. * WebCoreSupport.subproj/WebBridge.m:
  12508. (-[WebBridge registerCommandForUndo:]): Now takes an id, a wrapped
  12509. WebCore EditCommand implementation object.
  12510. (-[WebBridge registerCommandForRedo:]): Ditto.
  12511. (-[WebBridge clearUndoRedoOperations]): Use the web view's undo manager.
  12512. (-[WebBridge keyDown:]): Pass keyDown events through to the web view.
  12513. * WebKit.pbproj/project.pbxproj:
  12514. * WebView.subproj/WebDefaultEditingDelegate.h: Added.
  12515. * WebView.subproj/WebDefaultEditingDelegate.m: Added. Stubbed in default
  12516. implementations declared in the draft editing API.
  12517. * WebView.subproj/WebFrame.m:
  12518. (-[WebFramePrivate dealloc]): WebFrame no longer has an undo manager.
  12519. * WebView.subproj/WebFramePrivate.h: Ditto.
  12520. * WebView.subproj/WebHTMLView.m:
  12521. (-[WebHTMLView _selectedWebArchive:]): selectedRange method
  12522. is now selectedDOMRange.
  12523. * WebView.subproj/WebView.m:
  12524. (-[WebViewPrivate dealloc]): Dealloc new editingDelegateForwarder.
  12525. (-[WebView _editingDelegateForwarder]): Added.
  12526. (-[WebView keyDown:]): Added.
  12527. (-[WebView _bridgeForCurrentSelection]): Added.
  12528. (-[WebView setSelectedDOMRange:]): Added.
  12529. (-[WebView selectedDOMRange]): Added.
  12530. (-[WebView insertText:]): Added.
  12531. (-[WebView _alterSelection:direction:granularity:]): Added.
  12532. (-[WebView selectWord:]): Added.
  12533. (-[WebView moveRight:]): Added.
  12534. (-[WebView moveRightAndModifySelection:]): Added.
  12535. (-[WebView moveLeft:]): Added.
  12536. (-[WebView moveLeftAndModifySelection:]): Added.
  12537. (-[WebView deleteBackward:]): Added.
  12538. (-[WebView insertNewline:]): Added.
  12539. (-[WebView insertParagraphSeparator:]): Added.
  12540. (-[WebView setEditingDelegate:]): Added.
  12541. (-[WebView editingDelegate]): Added.
  12542. (-[WebView undoManager]): Added.
  12543. (-[WebView insertText:replacingDOMRange:]): Added.
  12544. * WebView.subproj/WebViewPrivate.h: Added a collection of editing API
  12545. declarations that will be public some day, but are still under review.
  12546. 2004-03-11 John Sullivan <sullivan@apple.com>
  12547. - fixed <rdar://problem/3585056>: Assertion failure if error page is loaded from
  12548. webView:unableToImplementPolicyWithError:
  12549. - also added HeaderDoc comments to could-be-API-soon methods and fixed a
  12550. conceptual problem with said methods
  12551. Reviewed by Darin.
  12552. * WebView.subproj/WebDataSourcePrivate.h:
  12553. added HeaderDoc comment for -unreachableURL
  12554. * WebView.subproj/WebFramePrivate.h:
  12555. added HeaderDoc comment for -loadAlternateHTMLString:baseURL:forUnreachableURL:;
  12556. also added boolean delegateIsHandlingUnimplementablePolicy ivar to WebFramePrivate
  12557. * WebView.subproj/WebFrame.m:
  12558. (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]):
  12559. treat delegateIsHandlingUnimplementablePolicy like delegateIsDecidingNavigationPolicy.
  12560. Safari serves up error pages during the latter but clients are equally or more likely
  12561. to do so during the former.
  12562. (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]):
  12563. set delegateIsHandlingUnimplementablePolicy during delegate callback
  12564. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
  12565. tweaked assertion so it doesn't erroneously fire for clients that call
  12566. loadAlternateHTML:baseURL:forUnreachableURL: while processing
  12567. webView:unableToImplementPolicyWithError:
  12568. 2004-03-11 Chris Blumenberg <cblu@apple.com>
  12569. Made WebArchive a class instead of a data object. This allows clients to easily get the main resource and subresources from a WebArchive.
  12570. Reviewed by kocienda.
  12571. * WebKit.exp:
  12572. * WebView.subproj/WebDocumentPrivate.h:
  12573. * WebView.subproj/WebFrame.m:
  12574. (-[WebFrame loadWebArchive:]):
  12575. * WebView.subproj/WebFramePrivate.h:
  12576. * WebView.subproj/WebHTMLRepresentation.m:
  12577. (-[WebHTMLRepresentation loadWebArchive]):
  12578. (-[WebHTMLRepresentation _webArchiveWithMarkupString:subresourceURLStrings:]):
  12579. (-[WebHTMLRepresentation webArchiveFromNode:]):
  12580. (-[WebHTMLRepresentation webArchiveFromRange:]):
  12581. * WebView.subproj/WebHTMLRepresentationPrivate.h:
  12582. * WebView.subproj/WebHTMLView.m:
  12583. (-[WebHTMLView _selectedWebArchive:]):
  12584. (-[WebHTMLView _writeSelectionToPasteboard:]):
  12585. (-[WebHTMLView _pasteMarkupFromPasteboard:]):
  12586. * WebView.subproj/WebResource.h:
  12587. * WebView.subproj/WebResource.m:
  12588. (-[WebArchivePrivate dealloc]):
  12589. (-[WebResource _response]):
  12590. (-[WebArchive init]):
  12591. (-[WebArchive initWithMainResource:subresources:]):
  12592. (-[WebArchive initWithData:]):
  12593. (-[WebArchive dealloc]):
  12594. (-[WebArchive mainResource]):
  12595. (-[WebArchive subresources]):
  12596. (-[WebArchive dataRepresentation]):
  12597. * WebView.subproj/WebResourcePrivate.h:
  12598. 2004-03-10 Chris Blumenberg <cblu@apple.com>
  12599. Made dragging of web archives work.
  12600. Reviewed by rjw.
  12601. * English.lproj/StringsNotToBeLocalized.txt: updated
  12602. * WebView.subproj/WebMainResourceClient.m:
  12603. (-[WebMainResourceClient connection:didReceiveResponse:]): added a FIXME about working around old Foundations that don't know about web archive files
  12604. * WebView.subproj/WebView.m:
  12605. (+[WebView canShowFile:]): tweak
  12606. (+[WebView suggestedFileExtensionForMIMEType:]): tweak
  12607. (+[WebView _MIMETypeForFile:]): handle web archive files since Foundation may be too old to know about them
  12608. 2004-03-09 Chris Blumenberg <cblu@apple.com>
  12609. Made web archives use NSPropertyListBinaryFormat_v1_0 instead of NSPropertyListXMLFormat_v1_0 because NSPropertyListBinaryFormat_v1_0 is 3-5 times faster to serialize and parse.
  12610. Reviewed by rjw.
  12611. * WebView.subproj/WebResource.m:
  12612. (+[WebResource _parseWebArchive:mainResource:subresources:]): add timing code
  12613. (+[WebResource _webArchiveWithMainResource:subresources:]): add timing code, use NSPropertyListBinaryFormat_v1_0
  12614. 2004-03-09 Chris Blumenberg <cblu@apple.com>
  12615. Fixed: <rdar://problem/3577508>: API: web archive related API's
  12616. Implemented WebKit side of: <rdar://problem/3144033>: ability to save web sites (images and all)
  12617. Reviewed by rjw.
  12618. * WebCoreSupport.subproj/WebBridge.h:
  12619. * WebCoreSupport.subproj/WebBridge.m:
  12620. (-[WebBridge receivedData:textEncodingName:]): renamed to take a textEncodingName instead of data source. The data source argument is only needed for the textEncodingName.
  12621. * WebKit.exp:
  12622. * WebView.subproj/WebDataSource.m:
  12623. (-[WebDataSource _subresourcesDictionary]): new
  12624. (+[WebDataSource _repTypesAllowImageTypeOmission:]): include "application/x-webarchive"
  12625. * WebView.subproj/WebDataSourcePrivate.h:
  12626. * WebView.subproj/WebDocumentInternal.h:
  12627. * WebView.subproj/WebDocumentPrivate.h:
  12628. * WebView.subproj/WebFrame.m:
  12629. (-[WebFrame loadWebArchive:]): renamed, code factored out to [WebResource _parseWebArchive:mainResource:subresources:]
  12630. * WebView.subproj/WebFramePrivate.h:
  12631. * WebView.subproj/WebFrameView.m:
  12632. (+[WebFrameView _viewTypesAllowImageTypeOmission:]): include "application/x-webarchive"
  12633. * WebView.subproj/WebHTMLRepresentation.h:
  12634. * WebView.subproj/WebHTMLRepresentation.m:
  12635. (-[WebHTMLRepresentationPrivate dealloc]):
  12636. (-[WebHTMLRepresentation _isDisplayingWebArchive]): new
  12637. (-[WebHTMLRepresentation receivedData:withDataSource:]): don't feed data to WebCore if we're displaying a web archive since web archive can't be progressively loaded
  12638. (-[WebHTMLRepresentation loadWebArchive]): new, feeds web archive data to WebCore
  12639. (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): call loadWebArchive if necessary
  12640. (-[WebHTMLRepresentation documentSource]): if displaying a web archive, return the HTML source from within the archive
  12641. (-[WebHTMLRepresentation _webArchiveWithMarkupString:subresourceURLStrings:]): new
  12642. (-[WebHTMLRepresentation markupStringFromNode:]): implementation of new API
  12643. (-[WebHTMLRepresentation markupStringFromRange:]): ditto
  12644. (-[WebHTMLRepresentation webArchiveFromNode:]): ditto
  12645. (-[WebHTMLRepresentation webArchiveFromRange:]): ditto
  12646. * WebView.subproj/WebHTMLRepresentationPrivate.h:
  12647. * WebView.subproj/WebHTMLView.m:
  12648. (+[WebHTMLView _selectionPasteboardTypes]): use renamed WebArchivePboardType
  12649. (-[WebHTMLView _selectedWebArchive:]): renamed, call renamed methods
  12650. (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed methods
  12651. (-[WebHTMLView _haveSelection]): indentation tweak
  12652. (-[WebHTMLView _canDelete]): ditto
  12653. (-[WebHTMLView _canPaste]): ditto
  12654. (-[WebHTMLView _pasteMarkupFromPasteboard:]): renamed, call [WebResource _webArchiveWithMainResource:subresources:]
  12655. (-[WebHTMLView initWithFrame:]): use renamed WebArchivePboardType
  12656. (-[WebHTMLView paste:]): call renamed _pasteMarkupFromPasteboard
  12657. (-[WebHTMLView concludeDragOperation:]): call renamed _pasteMarkupFromPasteboard
  12658. * WebView.subproj/WebHTMLViewPrivate.h:
  12659. * WebView.subproj/WebMainResourceClient.m:
  12660. (-[WebMainResourceClient connection:didReceiveResponse:]): modify the MIME type for web archives since Foundation is not yet web archive aware. This is ifdef'd pre-Tiger code.
  12661. * WebView.subproj/WebResource.h:
  12662. * WebView.subproj/WebResource.m:
  12663. (+[WebResource _parseWebArchive:mainResource:subresources:]): new
  12664. (+[WebResource _webArchiveWithMainResource:subresources:]): new
  12665. * WebView.subproj/WebResourcePrivate.h:
  12666. 2004-03-09 John Sullivan <sullivan@apple.com>
  12667. - fixed the following bugs:
  12668. <rdar://problem/3579715>: Going to an error page in back/forward list doesn't work
  12669. correctly in some cases
  12670. <rdar://problem/3581031>: REGRESSION (130+): World Leak of WebFrame after trying
  12671. to load page with unknown scheme
  12672. Reviewed by Darin.
  12673. * WebView.subproj/WebDataSourcePrivate.h:
  12674. renamed __setRequest -> __adoptRequest
  12675. * WebView.subproj/WebDataSource.m:
  12676. (-[WebDataSource _URLForHistory]):
  12677. updated comment
  12678. (-[WebDataSource __adoptRequest:]):
  12679. Renamed from __setRequest; now takes an NSMutableURLRequest and uses it as-is.
  12680. (-[WebDataSource _setRequest:]):
  12681. now saves a mutable copy, instead of relying on the caller to do so. The
  12682. (only) caller wasn't doing so in all cases, leading to trouble in River City.
  12683. Also, special-case unreachable URL handling to allow alternate content to
  12684. replace a URL in a redirect-like way without sending a redirect callback.
  12685. * WebView.subproj/WebFrame.m:
  12686. (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]):
  12687. renamed after discussion with Richard (was loadPlaceholderHTMLString:baseURL:unreachableURL:)
  12688. (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]):
  12689. new helper method, returns YES only if we receive a load request for alternate
  12690. content from a delegate for an unreachable URL while we are going back or forward.
  12691. That's a lot of prepositions!
  12692. (-[WebFrame _loadRequest:subresources:]):
  12693. if _shouldReloadToHandleUnreachableURLFromRequest: returns YES, change load type
  12694. to WebFrameLoadTypeReload so b/f list is preserved appropriately.
  12695. (-[WebFrame _transitionToCommitted:]):
  12696. Update currentItem in the unreachableURL case.
  12697. (-[WebFrame _isLoadComplete]):
  12698. Don't reset b/f list before calling provisionalLoadDidFail delegate; instead, determine
  12699. where to reset b/f list beforehand, and then actually reset list afterwards only if we
  12700. didn't start an alternate content load in the delegate. Also, set new boolean ivar so we
  12701. know when we're processing a provisionalLoadDidFail delegate callback.
  12702. (-[WebFrame _loadItem:withLoadType:]):
  12703. don't make extra copy before calling __adoptRequest; just pass it the one we made here.
  12704. (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
  12705. If we're loading alternate content for an unreachableURL, don't ask the decision listener,
  12706. just do it. (This avoids problem with nested calls to checking the navigation policy that
  12707. led to a WebFrame leak, and is conceptually the right thing to do also.) Also added some
  12708. asserts that helped me track down the WebFrame leak. Set new boolean ivar so we know
  12709. when we're processing a navigation policy delegate decision.
  12710. (-[WebFrame _currentBackForwardListItemToResetTo]):
  12711. new method, replaces _resetBackForwardListToCurrent. Does the same test as the
  12712. latter but returns a boolean rather than actually resetting.
  12713. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
  12714. save dataSource in a local var before calling stopLoading, and use it for
  12715. _setProvisionalDataSource, because otherwise stopLoading was clobbering the dataSource
  12716. for an unreachable URL handling case.
  12717. * WebView.subproj/WebFramePrivate.h:
  12718. two new boolean ivars
  12719. * WebView.subproj/WebView.m:
  12720. (+[WebView _canHandleRequest:]):
  12721. return YES when we're loading alternate content for an unreachable URL
  12722. === Safari-131 ===
  12723. 2004-03-08 Ken Kocienda <kocienda@apple.com>
  12724. Reviewed by Darin
  12725. * WebKit.pbproj/project.pbxproj: Added CFBundleName to Info.plist
  12726. 2004-03-05 Chris Blumenberg <cblu@apple.com>
  12727. Fixed: <rdar://problem/3560132>: REGRESSION: Safari crashed in -[NSPasteboard setData:forType:] dragging a map out of Mapquest.com
  12728. Reviewed by john.
  12729. * Misc.subproj/WebNSPasteboardExtras.m:
  12730. (-[NSPasteboard _web_writeImage:URL:title:fileWrapper:HTMLString:]): declare the pboard types by calling _web_writeURL:::: before calling setData::
  12731. 2004-03-05 John Sullivan <sullivan@apple.com>
  12732. First cut at WebKit support for showing error pages for unreachable URLs.
  12733. This doesn't work quite right with the back/forward list yet, but is
  12734. good enough for demos.
  12735. Reviewed by Darin.
  12736. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  12737. (-[WebBaseResourceHandleDelegate didReceiveResponse:]):
  12738. use new _webDataRequextExternalURL to share code
  12739. * WebView.subproj/WebDataProtocol.h:
  12740. Three new methods (all internal to WebKit):
  12741. -[NSURLRequest _webDataRequestUnreachableURL], -[NSURLRequest _webDataRequestExternalURL],
  12742. -[NSURLRequest _webDataRequestSetUnreachableURL]
  12743. * WebView.subproj/WebDataProtocol.m:
  12744. new unreachableURL field of WebDataRequestParameters
  12745. (-[WebDataRequestParameters copyWithZone:]):
  12746. copy new field
  12747. (-[WebDataRequestParameters dealloc]):
  12748. release new field
  12749. (-[NSURLRequest _webDataRequestUnreachableURL]):
  12750. read new field
  12751. (-[NSURLRequest _webDataRequestExternalURL]):
  12752. new method, returns baseURL or "about:blank" for webdata protocol requests. This
  12753. was done in multiple places previously.
  12754. (-[NSURLRequest _webDataRequestExternalRequest]):
  12755. now calls _webDataRequestExternalURL to share code
  12756. (-[NSMutableURLRequest _webDataRequestSetUnreachableURL:]):
  12757. write new field
  12758. * WebView.subproj/WebDataSource.m:
  12759. (-[WebDataSource unreachableURL]):
  12760. new method, might become API; returns the unreachable URL, if any, for which this datasource
  12761. holds placeholder content
  12762. (-[WebDataSource _URLForHistory]):
  12763. new method, returns the URL to be stored in History for this dataSource. This returns nil
  12764. for run-of-the-mill WebDataProtocol URLs (replacing code elsewhere that checked for this
  12765. case) but returns the unreachableURL for the case where this datasource holds placeholder
  12766. content.
  12767. (-[WebDataSource _setTitle:]):
  12768. now calls _URLForHistory
  12769. * WebView.subproj/WebDataSourcePrivate.h:
  12770. added unreachableURL in the should-become-API section, and _URLForHistory elsewhere
  12771. * WebView.subproj/WebFrame.m:
  12772. (-[WebFrame loadPlaceholderHTMLString:baseURL:unreachableURL:]):
  12773. new should-become-API method for displaying an error page for an unreachable URL
  12774. (-[WebFrame loadPropertyList:]):
  12775. updated to pass nil for unreachableURL
  12776. (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
  12777. added unreachableURL parameter, which gets set on the data request
  12778. (-[WebFrame _addBackForwardItemClippedAtTarget:]):
  12779. use _URLForHistory instead of just checking for WebDataProtocol
  12780. (-[WebFrame _createItem:]):
  12781. use unreachableURL if there is one
  12782. (-[WebFrame _transitionToCommitted:]):
  12783. use _URLForHistory instead of just checking for WebDataProtocol
  12784. (-[WebFrame _isLoadComplete]):
  12785. check whether a new load has started in the delegate callback and if so, don't
  12786. reset the loading state here
  12787. (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
  12788. added unreachableURL parameter, which gets passed through
  12789. (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]):
  12790. send nil unreachableURL parameter
  12791. (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]):
  12792. new bottleneck method for loadHTMLString:baseURL: and loadPlaceholderHTMLString:baseURL:unreachableURL:;
  12793. this is the guts of loadHTMLString:baseURL: with the new unreachableURL parameter passed through
  12794. (-[WebFrame loadHTMLString:baseURL:]):
  12795. now calls new bottleneck method
  12796. * WebView.subproj/WebFramePrivate.h:
  12797. added loadPlaceholderString:baseURL:unreachableURL: to should-be-API section; added unreachableURL
  12798. parameter to _webDataRequestForData:MIMEType:textEncodingName:baseURL:
  12799. 2004-03-04 Chris Blumenberg <cblu@apple.com>
  12800. - Made image dragging and copying always work without needing to re-download by using the data source's WebResource of the image instead of relying on the Foundation cache.
  12801. - Fixed a "drag to self" problem I introduced in my last check-in. You could drag a URL from a WebHTMLView and drop it on its own WebView which we shouldn't allow.
  12802. Reviewed by rjw.
  12803. * ChangeLog:
  12804. * WebCoreSupport.subproj/WebBridge.m:
  12805. (-[WebBridge fileWrapperForURL:]): call _fileWrapperForURL on WebDataSource
  12806. * WebView.subproj/WebDataSource.m:
  12807. (-[WebDataSource _fileWrapperForURL:]): moved from WebView, creates a wrapper from a WebResource
  12808. * WebView.subproj/WebDataSourcePrivate.h:
  12809. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  12810. (-[WebDefaultUIDelegate copyImageToClipboard:]): call [WebDataSource _fileWrapperForURL:]
  12811. * WebView.subproj/WebHTMLView.m:
  12812. (-[WebHTMLView _handleMouseDragged:]): call [WebDataSource _fileWrapperForURL:]
  12813. (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call [WebDataSource _fileWrapperForURL:]
  12814. (-[WebHTMLView _dragOperationForDraggingInfo:]): new, factored out from draggingUpdated:
  12815. (-[WebHTMLView draggingEntered:]): call _dragOperationForDraggingInfo:, if NSDragOperationNone, forward to WebView to it can handle the drag
  12816. (-[WebHTMLView draggingUpdated:]): ditto
  12817. (-[WebHTMLView concludeDragOperation:]): ditto
  12818. * WebView.subproj/WebResource.m:
  12819. (-[WebResource _fileWrapperRepresentation]): new
  12820. * WebView.subproj/WebResourcePrivate.h:
  12821. * WebView.subproj/WebView.m:
  12822. (-[WebViewPrivate dealloc]): release draggedTypes, a new ivar that keeps track of drag types that we're currently registered for
  12823. (-[WebView _setDraggedTypes:]): new
  12824. (-[WebView unregisterDraggedTypes]): new, calls _setDraggedTypes then super
  12825. (-[WebView registerForDraggedTypes:]): ditto
  12826. (-[WebView _dragOperationForDraggingInfo:]): new, compares the types on the pasteboard against the types we are currently registered for. Normally the AppKit handles this for us, but since these messages can be forwarded from WebHTMLView, we need to do this comparison ourselves.
  12827. (-[WebView draggingEntered:]): calls _dragOperationForDraggingInfo:
  12828. (-[WebView draggingUpdated:]): ditto
  12829. (-[WebView concludeDragOperation:]): ditto
  12830. * WebView.subproj/WebViewPrivate.h: define new draggedTypes ivar
  12831. 2004-03-03 Chris Blumenberg <cblu@apple.com>
  12832. Fixed a typo.
  12833. * WebView.subproj/WebHTMLView.m:
  12834. (-[WebHTMLView concludeDragOperation:]):
  12835. 2004-03-03 Chris Blumenberg <cblu@apple.com>
  12836. Fixed: <rdar://problem/3576070>: REGRESSION: web view won't accept drag of webloc file
  12837. Reviewed by rjw.
  12838. * WebView.subproj/WebHTMLView.m:
  12839. (-[WebHTMLView draggingUpdated:]): if we're not handling the drag, forward this message to the WebView since it may want to handle it
  12840. (-[WebHTMLView concludeDragOperation:]): if we're not handling the drag, forward this message to the WebView since it may want to handle it
  12841. 2004-03-03 Darin Adler <darin@apple.com>
  12842. Reviewed by Vicki.
  12843. * English.lproj/InfoPlist.strings: Removed. No need to localize the version and
  12844. copyright string, and that's all that was in here.
  12845. * WebKit.pbproj/project.pbxproj: Removed InfoPlist.strings from build.
  12846. 2004-03-03 Ken Kocienda <kocienda@apple.com>
  12847. Reviewed by Chris
  12848. * copy-webcore-files-to-webkit: Fixed up this script so that
  12849. it does not fail if it is running "non-locally", like for
  12850. B&I. The idiom is to check these files into WebKit after
  12851. copying them from WebCore, hence this script is merely
  12852. a convenience to keep the files in sync.
  12853. 2004-03-02 Ken Kocienda <kocienda@apple.com>
  12854. Reviewed by me
  12855. * DOM.subproj/DOM.h: Checked in header copied over
  12856. from WebCore.
  12857. 2004-03-02 Richard Williamson <rjw@apple.com>
  12858. Added WebJavaScriptObject API. The location of this file may
  12859. change.
  12860. Reviewed by Chris.
  12861. * Plugins.subproj/NP_objc.h: Added.
  12862. * WebKit.pbproj/project.pbxproj:
  12863. 2004-03-02 Chris Blumenberg <cblu@apple.com>
  12864. Fixed: <rdar://problem/3575598>: REGRESSION: Safari crashes at IS&T website
  12865. Reviewed by darin.
  12866. * WebView.subproj/WebDataSource.m:
  12867. (-[WebDataSourcePrivate dealloc]): don't stop the icon loader here because that can cause an infinite loop
  12868. (-[WebDataSource _stopLoadingInternal]): always stop the icon loader here instead of just when the data source is loading as well.
  12869. === Safari-130 ===
  12870. 2004-03-02 Ken Kocienda <kocienda@apple.com>
  12871. Reviewed by me
  12872. * DOM.subproj/DOM.h: Rollout last night's checkin.
  12873. The tree was closed.
  12874. 2004-03-01 Chris Blumenberg <cblu@apple.com>
  12875. Fixed: <rdar://problem/3574979>: REGRESSION (129-TOT): crash loading macromedia.com
  12876. deliverResource was being called after it had already been called in setDefersCallbacks:.
  12877. Reviewed by rjw.
  12878. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  12879. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  12880. (-[WebBaseResourceHandleDelegate deliverResource]): set deliveredResource to YES
  12881. (-[WebBaseResourceHandleDelegate deliverResourceAfterDelay]): new, calls deliverResource after a delay
  12882. (-[WebBaseResourceHandleDelegate loadWithRequest:]): call deliverResourceAfterDelay
  12883. (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): call deliverResourceAfterDelay
  12884. 2004-03-01 Ken Kocienda <kocienda@apple.com>
  12885. Reviewed by me
  12886. * DOM.subproj/DOM.h: Checked in header copied over
  12887. from WebCore.
  12888. 2004-03-01 Ken Kocienda <kocienda@apple.com>
  12889. Reviewed by me
  12890. * DOM.subproj/DOM.h: Oh, it's like the Keystone Cops this afternoon...
  12891. Backed out an unintended change to thsi file.
  12892. 2004-03-01 Ken Kocienda <kocienda@apple.com>
  12893. Reviewed by me
  12894. * copy-webcore-files-to-webkit: Dumb typing error on my part in making
  12895. my previous quick fix. This quick fix works.
  12896. 2004-03-01 Chris Blumenberg <cblu@apple.com>
  12897. Updated the WebKit project file to 1.1 because a previous check-in reverted to 1.01.
  12898. * WebKit.pbproj/project.pbxproj:
  12899. 2004-03-01 Ken Kocienda <kocienda@apple.com>
  12900. Reviewed by me
  12901. * copy-webcore-files-to-webkit: Made this file buildit-compliant
  12902. 2004-03-01 Chris Blumenberg <cblu@apple.com>
  12903. Found a bug in my last check-in. If a load that originates from a WebResource is cancelled before the data from the WebResource is delivered, callbacks are sent anyway.
  12904. Reviewed by rjw.
  12905. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  12906. (-[WebBaseResourceHandleDelegate cancelWithError:]): cancel the perform request for deliverResource
  12907. 2004-03-01 Chris Blumenberg <cblu@apple.com>
  12908. Reviewed by darin.
  12909. * Misc.subproj/WebIconLoader.m:
  12910. (-[WebIconLoader didFinishLoading]): rejigger handle code to avoid Deployment failure
  12911. * WebKit.pbproj/project.pbxproj:
  12912. 2004-03-01 Chris Blumenberg <cblu@apple.com>
  12913. - Made WebResource loading not use Foundation at all. This allows "Mail Page" and paste to more directly load subresources without any indirection involving NSURLConnection and the Foundation cache.
  12914. - Made WebIconLoader a subclass of WebBaseResourceHandleDelegate. This makes favicons appear in the activity window among other things.
  12915. Reviewed by kocienda.
  12916. * Misc.subproj/WebIconLoader.h:
  12917. * Misc.subproj/WebIconLoader.m: removed connection and data ivars since WebBaseResourceHandleDelegate holds these
  12918. (-[WebIconLoaderPrivate dealloc]): removed calls to deleted ivars
  12919. (-[WebIconLoader URL]): call renamed request ivar
  12920. (-[WebIconLoader startLoading]): call loadWithRequest
  12921. (-[WebIconLoader stopLoading]): call cancel
  12922. (-[WebIconLoader didFinishLoading]):
  12923. * Plugins.subproj/WebNetscapePluginStream.m:
  12924. (-[WebNetscapePluginConnectionDelegate didReceiveResponse:]): renamed to be connection-less since callbacks may came from a WebResource and not an NSURLConnection
  12925. (-[WebNetscapePluginConnectionDelegate didReceiveData:lengthReceived:]): ditto
  12926. (-[WebNetscapePluginConnectionDelegate didFinishLoading]): ditto
  12927. (-[WebNetscapePluginConnectionDelegate didFailWithError:]): ditto
  12928. * WebCoreSupport.subproj/WebSubresourceClient.m:
  12929. (-[WebSubresourceClient didReceiveResponse:]): ditto
  12930. (-[WebSubresourceClient didReceiveData:lengthReceived:]): ditto
  12931. (-[WebSubresourceClient didFinishLoading]): ditto
  12932. (-[WebSubresourceClient didFailWithError:]): ditto
  12933. * WebKit.pbproj/project.pbxproj:
  12934. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  12935. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  12936. (-[WebBaseResourceHandleDelegate loadWithRequest:]): instead of storing the resource in the Foundation cache in order to later load it from the cache, deliver the callbacks ourselves after a delay
  12937. (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): call deliverResource if callbacks are turned back on
  12938. (-[WebBaseResourceHandleDelegate deliverResource]): new, calls didReceiveResponse:, didReceiveData:lengthReceived:, and didFinishLoading
  12939. (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]): renamed to be connection-less since callbacks may came from a WebResource and not an NSURLConnection
  12940. (-[WebBaseResourceHandleDelegate didReceiveAuthenticationChallenge:]): ditto
  12941. (-[WebBaseResourceHandleDelegate didCancelAuthenticationChallenge:]): ditto
  12942. (-[WebBaseResourceHandleDelegate didReceiveResponse:]): ditto
  12943. (-[WebBaseResourceHandleDelegate didReceiveData:lengthReceived:]): ditto
  12944. (-[WebBaseResourceHandleDelegate didFinishLoading]): ditto
  12945. (-[WebBaseResourceHandleDelegate didFailWithError:]): ditto
  12946. (-[WebBaseResourceHandleDelegate willCacheResponse:]): ditto
  12947. (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): calls connection-less version of this method
  12948. (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): ditto
  12949. (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): ditto
  12950. (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): ditto
  12951. (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): ditto
  12952. (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): ditto
  12953. (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): ditto
  12954. (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): ditto
  12955. (-[WebBaseResourceHandleDelegate cancelWithError:]): call renamed _completeProgressForConnectionDelegate on WebView
  12956. (-[WebBaseResourceHandleDelegate cancelledError]): tweak
  12957. * WebView.subproj/WebDataSource.m:
  12958. (-[WebDataSource _loadIcon]): set the data source on the icon loader so it can callback
  12959. * WebView.subproj/WebResource.m:
  12960. (-[WebResource _response]): new, factored out from _cachedResponseRepresentation
  12961. (-[WebResource _cachedResponseRepresentation]): call _response
  12962. * WebView.subproj/WebResourcePrivate.h:
  12963. * WebView.subproj/WebView.m:
  12964. (-[WebView _incrementProgressForConnectionDelegate:response:]): renamed to be connection-less
  12965. (-[WebView _incrementProgressForConnectionDelegate:data:]): ditto
  12966. (-[WebView _completeProgressForConnectionDelegate:]): ditto
  12967. * WebView.subproj/WebViewPrivate.h:
  12968. 2004-03-01 Ken Kocienda <kocienda@apple.com>
  12969. Reviewed by Darin
  12970. Changed all Objective-C DOM classes from protocols to classes.
  12971. * DOM.subproj/DOM-compat.h:
  12972. * DOM.subproj/DOM.h:
  12973. * WebCoreSupport.subproj/WebBridge.m:
  12974. (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:]):
  12975. (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
  12976. * WebView.subproj/WebFormDelegate.h:
  12977. * WebView.subproj/WebFormDelegate.m:
  12978. (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:]):
  12979. * WebView.subproj/WebFrame.m:
  12980. (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
  12981. (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
  12982. (-[WebFormState initWithForm:values:sourceFrame:]):
  12983. (-[WebFormState form]):
  12984. * WebView.subproj/WebFramePrivate.h:
  12985. * WebView.subproj/WebHTMLRepresentation.h:
  12986. * WebView.subproj/WebHTMLRepresentation.m:
  12987. (-[WebHTMLRepresentation DOMDocument]):
  12988. (-[WebHTMLRepresentation setSelectionFrom:startOffset:to:endOffset:]):
  12989. (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
  12990. (-[WebHTMLRepresentation elementWithName:inForm:]):
  12991. (-[WebHTMLRepresentation elementForView:]):
  12992. (-[WebHTMLRepresentation elementDoesAutoComplete:]):
  12993. (-[WebHTMLRepresentation elementIsPassword:]):
  12994. (-[WebHTMLRepresentation formForElement:]):
  12995. (-[WebHTMLRepresentation controlsInForm:]):
  12996. (-[WebHTMLRepresentation searchForLabels:beforeElement:]):
  12997. (-[WebHTMLRepresentation matchLabels:againstElement:]):
  12998. 2004-02-27 John Sullivan <sullivan@apple.com>
  12999. - WebKit changes to allow performance improvements to bookmarks
  13000. Reviewed by Darin.
  13001. * History.subproj/WebHistoryItemPrivate.h:
  13002. added notificationsSuppressed/setNotificationsSuppressed, and setURLString
  13003. * History.subproj/WebHistoryItem.m:
  13004. (-[WebHistoryItem setNotificationsSuppressed:]):
  13005. setter for new flag. When this flag is set, making changes to the WebHistoryItem
  13006. will not cause WebHistoryChanged notifications to be sent. This is a big speedup
  13007. for reading bookmarks from disk, since currently each WebBookmarkLeaf object
  13008. keeps around a WebHistoryItem object that isn't really part of history and thus
  13009. doesn't need to send notifications about history changing.
  13010. (-[WebHistoryItem notificationsSuppressed]):
  13011. getter for new flag
  13012. (-[WebHistoryItem setURLString:]):
  13013. new method, extracted from guts of setURL:; this allows callers (though
  13014. currently only callers at Apple) that have a URL string in hand to set
  13015. it directly on the WebHistoryItem rather than converting to a URL and
  13016. back, both relatively slow operations. Also, doesn't sent a notification
  13017. if notifications are suppressed.
  13018. (-[WebHistoryItem setURL:]):
  13019. now calls extracted method
  13020. (-[WebHistoryItem setAlternateTitle:]):
  13021. doesn't send notification if notifications are suppressed
  13022. (-[WebHistoryItem setOriginalURLString:]):
  13023. ditto
  13024. (-[WebHistoryItem setTitle:]):
  13025. ditto
  13026. (-[WebHistoryItem _setLastVisitedTimeInterval:]):
  13027. ditto
  13028. 2004-02-26 Chris Blumenberg <cblu@apple.com>
  13029. WebKit side of:
  13030. <rdar://problem/3056566>: mail a link to this page
  13031. <rdar://problem/2961206>: implement ability to e-mail entire page
  13032. Reviewed by john.
  13033. * English.lproj/StringsNotToBeLocalized.txt:
  13034. * Misc.subproj/WebIconDatabase.m:
  13035. (-[WebIconDatabase _createFileDatabase]): tweaks
  13036. (-[WebIconDatabase _loadIconDictionaries]): fixed an assertion failure I found in Blot. Keep the original list of icon URLs as a separate list when doing the initial clean-up so we don't over release any icons.
  13037. (-[WebIconDatabase _updateFileDatabase]): tweaks
  13038. (-[WebIconDatabase _setIcon:forIconURL:]): tweaks
  13039. (-[WebIconDatabase _releaseIconForIconURLString:]): tweaks
  13040. (-[WebIconDatabase _retainOriginalIconsOnDisk]): use the original list of icons on disk instead of the current list
  13041. (-[WebIconDatabase _releaseOriginalIconsOnDisk]): use the original list of icons on disk instead of the current list
  13042. * Misc.subproj/WebIconDatabasePrivate.h:
  13043. * WebKit.exp:
  13044. * WebKit.pbproj/project.pbxproj:
  13045. * WebView.subproj/WebDataSource.m:
  13046. (-[WebDataSource _propertyListWithData:subresourceURLStrings:]): new, code moved from [WebHTMLView _selectedPropertyList:], creates property list rep of data and subresources
  13047. (-[WebDataSource propertyList]): does the above with all the data source data, this is what "Mail Page" uses
  13048. * WebView.subproj/WebDataSourcePrivate.h:
  13049. * WebView.subproj/WebFrame.m:
  13050. (-[WebFrame loadPropertyList:]): renamed from loadHTMLPropertyList because the property list may contain non-HTML data
  13051. * WebView.subproj/WebFramePrivate.h:
  13052. * WebView.subproj/WebHTMLView.m:
  13053. (-[WebHTMLView _selectedPropertyList:]): renamed, code moved to [WebDataSource _propertyListWithData:subresourceURLStrings:]
  13054. (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed _selectedPropertyList
  13055. 2004-02-26 Ken Kocienda <kocienda@apple.com>
  13056. Reviewed by Chris
  13057. Updated usage of DOM SPI to use new names and conventions.
  13058. Unless indicated otherwise, the changes were to update protocol names for, which
  13059. changed from using a "WebDOM" prefix to a "DOM" prefix, and changing now need
  13060. only include the DOM.h header from WebKit to get everything.
  13061. * DOM.subproj/DOM-compat.h: Added. This header contains some compatibility declarations
  13062. to work with older clients of our DOM SPI. Though this file is checked into WebKit,
  13063. it really lives and should be updated in WebCore. It is copied into WebKit by the build
  13064. system as needed.
  13065. * DOM.subproj/DOM.h: Added. This file includes the new "guts" of the DOM SPI. As above,
  13066. this file is checked into WebKit, it really lives and should be updated in WebCore.
  13067. It is copied into WebKit by the build system as needed.
  13068. * DOM.subproj/WebDOMDocument.h: Removed declarations. Now just includes DOM.h and DOM-compat.h
  13069. * DOM.subproj/WebDOMDocument.m: Removed.
  13070. * DOM.subproj/WebDOMElement.h: Removed declarations. Now just includes DOM.h and DOM-compat.h
  13071. * DOM.subproj/WebDOMElement.m: Removed.
  13072. * DOM.subproj/WebDOMNode.h: Removed declarations. Now just includes DOM.h and DOM-compat.h
  13073. * DOM.subproj/WebDOMNode.m: Removed.
  13074. * WebCoreSupport.subproj/WebBridge.m:
  13075. (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:])
  13076. (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:])
  13077. * WebKit.pbproj/project.pbxproj:
  13078. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  13079. * WebView.subproj/WebFormDelegate.h:
  13080. * WebView.subproj/WebFormDelegate.m:
  13081. (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:])
  13082. * WebView.subproj/WebFrame.h: Unrelated change. Removed -undoManager accessor from public header. Moved to private header.
  13083. * WebView.subproj/WebFrame.m:
  13084. (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:])
  13085. (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:])
  13086. (-[WebFrame undoManager]): Moved -undoManager accessor to private category implementation.
  13087. (-[WebFormState initWithForm:values:sourceFrame:])
  13088. (-[WebFormState form])
  13089. (-[WebFrame childFrames])
  13090. * WebView.subproj/WebFramePrivate.h: Moved in -undoManager accessor.
  13091. * WebView.subproj/WebHTMLRepresentation.h:
  13092. * WebView.subproj/WebHTMLRepresentation.m:
  13093. (-[WebHTMLRepresentation DOMDocument])
  13094. (-[WebHTMLRepresentation setSelectionFrom:startOffset:to:endOffset:])
  13095. (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:])
  13096. (-[WebHTMLRepresentation elementWithName:inForm:])
  13097. (-[WebHTMLRepresentation elementForView:])
  13098. (-[WebHTMLRepresentation elementDoesAutoComplete:])
  13099. (-[WebHTMLRepresentation elementIsPassword:])
  13100. (-[WebHTMLRepresentation formForElement:])
  13101. (-[WebHTMLRepresentation controlsInForm:])
  13102. (-[WebHTMLRepresentation searchForLabels:beforeElement:])
  13103. (-[WebHTMLRepresentation matchLabels:againstElement:])
  13104. * WebView.subproj/WebHTMLView.m:
  13105. * copy-webcore-files-to-webkit: Added. Copies DOM.h and DOM-compat.h from WebCore when they
  13106. have been updated there.
  13107. 2004-02-25 John Sullivan <sullivan@apple.com>
  13108. WebKit part of fix for <rdar://problem/3546370>: add a way to tab to menus,
  13109. checkmarks, and buttons without turning on Full Keyboard Acceess
  13110. Reviewed by Ken.
  13111. * WebCoreSupport.subproj/WebBridge.m:
  13112. (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
  13113. turn on WebCoreKeyboardAccessFull bit whenever we turn on
  13114. WebCoreKeyboardAccessTabsToLinks bit
  13115. 2004-02-24 Chris Blumenberg <cblu@apple.com>
  13116. I forgot to add these files in my last check-in.
  13117. * WebView.subproj/WebResource.h: Added.
  13118. * WebView.subproj/WebResource.m: Added.
  13119. (-[WebResourcePrivate dealloc]):
  13120. (-[WebResource initWithData:URL:MIMEType:textEncodingName:]):
  13121. (-[WebResource dealloc]):
  13122. (-[WebResource data]):
  13123. (-[WebResource URL]):
  13124. (-[WebResource MIMEType]):
  13125. (-[WebResource textEncodingName]):
  13126. (+[WebResource _resourcesFromPropertyLists:]):
  13127. (+[WebResource _propertyListsFromResources:]):
  13128. (-[WebResource _initWithPropertyList:]):
  13129. (-[WebResource _initWithCachedResponse:originalURL:]):
  13130. (-[WebResource _propertyListRepresentation]):
  13131. (-[WebResource _cachedResponseRepresentation]):
  13132. * WebView.subproj/WebResourcePrivate.h: Added.
  13133. 2004-02-24 Chris Blumenberg <cblu@apple.com>
  13134. Fixed: <rdar://problem/3565476>: design/implement new pasteboard type for HTML that includes subresources
  13135. Reviewed by rjw.
  13136. * Plugins.subproj/WebNetscapePluginStream.m:
  13137. (-[WebNetscapePluginConnectionDelegate initWithStream:view:]): don't manage buffer, WebBaseResourceHandleDelegate does this now
  13138. (-[WebNetscapePluginConnectionDelegate releaseResources]): ditto
  13139. (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]): ditto
  13140. (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): ditto
  13141. * WebKit.exp:
  13142. * WebKit.pbproj/project.pbxproj:
  13143. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  13144. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  13145. (-[WebBaseResourceHandleDelegate releaseResources]): release resourceData and resource
  13146. (-[WebBaseResourceHandleDelegate loadWithRequest:]): check the dataSource for a resource, load that if we have one
  13147. (-[WebBaseResourceHandleDelegate addData:]): new, adds data to resourceData
  13148. (-[WebBaseResourceHandleDelegate saveResource]): new, saves data as a resource on the dataSource
  13149. (-[WebBaseResourceHandleDelegate saveResourceWithCachedResponse:]): new, replaces the resource on the dataSource to save memory
  13150. (-[WebBaseResourceHandleDelegate resourceData]): new
  13151. (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): call addData:
  13152. (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): call saveResource
  13153. (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): new, calls saveResourceWithCachedResponse:
  13154. * WebView.subproj/WebDataSource.m:
  13155. (-[WebDataSourcePrivate dealloc]): release subresources
  13156. (-[WebDataSource subresources]): new, returns the subresources of the data source
  13157. (-[WebDataSource subresourceForURL:]): new, returns a resource for a URL
  13158. (-[WebDataSource addSubresource:]): new
  13159. (-[WebDataSource addSubresources:]): new
  13160. (-[WebDataSource _receivedData:]): added an assert
  13161. (-[WebDataSource _setData:]): replaces the data of the data source
  13162. (-[WebDataSource initWithRequest:]): create subresources
  13163. * WebView.subproj/WebDataSourcePrivate.h:
  13164. * WebView.subproj/WebFrame.m:
  13165. (-[WebFrame loadHTMLPropertyList:]): new, loads a frame from an HTML plist
  13166. (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:]): new, factored out from loadData:MIMEType:textEncodingName:baseURL:
  13167. (-[WebFrame _loadRequest:subresources:]): new, factored out from loadRequest:, handles subresources
  13168. (-[WebFrame loadRequest:]): now just calls _loadRequest:subresources:
  13169. * WebView.subproj/WebFramePrivate.h:
  13170. * WebView.subproj/WebHTMLView.m:
  13171. (-[WebHTMLView _dataSource]): new internal convenience
  13172. (+[WebHTMLView _selectionPasteboardTypes]): renamed from _pasteboardTypes to be more precise
  13173. (-[WebHTMLView _selectedHTMLPropertyList:]): new, constructs an HTML plist from the selection
  13174. (-[WebHTMLView _writeSelectionToPasteboard:]): calls _selectedHTMLPropertyList to support WebHTMLPboardType
  13175. (-[WebHTMLView _pasteHTMLFromPasteboard:]): added support for pasting WebHTMLPboardType
  13176. (+[WebHTMLView initialize]): call renamed _selectionPasteboardTypes
  13177. (-[WebHTMLView initWithFrame:]): allow WebHTMLPboardType to be dragged in
  13178. (-[WebHTMLView validRequestorForSendType:returnType:]): call renamed _selectionPasteboardTypes
  13179. * WebView.subproj/WebHTMLViewPrivate.h:
  13180. * WebView.subproj/WebMainResourceClient.m:
  13181. (-[WebMainResourceClient addData:]): override since the main resource does it's own buffering
  13182. (-[WebMainResourceClient saveResource]): override to do nothing since the main resource is not saved as a subresource
  13183. (-[WebMainResourceClient saveResourceWithCachedResponse:]): override, calls _setData on the data source to
  13184. (-[WebMainResourceClient connection:didReceiveData:lengthReceived:]):
  13185. * WebView.subproj/WebResource.h: Added.
  13186. * WebView.subproj/WebResource.m: Added. New class the represents the data, URL, MIME type and textEncodingName of a resource.
  13187. (-[WebResourcePrivate dealloc]):
  13188. (-[WebResource initWithData:URL:MIMEType:textEncodingName:]):
  13189. (-[WebResource dealloc]):
  13190. (-[WebResource data]):
  13191. (-[WebResource URL]):
  13192. (-[WebResource MIMEType]):
  13193. (-[WebResource textEncodingName]):
  13194. (-[WebResource description]):
  13195. (+[WebResource _resourcesFromPropertyLists:]):
  13196. (+[WebResource _propertyListsFromResources:]):
  13197. (-[WebResource _initWithPropertyList:]):
  13198. (-[WebResource _propertyListRepresentation]):
  13199. (-[WebResource _initWithCachedResponse:originalURL:]):
  13200. (-[WebResource _cachedResponseRepresentation]):
  13201. * WebView.subproj/WebResourcePrivate.h: Added.
  13202. * WebView.subproj/WebView.m:
  13203. === Safari-129 ===
  13204. 2004-02-20 Darin Adler <darin@apple.com>
  13205. Reviewed by mjs.
  13206. - fix build breakage caused by removal of kWindowNoBufferingAttribute.
  13207. * Carbon.subproj/CarbonWindowAdapter.m:
  13208. (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
  13209. always used a retained backing store type
  13210. 2004-02-20 Chris Blumenberg <cblu@apple.com>
  13211. Fixed: <rdar://problem/3563402>: when copying HTML, relative URLs should be made absolute
  13212. Reviewed by dave.
  13213. * WebView.subproj/WebHTMLRepresentation.h:
  13214. * WebView.subproj/WebHTMLRepresentation.m:
  13215. (-[WebHTMLRepresentation HTMLString]): renamed from reconstructed source to be more analogous with other data get methods
  13216. * WebView.subproj/WebHTMLView.m:
  13217. (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed selectedHTML on the bridge
  13218. 2004-02-19 John Sullivan <sullivan@apple.com>
  13219. - WebKit part of fix for <rdar://problem/3292380>: Cycle Tabs keyboard shortcut
  13220. (cmd-shift-arrows) conflicts with text editing
  13221. Reviewed by Chris.
  13222. * WebView.subproj/WebFrameView.m:
  13223. (-[WebFrameView keyDown:]):
  13224. If shift key is down along with an arrow key, call super rather than eating
  13225. event since we don't handle any shifted events here.
  13226. 2004-02-15 Darin Adler <darin@apple.com>
  13227. Reviewed by John and Don.
  13228. - discovered that jaguar.com doesn't need spoofing any more, so removed
  13229. the spoofing machinery entirely; if we ever have to bring it back we
  13230. can, but I doubt we will
  13231. * WebView.subproj/WebView.m: Removed include of WebUserAgentSpoofTable.c.
  13232. (-[WebViewPrivate dealloc]): Release the new single userAgent rather than
  13233. the array and userAgentOverride we used to.
  13234. (-[WebView _preferencesChangedNotification:]): Release the single user agent,
  13235. rather than the entire cache. Also only do it when the user agent is not
  13236. overridden.
  13237. (-[WebView setApplicationNameForUserAgent:]): Ditto.
  13238. (-[WebView setCustomUserAgent:]): Set the new userAgentOverridden boolean,
  13239. and also set userAgent itself.
  13240. (-[WebView customUserAgent]): Return userAgent, but only if userAgentOverridden
  13241. is true.
  13242. (-[WebView userAgentForURL:]): Simplify, now that there's no automatic spoofing
  13243. to do. Made even simpler by the fact that custom and computed user agents both
  13244. share the same field now.
  13245. * WebView.subproj/WebViewPrivate.h: Got rid of UserAgentStringType, turned the
  13246. userAgent field into a single item instead of an array, and replaced the
  13247. userAgentOverride field with a boolean userAgentOverridden field.
  13248. * Makefile.am: Removed the rule to build WebUserAgentSpoofTable.c.
  13249. * WebView.subproj/WebUserAgentSpoofTable.c: Removed.
  13250. * WebView.subproj/WebUserAgentSpoofTable.gperf: Removed.
  13251. 2004-02-15 Darin Adler <darin@apple.com>
  13252. Reviewed by Dave.
  13253. * WebKit.pbproj/project.pbxproj: Tweak build styles a bit, fixing OptimizedWithSymbols,
  13254. and removing redundant settings of things that match defaults in other build styles.
  13255. 2004-02-12 Maciej Stachowiak <mjs@apple.com>
  13256. Reviewed by John.
  13257. - redo visited link history checking for a 2% speed improvement
  13258. * History.subproj/WebHistory.m:
  13259. (-[_WebCoreHistoryProvider containsItemForURLString:]): Removed.
  13260. (-[_WebCoreHistoryProvider containsItemForURLLatin1:length:]): Implemented.
  13261. For https and http URLs with empty path, add a slash. Make a CFString
  13262. using the passed-in latin1 buffer without copying.
  13263. (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]): Ditto
  13264. for unicode.
  13265. (matchLetter): New static helper function.
  13266. (matchUnicodeLetter): Ditto.
  13267. === Safari-128 ===
  13268. 2004-02-10 Ken Kocienda <kocienda@apple.com>
  13269. Reviewed by Hyatt
  13270. * WebCoreSupport.subproj/WebBridge.m:
  13271. (-[WebBridge registerCommandForUndo]): Some cleanup. Cookie for events no longer needed.
  13272. (-[WebBridge registerCommandForRedo]): Ditto.
  13273. (-[WebBridge clearUndoRedoOperations]): Tells the Cocoa undo manager to clear
  13274. steps targeted at the bridge.
  13275. * WebView.subproj/WebFrame.h: Declare undo manager accessor.
  13276. * WebView.subproj/WebFrame.m:
  13277. (-[WebFramePrivate dealloc]): Release undo manager
  13278. (-[WebFrame undoManager]): Allocate and return an undo manager. This helps
  13279. undo in a browser to be per tab.
  13280. * WebView.subproj/WebFramePrivate.h: Declare undo manager ivar.
  13281. 2004-02-08 Darin Adler <darin@apple.com>
  13282. Reviewed by Dave.
  13283. - fixed things seen in the profile, for a total speedup of 4% on cvs-base
  13284. - fixed some layout regressions from my last speedup due to text measurement inconsistencies by adding
  13285. a flag to control whether word rounding is done or not
  13286. - fixed text measurement to be used with AppKit to match AppKit again, as it did at some point in the past
  13287. * WebCoreSupport.subproj/WebTextRenderer.h: Remove some unused fields, and added a field to say whether we
  13288. treat this font as fixed pitch.
  13289. * WebCoreSupport.subproj/WebTextRenderer.m:
  13290. (getUncachedWidth): Remove space width hack from this level. There was already a width hack up at the higher
  13291. level for space itself, so there's not a significant speed benefit, and the higher level can make a more
  13292. intelligent choice based on the current rounding setting since it's not cached.
  13293. (-[WebTextRenderer _computeWidthForSpace]): Don't store so many widths; just the adjusted width we will
  13294. actually use.
  13295. (widthForNextCharacter): Use two different rules for when to adjust space widths, based on whether this is
  13296. a fixed pitch font or not. Also, don't do any adjusting of space widths if applyWordRounding is false.
  13297. * Misc.subproj/WebKitNSStringExtras.m:
  13298. (-[NSString _web_drawAtPoint:font:textColor:]): Turn off rounding, so we get the kind of spacing AppKit would normally give.
  13299. (-[NSString _web_widthWithFont:]): Ditto.
  13300. * Misc.subproj/WebStringTruncator.m: (stringWidth): Ditto.
  13301. 2004-02-08 Darin Adler <darin@apple.com>
  13302. - fixed things seen in the profile, for a total speedup of 3.7% on cvs-base
  13303. * Misc.subproj/WebNSURLExtras.m: (-[NSURL _web_userVisibleString]): Check for "xn--" as we
  13304. walk the string instead of in a separate call to strcasestr. Faster this way.
  13305. 2004-02-07 Darin Adler <darin@apple.com>
  13306. * WebKit.pbproj/project.pbxproj: Get rid of the DEPLOYMENT_LOCATION and DEPLOYMENT_POSTPROCESSING
  13307. flags that were in the Deployment build style. These were causing the need to chmod all the time
  13308. after building WebCore successfully, and were doing us no good.
  13309. 2004-02-06 Darin Adler <darin@apple.com>
  13310. * Resources/missing_image.tiff: Compressed with compress-tiffs; saved 15890 bytes.
  13311. === Safari-127 ===
  13312. 2004-02-05 Ken Kocienda <kocienda@apple.com>
  13313. Reviewed by Hyatt
  13314. Added so that editing can hook into Cocoa undo architecture.
  13315. * WebCoreSupport.subproj/WebBridge.m:
  13316. (-[WebBridge registerCommandForUndo:]):
  13317. 2004-02-04 David Hyatt <hyatt@apple.com>
  13318. Fix deployment build bustage.
  13319. * Plugins.subproj/WebBaseNetscapePluginView.m:
  13320. (ConsoleConnectionChangeNotifyProc):
  13321. 2004-02-04 Chris Blumenberg <cblu@apple.com>
  13322. Fixed: <rdar://problem/3546028>: Safari should not give plug-ins any time, thus use 0% CPU, when not in the currently active session
  13323. Reviewed by john.
  13324. * Plugins.subproj/WebBaseNetscapePluginView.m:
  13325. (+[WebBaseNetscapePluginView initialize]): observe CG changes
  13326. (-[WebBaseNetscapePluginView addWindowObservers]): observe user switch notifications
  13327. (-[WebBaseNetscapePluginView removeWindowObservers]): stop observing user switch notifications
  13328. (-[WebBaseNetscapePluginView viewHasMoved:]): tweak
  13329. (-[WebBaseNetscapePluginView windowWillClose:]): tweak
  13330. (-[WebBaseNetscapePluginView windowBecameKey:]): tweak
  13331. (-[WebBaseNetscapePluginView windowResignedKey:]): tweak
  13332. (-[WebBaseNetscapePluginView windowDidMiniaturize:]): tweak
  13333. (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): tweak
  13334. (-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]): new, stop null events
  13335. (-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]): new, restart null events
  13336. (ConsoleConnectionChangeNotifyProc): new, post user switch notifications
  13337. 2004-02-02 John Sullivan <sullivan@apple.com>
  13338. Reviewed by Darin.
  13339. * Misc.subproj/WebNSURLExtras.h:
  13340. * Misc.subproj/WebNSURLExtras.m:
  13341. (-[NSURL _web_URLWithLowercasedScheme]):
  13342. new method, returns a URL whose scheme has been tolower'ed
  13343. * English.lproj/StringsNotToBeLocalized.txt:
  13344. Updated for recent changes.
  13345. 2004-02-02 Chris Blumenberg <cblu@apple.com>
  13346. Fixed: <rdar://problem/3546924>: REGRESSION: dragging text or images over a WebView is jerky
  13347. Reviewed by mjs.
  13348. * DOM.subproj/WebDOMNode.h: added HTMLString to the protocol
  13349. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  13350. (-[WebDefaultUIDelegate copyImageToClipboard:]): get the HTML representation via the DOM node
  13351. * WebView.subproj/WebHTMLView.m:
  13352. (-[WebHTMLView _handleMouseDragged:]): get the HTML representation via the DOM node
  13353. * WebView.subproj/WebView.h: removed the HTML string element key constant
  13354. * WebView.subproj/WebView.m: removed the HTML string element key constant
  13355. 2004-02-02 Chris Blumenberg <cblu@apple.com>
  13356. Fixed: <rdar://problem/3546426>: when copying images via context menus, only some data is added to the pasteboard
  13357. Reviewed by john.
  13358. * Misc.subproj/WebNSPasteboardExtras.h:
  13359. * Misc.subproj/WebNSPasteboardExtras.m:
  13360. (-[NSPasteboard _web_writeImage:URL:title:fileWrapper:HTMLString:]): new, writes and image, URL and other optional arguments to the pasteboard
  13361. * Misc.subproj/WebNSViewExtras.m:
  13362. (-[NSView _web_dragImage:fileWrapper:rect:URL:title:HTMLString:event:]): factored code out to _web_writeImage, call _web_writeImage
  13363. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  13364. (-[WebDefaultUIDelegate copyImageToClipboard:]): call _web_writeImage
  13365. * WebView.subproj/WebImageView.m:
  13366. (-[WebImageView writeImageToPasteboard:]): call _web_writeImage
  13367. 2004-02-02 Darin Adler <darin@apple.com>
  13368. - fixed build failure on Merlot
  13369. * Misc.subproj/WebNSPasteboardExtras.m: Import just CoreTranslationFlavorTypeNames.h rather than all of
  13370. ApplicationServicesPriv.h; should compile faster and avoid build failure.
  13371. 2004-02-02 Chris Blumenberg <cblu@apple.com>
  13372. Fixed: <rdar://problem/3546379>: support for editing via drag & drop
  13373. Reviewed by kocienda.
  13374. * Misc.subproj/WebNSViewExtras.h:
  13375. * Misc.subproj/WebNSViewExtras.m:
  13376. (-[NSView _web_dragImage:fileWrapper:rect:URL:title:HTMLString:event:]): added a HTMLString argument so that we retain all attributes when dragging images
  13377. * WebView.subproj/WebHTMLView.m:
  13378. (-[WebHTMLView _canDelete]): call renamed isSelectionEditable
  13379. (-[WebHTMLView _canPaste]): call renamed isSelectionEditable
  13380. (-[WebHTMLView _pasteHTMLFromPasteboard:]): new, factored out from paste:
  13381. (-[WebHTMLView _handleMouseDragged:]): removed code that returned early if we were loading, this kind of protection is no longer needed since we now retain the view while dragging, call renamed _web_dragImage
  13382. (-[WebHTMLView initWithFrame:]): register for drop types
  13383. (-[WebHTMLView paste:]): call _pasteHTMLFromPasteboard
  13384. (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): set new isDragging BOOL to YES
  13385. (-[WebHTMLView draggedImage:endedAt:operation:]): set new isDragging BOOL to NO
  13386. (-[WebHTMLView draggingEntered:]): new
  13387. (-[WebHTMLView draggingUpdated:]): new, handle caret movement during the drag
  13388. (-[WebHTMLView prepareForDragOperation:]): new
  13389. (-[WebHTMLView performDragOperation:]): new
  13390. (-[WebHTMLView concludeDragOperation:]): new, paste in the drag
  13391. * WebView.subproj/WebHTMLViewPrivate.h:
  13392. * WebView.subproj/WebImageView.m:
  13393. (-[WebImageView mouseDragged:]): call renamed _web_dragImage
  13394. * WebView.subproj/WebView.h:
  13395. * WebView.subproj/WebView.m:
  13396. === Safari-126 ===
  13397. 2004-01-30 Chris Blumenberg <cblu@apple.com>
  13398. Fixed: <rdar://problem/3536126>: REGRESSION (Merlot): WebKit dragging is in strange location
  13399. Reviewed by kocienda.
  13400. * WebView.subproj/WebHTMLView.m:
  13401. (-[WebHTMLView _handleMouseDragged:]): use the proper offset when dragging text
  13402. 2004-01-28 John Sullivan <sullivan@apple.com>
  13403. More header/footer work: refactored the header/footer code so it could
  13404. be easily reused by other WebDocument classes; used it from WebImageView
  13405. and WebTextView; removed the page count parameters because it's possible
  13406. (though currently nasty, see 3543078) to determine this in the client.
  13407. Reviewed by Dave.
  13408. * Misc.subproj/WebNSPrintOperationExtras.h Added.
  13409. * Misc.subproj/WebNSPrintOperationExtras.m Added.
  13410. (-[NSPrintOperation _web_pageSetupScaleFactor]):
  13411. new convenience method.
  13412. * WebView.subproj/WebUIDelegatePrivate.h:
  13413. Removed page index and page count parameters from delegate methods.
  13414. * WebView.subproj/WebViewPrivate.h:
  13415. New private category for header/footer printing methods so that different
  13416. WebDocument methods can share almost all of the code.
  13417. * WebView.subproj/WebView.m:
  13418. (-[WebView _headerHeight]):
  13419. (-[WebView _footerHeight]):
  13420. (-[WebView _drawHeaderInRect:]):
  13421. (-[WebView _drawFooterInRect:]):
  13422. (-[WebView _adjustPrintingMarginsForHeaderAndFooter]):
  13423. (-[WebView _drawHeaderAndFooter]):
  13424. Moved all of these methods here, formerly in WebHTMLView. Removed the
  13425. page index and page count parameters.
  13426. * WebView.subproj/WebHTMLView.m:
  13427. Removed all the header/footer code that's now in WebView.m, and the
  13428. method that's now -[NSPrintOperation _web_pageSetupScaleFactor]
  13429. (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
  13430. call methods differently that have now been moved
  13431. (-[WebHTMLView _scaleFactorForPrintOperation:]):
  13432. ditto
  13433. (-[WebHTMLView knowsPageRange:]):
  13434. ditto
  13435. (-[WebHTMLView drawPageBorderWithSize:]):
  13436. now just turns around and calls -[WebView _drawHeaderAndFooter]
  13437. * WebView.subproj/WebImageView.m:
  13438. (-[WebImageView drawPageBorderWithSize:]):
  13439. new method, just calls -[WebView _drawHeaderAndFooter]
  13440. (-[WebImageView beginDocument]):
  13441. now calls -[WebView _adjustPrintMarginsForHeaderAndFooter], also moved in file.
  13442. (-[WebImageView endDocument]):
  13443. just moved in file.
  13444. * WebView.subproj/WebTextView.m:
  13445. (-[WebTextView drawPageBorderWithSize:]):
  13446. new method, just calls -[WebView _drawHeaderAndFooter]
  13447. (-[WebTextView knowsPageRange:]):
  13448. overridden to call -[WebView _adjustPrintMarginsForHeaderAndFooter]
  13449. * WebKit.pbproj/project.pbxproj:
  13450. updated for added files
  13451. 2004-01-28 Chris Blumenberg <cblu@apple.com>
  13452. Fixed: <rdar://problem/3197222>: need context menu items for back, forward, refresh.
  13453. Reviewed by rjw.
  13454. * English.lproj/Localizable.strings:
  13455. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  13456. (-[WebDefaultUIDelegate menuItemWithTag:]): added support for WebMenuItemTagGoBack, WebMenuItemTagGoForward, WebMenuItemTagStop and WebMenuItemTagReload tags
  13457. (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): added support for Back, Forward, Stop and Reload
  13458. * WebView.subproj/WebUIDelegate.h: added WebMenuItemTagGoBack, WebMenuItemTagGoForward, WebMenuItemTagStop and WebMenuItemTagReload tags
  13459. 2004-01-27 John Sullivan <sullivan@apple.com>
  13460. WebKit part of fixes for:
  13461. <rdar://problem/3123975>: ER: please list the source URL in the header
  13462. or footer when printing the contents of a page
  13463. <rdar://problem/3184091>: Safari - Configurable printing header/footer
  13464. <rdar://problem/3306826>: Please allow printing the date (as well as URL)
  13465. in the header or footer
  13466. Reviewed by Dave.
  13467. * WebView.subproj/WebHTMLView.m:
  13468. (-[WebHTMLView _headerHeight]):
  13469. new method, gets result from WebView's UI delegate or returns 0
  13470. (-[WebHTMLView _footerHeight]):
  13471. new method, gets result from WebView's UI delegate or returns 0
  13472. (-[WebHTMLView _drawHeaderInRect:]):
  13473. new method, gives WebView's UI delegate a chance to draw header
  13474. (-[WebHTMLView _drawFooterInRect:]):
  13475. new method, gives WebView's UI delegate a chance to draw footer
  13476. (-[WebHTMLView _adjustPrintingMarginsForHeaderAndFooter]):
  13477. new method, adds header and footer heights into page margins so
  13478. AppKit printing code will compute and use the right area
  13479. (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
  13480. now calls _adjustPrintingMarginsForHeaderAndFooter if starting to print
  13481. (-[WebHTMLView drawPageBorderWithSize:]):
  13482. new method, computes rects for header and footer and calls new drawing methods
  13483. * WebView.subproj/WebUIDelegatePrivate.h:
  13484. add header and footer-related delegate methods
  13485. 2004-01-27 Chris Blumenberg <cblu@apple.com>
  13486. Fixed:
  13487. <rdar://problem/3541812>: Implement Paste menu item
  13488. <rdar://problem/3541814>: Implement Delete menu item
  13489. <rdar://problem/3541811>: Implement Cut menu item
  13490. Reviewed by dave.
  13491. * WebView.subproj/WebHTMLView.m:
  13492. (-[WebHTMLView _haveSelection]): new, renamed from hasSelection, calls haveSelection on the bridge, quicker than generating string rep of selection
  13493. (-[WebHTMLView _canDelete]): new
  13494. (-[WebHTMLView _canPaste]): new
  13495. (-[WebHTMLView takeFindStringFromSelection:]): call renamed _haveSelection
  13496. (-[WebHTMLView cut:]): new
  13497. (-[WebHTMLView delete:]): new
  13498. (-[WebHTMLView paste:]): new
  13499. (-[WebHTMLView validateUserInterfaceItem:]): updated for new methods
  13500. (-[WebHTMLView validRequestorForSendType:returnType:]): call renamed _haveSelection
  13501. * WebView.subproj/WebHTMLViewPrivate.h:
  13502. 2004-01-27 Chris Blumenberg <cblu@apple.com>
  13503. Fixed build breakage.
  13504. Reviewed by darin.
  13505. * WebKit.pbproj/project.pbxproj: Use full path instead of -L to get at WebKitSecurity.a
  13506. 2004-01-27 Chris Blumenberg <cblu@apple.com>
  13507. Fixed: <rdar://problem/3536624>: Webkit 1.2 links against SecurityNssAsn1.framework
  13508. Reviewed by Darin.
  13509. * WebCoreSupport.subproj/WebKeyGeneration.h: Set DISABLE_WEB_KEY_GENERATION on Merlot for now.
  13510. Then don't include anything if that's set.
  13511. * WebCoreSupport.subproj/WebKeyGeneration.cpp: Don't compile anything if DISABLE_WEB_KEY_GENERATION
  13512. is set.
  13513. * WebCoreSupport.subproj/WebKeyGenerator.m:
  13514. (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]):
  13515. Always return nil if DISABLE_WEB_KEY_GENERATION is set.
  13516. (-[WebKeyGenerator addCertificatesToKeychainFromData:]): Always return failure if
  13517. DISABLE_WEB_KEY_GENERATION is set.
  13518. * WebKit.pbproj/project.pbxproj: Added shell build step to make library with security
  13519. libraries in it. On Merlot, makes empty library. Also added library to link options.
  13520. * WebKitSecurityDummy.c: Added. Used to make empty version of library for build on Merlot.
  13521. 2004-01-26 Darin Adler <darin@apple.com>
  13522. * Makefile.am: Switch from pbxbuild to xcodebuild.
  13523. 2004-01-26 Darin Adler <darin@apple.com>
  13524. Reviewed by John.
  13525. - fixed <rdar://problem/3521379>: image dimensions uses lowercase x instead of multiplication sign
  13526. * WebView.subproj/WebImageRepresentation.m: (-[WebImageRepresentation title]):
  13527. Change string to use multiplication sign instead of x.
  13528. * English.lproj/Localizable.strings: Updated.
  13529. 2004-01-23 Ken Kocienda <kocienda@apple.com>
  13530. Reviewed by Richard
  13531. * WebView.subproj/WebHTMLView.m:
  13532. (-[WebHTMLView updateShowsFirstResponder]): Renamed from updateFocusRing:
  13533. since it is now used to kill caret blink timer.
  13534. (-[WebHTMLView windowDidBecomeKey:]): Now calls new updateShowsFirstResponder
  13535. method.
  13536. (-[WebHTMLView windowDidResignKey:]): Ditto.
  13537. 2004-01-22 Chris Blumenberg <cblu@apple.com>
  13538. Fixed: <rdar://problem/3537542>: support for copying HTML
  13539. Reviewed by dave.
  13540. * WebView.subproj/WebHTMLRepresentation.h:
  13541. * WebView.subproj/WebHTMLRepresentation.m:
  13542. (-[WebHTMLRepresentation reconstructedSource]): for BLOT's eventual use
  13543. * WebView.subproj/WebHTMLView.m:
  13544. (+[WebHTMLView _pasteboardTypes]): provide NSHTMLPboardType
  13545. (-[WebHTMLView _writeSelectionToPasteboard:]): add HTML to the pasteboard
  13546. 2004-01-22 John Sullivan <sullivan@apple.com>
  13547. Reviewed by Chris.
  13548. * English.lproj/StringsNotToBeLocalized.txt:
  13549. brought this file back up to date
  13550. 2004-01-22 Darin Adler <darin@apple.com>
  13551. - fixed 3536624: Webkit 1.2 links against SecurityNssAsn1.framework
  13552. * WebKit.pbproj/project.pbxproj: Remove SecurityNssAsn1.framework from the list we link against.
  13553. It's still included in the list for places to find headers.
  13554. === Safari-125 ===
  13555. === Safari-124 ===
  13556. 2004-01-15 Vicki Murley <vicki@apple.com>
  13557. Reviewed by Darin.
  13558. * WebKit.pbproj/project.pbxproj: Update copyright date to 2004.
  13559. * English.lproj/InfoPlist.strings: Update copyright date to 2004.
  13560. === Safari-122 ===
  13561. === Safari-121 ===
  13562. 2004-01-10 Darin Adler <darin@apple.com>
  13563. Reviewed by John.
  13564. - fixed 3524906: REGRESSION (114-115): page with plug-in content never stops loading (travelking.com.tw)
  13565. Put the plug-in streams clients into their own separate set. Now a plug-in client is not considered part
  13566. of "loading", but it does participate in the callback deferral mechanism, which was the real goal of the
  13567. change I made that introduced this regression. Also remove the plug-in client in one case I had missed
  13568. before (cancel).
  13569. * WebView.subproj/WebDataSourcePrivate.h: Added a new set of plugInStreamClients.
  13570. * WebView.subproj/WebDataSource.m:
  13571. (-[WebDataSourcePrivate dealloc]): Release the set.
  13572. (-[WebDataSource _addPlugInStreamClient:]): Added. Adds to the set.
  13573. (-[WebDataSource _removePlugInStreamClient:]): Added. Removes from the set.
  13574. (-[WebDataSource _defersCallbacksChanged]): Added code to loop through plugInStreamClients too.
  13575. * Plugins.subproj/WebNetscapePluginStream.m:
  13576. (-[WebNetscapePluginStream start]): Use _add/removePlugInStreamClient instead of _add/removeSubresourceClient.
  13577. (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): Ditto.
  13578. (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): Ditto.
  13579. (-[WebNetscapePluginConnectionDelegate cancelWithError:]): Override to call _removePlugInStreamClient and
  13580. then call super.
  13581. 2004-01-09 Darin Adler <darin@apple.com>
  13582. - rolled out most of Dave's change for 3510669 and 3515442; it is not working yet
  13583. * WebView.subproj/WebHTMLViewPrivate.h:
  13584. * WebView.subproj/WebHTMLView.m:
  13585. 2004-01-09 Maciej Stachowiak <mjs@apple.com>
  13586. Reviewed by Chris.
  13587. <rdar://problem/3514446>: cert downloaded from BofA or MIT is rejected (ACL issue on private key?)
  13588. * WebCoreSupport.subproj/WebKeyGeneration.cpp:
  13589. (createPair): Cut & paste hunk of code from Security framework.
  13590. (Safari_SecKeyCreatePair): Ditto.
  13591. (signedPublicKeyAndChallengeString): Instead of creating a normal ACL,
  13592. use our hacked version of the SecKeyCreatePair call that doesn't put in
  13593. any kind of ACL. This works around a SecureTransport bug.
  13594. 2004-01-09 David Hyatt <hyatt@apple.com>
  13595. Fixes for 3510669 and 3515442, blank frame problems caused by WebKit's resizing not scheduling actual
  13596. layouts via WebCore.
  13597. Reviewed by darin
  13598. * WebView.subproj/WebHTMLView.m:
  13599. (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]):
  13600. (-[WebHTMLView initWithFrame:]):
  13601. (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
  13602. (-[WebHTMLView setNeedsLayout:]):
  13603. * WebView.subproj/WebHTMLViewPrivate.h:
  13604. 2004-01-09 Darin Adler <darin@apple.com>
  13605. Reviewed by Chris.
  13606. - fixed 3510805: "PoolCleaner" in Carbon WebKit leads to overrelease and crash using color picker in BBEdit
  13607. * Carbon.subproj/CarbonUtils.m: (PoolCleaner): Only do the autorelease
  13608. pool stuff in the default run loop mode. If we're in another run loop
  13609. mode that means we are in some Cocoa code that sets up its own autorelease
  13610. pool; it's important that we don't release ours in that case.
  13611. 2004-01-08 Maciej Stachowiak <mjs@apple.com>
  13612. Reviewed by John.
  13613. <rdar://problem/3522298>: Error on MIT's x509 certificate site
  13614. * WebCoreSupport.subproj/WebKeyGeneration.cpp:
  13615. (addCertificatesToKeychainFromData): Sign the freshly minted public key
  13616. using RSA/MD5 instead of RSA/SHA-1, because MIT only supports MD5.
  13617. 2004-01-08 Richard Williamson <rjw@apple.com>
  13618. Fixed 3524430. This was a regression introduced when we added '-' and '?' to the word boundary detection.
  13619. Also backed out workaround for 3521759 as it's no longer needed with correct argument passing to ATSUPositionToOffset.
  13620. Reviewed by Hyatt.
  13621. * WebCoreSupport.subproj/WebTextRenderer.m:
  13622. (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
  13623. (widthForNextCharacter):
  13624. 2004-01-08 Chris Blumenberg <cblu@apple.com>
  13625. Fixed: <rdar://problem/3522900>: REGRESSION (100-117): Java plug-in description is garbled when displaying Plug-ins.html
  13626. Reviewed by darin.
  13627. * Misc.subproj/WebKitNSStringExtras.h:
  13628. * Misc.subproj/WebKitNSStringExtras.m:
  13629. (+[NSString _web_encodingForResource:]): new method, returns the encoding for a resource handle given its file system path
  13630. * Plugins.subproj/WebNetscapePluginPackage.m:
  13631. (-[WebNetscapePluginPackage stringForStringListID:andIndex:]): call _web_encodingForResource when creating the NSString
  13632. === Safari-120 ===
  13633. 2004-01-06 Richard Williamson <rjw@apple.com>
  13634. Fixed 3513660. Make ATSU layout and draw with integer glyph boundaries. This fix should be removed if/when we convert WebCore to use floats for measuring/positioning (3521781).
  13635. Reviewed by John.
  13636. * WebCoreSupport.subproj/WebTextRenderer.m:
  13637. (-[WebTextRenderer _createATSUTextLayoutForRun:]):
  13638. 2004-01-05 Richard Williamson <rjw@apple.com>
  13639. Fix for 3514454. Work-around added for 3521759.
  13640. Filed 3521781 to cover deeper problem.
  13641. Reviewed by Kocienda.
  13642. * WebCoreSupport.subproj/WebTextRenderer.m:
  13643. (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
  13644. (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
  13645. 2003-12-22 John Sullivan <sullivan@apple.com>
  13646. - WebKit part of fix for <rdar://problem/3515706>:
  13647. REGRESSION (100-118): Web Kit printing does not honor Page Setup scale factor
  13648. Reviewed by Darin.
  13649. * WebView.subproj/WebHTMLView.m:
  13650. (-[WebHTMLView _userScaleFactorForPrintOperation:]):
  13651. new method, extracts the scale factor provided by the user in
  13652. the Page Setup dialog
  13653. (-[WebHTMLView _scaleFactorForPrintOperation:]):
  13654. take user scale factor into account
  13655. (-[WebHTMLView knowsPageRange:]):
  13656. renamed local var scaleFactor -> totalScaleFactor for clarity;
  13657. take user scale factor into account for print width; now assumes
  13658. computePageRects returns autoreleased result.
  13659. * WebKit.pbproj/project.pbxproj:
  13660. Xcode version wars; Darin says these don't affect the build.
  13661. 2003-12-21 Darin Adler <darin@apple.com>
  13662. Reviewed by John.
  13663. - fixed a storage leak
  13664. * WebView.subproj/WebFrame.m:
  13665. (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
  13666. Move the release of the request out of an if statement, since it's always needed.
  13667. 2003-12-19 Chris Blumenberg <cblu@apple.com>
  13668. Fixed: <rdar://problem/3515255>: Standalone image drag makes ocassionally makes 2 copies
  13669. Reviewed by john.
  13670. * WebKit.pbproj/project.pbxproj: Xcode 1.1 file format change
  13671. * WebView.subproj/WebImageView.h:
  13672. * WebView.subproj/WebImageView.m: copied double-drag protection code from WebHTMLView
  13673. (-[WebImageView mouseDown:]): set ignoringMouseDraggedEvents to NO
  13674. (-[WebImageView mouseDragged:]): if ignoringMouseDraggedEvents, return
  13675. (-[WebImageView draggedImage:endedAt:operation:]): set ignoringMouseDraggedEvents to YES
  13676. === Safari-119 ===
  13677. 2003-12-18 Richard Williamson <rjw@apple.com>
  13678. Fixed 3511415. We have to un-visually order visually ordered text
  13679. before passing to ATSU.
  13680. Reviewed by John.
  13681. * WebCoreSupport.subproj/WebTextRenderer.m:
  13682. (reverseCharactersInRun):
  13683. (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
  13684. (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
  13685. (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
  13686. 2003-12-17 Richard Williamson <rjw@apple.com>
  13687. Fixed 3503011 (really, this time). Always use integer width for '-' and '?', as we do for spaces, to ensure
  13688. that 'words' (as defined by out rounding hack) start on integer boundaries.
  13689. Reviewed by John.
  13690. * WebCoreSupport.subproj/WebTextRenderer.m:
  13691. (widthForNextCharacter):
  13692. 2003-12-17 Chris Blumenberg <cblu@apple.com>
  13693. Fixed:
  13694. <rdar://problem/3393758>: REGRESSION (85-100): Flash onKeyUp event non-functional
  13695. <rdar://problem/3479020>: REGRESSION (85-100): Safari sends plug-in key events to wrong instance of plug-in
  13696. Reviewed by darin.
  13697. * Plugins.subproj/WebBaseNetscapePluginView.h:
  13698. * Plugins.subproj/WebBaseNetscapePluginView.m:
  13699. (-[WebBaseNetscapePluginView sendEvent:]): set suspendKeyUpEvents to NO
  13700. (-[WebBaseNetscapePluginView keyMessageForEvent:]): copied from CVS
  13701. (-[WebBaseNetscapePluginView keyUp:]): if !suspendKeyUpEvents, send the keyUp event
  13702. (-[WebBaseNetscapePluginView keyDown:]): set suspendKeyUpEvents to YES
  13703. (-[WebBaseNetscapePluginView windowBecameKey:]): call SetUserFocusWindow
  13704. 2003-12-17 Darin Adler <darin@apple.com>
  13705. Reviewed by Richard.
  13706. - fixed 3513274: REGRESSION: anchor navigation within frames with "Back" is broken at tivofaq.com
  13707. * WebView.subproj/WebDataSource.m: (-[WebDataSource _setURL:]):
  13708. Since this method is only used when you do a fragment scroll, we need to update
  13709. the original request as well as the request. This ensure that the fragment gets
  13710. recorded in the history item (which goes in the back/forward history).
  13711. === Safari-118 ===
  13712. 2003-12-17 John Sullivan <sullivan@apple.com>
  13713. - fixed <rdar://problem/3512801>: REGRESSION (Safari 100-116):
  13714. Mike Hay's Magic 8-ball game ignores slow clicks
  13715. Reviewed by Darin.
  13716. * WebView.subproj/WebHTMLView.m:
  13717. (-[WebHTMLView _handleAutoscrollForMouseDragged:]):
  13718. start the autoscroll timer here, so the timer only runs when KHTML is
  13719. handling the event.
  13720. (-[WebHTMLView mouseDown:]):
  13721. don't start the autoscroll timer here.
  13722. 2003-12-16 Ken Kocienda <kocienda@apple.com>
  13723. * WebCoreSupport.subproj/WebBridge.m: ObjC runtime needs a declaration for new
  13724. _calculatedExpiration SPI in NSURLResponse in Foundation
  13725. 2003-12-16 Richard Williamson <rjw@apple.com>
  13726. Fixed 3512348: Rewrote _CG_drawHighlightForRun:style:atPoint: to use width
  13727. iterators. Much faster, better cheaper, etc.
  13728. Reviewed by Dave.
  13729. * WebCoreSupport.subproj/WebTextRenderer.m:
  13730. (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
  13731. 2003-12-16 Richard Williamson <rjw@apple.com>
  13732. Fixed 3503011. Added '-' and '?' to rounding hack.
  13733. Reviewed by John.
  13734. * WebCoreSupport.subproj/WebTextRenderer.m:
  13735. (isRoundingHackCharacter):
  13736. (widthForNextCharacter):
  13737. 2003-12-16 Darin Adler <darin@apple.com>
  13738. Reviewed by Richard.
  13739. - finished fix to 3109132: can't open movie file via open panel
  13740. * WebView.subproj/WebView.m: (+[WebView _supportedFileExtensions]):
  13741. Include all the extensions for each MIME type, not jus the preferred one.
  13742. 2003-12-16 Ken Kocienda <kocienda@apple.com>
  13743. Reviewed by Darin
  13744. Fix for this bug:
  13745. <rdar://problem/3512199>: WebBridge expiresTimeForResponse can be
  13746. improved to use better expiration calculations
  13747. * WebCoreSupport.subproj/WebBridge.m:
  13748. (-[WebBridge expiresTimeForResponse:]): Switch to use new
  13749. _calculatedExpiration SPI method on NSURLResponse.
  13750. 2003-12-15 Chris Blumenberg <cblu@apple.com>
  13751. Fixed: <rdar://problem/3505546>: always get keychain prompt when sending mail using cert downloaded with Safari
  13752. Reviewed by john.
  13753. * WebCoreSupport.subproj/WebKeyGeneration.cpp:
  13754. (signedPublicKeyAndChallengeString): set up the SecAccessRef with "everything goes" restrictions
  13755. 2003-12-14 Darin Adler <darin@apple.com>
  13756. Reviewed by Maciej.
  13757. - fixed 3311205: click() on a file input type form element does not work bring up the file chooser as it does in IE
  13758. * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton performClick]):
  13759. Add method for clicking, now part of the WebCoreFileButton protocol.
  13760. The rest of the fix is in WebCore.
  13761. 2003-12-13 Darin Adler <darin@apple.com>
  13762. Fixed by Ed Voas, reviewed by me.
  13763. - fixed 3278443: CARBON: grow box obscures scroll bar knob
  13764. * Carbon.subproj/CarbonWindowAdapter.m: (-[CarbonWindowAdapter _growBoxRect]):
  13765. Return the grow box so AppKit's scroll bar code will know where it is.
  13766. 2003-12-12 Ken Kocienda <kocienda@apple.com>
  13767. * WebCoreSupport.subproj/WebKeyGeneration.cpp:
  13768. (signedPublicKeyAndChallengeString): Fix build-bustin' typo.
  13769. 2003-12-12 Chris Blumenberg <cblu@apple.com>
  13770. Fixed:
  13771. <rdar://problem/3396936>: can't obtain a digital ID from Verisign, form submission fails
  13772. <rdar://problem/3505208>: keys added to keychain from KEYGEN need better UI names
  13773. Reviewed by rjw.
  13774. * English.lproj/Localizable.strings:
  13775. * WebCoreSupport.subproj/WebKeyGeneration.cpp:
  13776. (signedPublicKeyAndChallengeString): take a key description arg and use it, take and return CFStrings, handle the empty string case
  13777. (addCertificatesToKeychainFromData): return a WebCertificateParseResult so WB knows how to handle the cert
  13778. * WebCoreSupport.subproj/WebKeyGeneration.h:
  13779. * WebCoreSupport.subproj/WebKeyGenerator.h:
  13780. * WebCoreSupport.subproj/WebKeyGenerator.m:
  13781. (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]): take a page URL so we can use its host name in the key description
  13782. * WebKit.pbproj/project.pbxproj:
  13783. 2003-12-12 Vicki Murley <vicki@apple.com>
  13784. * WebKit.pbproj/project.pbxproj:
  13785. 2003-12-12 Vicki Murley <vicki@apple.com>
  13786. * WebKit.pbproj/project.pbxproj:
  13787. 2003-12-12 Vicki Murley <vicki@apple.com>
  13788. * WebKit.pbproj/project.pbxproj:
  13789. 2003-12-11 Ken Kocienda <kocienda@apple.com>
  13790. Reviewed by Darin
  13791. Fix for this bug:
  13792. <rdar://problem/3489280>: redirect via post blows cache, causing everything to get reloaded
  13793. Now POST requests reload the main document by default, but will not reload
  13794. all subresources.
  13795. * WebCoreSupport.subproj/WebSubresourceClient.m:
  13796. (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
  13797. * WebView.subproj/WebFrame.m:
  13798. (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
  13799. Take the cache policy for subresources from the original request, rather than
  13800. the data source's current request.
  13801. * WebView.subproj/WebMainResourceClient.m:
  13802. (-[WebMainResourceClient _isPostOrRedirectAfterPost:redirectResponse:]): New helper.
  13803. (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
  13804. Call new helper to set the cache policy on the main resource load.
  13805. === Safari-117 ===
  13806. 2003-12-11 Ken Kocienda <kocienda@apple.com>
  13807. Reviewed by Darin
  13808. * WebCoreSupport.subproj/WebBridge.m: time_t is a signed type, so
  13809. casting -1 to a time_t does not work to make a max value.
  13810. We'll go with INT_MAX.
  13811. 2003-12-11 Ken Kocienda <kocienda@apple.com>
  13812. Reviewed and C++ heavy-lifting by Darin
  13813. Fix warnings in C++ files.
  13814. * WebCoreSupport.subproj/WebKeyGeneration.cpp:
  13815. (signedPublicKeyAndChallengeString): Add cast to remove warning.
  13816. (addCertificatesToKeychainFromData): Add cast to remove warning.
  13817. * WebKit.pbproj/project.pbxproj: Add back warnings to C++ files.
  13818. * WebKitPrefix.h: Add define for NULL that works for C++.
  13819. 2003-12-09 Ken Kocienda <kocienda@apple.com>
  13820. Reviewed by Darin
  13821. <rdar://problem/3505444>: WebCore cache does not use expiration dates on cache items
  13822. * WebCoreSupport.subproj/WebBridge.m:
  13823. (-[WebBridge expiresTimeForResponse:]): New method. Call response
  13824. freshness lifetime method and add it to the current time to yield
  13825. an expiration time.
  13826. 2003-12-10 Maciej Stachowiak <mjs@apple.com>
  13827. Reviewed by Richard.
  13828. WebKit part of fix for:
  13829. <rdar://problem/3487160>: Implement synchronous loading for XMLHttpRequest
  13830. * WebCoreSupport.subproj/WebBridge.m:
  13831. (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
  13832. 2003-12-10 Richard Williamson <rjw@apple.com>
  13833. Added method to get to the bridge from a view. This is
  13834. used to ultimately get the part and KJS::Window for a
  13835. particular applet.
  13836. Reviewed by Hyatt.
  13837. * WebCoreSupport.subproj/WebViewFactory.m:
  13838. (-[WebViewFactory refreshPlugins:]):
  13839. (-[WebViewFactory bridgeForView:]):
  13840. 2003-12-10 John Sullivan <sullivan@apple.com>
  13841. - WebKit part of fix for:
  13842. <rdar://problem/3505231>: REGRESSION (100-114): Some sites autoscroll to bottom of page when loading
  13843. Reviewed by Darin
  13844. * Misc.subproj/WebNSViewExtras.h:
  13845. * Misc.subproj/WebNSViewExtras.m:
  13846. removed _web_scrollPointToVisible:fromView:
  13847. * WebView.subproj/WebHTMLView.m:
  13848. (-[WebHTMLView scrollPoint:]):
  13849. removed call to _web_scrollPointToVisible:fromView:
  13850. 2003-12-10 Chris Blumenberg <cblu@apple.com>
  13851. Fixed: <rdar://problem/3505537>: certificates downloaded from Verisign are multipart/mixed, must be parsed out
  13852. Reviewed by kocienda.
  13853. * WebCoreSupport.subproj/WebKeyGeneration.cpp:
  13854. (signedPublicKeyAndChallengeString): tweak
  13855. (addCertificateToKeychainFromData): renamed to use lowercase "c" in "keychain"
  13856. (addCertificatesToKeychainFromData): take data instead of a path to a file
  13857. * WebCoreSupport.subproj/WebKeyGeneration.h:
  13858. * WebCoreSupport.subproj/WebKeyGenerator.h:
  13859. * WebCoreSupport.subproj/WebKeyGenerator.m:
  13860. (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:]): added temporary workaround for 3396936
  13861. 2003-12-09 Chris Blumenberg <cblu@apple.com>
  13862. Fixed: <rdar://problem/3504237>: add downloaded certificates to keychain
  13863. Reviewed by darin.
  13864. * WebCoreSupport.subproj/WebKeyGeneration.cpp:
  13865. (signedPublicKeyAndChallengeString):
  13866. (addCertificateToKeyChainFromData): new
  13867. (addCertificateToKeyChainFromFile): new
  13868. * WebCoreSupport.subproj/WebKeyGeneration.h:
  13869. * WebCoreSupport.subproj/WebKeyGenerator.h:
  13870. * WebCoreSupport.subproj/WebKeyGenerator.m:
  13871. (-[WebKeyGenerator addCertificateToKeyChainFromFileAtPath:]): new
  13872. * WebKit.exp:
  13873. * WebKit.pbproj/project.pbxproj: made WebKeyGenerator.h private
  13874. 2003-12-09 John Sullivan <sullivan@apple.com>
  13875. - fixed <rdar://problem/3504907>: REGRESSION (100-116):
  13876. Clicking QuickTime-requiring link twice crashes (wholenote.com)
  13877. I found the bug; Darin wrote the fix; I reviewed and tested.
  13878. * Plugins.subproj/WebNetscapePluginPackage.m:
  13879. (-[WebNetscapePluginPackage stringForStringListID:andIndex:]):
  13880. Rewrote this method to not use GetIndString, because GetIndString looks
  13881. at all open resource files and in this case was reading information from
  13882. the wrong plugin file.
  13883. 2003-12-08 Chris Blumenberg <cblu@apple.com>
  13884. Fixed: <rdar://problem/3234676>: Support for KEYGEN tag (ie 509 email certificates from www.thawte.com)
  13885. Reviewed by mjs.
  13886. * WebCoreSupport.subproj/WebKeyGeneration.cpp: Added.
  13887. (gnrAddContextAttribute): new
  13888. (gnrGetSubjPubKey): new
  13889. (gnrNullAlgParams): new
  13890. (gnrSign): new
  13891. (gnrFreeCssmData): new
  13892. (signedPublicKeyAndChallengeString): new
  13893. * WebCoreSupport.subproj/WebKeyGeneration.h: Added.
  13894. * WebCoreSupport.subproj/WebKeyGenerationFactory.h: Added. Renamed from WebLocalizedStringFactory.
  13895. * WebCoreSupport.subproj/WebKeyGenerationFactory.m: Added.
  13896. (+[WebKeyGenerationFactory createSharedFactory]): no change
  13897. (-[WebKeyGenerationFactory dealloc]): no change
  13898. (-[WebKeyGenerationFactory strengthMenuItemTitles]): new
  13899. (-[WebKeyGenerationFactory signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:]): new
  13900. * WebCoreSupport.subproj/WebLocalizedStringFactory.h: Removed.
  13901. * WebCoreSupport.subproj/WebLocalizedStringFactory.m: Removed.
  13902. * WebCoreSupport.subproj/WebNetscapeTemplates.cpp: Added.
  13903. * WebCoreSupport.subproj/WebNetscapeTemplates.h: Added.
  13904. * WebKit.pbproj/project.pbxproj:
  13905. * WebKitPrefix.h:
  13906. * WebView.subproj/WebFrameView.m:
  13907. 2003-12-05 John Sullivan <sullivan@apple.com>
  13908. - fixed <rdar://problem/3491427>: REGRESSION (100-114): multi-page HTML
  13909. content in Mail is blank when printed
  13910. Darin and I figured this one out.
  13911. Reviewed by Ken.
  13912. * WebView.subproj/WebHTMLView.m:
  13913. (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
  13914. Don't call setNeedsDisplay:NO when we're turning printing on, as doing so prevents
  13915. anything from drawing in the case where this is called from
  13916. adjustPageHeightsNew:top:bottom:limit
  13917. 2003-12-05 Darin Adler <darin@apple.com>
  13918. Reviewed by John.
  13919. - fixed regression in small caps with substituted fonts my patch from yesterday caused
  13920. - fixed 3463599: if Lucida font is installed, you see bad glyphs on pages that use it (advogato.org)
  13921. - fixed storage leak if a renderer is ever deallocated (I don't think we ever do that)
  13922. - fixed some small leaks in various error cases by adding appropriate free and dispose calls
  13923. * WebCoreSupport.subproj/WebTextRenderer.m:
  13924. (-[WebTextRenderer dealloc]): Free the Unicode glyph map too.
  13925. (fontContainsString): Moved inline function up here so it will be inlined.
  13926. (-[WebTextRenderer _setupFont]): Free the glyph map and set it back to zero if we fail after
  13927. extending the glyph map to include space. This fixes the "wrong glyph codes" bug with Lucida above.
  13928. (-[WebTextRenderer _extendUnicodeCharacterToGlyphMapToInclude:]): Add free calls needed to avoid
  13929. storage leaks in failure cases.
  13930. (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]): Ditto.
  13931. (-[WebTextRenderer _initializeATSUStyle]): Add ATSUDisposeStyle to fix storage leak.
  13932. (freeWidthMap): Use a loop instead of recursion.
  13933. (freeGlyphMap): Use a loop instead of recursion.
  13934. (freeUnicodeGlyphMap): Added.
  13935. (widthForNextCharacter): Don't use the original characters or cluster length, because the
  13936. character may have been capitalized for use in small caps rendering. So check the character
  13937. for <= 0xFFFF instead of looking at clusterLength, and break the character into a local array
  13938. instead of using the original character pointer.
  13939. 2003-12-04 Darin Adler <darin@apple.com>
  13940. Reviewed by Richard.
  13941. - fixed 3497879: REGRESSION (100-115): all non-BMP characters (including Deseret) are broken
  13942. * WebCoreSupport.subproj/WebTextRenderer.m:
  13943. (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]): Bump offset by getting it from
  13944. the iterator; don't assume we can just bump it by one each time. It would be even nicer to have
  13945. a bit more abstraction.
  13946. (initializeCharacterWidthIterator): Remove call to initializeCharacterShapeIterator.
  13947. (widthForNextCharacter): Move handling of surrogate pairs (non-BMP) in here and unify it with
  13948. the handling of BMP characters; this removes the broken code that was returning the wrong font,
  13949. and changes us to use the code that was already doing the right thing for the surrogate pair case.
  13950. Also get rid of the use of 0 width to mean "no glyph", which fixes the doubled glyph problem.
  13951. Also got rid of remnants of use of the shape iterator.
  13952. * Misc.subproj/WebUnicode.h: Remove obsolete shape iterator.
  13953. * Misc.subproj/WebUnicode.m: Ditto.
  13954. === Safari-116 ===
  13955. 2003-12-04 Darin Adler <darin@apple.com>
  13956. Reviewed by Ken.
  13957. - fixed 3498426: assertion failure in tooltip code at macosx.apple.com
  13958. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _setToolTip:]): Work around
  13959. the apparent bug in AppKit (3500217) that causes it to return 0 for the tool tip
  13960. tag by using removeAllToolTips and not storing the tag at all. Besides the assertion
  13961. failure there may also be a symptom of a "stuck" tool tip and a small memory
  13962. leak until the window is closed.
  13963. * WebView.subproj/WebHTMLViewPrivate.h: Remove unused toolTipTag.
  13964. 2003-12-02 Chris Blumenberg <cblu@apple.com>
  13965. Fixed:
  13966. <rdar://problem/3439222>: always hangs opening plain text file on a particular machine due to missing font, no UI to detect
  13967. <rdar://problem/3492983>: Certain fonts cause Safari to hang on text/plain pages
  13968. Reviewed by rjw.
  13969. * WebView.subproj/WebTextView.m:
  13970. (-[WebTextView setFixedWidthFont]): Use [[WebTextRendererFactory sharedFactory] fontWithFamilies:traits:size:] to get the font since it takes the font family which is what we store in WebPreferences and it does fallback work. Only set the font if
  13971. non-nil is returned.
  13972. 2003-11-21 Maciej Stachowiak <mjs@apple.com>
  13973. Reviewed by Richard.
  13974. <rdar://problem/3487185>: implement security checks for XMLHttpRequest
  13975. * WebCoreSupport.subproj/WebSubresourceClient.m:
  13976. (-[WebSubresourceClient connection:willSendRequest:redirectResponse:]): Let
  13977. WebCore know about redirects.
  13978. 2003-12-01 Richard Williamson <rjw@apple.com>
  13979. Moved grungy polling code from WebKit to the JavaPlugin.
  13980. Reviewed by Chris.
  13981. * WebCoreSupport.subproj/WebBridge.m:
  13982. (-[WebBridge pollForAppletInView:]):
  13983. 2003-12-01 Ken Kocienda <kocienda@apple.com>
  13984. Reviewed by John
  13985. Fix for this bug:
  13986. <rdar://problem/3496873>: Move key event helper functions to WebKit
  13987. * Misc.subproj/WebNSEventExtras.h: Add declarations for new key event
  13988. helpers.
  13989. * Misc.subproj/WebNSEventExtras.m:
  13990. (-[NSEvent _web_isKeyEvent:]): Added.
  13991. (-[NSEvent _web_isDeleteKeyEvent]): Added.
  13992. (-[NSEvent _web_isEscapeKeyEvent]): Added.
  13993. (-[NSEvent _web_isOptionTabKeyEvent]): Added.
  13994. (-[NSEvent _web_isReturnOrEnterKeyEvent]): Added.
  13995. (-[NSEvent _web_isTabKeyEvent]): Added.
  13996. * WebKit.pbproj/project.pbxproj: Made WebNSEventExtras.h a private header
  13997. so WebBrowser can use the new helpers.
  13998. === Safari-115 ===
  13999. 2003-11-21 Maciej Stachowiak <mjs@apple.com>
  14000. Reviewed by Ken.
  14001. WebKit part of fix for:
  14002. <rdar://problem/3487134>: Implement http request/response status and headers for XMLHttpRequest
  14003. * WebCoreSupport.subproj/WebBridge.m:
  14004. (-[WebBridge startLoadingResource:withURL:customHeaders:]): Added customHeaders
  14005. parameter.
  14006. (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto.
  14007. * WebCoreSupport.subproj/WebSubresourceClient.h:
  14008. * WebCoreSupport.subproj/WebSubresourceClient.m:
  14009. (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): Add the custom headers.
  14010. (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:referrer:forDataSource:]): Pass along the custom headers.
  14011. (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]): Pass along the custom headers.
  14012. 2003-11-21 John Sullivan <sullivan@apple.com>
  14013. - WebKit part of fix for <rdar://problem/3333744>: Safari prints page with
  14014. very, very long line very, very small
  14015. Reviewed by Ken.
  14016. * WebView.subproj/WebHTMLView.m:
  14017. renamed PrintingExtraWidthFactor to PrintingMinimumShrinkFactor, added
  14018. PrintingMaximumShrinkFactor of 2.0, which matches IE
  14019. (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
  14020. now takes a min and max page width; passes them along to bridge
  14021. (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
  14022. now takes a min and max page width; passes them along to layoutTo...
  14023. (-[WebHTMLView _scaleFactorForPrintOperation:]):
  14024. now takes PrintingMaximumScaleFactor into account
  14025. (-[WebHTMLView knowsPageRange:]):
  14026. now takes PrintingMaximumScaleFactor into account
  14027. (-[WebHTMLView layout]):
  14028. pass 0 for maximumPageWidth when passing 0 for minimumPageWidth
  14029. (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
  14030. ditto
  14031. (-[WebHTMLView _web_setPrintingModeRecursive]):
  14032. ditto
  14033. (-[WebHTMLView _web_clearPrintingModeRecursive]):
  14034. ditto
  14035. (-[WebHTMLView endDocument]):
  14036. ditto
  14037. 2003-11-20 John Sullivan <sullivan@apple.com>
  14038. - WebKit part of <rdar://problem/3183124>: Support page-break-before/after with a value of "always"
  14039. Dave and I wrote and reviewed this.
  14040. * WebView.subproj/WebHTMLView.m:
  14041. (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
  14042. reset page rects when printing status changes
  14043. (-[WebHTMLView _availablePaperWidthForPrintOperation:]):
  14044. new helper method to compute paper width taking margins into account
  14045. (-[WebHTMLView _scaleFactorForPrintOperation:]):
  14046. new helper method to compute how much we need to shrink to fit one page across
  14047. (-[WebHTMLView _provideTotalScaleFactorForPrintOperation:]):
  14048. we overrode this secret internal AppKit method to make shrink-to-fit work;
  14049. we wrote bug 3491344 about the need for this to be public.
  14050. (-[WebHTMLView knowsPageRange:]):
  14051. new method, computes rects and returns YES
  14052. (-[WebHTMLView rectForPage:]):
  14053. new method, returns rect computed above
  14054. (-[WebHTMLView _calculatePrintHeight]):
  14055. new method, used by knowsPageRange
  14056. * WebView.subproj/WebHTMLViewPrivate.h:
  14057. new pageRects ivar
  14058. 2003-11-20 Maciej Stachowiak <mjs@apple.com>
  14059. Reviewed by Ken.
  14060. - fixed 3490086 - support http post for XMLHttpRequest
  14061. * WebCoreSupport.subproj/WebBridge.m:
  14062. (-[WebBridge startLoadingResource:withURL:postData:]):
  14063. * WebCoreSupport.subproj/WebSubresourceClient.h:
  14064. * WebCoreSupport.subproj/WebSubresourceClient.m:
  14065. (+[WebSubresourceClient startLoadingResource:withRequest:referrer:forDataSource:]):
  14066. (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
  14067. (+[WebSubresourceClient startLoadingResource:withURL:postData:referrer:forDataSource:]):
  14068. 2003-11-20 Chris Blumenberg <cblu@apple.com>
  14069. Fixed: <rdar://problem/3491229>: Need UI and localized strings for <KEYGEN> support
  14070. Reviewed by john.
  14071. * ChangeLog:
  14072. * English.lproj/Localizable.strings:
  14073. * WebCoreSupport.subproj/WebLocalizedStringFactory.h: Added.
  14074. * WebCoreSupport.subproj/WebLocalizedStringFactory.m: Added.
  14075. (+[WebLocalizedStringFactory createSharedFactory]): new
  14076. (-[WebLocalizedStringFactory dealloc]): new
  14077. (-[WebLocalizedStringFactory keyGenerationMenuItemTitles]): new
  14078. * WebKit.pbproj/project.pbxproj:
  14079. * WebView.subproj/WebFrameView.m: call [WebLocalizedStringFactory createSharedFactory]
  14080. 2003-11-20 Richard Williamson <rjw@apple.com>
  14081. Added spin of event loop during applet lookup poll. This
  14082. is necessary to allow timers and performOnMainThread: methods
  14083. a chance to fire. The plugin depends on these mechanisms during
  14084. initialization.
  14085. Reviewed by Chris.
  14086. * WebCoreSupport.subproj/WebBridge.m:
  14087. (-[WebBridge pollForAppletInView:]):
  14088. 2003-11-20 Ken Kocienda <kocienda@apple.com>
  14089. John and I decided to apply the _web_ prefix to the tab key
  14090. event method in the extras file, but I neglected to do this
  14091. before checking in. Fixed now.
  14092. * Misc.subproj/WebNSEventExtras.h:
  14093. * Misc.subproj/WebNSEventExtras.m:
  14094. (-[NSEvent _web_isTabKeyEvent])
  14095. * WebView.subproj/WebHTMLView.m:
  14096. (-[WebHTMLView keyDown:])
  14097. 2003-11-20 Ken Kocienda <kocienda@apple.com>
  14098. Reviewed by John
  14099. Fix for this bug:
  14100. <rdar://problem/3482159>: Tabbing to links gets "stuck" in "style switcher" on zeldman.com
  14101. * Misc.subproj/WebNSEventExtras.h: Added.
  14102. * Misc.subproj/WebNSEventExtras.m: Added.
  14103. (-[NSEvent _isTabKeyEvent]): New helper.
  14104. * WebKit.pbproj/project.pbxproj:
  14105. * WebView.subproj/WebHTMLView.m:
  14106. (-[WebHTMLView keyDown:]): Pass the key event to super unconditionally
  14107. if it is a tab key. This fixes the bug.
  14108. 2003-11-19 John Sullivan <sullivan@apple.com>
  14109. - WebKit part of fix for:
  14110. <rdar://problem/3305671>: Web pages print with 1.25" border without regard to Page
  14111. Setup margin settings
  14112. Reviewed by Dave.
  14113. * WebView.subproj/WebHTMLView.m:
  14114. (-[WebHTMLView beginDocument]):
  14115. Lay out the page into a width 25% wider than there's room for on the printed page.
  14116. This will make pages that can fit into a thin area be scaled down a little when printed,
  14117. which lets them fit on fewer pages. This closely matches what IE and Camino (at least)
  14118. do; I used Google as my test page, and the Google logo is now precisely the same size
  14119. when printed from Safari as when printed from IE. Pages that don't fit into a thin
  14120. area are already causing the printed page to be scaled horizontally to fit, and this
  14121. won't affect them.
  14122. 2003-11-19 Chris Blumenberg <cblu@apple.com>
  14123. Fixed: <rdar://problem/3489935>: Mentioning "to Disk" in context menus such as "Download Linked File To Disk..." is redundant
  14124. Reviewed by john.
  14125. * English.lproj/Localizable.strings:
  14126. * English.lproj/StringsNotToBeLocalized.txt:
  14127. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  14128. (-[WebDefaultUIDelegate menuItemWithTag:]): use "Download Linked File" and "Download Image"
  14129. 2003-11-19 Chris Blumenberg <cblu@apple.com>
  14130. Fixed: <rdar://problem/3488783>: Flash at http://www.sjwilson.net/reef/ does not load photos
  14131. Reviewed by rjw.
  14132. * Misc.subproj/WebKitNSStringExtras.h:
  14133. * Misc.subproj/WebKitNSStringExtras.m:
  14134. (-[NSString _web_stringByStrippingReturnCharacters]): new
  14135. * Plugins.subproj/WebBaseNetscapePluginView.m:
  14136. (-[WebBaseNetscapePluginView requestWithURLCString:]): call _web_stringByStrippingReturnCharacters on the relative string
  14137. 2003-11-19 Richard Williamson <rjw@apple.com>
  14138. More LiveConnect stuff. Horrible polling hack that
  14139. blocks main thread waiting for applet to fully initialize.
  14140. Reviewed by Ken.
  14141. * Plugins.subproj/WebPluginController.m:
  14142. (-[WebPluginController addPlugin:]):
  14143. * WebCoreSupport.subproj/WebBridge.m:
  14144. (-[WebBridge pollForAppletInView:]):
  14145. 2003-11-19 David Hyatt <hyatt@apple.com>
  14146. Make updateScrollers guard non-static, so that it applies only to the view whose scrollers are being
  14147. updated.
  14148. Reviewed by darin
  14149. * WebView.subproj/WebDynamicScrollBarsView.h:
  14150. * WebView.subproj/WebDynamicScrollBarsView.m:
  14151. (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
  14152. 2003-11-18 Richard Williamson <rjw@apple.com>
  14153. More live connect stubs. We're getting close.
  14154. Reviewed by Chris.
  14155. * Plugins.subproj/WebPluginController.m:
  14156. (-[WebPluginController addPlugin:]):
  14157. (-[WebPluginController _delayedGetApplet:]):
  14158. * WebView.subproj/WebView.m:
  14159. (-[WebView _goToItem:withLoadType:]):
  14160. 2003-11-17 Darin Adler <darin@apple.com>
  14161. Reviewed by Maciej.
  14162. - fixed 3487335: REGRESSION (112-113): "a:b" error message does not cite the URL properly
  14163. * Misc.subproj/WebKitErrors.m:
  14164. (+[NSError _webKitErrorWithCode:failingURL:]): Call _webKitErrorWithDomain:code:URL:.
  14165. (+[NSError _webKitErrorWithDomain:code:URL:]): Call _web_errorWithDomain:code:URL:, instead of using
  14166. the deprecated failingURL: flavor.
  14167. (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]):
  14168. Change this method to call the other one.
  14169. (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]): Implement this one,
  14170. and put in the NSErrorFailingURLKey, as well as the NSErrorFailingURLStringKey, to match what Foundation
  14171. now does for other errors.
  14172. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
  14173. Change to use the non-deprecated flavor of the NSError call above.
  14174. * English.lproj/StringsNotToBeLocalized.txt: Updated for above changes and other recent changes.
  14175. 2003-11-16 Maciej Stachowiak <mjs@apple.com>
  14176. Reviewed by Dave.
  14177. WebKit part of fix for:
  14178. <rdar://problem/3131664>: add support for the window.print() command used for "print this page" buttons
  14179. * WebCoreSupport.subproj/WebBridge.m:
  14180. (-[WebBridge print]): Call delegate.
  14181. * WebView.subproj/WebDefaultUIDelegate.m:
  14182. (-[WebDefaultUIDelegate webViewPrint:]): Implemented (do nothing).
  14183. * WebView.subproj/WebUIDelegatePrivate.h: Added. Add extra SPI method webViewPrint:
  14184. for UI delegate.
  14185. * WebKit.pbproj/project.pbxproj: Install WebUIDelegatePrivate.h as private header
  14186. 2003-11-15 Darin Adler <darin@apple.com>
  14187. Reviewed by John.
  14188. - fixes 3457162 -- selecting text during a page load that blows the text field away causes a crash
  14189. - fixes 3160035 -- crash or hang if you hold down a button while "go to about:blank soon" test runs
  14190. - without causing 3484608 -- REGRESSION: Flash broken at http://www.macromedia.com/
  14191. The WebKit part of this fix is making setDefersCallbacks: work. It had succumbed to bit rot.
  14192. This has a side effect of not considering a page load done until all the plug-in streams are loaded.
  14193. If that's not a good idea, we'll have to keep two separate lists in WebDataSource.
  14194. * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate setDataSource:]):
  14195. Set the defersCallbacks state from the WebView here so that clients don't have to do it.
  14196. * WebView.subproj/WebDataSource.m: (-[WebDataSource _addSubresourceClient:]): Remove call to
  14197. set the defersCallbacks state on the subresource client, because the above change obviates it.
  14198. (the client/delegate terminology makes it confusing, but it's a subclass). Also loosen the type
  14199. so we can call this on clients for plug-in streams too.
  14200. (-[WebDataSource _removeSubresourceClient:]): Loosen type here too.
  14201. (-[WebDataSource _defersCallbacksChanged]): And here.
  14202. * WebView.subproj/WebDataSourcePrivate.h: Loosen type of subresource client so we can pass in the
  14203. delegates for plug-in streams too.
  14204. * WebView.subproj/WebMainResourceClient.h: Added an _initialRequest field so we can defer the very
  14205. first callback, which does not rely on NSURLConnection.
  14206. * WebView.subproj/WebMainResourceClient.m:
  14207. (-[WebMainResourceClient dealloc]): Release the initial request.
  14208. (-[WebMainResourceClient loadWithRequestNow:]): Moved the guts of loadWithRequest in here; to be
  14209. used when the request is no longer deferred. Also removed the code to call setDefersCallbacks:
  14210. on the connection, and assert that we are only called when callbacks are not deferred. Because
  14211. the very first callback was not deferred, we would end up calling setDefersCallbacks:NO on the
  14212. WebView, so nothing would be deferred.
  14213. (-[WebMainResourceClient loadWithRequest:]): If callbacks are not deferred, then call the
  14214. loadWithRequestNow: method, otherwise simply store the request in _initialRequest.
  14215. (-[WebMainResourceClient setDefersCallbacks:]): If there is an _initialRequest and we are
  14216. ceasing deferral of callbacks, then call the loadWithRequestNow: method.
  14217. * Plugins.subproj/WebNetscapePluginStream.m:
  14218. (-[WebNetscapePluginStream start]): Call _addSubresourceClient, and then _removeSubresourceClient
  14219. if the load fails to even start.
  14220. (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): Call _removeSubresourceClient.
  14221. (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): Call _removeSubresourceClient.
  14222. * Plugins.subproj/WebBaseNetscapePluginStream.h: Removed unneeded import.
  14223. * Plugins.subproj/WebPluginDatabase.m: Add import needed now that WebBaseNetscapePluginStream.h
  14224. imports less than before.
  14225. 2003-11-16 Maciej Stachowiak <mjs@apple.com>
  14226. Reviewed by John.
  14227. - fixed 3362841 - javascript History Object length property is always 0
  14228. * WebCoreSupport.subproj/WebBridge.m:
  14229. (-[WebBridge historyLength]): Add one to the length to match other browsers.
  14230. 2003-11-14 John Sullivan <sullivan@apple.com>
  14231. - WebKit part of fix for <rdar://problem/3474757>: Safari on-screen text needs review
  14232. Reviewed by Ken.
  14233. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  14234. (-[WebDefaultUIDelegate menuItemWithTag:]):
  14235. change "Download Link to Disk" to "Download Linked File to Disk"
  14236. * English.lproj/Localizable.strings:
  14237. updated for these changes
  14238. 2003-11-14 Ken Kocienda <kocienda@apple.com>
  14239. Reviewed by John
  14240. Fix for this bug:
  14241. <rdar://problem/3481701>: Crashes before loading page/no error msg
  14242. (forums.pelicanparts.com) Works in IE and Netscape
  14243. This fix is really a workaround for this bug:
  14244. <rdar://problem/3484937>: Horribly malformed URL crashes when call
  14245. is made to CFURLCopyHostName
  14246. The fix is to avoid all usages of [NSURL host] by replacing all
  14247. such calls with a private URL method added to WebNSURLExtras.
  14248. I copied a number of URL methods from the private NSURL
  14249. extras file in Foundation to the WebKit URL extras file.
  14250. * Misc.subproj/WebNSDataExtras.h: Added. Helper for new URL extras.
  14251. * Misc.subproj/WebNSDataExtras.m: Ditto.
  14252. (-[NSData _web_isCaseInsensitiveEqualToCString:]): New helper.
  14253. * Misc.subproj/WebNSURLExtras.h:
  14254. * Misc.subproj/WebNSURLExtras.m:
  14255. (-[NSURL _web_hasQuestionMarkOnlyQueryString]): Added.
  14256. (-[NSURL _web_schemeSeparatorWithoutColon]): Added.
  14257. (-[NSURL _web_dataForURLComponentType:]): Added.
  14258. (-[NSURL _web_schemeData]): Added.
  14259. (-[NSURL _web_hostData]): Added.
  14260. (-[NSURL _web_hostString]): Added.
  14261. * WebKit.pbproj/project.pbxproj:
  14262. * WebView.subproj/WebView.m:
  14263. (-[WebView userAgentForURL:]): Replace call to [NSURL host] with new
  14264. extras _web_hostString method.
  14265. === Safari-114 ===
  14266. 2003-11-14 Vicki Murley <vicki@apple.com>
  14267. - rolled out Darin's fixes for 3457162 and 3160035, since these changes broke plugins on macromedia.com and disney.go.com
  14268. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  14269. (-[WebBaseResourceHandleDelegate setDataSource:]):
  14270. * WebView.subproj/WebDataSource.m:
  14271. (-[WebDataSource _addSubresourceClient:]):
  14272. * WebView.subproj/WebMainResourceClient.h:
  14273. * WebView.subproj/WebMainResourceClient.m:
  14274. (-[WebMainResourceClient dealloc]):
  14275. (-[WebMainResourceClient loadWithRequest:]):
  14276. (-[WebMainResourceClient setDefersCallbacks:]):
  14277. 2003-11-14 Darin Adler <darin@apple.com>
  14278. Reviewed by John.
  14279. - fixes 3457162 -- selecting text during a page load that blows the text field away causes a crash
  14280. - fixes 3160035 -- crash or hang if you hold down a button while "go to about:blank soon" test runs
  14281. The WebKit part of this fix is making setDefersCallbacks: work. It had succumbed to bit rot.
  14282. * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate setDataSource:]):
  14283. Set the defersCallbacks state from the WebView here so that clients don't have to do it.
  14284. * WebView.subproj/WebDataSource.m: (-[WebDataSource _addSubresourceClient:]): Remove call to
  14285. set the defersCallbacks state on the subresource client, because the above change obviates it.
  14286. (the client/delegate terminology makes it confusing, but it's a subclass).
  14287. * WebView.subproj/WebMainResourceClient.h: Added an _initialRequest field so we can defer the very
  14288. first callback, which does not rely on NSURLConnection.
  14289. * WebView.subproj/WebMainResourceClient.m:
  14290. (-[WebMainResourceClient dealloc]): Release the initial request.
  14291. (-[WebMainResourceClient loadWithRequestNow:]): Moved the guts of loadWithRequest in here; to be
  14292. used when the request is no longer deferred. Also removed the code to call setDefersCallbacks:
  14293. on the connection, and assert that we are only called when callbacks are not deferred. Because
  14294. the very first callback was not deferred, we would end up calling setDefersCallbacks:NO on the
  14295. WebView, so nothing would be deferred.
  14296. (-[WebMainResourceClient loadWithRequest:]): If callbacks are not deferred, then call the
  14297. loadWithRequestNow: method, otherwise simply store the request in _initialRequest.
  14298. (-[WebMainResourceClient setDefersCallbacks:]): If there is an _initialRequest and we are
  14299. ceasing deferral of callbacks, then call the loadWithRequestNow: method.
  14300. 2003-11-13 Ken Kocienda <kocienda@apple.com>
  14301. Reviewed by John
  14302. Fix for this bug:
  14303. <rdar://problem/3483284>: Tabbing to links needs to honor new
  14304. WebKit tab-to-links preference
  14305. * WebCoreSupport.subproj/WebBridge.m:
  14306. (-[WebBridge dealloc]): Remove self from notification center.
  14307. (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]): Now
  14308. checks for WebCoreKeyboardAccessTabsToLinks preference.
  14309. (-[WebBridge keyboardUIMode]): Adds self to notification center
  14310. to pick up changes to WebPreferences.
  14311. 2003-11-13 Ken Kocienda <kocienda@apple.com>
  14312. Reviewed by John
  14313. Fix for this bug:
  14314. <rdar://problem/3481719>: WebKit needs preference for tabbing to links
  14315. * WebView.subproj/WebPreferences.m:
  14316. (+[WebPreferences initialize]): Add initialization of new
  14317. WebKitTabToLinksPreferenceKey.
  14318. (-[WebPreferences setTabsToLinks:]): Added preference setter.
  14319. (-[WebPreferences tabsToLinks]): Added preference getter.
  14320. * WebView.subproj/WebPreferencesPrivate.h: Declared new methods as
  14321. SPI on WebPreferences.
  14322. 2003-11-12 Richard Williamson <rjw@apple.com>
  14323. Fixed 3475082. Remove unnecessary orderKey before showKey.
  14324. Written by Ed Voas.
  14325. Reviewed by Richard.
  14326. * Carbon.subproj/CarbonWindowAdapter.m:
  14327. (-[CarbonWindowAdapter makeKeyWindow]):
  14328. 2003-11-12 Chris Blumenberg <cblu@apple.com>
  14329. Fixed: <rdar://problem/3482147>: replace _releaseFutureIconForURL assertion with a log statement
  14330. Reviewed by rjw.
  14331. * Misc.subproj/WebIconDatabase.m:
  14332. (-[WebIconDatabase _releaseFutureIconForURL:]):
  14333. 2003-11-10 Richard Williamson <rjw@apple.com>
  14334. Fixed 3478765. Use ICU to access unicode properties.
  14335. Fixed 3478831. Unicode property/conversion functions should be 32 bit savvy.
  14336. Fixed 3478885. Remove dead arabic shaping code
  14337. Reviewed by Darin.
  14338. * Misc.subproj/WebUnicode.h:
  14339. * Misc.subproj/WebUnicode.m:
  14340. (_unicodeDigitValue):
  14341. (_unicodeDirection):
  14342. (_unicodeMirrored):
  14343. (_unicodeMirroredChar):
  14344. (_unicodeLower):
  14345. (_unicodeUpper):
  14346. (WebKitInitializeUnicode):
  14347. (shapeForNextCharacter):
  14348. (initializeCharacterShapeIterator):
  14349. * Misc.subproj/WebUnicodeTables.m:
  14350. * WebCoreSupport.subproj/WebTextRenderer.m:
  14351. (widthForNextCharacter):
  14352. (fontContainsString):
  14353. 2003-11-10 Chris Blumenberg <cblu@apple.com>
  14354. Fixed: <rdar://problem/3478351>: Safari: URL Alias on Dock failed to open the 2byte URL
  14355. Reviewed by dave.
  14356. * Misc.subproj/WebNSURLExtras.m:
  14357. (-[NSString _web_mapHostNameWithRange:encode:makeString:]): if the host name is percent-escaped, use CFURLCreateStringByReplacingPercentEscapes
  14358. 2003-11-10 Richard Williamson <rjw@apple.com>
  14359. Use ICU for upper/lower conversion. Fixed 3477157, 3478455, 3478456, 3478457, 3478486.
  14360. Remaining issues with surrogates (3477159) and Turkish I (3478482).
  14361. Reviewed by Ken.
  14362. * Misc.subproj/WebUnicode.m:
  14363. (_unicodeLower):
  14364. (_unicodeUpper):
  14365. 2003-11-07 Chris Blumenberg <cblu@apple.com>
  14366. Fixed: <rdar://problem/3240778>: add "save" menu item to contextual menu for text pages
  14367. Reviewed by darin.
  14368. * WebView.subproj/WebTextView.m:
  14369. (-[WebTextView menuForEvent:]): Made WebTextView's context menu behavior like WebHTMLView's context menu behavior with regards to selection. If the control-click was on a selection, show menu options for the selection like copy. If it was not on a
  14370. selection, show menu options such as save and print. Don't select anything when control-clicking.
  14371. 2003-11-08 Chris Blumenberg <cblu@apple.com>
  14372. Fixed: <rdar://problem/3478022>: assertion failure while loading WMP content
  14373. Reviewed by darin.
  14374. * ChangeLog:
  14375. * Plugins.subproj/WebNetscapePluginStream.m:
  14376. (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): Don't continue if the stream is cancelled in startStreamWithResponse.
  14377. 2003-11-07 Richard Williamson <rjw@apple.com>
  14378. Fixed 3477067. Use our case unicode conversion routines.
  14379. Reviewed by Ken.
  14380. * WebCoreSupport.subproj/WebTextRenderer.m:
  14381. (toUpper):
  14382. 2003-11-06 Richard Williamson <rjw@apple.com>
  14383. Fixed 3476393. Call scrollPoint: recursively up the view hierarchy to ensure point is visible.
  14384. Reviewed by Ken.
  14385. * Misc.subproj/WebNSViewExtras.h:
  14386. * Misc.subproj/WebNSViewExtras.m:
  14387. (-[NSView _web_scrollPointToVisible:fromView:]):
  14388. * WebView.subproj/WebHTMLView.m:
  14389. (-[WebHTMLView scrollPoint:]):
  14390. === Safari-113 ===
  14391. 2003-11-05 Darin Adler <darin@apple.com>
  14392. Reviewed by Maciej.
  14393. - fixed 3473913 -- host names in simple mailto URLs are not getting encoded/decoded correctly yet
  14394. * Misc.subproj/WebNSURLExtras.m:
  14395. (applyHostNameFunctionToMailToURLString): Handle case where host name is at the end of the string.
  14396. (applyHostNameFunctionToURLString): Add the # character to the set of characters that can end
  14397. a domain name.
  14398. 2003-11-05 Richard Williamson <rjw@apple.com>
  14399. Fixed 3413067, 3405797, 3456877
  14400. Use ATSUI to render Arabic and Hebrew.
  14401. Reviewed by John.
  14402. * WebCoreSupport.subproj/WebTextRenderer.m:
  14403. (shouldUseATSU):
  14404. 2003-11-05 John Sullivan <sullivan@apple.com>
  14405. - fixed <rdar://problem/3469791>: Bigger/Smaller commands are
  14406. disabled for HTML Mail in separate window (w/WebKit-111)
  14407. Reviewed by Darin.
  14408. * WebView.subproj/WebFrameView.m:
  14409. (-[WebFrameView acceptsFirstResponder]):
  14410. always be willing to become first responder, even if no page
  14411. has yet been loaded.
  14412. (-[WebFrameView becomeFirstResponder]):
  14413. if no page has yet been loaded (so our scrollview refuses
  14414. first responder-ness), don't do any special becoming-first-
  14415. responder shenanigans.
  14416. Also removed obsolete overrides for nextKeyView, nextValidKeyView,
  14417. previousKeyView, and previousValidKeyView that are no longer
  14418. required now that we handle the key loop more like NSScrollView.
  14419. * WebView.subproj/WebFrameViewPrivate.h:
  14420. removed now-unused ivar inNextValidKeyView
  14421. 2003-11-05 Richard Williamson <rjw@apple.com>
  14422. Fixed 3029966. Animated backgrounds specified in <BODY> don't animate
  14423. Fixed 3474824. Tiled animated GIFs don't animate.
  14424. Fixed 3029966. Animated backgrounds specified with CSS don't animate.
  14425. Reviewed by Chris.
  14426. * WebCoreSupport.subproj/WebImageRenderer.h:
  14427. * WebCoreSupport.subproj/WebImageRenderer.m:
  14428. (-[WebImageRenderer nextFrame:]):
  14429. (-[WebImageRenderer drawImageInRect:fromRect:]):
  14430. (-[WebImageRenderer startAnimationIfNecessary]):
  14431. (-[WebImageRenderer tileInRect:fromPoint:]):
  14432. * WebView.subproj/WebImageView.m:
  14433. (-[WebImageView drawRect:]):
  14434. 2003-11-05 Chris Blumenberg <cblu@apple.com>
  14435. Fixed: <rdar://problem/3201364>: Safari crashes when hosting carbon plug-in using drag and drop
  14436. Reviewed by rjw.
  14437. * WebView.subproj/WebView.m:
  14438. (-[WebView draggingUpdated:]): return NSDragOperationNone if we're over a plug-in view so the plug-in can handle the drag
  14439. 2003-11-05 Chris Blumenberg <cblu@apple.com>
  14440. Fixed: <rdar://problem/3474360>: should attempt to resolve symbolic links when choosing "Save Link As..."
  14441. Reviewed by kocienda.
  14442. * WebView.subproj/WebView.m:
  14443. (-[WebView _fileWrapperForURL:]): follow sym links
  14444. 2003-11-05 Ken Kocienda <kocienda@apple.com>
  14445. Reviewed by Darin
  14446. Fix for this bug:
  14447. <rdar://problem/3455910>: hitting up or down arrows when focus
  14448. is on a pop-up menu should pop the menu
  14449. * WebView.subproj/WebFrameView.m:
  14450. (-[WebFrameView keyDown:]): Call super with the event if focus
  14451. is on a pop up button.
  14452. 2003-11-05 Ken Kocienda <kocienda@apple.com>
  14453. Reviewed by Maciej
  14454. Fix for these bugs:
  14455. <rdar://problem/3467558>: Cannot tab to form file input widgets
  14456. <rdar://problem/3473631>: WebFileButton sends notifications to communicate with WebCore
  14457. Tabbing now works for these widgets. While I was in the neighborhood,
  14458. I improved the communication mechanism between the WebKit and WebCore
  14459. sides of the file button implementation, replacing notifications
  14460. with a callback object.
  14461. * WebCoreSupport.subproj/WebBridge.m:
  14462. (-[WebBridge fileButtonWithDelegate:]): Method now takes a
  14463. delegate object.
  14464. * WebCoreSupport.subproj/WebFileButton.h:
  14465. * WebCoreSupport.subproj/WebFileButton.m:
  14466. (-[WebFileButton initWithBridge:delegate:]):
  14467. (-[WebFileButton initWithFrame:]):
  14468. (-[WebFileButton dealloc]):
  14469. (-[WebFileButton chooseFilename:]): Sends callback rather than posting
  14470. a notification.
  14471. (-[WebFileButton chooseButtonPressed:]): Ditto.
  14472. (-[WebFileButton mouseDown:]):
  14473. (-[WebFileButton acceptsFirstResponder]):
  14474. (-[WebFileButton becomeFirstResponder]): Make the button subview
  14475. first responder.
  14476. (-[WebFileButton nextKeyView]): Hook up to WebBridge key view machinery.
  14477. (-[WebFileButton previousKeyView]): Ditto.
  14478. (-[WebFileButton nextValidKeyView]): Ditto.
  14479. (-[WebFileButton previousValidKeyView]): Ditto.
  14480. (-[WebFileChooserButton initWithDelegate:]):
  14481. (-[WebFileChooserButton nextValidKeyView]): Ditto.
  14482. (-[WebFileChooserButton previousValidKeyView]): Ditto.
  14483. (-[WebFileChooserButton resignFirstResponder]): Sends a focus change
  14484. callback.
  14485. 2003-11-04 Darin Adler <darin@apple.com>
  14486. Reviewed by John, except for one bit reviewed by Maciej.
  14487. - first step for IDNA support; helper functions for Safari
  14488. * Misc.subproj/WebNSURLExtras.h: Add six new methods to manipulate host names directly.
  14489. * Misc.subproj/WebNSURLExtras.m:
  14490. (applyHostNameFunctionToMailToURLString): Added. Finds host names within a mailto URL.
  14491. (applyHostNameFunctionToURLString): Added. Finds host names within a URL.
  14492. (collectRangesThatNeedMapping): Added. Builds a list of host name ranges that need mapping.
  14493. (collectRangesThatNeedEncoding): Added. Calls the above for encoding.
  14494. (collectRangesThatNeedDecoding): Added. Calls the above for decoding.
  14495. (mapHostNames): Added. Helper function that does the entire mapping process for a URL.
  14496. (+[NSURL _web_URLWithUserTypedString:]): Call mapHostNames to encode after trimming whitespace.
  14497. (-[NSURL _web_userVisibleString]): Call mapHostNames to decode after decoding escape sequences.
  14498. (-[NSURL _webkit_URLByRemovingFragment]): Removed unneeded redundant NULL check.
  14499. (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Added. Workhorse function to call
  14500. the IDN functions in the Unicode library.
  14501. (-[NSString _web_hostNameNeedsDecodingWithRange:]): Added.
  14502. (-[NSString _web_hostNameNeedsEncodingWithRange:]): Added.
  14503. (-[NSString _web_decodeHostNameWithRange:]): Added.
  14504. (-[NSString _web_encodeHostNameWithRange:]): Added.
  14505. (-[NSString _web_decodeHostName]): Added.
  14506. (-[NSString _web_encodeHostName]): Added.
  14507. * WebKit.pbproj/project.pbxproj: Added libicucore.dylib.
  14508. * English.lproj/StringsNotToBeLocalized.txt: Updated for above changes.
  14509. 2003-11-04 John Sullivan <sullivan@apple.com>
  14510. - a little optimization I noticed when looking at 3125137
  14511. Reviewed by Chris.
  14512. * Misc.subproj/WebStringTruncator.m:
  14513. (truncateString):
  14514. if incoming string has length 0, bail out right away
  14515. 2003-11-04 Chris Blumenberg <cblu@apple.com>
  14516. Fixed:
  14517. <rdar://problem/3472403>: RTFD of copied text and images should use original image data not tiffs
  14518. <rdar://problem/3472435>: dragging local image file downloads it instead of copies it
  14519. <rdar://problem/3472450>: copied and dragged local image files are TIFF, not original image data
  14520. Reviewed by john.
  14521. * Misc.subproj/WebNSPasteboardExtras.h:
  14522. * Misc.subproj/WebNSPasteboardExtras.m:
  14523. (-[NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]): new
  14524. * Misc.subproj/WebNSViewExtras.h:
  14525. * Misc.subproj/WebNSViewExtras.m:
  14526. (-[NSView _web_dragImage:fileWrapper:rect:URL:title:event:]): take a file wrapper instead of data so [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:] can be called
  14527. * WebCoreSupport.subproj/WebBridge.m:
  14528. (-[WebBridge fileWrapperForURL:]): call fileWrapperForURL on the WebView
  14529. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  14530. (-[WebDefaultUIDelegate copyImageToClipboard:]): call [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]
  14531. * WebView.subproj/WebHTMLView.m:
  14532. (-[WebHTMLView _handleMouseDragged:]): when calling _web_dragImage, pass a file wrapper from fileWrapperForURL
  14533. (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call fileWrapperForURL
  14534. * WebView.subproj/WebImageRepresentation.h:
  14535. * WebView.subproj/WebImageRepresentation.m:
  14536. (-[WebImageRepresentation fileWrapper]): new
  14537. * WebView.subproj/WebImageView.m:
  14538. (-[WebImageView writeImageToPasteboard:]): call [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]
  14539. (-[WebImageView mouseDragged:]): pass the file wrapper to _web_dragImage
  14540. * WebView.subproj/WebView.m:
  14541. (-[WebView _fileWrapperForURL:]): new, returns a file wrapper from a local file or from the cache
  14542. * WebView.subproj/WebViewPrivate.h:
  14543. 2003-11-04 John Sullivan <sullivan@apple.com>
  14544. - fixed <rdar://problem/3472813>: REGRESSION (100-111): Some tabs start
  14545. out scrolled down to focused text field
  14546. Reviewed by Ken.
  14547. * WebView.subproj/WebHTMLView.m:
  14548. (-[WebHTMLView acceptsFirstResponder]):
  14549. The logic to avoid accepting first responder on clicks was too broad;
  14550. it was rejecting first-responder-ness even for clicks outside of this
  14551. view. Clicking a tab item was going through some logic in NSTabView
  14552. looking for the first valid key view starting with the web view, but the
  14553. web view was returning NO due to this faulty click logic. Thus the
  14554. first subview text field was becoming first responder, and causing scroll.
  14555. 2003-11-03 Chris Blumenberg <cblu@apple.com>
  14556. Fixed:
  14557. <rdar://problem/3472377>: Provide NSRTFDPboardType on pasteboard when copying or dragging images
  14558. <rdar://problem/3470809>: REGRESSION (111-112): Can't copy & paste image into Photoshop 7
  14559. Reviewed by hyatt.
  14560. * Misc.subproj/WebNSPasteboardExtras.h:
  14561. * Misc.subproj/WebNSPasteboardExtras.m:
  14562. (-[NSPasteboard _web_writeFileDataAsRTFDAttachment:withFilename:]): renamed, now writes file data as an RTF attachment
  14563. * Misc.subproj/WebNSViewExtras.m:
  14564. (-[NSView _web_dragImage:originalData:rect:URL:title:event:]): call renamed _web_writeFileDataAsRTFDAttachment
  14565. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  14566. (-[WebDefaultUIDelegate copyImageToClipboard:]): call renamed _web_writeFileDataAsRTFDAttachment
  14567. * WebView.subproj/WebImageView.m:
  14568. (-[WebImageView writeImageToPasteboard:]): call renamed _web_writeFileDataAsRTFDAttachment
  14569. 2003-11-03 Vicki Murley <vicki@apple.com>
  14570. Reviewed by kocienda.
  14571. - fixed <rdar://problem/3471096>: non-B&I builds should not use order files, because they cause false "regressions" in perf.
  14572. * WebKit.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles
  14573. 2003-11-03 Ken Kocienda <kocienda@apple.com>
  14574. Reviewed by John
  14575. Fix for this bug:
  14576. <rdar://problem/3470342>: focus rings are shown for links in
  14577. web pages even in non-frontmost windows
  14578. * WebView.subproj/WebHTMLView.m:
  14579. (-[WebHTMLView updateFocusRing]): New method. Uses the "keyness"
  14580. of the view's window to toggle focus ring drawing.
  14581. (-[WebHTMLView windowDidBecomeKey:]): Calls updateFocusRing.
  14582. (-[WebHTMLView windowDidResignKey:]): Ditto.
  14583. 2003-11-01 Maciej Stachowiak <mjs@apple.com>
  14584. Reviewed by Darin.
  14585. - remove use of obsolete HTTLCookiePolicyBaseURL SPI
  14586. * WebCoreSupport.subproj/WebSubresourceClient.m:
  14587. startLoadingResource:withURL:referrer:forDataSource:]): Use
  14588. setMainDocumentURL, not setHTTPCookiePolicyBaseURL.
  14589. * WebView.subproj/WebFrame.m:
  14590. (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]): Likewise.
  14591. * WebView.subproj/WebMainResourceClient.m:
  14592. (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): Likewise.
  14593. 2003-11-01 Darin Adler <darin@apple.com>
  14594. Reviewed by Maciej.
  14595. - fixed 3470882 -- storage leaks in WebDownload code
  14596. - fixed 3470884 -- download is always nil in downloadWindowForAuthenticationSheet: call from WebDownload
  14597. * Misc.subproj/WebDownload.m:
  14598. (-[WebDownloadInternal initWithDownload:]): Removed this method, which was never called.
  14599. (-[WebDownloadInternal dealloc]): Added missing call to [super dealloc] to fix one cause
  14600. of a leak of the WebDownloadInternal object itself. Removed the release of webDownload,
  14601. which was always nil, and if it wasn't would end up causing a leak due to a reference cycle.
  14602. (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]): Remove the use of
  14603. webDownload, which was always nil, and instead use the download parameter passed to us,
  14604. casting it to WebDownload, since it's guaranteed to be one.
  14605. (-[WebDownload _setRealDelegate:]): Added. Shared by the methods below to set up the real
  14606. delegate before calling init. The old code called init twice, causing an second call to the
  14607. superclass's init method, which caused it to create an extra copy of its internal structure,
  14608. as well as causing us to create two WebDownloadInternal objects.
  14609. (-[WebDownload init]): Don't allocate a second WebDownloadInternal if _setRealDelegate already
  14610. allocated it for us. Before we would allocate and leak an extra one each time.
  14611. (-[WebDownload dealloc]): Added. Releases the WebDownloadInternal. This is the second cause
  14612. of the leak of the WebDownloadInternal object.
  14613. (-[WebDownload initWithRequest:delegate:]): Call [self _setRealDelegate:] instead of calling
  14614. [self init] and then [_webInternal setRealDelegate:], avoiding the leaks caused by doing it
  14615. the other way.
  14616. (-[WebDownload _initWithLoadingConnection:request:response:delegate:proxy:]): Ditto.
  14617. (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): Ditto.
  14618. (-[WebDownload _initWithRequest:delegate:directory:]): Ditto.
  14619. 2003-10-31 David Hyatt <hyatt@apple.com>
  14620. Fix for 3466542, add a real minimum font size setting.
  14621. Reviewed by john
  14622. * WebView.subproj/WebPreferences.h:
  14623. * WebView.subproj/WebPreferences.m:
  14624. (+[WebPreferences initialize]):
  14625. (-[WebPreferences setMinimumFontSize:]):
  14626. (-[WebPreferences minimumLogicalFontSize]):
  14627. (-[WebPreferences setMinimumLogicalFontSize:]):
  14628. * WebView.subproj/WebView.m:
  14629. (-[WebView _updateWebCoreSettingsFromPreferences:]):
  14630. 2003-10-31 Ken Kocienda <kocienda@apple.com>
  14631. Reviewed by Darin
  14632. Fix for this bug:
  14633. <rdar://problem/3469088>: focus not removed from text link
  14634. when user hits cmd-L or clicks in window chrome
  14635. * WebView.subproj/WebHTMLView.m:
  14636. (-[WebHTMLView deselectText]): Added new method just to deselect text.
  14637. (-[WebHTMLView resignFirstResponder]): Just deseclect text if we
  14638. are doing a programmatic setting of focus. Deselect all otherwise.
  14639. 2003-10-30 Chris Blumenberg <cblu@apple.com>
  14640. Fixed: <rdar://problem/3458368>: drawing to the screen while window hidden: http://www.bhphotovideo.com/
  14641. Reviewed by john.
  14642. * Plugins.subproj/WebBaseNetscapePluginView.m:
  14643. (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): clip out the plug-in when the window is miniaturized or hidden
  14644. (-[WebBaseNetscapePluginView restartNullEvents]): don't restart null events if the window is miniaturized, this allows restartNullEvents to be called in start and viewDidMoveToWindow without needing to make the check
  14645. (-[WebBaseNetscapePluginView start]): just call restartNullEvents instead of checking if the window is miniaturized
  14646. 2003-10-30 Ken Kocienda <kocienda@apple.com>
  14647. Reviewed by Hyatt
  14648. * WebCoreSupport.subproj/WebBridge.m:
  14649. (-[WebBridge documentView]): Added.
  14650. * WebCoreSupport.subproj/WebGraphicsBridge.h: Added.
  14651. * WebCoreSupport.subproj/WebGraphicsBridge.m: Added.
  14652. (+[WebGraphicsBridge createSharedBridge]): Added.
  14653. (-[WebGraphicsBridge setFocusRingStyle:radius:color:]): Added.
  14654. * WebKit.pbproj/project.pbxproj:
  14655. * WebView.subproj/WebFrameView.m: Create a WebGraphicsBridge
  14656. when creating a WebFrameView.
  14657. === Safari-112 ===
  14658. 2003-10-29 Maciej Stachowiak <mjs@apple.com>
  14659. Reviewed by Darin.
  14660. - fixed 3467632 - Leak of plugin info visiting http://www.ebay.com
  14661. * Plugins.subproj/WebBasePluginPackage.m:
  14662. (-[WebBasePluginPackage dealloc]): Release lastModifiedDate.
  14663. 2003-10-29 Chris Blumenberg <cblu@apple.com>
  14664. WebKit part of fix for:
  14665. <rdar://problem/3467744>: Photoshop files (.psd) don't show up in Open dialog in Safari, but can be viewed
  14666. <rdar://problem/3109132>: Can't open movie file via open panel even though it can be dropped in browser window
  14667. Reviewed by john.
  14668. * WebView.subproj/WebView.m:
  14669. (+[WebView _supportedMIMETypes]): new
  14670. (+[WebView _supportedFileExtensions]): new
  14671. * WebView.subproj/WebViewPrivate.h:
  14672. 2003-10-29 Chris Blumenberg <cblu@apple.com>
  14673. Fixed: <rdar://problem/3438716>: jpg and gif images copied from Safari and placed in mail are sent as tiff
  14674. Reviewed by john.
  14675. * Misc.subproj/WebNSPasteboardExtras.h:
  14676. * Misc.subproj/WebNSPasteboardExtras.m:
  14677. (-[NSPasteboard _web_writeFileContents:withFilename:]): new
  14678. * Misc.subproj/WebNSViewExtras.h:
  14679. * Misc.subproj/WebNSViewExtras.m:
  14680. (-[NSView _web_dragImage:originalData:rect:URL:title:event:]): now takes originalData and calls _web_fileContents:withFilename:
  14681. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  14682. (-[WebDefaultUIDelegate copyImageToClipboard:]): call _web_writeFileContents:withFilename:
  14683. * WebView.subproj/WebHTMLView.m:
  14684. (-[WebHTMLView _handleMouseDragged:]): call renamed _web_dragImage and [WebView _cachedResponseForURL:]
  14685. (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call [WebView _cachedResponseForURL:]
  14686. * WebView.subproj/WebImageView.m:
  14687. (-[WebImageView writeImageToPasteboard:]): call _web_writeFileContents:withFilename:
  14688. (-[WebImageView mouseDragged:]): call renamed _web_dragImage
  14689. * WebView.subproj/WebView.m:
  14690. (-[WebView _cachedResponseForURL:]): new
  14691. * WebView.subproj/WebViewPrivate.h:
  14692. 2003-10-28 John Sullivan <sullivan@apple.com>
  14693. - fixed <rdar://problem/3466082>: 7B85/111: Crash viewing web page ([WebView setNextKeyView:])
  14694. Reviewed by Chris.
  14695. * WebView.subproj/WebView.m:
  14696. (-[WebView dealloc]):
  14697. set _private to nil after releasing, because [super dealloc] can dispatch to it
  14698. (-[WebView mainFrame]):
  14699. fixed spelling error in comment
  14700. 2003-10-28 Chris Blumenberg <cblu@apple.com>
  14701. Fixed: <rdar://problem/3465383>: REGRESSION: Text field progress bar goes to 100% after error or stop
  14702. Reviewed by john.
  14703. * WebView.subproj/WebFrame.m:
  14704. (-[WebFrame _isLoadComplete]): call _progressCompleted after we deliver the didFailLoadWithError or didFinishLoadForFrame message as we do in other places. This allows to be aware of the error (if there is one), when they get the WebViewProgressFi
  14705. nishedNotification notification.
  14706. 2003-10-27 Maciej Stachowiak <mjs@apple.com>
  14707. Reviewed by Darin.
  14708. - fixed 3083264 - frame names changed by JavaScript are not reflected in WebFrame at the WebKit level
  14709. * WebCoreSupport.subproj/WebBridge.m:
  14710. (-[WebBridge didSetName:]): Tell the WebFrame about its new name.
  14711. 2003-10-28 John Sullivan <sullivan@apple.com>
  14712. - fixed 3465613 -- REGRESSION (111): Crash creating nib that
  14713. contains WebView
  14714. Reviewed by Chris.
  14715. * WebView.subproj/WebView.m:
  14716. (-[WebView mainFrame]):
  14717. check for nil _private before dereferencing.
  14718. 2003-10-28 Chris Blumenberg <cblu@apple.com>
  14719. Fixed: <rdar://problem/3465591>: Security: Netscape plug-ins can execute JavaScript in other frames
  14720. Reviewed by mjs.
  14721. * Plugins.subproj/WebBaseNetscapePluginView.m:
  14722. (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): renamed, no need to pass the target frame since the target is either the plug-in itself or the frame that contains the plug-in
  14723. (-[WebBaseNetscapePluginView loadPluginRequest:]): call renamed evaluateJavaScriptPluginRequest
  14724. (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): if this is a JS request that is targeted at a frame, return NPERR_INVALID_PARAM if the frame is not the frame that contains the plugin
  14725. 2003-10-28 Chris Blumenberg <cblu@apple.com>
  14726. Fixed: <rdar://problem/3437959>: javascript: URLs don't work from Java (and other Cocoa plugins, if any)
  14727. Reviewed by mjs.
  14728. * Plugins.subproj/WebPluginController.m:
  14729. (-[WebPluginController showURL:inFrame:]): support JS requests targeted only to the plug-in's frame.
  14730. 2003-10-27 John Sullivan <sullivan@apple.com>
  14731. - fixed 3441258 -- hysteresis to start dragging a link is too small; too easy to start drag
  14732. Reviewed by Chris.
  14733. * WebView.subproj/WebHTMLView.m:
  14734. (-[WebHTMLView _handleMouseDragged:]):
  14735. Split DragHysteresis into two values, one for links and one for images. Make
  14736. the link one much larger than the image one (since dragging an image doesn't
  14737. occur accidentally in the ways that dragging a link does).
  14738. 2003-10-27 Chris Blumenberg <cblu@apple.com>
  14739. Fixed: <rdar://problem/3462523>: Safari Sometimes Destroys Applets When Going "Back"
  14740. Reviewed by darin.
  14741. * History.subproj/WebHistoryItem.m:
  14742. (+[WebHistoryItem _destroyAllPluginsInPendingPageCaches]): Don't destroy plug-ins that are currently being viewed.
  14743. 2003-10-27 Chris Blumenberg <cblu@apple.com>
  14744. Fixed: <rdar://problem/3463144>: assertion failure when viewing jpeg with SoundPix installed
  14745. Reviewed by john.
  14746. * WebView.subproj/WebDataSource.m:
  14747. (+[WebDataSource _repTypesAllowImageTypeOmission:]): don't allow image types to override types that are already registered as we do in [WebFrameView _viewTypesAllowImageTypeOmission:]
  14748. 2003-10-24 Chris Blumenberg <cblu@apple.com>
  14749. Fixed:
  14750. <rdar://problem/3462977>: ER: Nice if images dragged from web pages didn't redownload
  14751. <rdar://problem/3031582>: Dragging an image to the desktop doesn't leave the file where I dropped it
  14752. <rdar://problem/3061371>: "CFURLGetFSRef failed" log when dragging image to Finder
  14753. Reviewed by john.
  14754. * WebView.subproj/WebHTMLView.m:
  14755. (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): attempt to fetch the image data from the cache, if that works, write out the file
  14756. 2003-10-26 Darin Adler <darin@apple.com>
  14757. * WebKitPrefix.h: Add a definition of NULL here so we get the stricter type checking
  14758. even on pre-Merlot systems.
  14759. === Safari-111 ===
  14760. 2003-10-24 Richard Williamson <rjw@apple.com>
  14761. Fixed 3425358. Don't try to create page cache for pages that
  14762. have a nil view().
  14763. Reviewed by Hyatt.
  14764. * WebView.subproj/WebFrame.m:
  14765. (-[WebFrame _createPageCacheForItem:]):
  14766. (-[WebFrame _setState:]):
  14767. 2003-10-24 Chris Blumenberg <cblu@apple.com>
  14768. Fixed: <rdar://problem/3424039>: standalone plug-in content occasionaly redirects to blank page
  14769. Reviewed by john.
  14770. * Plugins.subproj/WebBaseNetscapePluginView.m:
  14771. (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): don't honor JS requests from standalone plug-ins to workaround 3462628 which is a deeper issue.
  14772. 2003-10-24 Chris Blumenberg <cblu@apple.com>
  14773. Fixed: <rdar://problem/3462256>: REGRESSION: Plain text is downloaded
  14774. Reviewed by john.
  14775. * WebView.subproj/WebView.m:
  14776. (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): use _web_objectForMIMEType when getting an object for a MIME. Removed unnecessary code that checked for the document classes after loading the plug-in DB since it is not an optimization because
  14777. the plug-in DB calls _viewTypesAllowImageTypeOmission:NO.
  14778. 2003-10-23 Chris Blumenberg <cblu@apple.com>
  14779. Fixed: <rdar://problem/3364036>: ER: Allow plug-ins to override built-in types such as image/jpeg
  14780. Reviewed by john.
  14781. * Plugins.subproj/WebPluginDatabase.m:
  14782. (-[WebPluginDatabase refresh]): Allow plug-ins to override built-in types except for our core HTML types and don't allow the QT plug-in to override any types because it handles many types that we already handle
  14783. * WebCoreSupport.subproj/WebBridge.m:
  14784. (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:): instead of asserting, handle the case where we ask a plug-in to map from an extension to a MIME type, but nil is returned
  14785. (-[WebBridge frameRequiredForMIMEType:URL:]): no need to start up the plug-in DB because this is now handled by [WebView _viewClass:andRepresentationClass:forMIMEType:]
  14786. * WebView.subproj/WebDataSource.m:
  14787. (+[WebDataSource _representationClassForMIMEType:]): call [WebView _viewClass:andRepresentationClass:forMIMEType:]
  14788. (-[WebDataSource _makeRepresentation]): call _representationClassForMIMEType
  14789. * WebView.subproj/WebDataSourcePrivate.h:
  14790. * WebView.subproj/WebFrameView.m:
  14791. (-[WebFrameView _makeDocumentViewForDataSource:]): tweak
  14792. (+[WebFrameView _viewClassForMIMEType:]): call [WebView _viewClass:andRepresentationClass:forMIMEType:]
  14793. * WebView.subproj/WebView.m:
  14794. (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): new, central place for mapping from a MIME to the document classes. We now load the plug-in DB when a non-HTML MIME type is encountered instead of loading the plug-in DB when the class for the
  14795. MIME type is not found. This is required to fully fix 3364036.
  14796. (+[WebView canShowMIMEType:]): call [WebView _viewClass:andRepresentationClass:forMIMEType:]
  14797. (+[WebView registerViewClass:representationClass:forMIMEType:]): tweak
  14798. * WebView.subproj/WebViewPrivate.h:
  14799. 2003-10-23 John Sullivan <sullivan@apple.com>
  14800. - fixed 3459272 -- Can't set up keyboard loop inside a
  14801. WebDocumentView without subclassing views
  14802. - fixed 3179062 -- can't tab back to address bar from image-only
  14803. page
  14804. - fixed 3252009 -- tabbing from address bar to content area does
  14805. not work with WebTextView
  14806. - fixed 3461398 -- Can't click on a standalone image to focus it
  14807. (for later keyboard scrolling)
  14808. I redid the way WebView and WebFrameView splice themselves into
  14809. the keyview loop in a way very similar to what NSScrollView and
  14810. NSClipView do. This means that contained and sibling views won't
  14811. need to do anything special to put themselves into the key loop.
  14812. Reviewed by Chris.
  14813. * WebView.subproj/WebFrameView.m:
  14814. (-[WebFrameView _scrollView]):
  14815. check for nil pointer before dereferencing; this can happen
  14816. during [super dealloc]'s keyview-loop-fixup code
  14817. (-[WebFrameView initWithFrame:]):
  14818. wire our nextKeyView link to the contained scrollview (so
  14819. previousKeyView will work correctly from scrollview)
  14820. (-[WebFrameView acceptsFirstResponder]):
  14821. return what the contained scrollview says
  14822. (-[WebFrameView becomeFirstResponder]):
  14823. in previous direction, use previousValidKeyView (follows normal
  14824. NSView keyview links); in forward direction, hand first
  14825. responder-ness to contained scrollview (which will in turn hand
  14826. it down to clipview, which will in turn hand it down to document)
  14827. (-[WebFrameView setNextKeyView:]):
  14828. wire up scrollview instead of self, if it exists
  14829. * WebView.subproj/WebImageView.m:
  14830. (-[WebImageView acceptsFirstResponder]):
  14831. overridden to return YES; this fixes 3461398 and puts the finishing
  14832. touches on 3179062
  14833. * WebView.subproj/WebView.m:
  14834. (-[WebView _commonInitializationWithFrameName:groupName:]):
  14835. wire our nextKeyView link to the contained webframeview (so
  14836. previousKeyView will work correctly from webframeview). Also,
  14837. if there's a nextKeyView already set (in a nib, e.g.), wire
  14838. it to our contained webframeview.
  14839. (-[WebView acceptsFirstResponder]):
  14840. return what the contained webframeview says
  14841. (-[WebView becomeFirstResponder]):
  14842. in previous direction, use previousValidKeyView (follows normal
  14843. NSView keyview links); in forward direction, hand first
  14844. responder-ness to contained webframeview (which will in turn hand
  14845. it down to scrollview, etc.)
  14846. (-[WebView setNextKeyView:]):
  14847. wire up webframeview instead of self, if it exists
  14848. 2003-10-22 Richard Williamson <rjw@apple.com>
  14849. Match WebCore's notion of distributing linegap between top and bottom of
  14850. line. WebKit used to put it all at the bottom of the line.
  14851. Reviewed by Hyatt.
  14852. * WebCoreSupport.subproj/WebTextRenderer.h:
  14853. * WebCoreSupport.subproj/WebTextRenderer.m:
  14854. (-[WebTextRenderer initWithFont:usingPrinterFont:]):
  14855. (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
  14856. 2003-10-21 Maciej Stachowiak <mjs@apple.com>
  14857. Reviewed by Dave.
  14858. Finished exception blocking changes, so now I can finally say:
  14859. - fixed 3137084 - Many non-reproducible crashers in ContextImp::mark / ScopeChain::mark
  14860. - fixed 3308848 - nil-deref in KHTMLView::topLevelWidget
  14861. - fixed 3311511 - nil deref inside KJS::Screen
  14862. - fixed 3397422 - 7B51: Safari crashed in KJS::ObjectImp::mark()
  14863. - fixed 3408373 - Panther7B58 : Safari Crashed in KJS::ObjectImp::mark
  14864. - fixed 3409307 - 7B55: safari crashed in KJS::Interpreter::globalExec() (idle, nothing particular going on)
  14865. - fixed 3410160 - 7B60 Safari crashed in KHTMLPart::parentPart called from JS while in the background
  14866. - fixed 3413224 - unrepro crash in KJS::Window::mark
  14867. - fixed 3419940 - unrepro crash in KJS::Collector::allocate trying to access http://www.lindyinthepalms.com
  14868. - fixed 3420123 - Panther7B66: Safari crashed while going to http://www.tangents.co.uk/index2.html
  14869. - fixed 3423225 - Safari crash in vtable for KWQMapImpl (vtable for KWQMapImpl + 8).
  14870. - fixed 3437190 - nil-deref on quit in calling marked() from ScopeChain::mark()
  14871. * WebCoreSupport.subproj/WebTextRenderer.m:
  14872. (-[WebTextRenderer ascent]):
  14873. (-[WebTextRenderer descent]):
  14874. (-[WebTextRenderer lineSpacing]):
  14875. (-[WebTextRenderer xHeight]):
  14876. (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
  14877. (-[WebTextRenderer _smallCapsRenderer]):
  14878. (-[WebTextRenderer _initializeATSUStyle]):
  14879. (-[WebTextRenderer _createATSUTextLayoutForRun:]):
  14880. (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
  14881. (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
  14882. (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
  14883. (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
  14884. 2003-10-22 Richard Williamson <rjw@apple.com>
  14885. Fixed 3458715. Reset to 0, not .1 when done.
  14886. Reviewed by Chris.
  14887. * WebView.subproj/WebView.m:
  14888. (-[WebView _resetProgress]):
  14889. (-[WebView _progressStarted:]):
  14890. 2003-10-21 Richard Williamson <rjw@apple.com>
  14891. Don't use small caps font for characters that don't have an
  14892. uppercase counterpart (i.e. punctuation marks).
  14893. Reviewed by Hyatt.
  14894. * WebCoreSupport.subproj/WebTextRenderer.m:
  14895. (widthForNextCharacter):
  14896. 2003-10-21 Chris Blumenberg <cblu@apple.com>
  14897. Fixed: <rdar://problem/3176170>: OBJECT tag with no or empty TYPE is mishandled
  14898. Reviewed by rjw.
  14899. * Plugins.subproj/WebPluginDatabase.m:
  14900. (-[WebPluginDatabase pluginForExtension:]): If no plug-in is found from the extension, attempt to map from the extension to a MIME type using our mappings and find a plug-in from the MIME type. This improves our chances of finding a plug-in when n
  14901. o MIME type is specified.
  14902. * WebCoreSupport.subproj/WebBridge.m:
  14903. (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): If the passed MIME is empty, nil it out so that clients only need to check for nil. This avoids error sheets complaining about "" MIME types.
  14904. (-[WebBridge frameRequiredForMIMEType:URL:]): Renamed to include URL. If no MIME is specified, only create a plug-in view if we can map from the extension.
  14905. 2003-10-20 Chris Blumenberg <cblu@apple.com>
  14906. Fixed: <rdar://problem/3457627>: empty Flash plugin at tvguide.com
  14907. Fixed issues with plug-in stream error handling.
  14908. Improved plug-in logging.
  14909. Reviewed by kocienda.
  14910. * Misc.subproj/WebKitLogging.h: added WebKitLogPluginEvents
  14911. * Misc.subproj/WebKitLogging.m:
  14912. * Plugins.subproj/WebBaseNetscapePluginStream.h:
  14913. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  14914. (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): improved logging
  14915. (-[WebBaseNetscapePluginStream destroyStream]): improved logging
  14916. (-[WebBaseNetscapePluginStream destroyStreamWithFailingReason:]): renamed from cancelWithReason to avoid confusion
  14917. (-[WebBaseNetscapePluginStream receivedError:]): calls destroyStreamWithFailingReason after determining a reason from the NSError
  14918. (-[WebBaseNetscapePluginStream cancelWithReason:]): calls destroyStreamWithFailingReason, this method is overriden by subclasses to cancel the actual load
  14919. (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): call destroyStreamWithFailingReason, not cancelWithReason because the loaded has already ended here
  14920. (-[WebBaseNetscapePluginStream deliverData]): improved logging
  14921. * Plugins.subproj/WebBaseNetscapePluginView.m:
  14922. (-[WebBaseNetscapePluginView sendActivateEvent:]): use even logging
  14923. (-[WebBaseNetscapePluginView sendUpdateEvent]): ditto
  14924. (-[WebBaseNetscapePluginView becomeFirstResponder]): ditto
  14925. (-[WebBaseNetscapePluginView resignFirstResponder]): ditto
  14926. (-[WebBaseNetscapePluginView mouseDown:]): ditto
  14927. (-[WebBaseNetscapePluginView mouseUp:]): ditto
  14928. (-[WebBaseNetscapePluginView mouseEntered:]): ditto
  14929. (-[WebBaseNetscapePluginView mouseExited:]): ditto
  14930. (TSMEventHandler): ditto
  14931. (-[WebBaseNetscapePluginView destroyStream:reason:]): call cancelWithReason so the reason is passed back to the plug-in
  14932. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  14933. (-[WebNetscapePluginDocumentView setDataSource:]): tweak
  14934. * Plugins.subproj/WebNetscapePluginRepresentation.m:
  14935. (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call receivedError
  14936. (-[WebNetscapePluginRepresentation cancelWithReason:]): override, cancel the load, call super
  14937. * Plugins.subproj/WebNetscapePluginStream.m:
  14938. (-[WebNetscapePluginStream cancelWithReason:]): override, cancel the load, call super
  14939. (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): be sure to call the stream before calling super because the stream can be cleared out when calling super
  14940. (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]): ditto
  14941. (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): ditto
  14942. (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): ditto
  14943. 2003-10-20 Richard Williamson <rjw@apple.com>
  14944. Conditionally excluded fix for 3446192. We'll enable the fix once 3446669
  14945. has been fixed. This patch switches to the new UTI typing API for pasteboard types.
  14946. Reviewed by Ken.
  14947. * Misc.subproj/WebNSPasteboardExtras.m:
  14948. (+[NSPasteboard initialize]):
  14949. 2003-10-20 Richard Williamson <rjw@apple.com>
  14950. Fixed 3456103. Don't assert, just check for inappropriate state.
  14951. Reviewed by Hyatt
  14952. Add a debug menu item to always use ATSU text drawing. This will be helpful
  14953. to the ATSU folks in performance tuning there API. Right now I see approx.
  14954. 2X slowdown using ATSU.
  14955. Also did some shuffling around of inline related stuff.
  14956. Reviewed by Chris.
  14957. * WebCoreSupport.subproj/WebTextRenderer.h:
  14958. * WebCoreSupport.subproj/WebTextRenderer.m:
  14959. (isControlCharacter):
  14960. (isAlternateSpace):
  14961. (isSpace):
  14962. (getUncachedWidth):
  14963. (widthFromMap):
  14964. (widthForGlyph):
  14965. (+[WebTextRenderer _setAlwaysUseATSU:]):
  14966. (glyphForCharacter):
  14967. (glyphForUnicodeCharacter):
  14968. (shouldUseATSU):
  14969. * WebView.subproj/WebView.m:
  14970. (+[WebView _setAlwaysUseATSU:]):
  14971. (-[WebView _progressCompleted:]):
  14972. * WebView.subproj/WebViewPrivate.h:
  14973. 2003-10-19 Chris Blumenberg <cblu@apple.com>
  14974. Fixed: <rdar://problem/3442218>: crash due to infinite recursion trying to load standalone plug-in content
  14975. Reviewed by darin.
  14976. * WebView.subproj/WebFrame.m:
  14977. (-[WebFrame stopLoading]): manage the isStoppingLoad ivar, return if isStoppingLoad is YES
  14978. * WebView.subproj/WebFramePrivate.h: added the isStoppingLoad ivar
  14979. 2003-10-19 Darin Adler <darin@apple.com>
  14980. Reviewed by Dave and Ken.
  14981. - fixed 3457066 -- REGRESSION (91-92): command-left-arrow causes a scroll to the left before going back
  14982. * WebView.subproj/WebFrameView.m: (-[WebFrameView keyDown:]): Add an else so that we don't fall into the
  14983. scrolling code when the command key is down for right and left arrow.
  14984. 2003-10-18 Chris Blumenberg <cblu@apple.com>
  14985. Fixed: <rdar://problem/3229530>: Dragging standalone image to desktop should save it, not re-download it
  14986. Reviewed by darin.
  14987. * English.lproj/Localizable.strings:
  14988. * WebKit.pbproj/project.pbxproj:
  14989. * WebView.subproj/WebDocumentPrivate.h: Added.
  14990. * WebView.subproj/WebImageRepresentation.h:
  14991. * WebView.subproj/WebImageRepresentation.m:
  14992. (-[WebImageRepresentation dealloc]): release new filename and data ivars
  14993. (-[WebImageRepresentation doneLoading]): return YES if data is non-nil
  14994. (-[WebImageRepresentation setDataSource:]): store the filename
  14995. (-[WebImageRepresentation receivedError:withDataSource:]): store the data
  14996. (-[WebImageRepresentation finishedLoadingWithDataSource:]): store the data
  14997. (-[WebImageRepresentation data]): new
  14998. (-[WebImageRepresentation filename]): new
  14999. * WebView.subproj/WebImageView.m:
  15000. (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): just save the image, don't download it
  15001. (-[WebImageView image]): new
  15002. 2003-10-17 Chris Blumenberg <cblu@apple.com>
  15003. Fixed: <rdar://problem/3456176>: Assertion failure when loading atomfilms.com
  15004. Reviewed by kocienda.
  15005. * Plugins.subproj/WebNetscapePluginStream.m:
  15006. (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]): call super before calling plug-in code as we do in other callbacks
  15007. (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): ditto
  15008. (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): ditto
  15009. 2003-10-16 Richard Williamson <rjw@apple.com>
  15010. Fixed 3455306. Ensure that progress is correctly ended when a load is interupted (i.e. becomes a download).
  15011. Reviewed by mjs.
  15012. * WebView.subproj/WebFrame.m:
  15013. (-[WebFrame _isLoadComplete]):
  15014. 2003-10-16 Chris Blumenberg <cblu@apple.com>
  15015. Fixed: <rdar://problem/3455176>: Assertion failure when loading non-existant plug-in content
  15016. Reviewed by rjw.
  15017. * Misc.subproj/WebDownload.m: fixed build failure when using new Foundation. We are overriding and calling a renamed method. Continue to override the old method, override the new method and declare their interfaces to avoid build failures.
  15018. * Plugins.subproj/WebNetscapePluginStream.m:
  15019. (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): cancel the load before telling the plug-in about the error so plug-in code doesn't attempt to cancel the load twice
  15020. 2003-10-16 Richard Williamson <rjw@apple.com>
  15021. Fixed 3453991. We weren't setting the array cursor correctly after changing
  15022. capacity.
  15023. Reviewed by John.
  15024. * ChangeLog:
  15025. * History.subproj/WebBackForwardList.m:
  15026. (-[WebBackForwardList setCapacity:]):
  15027. === Safari-110 ===
  15028. 2003-10-16 Richard Williamson <rjw@apple.com>
  15029. Tweaked the progress behavior and factored cleanup of progress
  15030. related ivars.
  15031. Reviewed by Hyatt.
  15032. * WebView.subproj/WebDataSource.m:
  15033. (-[WebDataSource _startLoading:]):
  15034. * WebView.subproj/WebFrame.m:
  15035. (-[WebFrame _isLoadComplete]):
  15036. * WebView.subproj/WebView.m:
  15037. (-[WebView _resetProgress]):
  15038. (-[WebView _progressStarted:]):
  15039. (-[WebView _finalProgressComplete]):
  15040. (-[WebView _progressCompleted:]):
  15041. (-[WebView _incrementProgressForConnection:data:]):
  15042. * WebView.subproj/WebViewPrivate.h:
  15043. 2003-10-14 Richard Williamson <rjw@apple.com>
  15044. Added logging for estimated progress.
  15045. Added a time delta to the throttler, so we now send notifications
  15046. if a delta amount has been exceeded OR a delta between notifications
  15047. has been exceeded.
  15048. Reviewed by Chris.
  15049. * Misc.subproj/WebKitLogging.h:
  15050. * Misc.subproj/WebKitLogging.m:
  15051. * WebView.subproj/WebView.m:
  15052. (-[WebViewPrivate init]):
  15053. (-[WebView _progressStarted]):
  15054. (-[WebView _progressCompleted]):
  15055. (-[WebView _incrementProgressForConnection:data:]):
  15056. * WebView.subproj/WebViewPrivate.h:
  15057. 2003-10-14 Ken Kocienda <kocienda@apple.com>
  15058. Reviewed by Darin
  15059. Fix for this bug:
  15060. <rdar://problem/3450449>: assertion failure in WebBridge
  15061. _retrieveKeyboardUIModeFromPreferences
  15062. Can't assert that the preference always exists and is valid as I
  15063. thought you could. This could just mean that the a preference for full
  15064. keyboard access has not been specified by the user yet. If this is so,
  15065. just return the default keyboard access mode.
  15066. * WebCoreSupport.subproj/WebBridge.m:
  15067. (-[WebBridge _retrieveKeyboardUIModeFromPreferences:])
  15068. 2003-10-13 Richard Williamson <rjw@apple.com>
  15069. Added support for small-caps.
  15070. Reworked drawing and measuring to use new iterators. Position checking was already using
  15071. the new iterator code, but I was reluctant to switch the mainline drawing and measuring
  15072. code over to the new approach until now.
  15073. Lots of other code cleanup.
  15074. Reviewed by John.
  15075. * Misc.subproj/WebUnicode.m:
  15076. (initializeCharacterShapeIterator):
  15077. * WebCoreSupport.subproj/WebTextRenderer.h:
  15078. * WebCoreSupport.subproj/WebTextRenderer.m:
  15079. (+[WebTextRenderer shouldBufferTextDrawing]):
  15080. (+[WebTextRenderer initialize]):
  15081. (-[WebTextRenderer initWithFont:usingPrinterFont:]):
  15082. (-[WebTextRenderer dealloc]):
  15083. (-[WebTextRenderer widthForCharacters:length:]):
  15084. (-[WebTextRenderer widthForString:]):
  15085. (-[WebTextRenderer ascent]):
  15086. (-[WebTextRenderer descent]):
  15087. (-[WebTextRenderer lineSpacing]):
  15088. (-[WebTextRenderer xHeight]):
  15089. (-[WebTextRenderer drawRun:style:atPoint:]):
  15090. (-[WebTextRenderer floatWidthForRun:style:widths:]):
  15091. (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
  15092. (-[WebTextRenderer drawHighlightForRun:style:atPoint:]):
  15093. (-[WebTextRenderer pointToOffset:style:position:reversed:]):
  15094. (-[WebTextRenderer _setIsSmallCapsRenderer:]):
  15095. (-[WebTextRenderer _isSmallCapsRenderer]):
  15096. (-[WebTextRenderer _smallCapsRenderer]):
  15097. (-[WebTextRenderer _smallCapsFont]):
  15098. (-[WebTextRenderer _substituteFontForString:families:]):
  15099. (-[WebTextRenderer _substituteFontForCharacters:length:families:]):
  15100. (-[WebTextRenderer _convertCharacters:length:toGlyphs:skipControlCharacters:]):
  15101. (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]):
  15102. (-[WebTextRenderer _computeWidthForSpace]):
  15103. (-[WebTextRenderer _setupFont]):
  15104. (_drawGlyphs):
  15105. (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
  15106. (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
  15107. (-[WebTextRenderer _floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
  15108. (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
  15109. (-[WebTextRenderer _extendUnicodeCharacterToGlyphMapToInclude:]):
  15110. (-[WebTextRenderer _updateGlyphEntryForCharacter:glyphID:font:]):
  15111. (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
  15112. (-[WebTextRenderer _extendGlyphToWidthMapToInclude:font:]):
  15113. (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
  15114. (-[WebTextRenderer _ATSU_floatWidthForRun:style:]):
  15115. (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
  15116. (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
  15117. (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
  15118. (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]):
  15119. (freeWidthMap):
  15120. (freeGlyphMap):
  15121. (glyphForCharacter):
  15122. (glyphForUnicodeCharacter):
  15123. (mapForSubstituteFont):
  15124. (widthFromMap):
  15125. (widthForGlyph):
  15126. (initializeCharacterWidthIterator):
  15127. (widthAndGlyphForSurrogate):
  15128. (ceilCurrentWidth):
  15129. (widthForNextCharacter):
  15130. (fillStyleWithAttributes):
  15131. (findLengthOfCharacterCluster):
  15132. (shouldUseATSU):
  15133. (isControlCharacter):
  15134. (isAlternateSpace):
  15135. (isSpace):
  15136. (fontContainsString):
  15137. (GetScratchUniCharString):
  15138. (toUpper):
  15139. (isUpper):
  15140. 2003-10-10 Maciej Stachowiak <mjs@apple.com>
  15141. * English.lproj/StringsNotToBeLocalized.txt: Fixed for Private
  15142. change from a while back.
  15143. 2003-10-10 David Hyatt <hyatt@apple.com>
  15144. Patch to move widgets during layout instead of waiting until paint time.
  15145. Reviewed by darin
  15146. * WebView.subproj/WebDataSource.m:
  15147. * WebView.subproj/WebDataSourcePrivate.h:
  15148. * WebView.subproj/WebFrame.m:
  15149. (-[WebFrame _isLoadComplete]):
  15150. * WebView.subproj/WebHTMLView.m:
  15151. * WebView.subproj/WebHTMLViewPrivate.h:
  15152. 2003-10-09 Richard Williamson <rjw@apple.com>
  15153. Ensure that the autoscroll timer is always stopped if a mouse up event is lost.
  15154. Reviewed by John.
  15155. * WebView.subproj/WebHTMLView.m:
  15156. (-[WebHTMLViewPrivate dealloc]):
  15157. (-[WebHTMLView _startAutoscrollTimer:]):
  15158. (-[WebHTMLView _stopAutoscrollTimer]):
  15159. (-[WebHTMLView _autoscroll]):
  15160. (-[WebHTMLView mouseDown:]):
  15161. * WebView.subproj/WebHTMLViewPrivate.h:
  15162. 2003-10-09 Chris Blumenberg <cblu@apple.com>
  15163. Fixed: <rdar://problem/3333897>: should support navigator.plugins.refresh as a way to add a plugin without restarting Safari
  15164. Reviewed by rjw.
  15165. * Plugins.subproj/WebBaseNetscapePluginView.m:
  15166. (-[WebBaseNetscapePluginView dealloc]): release the plug-in object
  15167. * Plugins.subproj/WebBasePluginPackage.h:
  15168. * Plugins.subproj/WebBasePluginPackage.m:
  15169. (-[WebBasePluginPackage initWithPath:]): store the last mod date
  15170. (-[WebBasePluginPackage dealloc]): release the last mod date
  15171. (-[WebBasePluginPackage lastModifiedDate]): new
  15172. (-[WebBasePluginPackage isEqual:]): new
  15173. (-[WebBasePluginPackage hash]): new
  15174. * Plugins.subproj/WebNetscapePluginPackage.m:
  15175. (-[WebNetscapePluginPackage load]): convert the NPP_Shutdown proc pointer so that we can use it later
  15176. (-[WebNetscapePluginPackage unload]): added log message
  15177. * Plugins.subproj/WebPluginDatabase.h:
  15178. * Plugins.subproj/WebPluginDatabase.m:
  15179. (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): tweak
  15180. (-[WebPluginDatabase plugins]): tweak
  15181. (-[WebPluginDatabase init]): call refresh
  15182. (-[WebPluginDatabase refresh]): new
  15183. (-[WebPluginDatabase loadPluginIfNeededForMIMEType:]): tweak
  15184. * WebCoreSupport.subproj/WebViewFactory.m:
  15185. (-[WebViewFactory refreshPlugins:]): new
  15186. * WebView.subproj/WebControllerSets.h:
  15187. * WebView.subproj/WebControllerSets.m:
  15188. (+[WebViewSets makeWebViewsPerformSelector:]): new
  15189. * WebView.subproj/WebFrame.m:
  15190. (-[WebFrame _reloadForPluginChanges]): new
  15191. * WebView.subproj/WebFramePrivate.h:
  15192. * WebView.subproj/WebView.m:
  15193. (-[WebView _reloadForPluginChanges]): new
  15194. * WebView.subproj/WebViewPrivate.h:
  15195. === Safari-109 ===
  15196. 2003-10-03 Richard Williamson <rjw@apple.com>
  15197. Fix part of 3438071. Creating an instance of WebPreferences using init
  15198. will do the expected thing: that is, create a new instance! We used to
  15199. always return standardPreferences.
  15200. Reviewed by Chris.
  15201. * WebView.subproj/WebPreferences.m:
  15202. (-[WebPreferences init]):
  15203. (+[WebPreferences standardPreferences]):
  15204. 2003-10-03 David Hyatt <hyatt@apple.com>
  15205. Fix for numerous regressions caused by an inadvertent renaming of the recursiveDisplay
  15206. override method.
  15207. Reviewed by darin
  15208. * WebView.subproj/WebHTMLView.m:
  15209. (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
  15210. 2003-10-03 Richard Williamson (Home0 <rjw@apple.com>
  15211. Fixed some edge case issue (control characters after end of word) with our rounding hack.
  15212. Reviewed by Darin.
  15213. * WebCoreSupport.subproj/WebTextRenderer.m:
  15214. (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
  15215. 2003-10-03 Ken Kocienda <kocienda@apple.com>
  15216. Reviewed by Darin, with much help from Maciej and Hyatt
  15217. Fix for this bug:
  15218. <rdar://problem/3441321>: Form buttons do not respond to key events when focused
  15219. * WebView.subproj/WebFrameView.m:
  15220. (-[WebFrameView _firstResponderIsControl]): Added to tell if the focus
  15221. is on a form control.
  15222. (-[WebFrameView keyDown:]): Call new _firstResponderIsControl method to see
  15223. whether space bar key events should propagate. Adding this check keeps us
  15224. from blocking the event here and allows AppKit to handle it.
  15225. * WebView.subproj/WebFrameViewPrivate.h: Add new _firstResponderIsControl
  15226. method.
  15227. 2003-10-02 Maciej Stachowiak <mjs@apple.com>
  15228. Folded Private implementation files into the regular ones as the
  15229. first step towards pulling in our SPI exposure and other code
  15230. cleanup.
  15231. * History.subproj/WebHistory.m:
  15232. * History.subproj/WebHistoryPrivate.m: Removed.
  15233. * Misc.subproj/WebIconDatabasePrivate.h:
  15234. * WebKit.pbproj/project.pbxproj:
  15235. * WebView.subproj/WebDataSource.m:
  15236. * WebView.subproj/WebDataSourcePrivate.m: Removed.
  15237. * WebView.subproj/WebFrame.m:
  15238. * WebView.subproj/WebFramePrivate.m: Removed.
  15239. * WebView.subproj/WebFrameView.m:
  15240. * WebView.subproj/WebFrameViewPrivate.m: Removed.
  15241. * WebView.subproj/WebHTMLView.m:
  15242. * WebView.subproj/WebHTMLViewPrivate.m: Removed.
  15243. * WebView.subproj/WebView.m:
  15244. * WebView.subproj/WebViewPrivate.m: Removed.
  15245. 2003-10-02 Chris Blumenberg <cblu@apple.com>
  15246. Fixed: <rdar://problem/3440063>: Safari 1.1 won't load new pages after visiting adultswim.com, assertion failure on debug build
  15247. Reviewed by rjw.
  15248. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  15249. (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): if not data was received for a stream, create the temp file anyway. Plug-ins expect this.
  15250. === Safari-108 ===
  15251. 2003-10-02 Darin Adler <darin@apple.com>
  15252. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
  15253. 2003-10-01 Maciej Stachowiak <mjs@apple.com>
  15254. Reviewed by Darin.
  15255. - fixed 3441466 - REGRESSION: http://www.meyerweb.com/eric/css/edge/complexspiral/glassy.html broken on scroll
  15256. * WebView.subproj/WebFramePrivate.m:
  15257. (-[WebFrame _setState:]): Don't turn on scroll-blitting here when the page is done...
  15258. (-[WebFrame _transitionToCommitted:]): Instead do it here, when the page is committed.
  15259. 2003-10-02 Darin Adler <darin@apple.com>
  15260. Reviewed by Ken.
  15261. - in preparation for a WebCore whitespace-handling change, made WebTextRenderer draw and measure
  15262. newline characters as if they are spaces (just as we already do with non-breaking spaces)
  15263. - removed some unused stuff from WebTextRenderer
  15264. - other unimportant tweaks (e.g. unsigned int -> unsigned)
  15265. * WebCoreSupport.subproj/WebTextRenderer.m:
  15266. (kFixedOne), (fixed1), (FixToFloat), (FloatToFixed): Removed these. We can use the standard ones
  15267. from <FixMath.h> instead of defining our own.
  15268. (isControlCharacter): Added. Inline function that we can use instead of the macro we had before.
  15269. (isAlternateSpace): Added. Returns YES for newlines and non-breaking spaces.
  15270. (isSpace): Added. Returns YES for real spaces and the two alternate spaces as well.
  15271. (initializeCharacterWidthIterator): Use isSpace.
  15272. (-[WebTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]): Use isAlternateSpace
  15273. and isControlCharacter.
  15274. (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
  15275. Use isControlCharacter, isAlternateSpace, and isSpace. Also fix a small bug where numGlyphs would
  15276. not get set up properly when the run length is 0, and used local variables when possible instead
  15277. of going back at the run structure.
  15278. (-[WebTextRenderer _ATSU_floatWidthForRun:style:]): Use the standard FixedToFloat instead of our
  15279. own FixToFloat.
  15280. (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]): Ditto.
  15281. 2003-10-02 David Hyatt <hyatt@apple.com>
  15282. Work on exposing elements to the Acc API. This patch gets us to the point where text
  15283. under the mouse is voiced.
  15284. Reviewed by darin
  15285. * WebView.subproj/WebHTMLView.m:
  15286. (-[WebHTMLView accessibilityAttributeValue:]):
  15287. (-[WebHTMLView accessibilityHitTest:]):
  15288. 2003-10-01 John Sullivan <sullivan@apple.com>
  15289. Reviewed by Darin
  15290. * WebView.subproj/WebHTMLView.m:
  15291. (-[WebHTMLView viewDidMoveToSuperview]):
  15292. skip some work when when we've been removed. This wasn't
  15293. causing any trouble before, but was at least conceptually
  15294. inefficient.
  15295. 2003-10-01 John Sullivan <sullivan@apple.com>
  15296. - fixed 3441372: REGRESSION (107+): Plain text document is
  15297. initially drawn with proportional font
  15298. Reviewed by Hyatt
  15299. * WebView.subproj/WebTextView.m:
  15300. (-[WebTextView setDataSource:]):
  15301. Changed a != to an ==
  15302. 2003-10-01 Richard Williamson <rjw@apple.com>
  15303. Fixed 3438441. If a load is triggered by a onload handling, don't add an entry for it into the b/f or history. The new Google ads use this technique.
  15304. Reviewed by Ken.
  15305. * Misc.subproj/WebKitLogging.h:
  15306. * Misc.subproj/WebKitLogging.m:
  15307. * WebCoreSupport.subproj/WebBridge.m:
  15308. (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:]):
  15309. * WebView.subproj/WebFramePrivate.h:
  15310. * WebView.subproj/WebFramePrivate.m:
  15311. (-[WebFrame _addBackForwardItemClippedAtTarget:]):
  15312. (-[WebFrame _transitionToCommitted:]):
  15313. (-[WebFrame _isLoadComplete]):
  15314. (-[WebFrame _loadItem:withLoadType:]):
  15315. (-[WebFrame _itemForRestoringDocState]):
  15316. 2003-10-01 Darin Adler <darin@apple.com>
  15317. Reviewed by John.
  15318. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _webView]):
  15319. Fixed problem where we'd get a nil WebView and pass crazy values for subframe
  15320. text multipliers.
  15321. 2003-10-01 David Hyatt <hyatt@apple.com>
  15322. Fix for 3440804, broken scrollbars in downloads window. Make Auto be the default
  15323. value in the enum, so that all scrollviews will be automatically initialized to be
  15324. auto.
  15325. Reviewed by cblu
  15326. * WebView.subproj/WebDynamicScrollBarsView.m:
  15327. 2003-09-30 Richard Williamson <rjw@apple.com>
  15328. Attempt to find a reasonable font using a simple string matching heuristic if
  15329. none of the fonts actually specified are found. In particular we will use
  15330. Geeza Pro if "arabic", "urdu", or "pashto" is contained (case-insensitive) in
  15331. any of the requested font family names. Geeza Pro is a much better fallback
  15332. font for Arabic (and variant languages) than Helvetica.
  15333. Reviewed by Chris.
  15334. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  15335. (-[WebTextRendererFactory fontWithFamilies:traits:size:]):
  15336. 2003-09-30 John Sullivan <sullivan@apple.com>
  15337. - fixed 3045617 -- Make Text Bigger/Smaller doesn't affect non-html documents.
  15338. I added an internal protocol inside WebKit to make this work, and implemented
  15339. it for plain text and RTF. I also slightly shuffled the existing code to
  15340. handle this for HTML so that it goes through the new protocol in that case
  15341. also.
  15342. * WebView.subproj/WebDocumentInternal.h: Added.
  15343. New header file, holds definition of
  15344. _web_WebDocumentTextSizing protocol.
  15345. * WebView.subproj/WebFramePrivate.m:
  15346. (-[WebFrame _textSizeMultiplierChanged]):
  15347. if the document view conforms to the new protocol,
  15348. tell it that the multiplier has changed. Also, don't
  15349. tell the bridge here anymore; let WebHTMLView do that.
  15350. * WebView.subproj/WebHTMLView.m:
  15351. (-[WebHTMLView _updateTextSizeMultiplier]):
  15352. tell the bridge here instead of having WebFrame do so
  15353. (-[WebHTMLView viewDidMoveToSuperview]):
  15354. call _updateTextSizeMultiplier (in case it changed while we were switched out)
  15355. (-[WebHTMLView _web_textSizeMultiplierChanged]):
  15356. call _updateTextSizeMultiplier
  15357. * WebView.subproj/WebTextRepresentation.m:
  15358. (-[WebTextRepresentation receivedData:withDataSource:]):
  15359. * WebView.subproj/WebTextView.h:
  15360. now implements _web_WebDocumentTextSizing protocol;
  15361. new ivar for holding local copy of text size multiplier;
  15362. new public method appendReceivedData:fromDataSource:
  15363. * WebView.subproj/WebTextView.m:
  15364. (-[WebTextView initWithFrame:]):
  15365. set local copy of text size multiplier to 1.0
  15366. (-[WebTextView _textSizeMultiplierFromWebView]):
  15367. new method, asks the webview's opinion of the text size multiplier
  15368. (-[WebTextView setFixedWidthFont]):
  15369. use the text size multiplier when setting font size
  15370. (-[WebTextView _adjustRichTextFontSizeByRatio:]):
  15371. new method, borrowed from Mail and tweaked, that walks through
  15372. the rich text and adjusts the font sizes
  15373. (-[WebTextView _updateTextSizeMultiplier]):
  15374. new method, updates local copy of text size multiplier to
  15375. match webview's opinion
  15376. (-[WebTextView setDataSource:]):
  15377. set the text size multiplier appropriately before setting the
  15378. fixed-width font; this is too early for the RTF case though
  15379. since the fonts are embedded in the data
  15380. (-[WebTextView appendReceivedData:fromDataSource:]):
  15381. new method. Most of this logic was in WebTextRepresentation, but
  15382. it's a little better encapsulated here, plus now it handles the
  15383. text multiplier for RTF.
  15384. (-[WebTextView defaultsChanged:]):
  15385. added comment
  15386. (-[WebTextView _web_textSizeMultiplierChanged]):
  15387. call updateTextSizeMultiplier
  15388. * WebView.subproj/WebView.m:
  15389. (-[WebView canMakeTextSmaller]):
  15390. (-[WebView canMakeTextLarger]):
  15391. return NO if the main frame doesn't support the text sizing protocol. This means
  15392. that if the main frame doesn't support it but a subframe does, you can't adjust
  15393. the text size. This seems fine for now since the only case with subframes is
  15394. HTML, where the main frame does support changing text size.
  15395. * WebKit.pbproj/project.pbxproj:
  15396. updated for new file
  15397. 2003-09-30 Chris Blumenberg <cblu@apple.com>
  15398. Fixed: <rdar://problem/3428262>: Plugin loads for static files, but not PHP scripts
  15399. Reviewed by rjw.
  15400. * WebCoreSupport.subproj/WebBridge.m:
  15401. (-[WebBridge frameRequiredForMIMEType:]): load the plug-in DB so this method returns reliable results.
  15402. 2003-09-30 Chris Blumenberg <cblu@apple.com>
  15403. Fixed: <rdar://problem/3006869>: show image dimensions in title bar when single image is loaded
  15404. Reviewed by rjw.
  15405. * English.lproj/Localizable.strings:
  15406. * WebView.subproj/WebImageRepresentation.m:
  15407. (-[WebImageRepresentation title]): return "foo.jpg 50x50 pixels"
  15408. 2003-09-30 Richard Williamson <rjw@apple.com>
  15409. Fixed 3420396. If a frame targets _top and a URL that contains a fragment (very unusual, it's meaningless for a frameset to contain a named anchor point) the frameset won't be reloaded. Our normal path is to just scroll to the anchor point. This is on
  15410. ly important because our Help folks oddly depend on the behavior.
  15411. Reviewed by Chris.
  15412. * WebView.subproj/WebFramePrivate.m:
  15413. (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
  15414. 2003-09-30 Ken Kocienda <kocienda@apple.com>
  15415. Reviewed by Maciej
  15416. Fix for this bug:
  15417. <rdar://problem/3439688>: WebKit needs to retrieve full keyboard access preference
  15418. * WebCoreSupport.subproj/WebBridge.h: Add two ivars: one to track the keyboard
  15419. UI mode, the other a flag we use to register for notifications.
  15420. * WebCoreSupport.subproj/WebBridge.m:
  15421. (-[WebBridge dealloc]): Remove the notification observer to keyboard UI mode changes.
  15422. (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]): New method. Accesses the
  15423. preferences to get the current keyboard UI mode.
  15424. (-[WebBridge keyboardUIMode]): Returns the current keyboard UI mode. Registers for
  15425. notifications of keyboard UI mode changes when called the first time.
  15426. 2003-09-30 Maciej Stachowiak <mjs@apple.com>
  15427. Reviewed by Ken.
  15428. - fixed 3375281 - Keyboard event handlers not fired if focus not in form field
  15429. - fixed 3242927 - KeyPressed Event in Javascript don't work
  15430. - fixed 3375353 - keyboard event.target not updated when blurring from form items
  15431. - fixed 3183754 - returning false from key press handlers does not prevent typing or form submission
  15432. * WebView.subproj/WebHTMLView.m:
  15433. (-[WebHTMLView keyDown:]): Ask the bridge before passing the event along.
  15434. (-[WebHTMLView keyUp:]): Likewise.
  15435. * WebView.subproj/WebHTMLViewPrivate.h:
  15436. * WebView.subproj/WebHTMLViewPrivate.m: Remove dead code.
  15437. 2003-09-30 Richard Williamson <rjw@apple.com>
  15438. Fixed 3422138. We weren't sending a didChange call for isLoading until the load was complete! Also [WebView isLoading] wasn't accounting for provisional datasources.
  15439. Reviewed by Chris.
  15440. * WebView.subproj/WebView.m:
  15441. (-[WebView isLoading]):
  15442. * WebView.subproj/WebViewPrivate.h:
  15443. * WebView.subproj/WebViewPrivate.m:
  15444. (-[WebView _didStartProvisionalLoadForFrame:]):
  15445. (-[WebView _didCommitLoadForFrame:]):
  15446. (-[WebView _didFinishLoadForFrame:]):
  15447. (-[WebView _didFailLoadWithError:forFrame:]):
  15448. (-[WebView _didFailProvisionalLoadWithError:forFrame:]):
  15449. 2003-09-30 David Hyatt <hyatt@apple.com>
  15450. Improvements to scrolling and layout. Also fixing 3264346, body overflow should
  15451. apply to document's scrollbars.
  15452. Reviewed by darin
  15453. * WebView.subproj/WebDynamicScrollBarsView.h:
  15454. * WebView.subproj/WebDynamicScrollBarsView.m:
  15455. (-[WebDynamicScrollBarsView initWithFrame:]):
  15456. (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]):
  15457. (-[WebDynamicScrollBarsView updateScrollers]):
  15458. (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
  15459. (-[WebDynamicScrollBarsView setAllowsScrolling:]):
  15460. (-[WebDynamicScrollBarsView allowsScrolling]):
  15461. (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
  15462. (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]):
  15463. (-[WebDynamicScrollBarsView allowsHorizontalScrolling]):
  15464. (-[WebDynamicScrollBarsView allowsVerticalScrolling]):
  15465. (-[WebDynamicScrollBarsView horizontalScrollingMode]):
  15466. (-[WebDynamicScrollBarsView verticalScrollingMode]):
  15467. (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]):
  15468. (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
  15469. (-[WebDynamicScrollBarsView setScrollingMode:]):
  15470. 2003-09-29 Chris Blumenberg <cblu@apple.com>
  15471. Fixed: <rdar://problem/3422739>: Plug-in streams not cancelled when plug-in returns error from NPP_NewStream
  15472. Reviewed by mjs.
  15473. * Plugins.subproj/WebBaseNetscapePluginStream.h: renamed receivedError to cancelWithReason
  15474. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  15475. (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): call cancelWithReason if NPP_NewStream returns an error
  15476. (-[WebBaseNetscapePluginStream cancelWithReason:]): renamed
  15477. (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): tweak
  15478. * Plugins.subproj/WebNetscapePluginRepresentation.m:
  15479. (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call renamed cancelWithReason
  15480. (-[WebNetscapePluginRepresentation cancelWithReason:]): new override, stop load then call super
  15481. * Plugins.subproj/WebNetscapePluginStream.m:
  15482. (-[WebNetscapePluginStream cancelWithReason:]): new override, stop load then call super
  15483. (-[WebNetscapePluginStream stop]): call cancelWithReason
  15484. (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): call renamed cancelWithReason
  15485. (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): call renamed cancelWithReason
  15486. 2003-09-25 Maciej Stachowiak <mjs@apple.com>
  15487. Roll out build system change since it did not actually work. :-(
  15488. * WebKit.pbproj/project.pbxproj:
  15489. 2003-09-25 David Hyatt <hyatt@apple.com>
  15490. Change layout so that it is called from the private _recursive functions instead of
  15491. inside drawRect.
  15492. Reviewed by kocienda
  15493. * WebView.subproj/WebHTMLView.m:
  15494. (-[WebHTMLView layoutToPageWidth:adjustingViewSize:]):
  15495. (-[WebHTMLView drawRect:]):
  15496. * WebView.subproj/WebHTMLViewPrivate.m:
  15497. (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:testDirtyRect:]):
  15498. (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
  15499. (-[WebHTMLView _web_setPrintingModeRecursive]):
  15500. (-[WebHTMLView _web_clearPrintingModeRecursive]):
  15501. (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]):
  15502. (-[NSView _web_setPrintingModeRecursive]):
  15503. (-[NSView _web_clearPrintingModeRecursive]):
  15504. (-[NSView _web_layoutIfNeededRecursive:testDirtyRect:]):
  15505. 2003-09-25 Richard Williamson <rjw@apple.com>
  15506. Fixed 3433802. Written by Ed. Carbon WebView doesn't detach native view when removed.
  15507. Reviewed by Richard.
  15508. * Carbon.subproj/HIWebView.m:
  15509. (OwningWindowChanged):
  15510. 2003-09-25 Richard Williamson <rjw@apple.com>
  15511. Fixed 3433488. Written by Ed. WebKit doesn't sync window visibility when new webview added to visible window.
  15512. Reviewed by Richard.
  15513. * Carbon.subproj/CarbonWindowAdapter.m:
  15514. (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
  15515. 2003-09-25 Richard Williamson <rjw@apple.com>
  15516. Fixed 3434854. Written by Ed. Correctly handle window modality in carbon.
  15517. Reviewed by Richard.
  15518. * Carbon.subproj/CarbonWindowAdapter.m:
  15519. (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
  15520. 2003-09-25 Maciej Stachowiak <mjs@apple.com>
  15521. Reviewed by Darin.
  15522. Updated setup for engineering builds. Don't embed the framework
  15523. into Safari or hack the install name. However, do copy WebCore and
  15524. JavaScriptCore into the proper sub-umbrella locations.
  15525. * WebKit.pbproj/project.pbxproj:
  15526. * embed-frameworks.sh: Added.
  15527. === Safari-107 ===
  15528. 2003-09-25 Ken Kocienda <kocienda@apple.com>
  15529. Reviewed by Darin
  15530. Fix for this bug:
  15531. <rdar://problem/3341222>: WebView doesn't follow AppKit default nextKeyView pattern
  15532. * WebCoreSupport.subproj/WebBridge.h: Added a variable to guard against recursion
  15533. in -[WebBridge inNextKeyViewOutsideWebFrameViews].
  15534. * WebCoreSupport.subproj/WebBridge.m:
  15535. (-[WebBridge inNextKeyViewOutsideWebFrameViews]): Accessor for recursion guard.
  15536. (-[WebBridge nextKeyViewOutsideWebFrameViews]): Do not ask webView for its
  15537. next key view, but rather, ask it for the next key view of the last view in
  15538. its key view loop. This is what will get us to the next view outside of the
  15539. webView.
  15540. * WebView.subproj/WebHTMLView.m:
  15541. (-[WebHTMLView nextKeyView]): Ask AppKit, rather than khtml, for the next key
  15542. key view if -[WebBridge inNextKeyViewOutsideWebFrameViews] returns YES. Doing
  15543. so gives us the correct answer as calculated by AppKit, and makes HTML views
  15544. behave like other views. This check also heads off an infinite recursion
  15545. through -[WebBridge nextKeyViewOutsideWebFrameViews].
  15546. Also did some cleanup of some code that was marked for removal "some day".
  15547. That "some day" is today.
  15548. 2003-09-25 Darin Adler <darin@apple.com>
  15549. Reviewed by John.
  15550. - fixed 3176853 -- can't attach files that have no extensions with Yahoo mail (bad Content-Type headers)
  15551. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge MIMETypeForPath:]):
  15552. Return @"application/octet-stream" rather than nil or empty string when the type is not known.
  15553. 2003-09-24 Darin Adler <darin@apple.com>
  15554. Reviewed by Maciej.
  15555. * WebView.subproj/WebHTMLView.m:
  15556. (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
  15557. Added one more call to _stopAutoscrollTimer for when drags begin.
  15558. 2003-09-24 Richard Williamson <rjw@apple.com>
  15559. Fixed 3420736. Clear renderer caches when get an ATS font changed notification. This fix may be moot depending on progress toward fixing 2695906. Also 3428451 needs to should be resolved.
  15560. Also added code to get and log entry point for the function used to get a Java class from plugins. That class is used for LiveConnect support.
  15561. Reviewed by John.
  15562. * Misc.subproj/WebKitLogging.h:
  15563. * Misc.subproj/WebKitLogging.m:
  15564. * Plugins.subproj/WebNetscapePluginPackage.h:
  15565. * Plugins.subproj/WebNetscapePluginPackage.m:
  15566. (-[WebNetscapePluginPackage load]):
  15567. * Plugins.subproj/npapi.h:
  15568. * WebCoreSupport.subproj/WebTextRenderer.m:
  15569. (FillStyleWithAttributes):
  15570. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  15571. (-[WebTextRendererFactory clearCaches]):
  15572. (fontsChanged):
  15573. (+[WebTextRendererFactory createSharedFactory]):
  15574. (-[WebTextRendererFactory fontWithFamily:traits:size:]):
  15575. (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):
  15576. 2003-09-23 Darin Adler <darin@apple.com>
  15577. Reviewed by John and Richard.
  15578. - fixed 3127833 -- autoscroll only works when mouse is moving
  15579. * WebView.subproj/WebHTMLView.m:
  15580. (-[WebHTMLView viewDidMoveToWindow]): Stop the auto-scroll timer. This covers
  15581. the case where a view is removed from the view hierarchy while the mouse is down.
  15582. (-[WebHTMLView mouseDown:]): Start the auto-scroll timer.
  15583. (-[WebHTMLView mouseUp:]): Stop the auto-scroll timer.
  15584. * WebView.subproj/WebHTMLViewPrivate.h: Add an auto-scroll timer, and methods
  15585. to start and stop it.
  15586. * WebView.subproj/WebHTMLViewPrivate.m:
  15587. (-[WebHTMLView _startAutoscrollTimer]): Create and schedule a timer. It uses the
  15588. same 1/10 second interval that NSTextView uses for its scrolling timer.
  15589. (-[WebHTMLView _stopAutoscrollTimer]): Invalidate and release the timer.
  15590. (-[WebHTMLView _autoscroll]): Check for a mouse up event in the queue; if one is
  15591. there, then no autoscrlling. But if not, then create a fake mouse dragged event
  15592. and dispatch it; that will lead to autoscrolling.
  15593. 2003-09-22 Darin Adler <darin@apple.com>
  15594. Reviewed by Dave.
  15595. - worked around 3429631 -- window stops getting mouse moved events after first tooltip appears
  15596. * WebView.subproj/WebHTMLViewPrivate.m: (-[NSToolTipPanel setAcceptsMouseMovedEvents:]):
  15597. Do nothing, preventing the real setAcceptsMouseMovedEvents: (in class NSWindow) from being called.
  15598. 2003-09-22 Darin Adler <darin@apple.com>
  15599. Reviewed by Dave.
  15600. - fixed 3431033 -- crash in -[NSToolTipManager _shouldInstallToolTip:]
  15601. * WebView.subproj/WebHTMLViewPrivate.m:
  15602. (-[WebHTMLView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]):
  15603. Override this alternate version of addTrackingRect. If I don't do this, we might
  15604. create a real tracking rect, which we would then never remove.
  15605. (-[WebHTMLView removeTrackingRect:]): Added assertions.
  15606. 2003-09-22 Darin Adler <darin@apple.com>
  15607. * WebKit.pbproj/project.pbxproj: Rename Mixed build style to OptimizedWithSymbols.
  15608. 2003-09-21 Darin Adler <darin@apple.com>
  15609. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView removeTrackingRect:]): Remove bogus assert.
  15610. 2003-09-21 Darin Adler <darin@apple.com>
  15611. Reviewed by Dave.
  15612. - fixed 3106411 -- show title attribute for page elements in tooltip on mouseover (important for PeopleSoft)
  15613. * WebView.subproj/WebHTMLViewPrivate.h: Added fields needed for tool tip implementation.
  15614. * WebView.subproj/WebHTMLViewPrivate.m:
  15615. (-[WebHTMLViewPrivate dealloc]): Release the tool tip string.
  15616. (-[WebHTMLView addTrackingRect:owner:userData:assumeInside:]): Override the default NSView
  15617. tracking rectangle implementation so we can trick the tool tip manager into trusting us about
  15618. when you leave and enter the rectangle for each element.
  15619. (-[WebHTMLView removeTrackingRect:]): The other half of the above stuff.
  15620. (-[WebHTMLView _sendToolTipMouseExited]): Added. Makes an event just good enough to fool the tool tip
  15621. manager, and send it on.
  15622. (-[WebHTMLView _sendToolTipMouseEntered]): Ditto.
  15623. (-[WebHTMLView _setToolTip:]): Added. Manages the new and old tool tips in a way that fools the tool
  15624. tip manager into working even though we don't know the rectangles of the tool tips beforehand. The
  15625. advantage of using AppKit tool tips is that they have all sorts of nice little features, like wrapping
  15626. to a nice rectangular shape and fading out when you move away.
  15627. (-[WebHTMLView view:stringForToolTip:point:userData:]): This is how the tool tip manager gets the actual
  15628. tool tip text.
  15629. (-[WebHTMLView _updateMouseoverWithEvent:]): Call _setToolTip method, using the value passed along with the
  15630. WebCoreElementTitleKey in the dictionary.
  15631. - unrelated code cleanup
  15632. * WebView.subproj/WebFramePrivate.h: Don't define WebCorePageCacheStateKey here; instead use
  15633. a definition exported from WebCore.
  15634. * WebView.subproj/WebFramePrivate.m: Ditto.
  15635. * English.lproj/StringsNotToBeLocalized.txt: Update for above changes.
  15636. 2003-09-19 Maciej Stachowiak <mjs@apple.com>
  15637. Reviewed by Darin.
  15638. Roll out old fix for 3410980.
  15639. * WebCoreSupport.subproj/WebBridge.m:
  15640. (-[WebBridge goBackOrForward:]):
  15641. 2003-09-19 Darin Adler <darin@apple.com>
  15642. Reviewed by Dave.
  15643. - do the prep work for the mini controls feature; Dave will finish this
  15644. * WebCoreSupport.subproj/WebFileButton.m:
  15645. (-[WebFileButton isFlipped]): Make this flipped, easier to understand coordinates that way.
  15646. (-[WebFileButton drawRect:]): Update for flipped-ness.
  15647. (-[WebFileButton visualFrame]): Update for flipped-ness.
  15648. (-[WebFileButton setVisualFrame:]): Update for flipped-ness.
  15649. (-[WebFileButton baseline]): Update for flipped-ness.
  15650. 2003-09-19 Maciej Stachowiak <mjs@apple.com>
  15651. Reviewed by Darin.
  15652. - fixed 3410980 - FileMaker: going forward with an empty forward list makes a frame come out blank sometimes
  15653. * WebCoreSupport.subproj/WebBridge.m:
  15654. (-[WebBridge backOrForwardItemWithDistance:]): Factored out from goBackOrForward.
  15655. (-[WebBridge canGoBackOrForward:]): Use the new method.
  15656. (-[WebBridge goBackOrForward:]): Likewise.
  15657. 2003-09-17 John Sullivan <sullivan@apple.com>
  15658. - WebKit part of fix for 3157018 -- Would like option to
  15659. not print backgrounds
  15660. Reviewed by Darin
  15661. * WebView.subproj/WebPreferences.h:
  15662. new accessor methods for new shouldPrintBackgrounds preference
  15663. * WebView.subproj/WebPreferences.m:
  15664. (+[WebPreferences initialize]):
  15665. set initial value for WebKitShouldPrintBackgroundsPreferenceKey
  15666. to NO
  15667. (-[WebPreferences shouldPrintBackgrounds]):
  15668. new method, read NSUserDefaults value
  15669. (-[WebPreferences setShouldPrintBackgrounds:]):
  15670. new method, write NSUserDefault value
  15671. * WebView.subproj/WebViewPrivate.m:
  15672. (-[WebView _updateWebCoreSettingsFromPreferences:]):
  15673. tell WebCore about value of shouldPrintBackgrounds
  15674. * English.lproj/StringsNotToBeLocalized.txt:
  15675. Updated for these and other recent changes
  15676. 2003-09-17 Darin Adler <darin@apple.com>
  15677. Reviewed by Maciej.
  15678. * Plugins.subproj/WebBasePluginPackage.m:
  15679. (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): Pass the
  15680. "no UI" flag, so we don't prompt the user when we're trying to load plug-ins.
  15681. Also use OSStatus rather than OSErr so we don't miss error codes that just
  15682. happen to have zeroes in the low 16 bits.
  15683. 2003-09-17 Darin Adler <darin@apple.com>
  15684. Reviewed by John.
  15685. * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton setFilename:]):
  15686. Don't call -[NSWorkspace iconForFile:] on a path that does not start with a '/'.
  15687. This can happen if JavaScript or the web page sets the path explicitly, and
  15688. adding this check avoids an unpleasant warning on the console.
  15689. === WebKit-106 ===
  15690. 2003-09-16 Richard Williamson <rjw@apple.com>
  15691. Backed out fix to 3412062 to resolve 3424197.
  15692. Many sites use a technique of posting forms the same URL to generate content server side. The fix to 3412062 broke those sites.
  15693. Reviewed by Darin.
  15694. * WebView.subproj/WebFramePrivate.m:
  15695. (-[WebFrame _transitionToCommitted:]):
  15696. === WebKit-105 ===
  15697. === WebKit-104 ===
  15698. 2003-09-12 Richard Williamson <rjw@apple.com>
  15699. Fixed 3420097. If redirects are cancelled during a pending load don't reset the quickRedirect flag.
  15700. Reviewed by Darin.
  15701. * WebCoreSupport.subproj/WebBridge.m:
  15702. (-[WebBridge reportClientRedirectCancelled:]):
  15703. * WebView.subproj/WebFramePrivate.h:
  15704. * WebView.subproj/WebFramePrivate.m:
  15705. (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
  15706. (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
  15707. (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
  15708. (-[WebFrame _clientRedirectCancelled:]):
  15709. === WebKit-103 ===
  15710. 2003-09-12 Richard Williamson <rjw@apple.com>
  15711. Fixed 3412062. Don't allow pages with the same URL as the current URL to enter b/f or history.
  15712. Reviewed by Maciej.
  15713. * WebView.subproj/WebFramePrivate.m:
  15714. (-[WebFrame _transitionToCommitted:]):
  15715. 2003-09-11 Maciej Stachowiak <mjs@apple.com>
  15716. Reviewed by Darin.
  15717. - fixed 3413463 - QuickTime plug-in content doesn't load in Safari (NPP_Write not called)
  15718. * Plugins.subproj/npapi.h: Fix erroneous function pointer
  15719. declarations that led to an int16/int32 mismatch.
  15720. 2003-09-12 Chris Blumenberg <cblu@apple.com>
  15721. Fixed: <rdar://problem/3420112>: Reproducible Safari crash in in -[WebBaseNetscapePluginView sendEvent:]
  15722. Reviewed by darin.
  15723. * Plugins.subproj/WebBaseNetscapePluginView.m:
  15724. (-[WebBaseNetscapePluginView sendEvent:]): temporarily retain self in case the plug-in view is released while sending an event.
  15725. (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:targetFrame:]): don't deliver the return value of the JS evaluation if stringByEvaluatingJavaScriptFromString caused the plug-in to stop.
  15726. === WebKit-102 ===
  15727. 2003-09-11 Maciej Stachowiak <mjs@apple.com>
  15728. Reviewed by Ken.
  15729. - fixed 3417486 - after logging off from secure Etrade website, going back returns you to secure page
  15730. * WebView.subproj/WebFramePrivate.m:
  15731. (-[WebFrame _loadItem:withLoadType:]): Don't request stale data
  15732. for https pages, as this could be a security risk.
  15733. 2003-09-11 Richard Williamson <rjw@apple.com>
  15734. Fixed 3406671. Added a private method for Mail to get selection
  15735. rect.
  15736. Reviewed by Darin Adler.
  15737. * WebView.subproj/WebHTMLView.m:
  15738. (-[WebHTMLView updateTextBackgroundColor]):
  15739. * WebView.subproj/WebHTMLViewPrivate.h:
  15740. * WebView.subproj/WebHTMLViewPrivate.m:
  15741. (-[WebHTMLView _handleMouseDragged:]):
  15742. (-[WebHTMLView _pluginController]):
  15743. (-[WebHTMLView _selectionRect]):
  15744. 2003-09-10 Richard Williamson <rjw@apple.com>
  15745. Fixed 3231031. Use the normal methodology for displaying each frame of a GIF. That is,
  15746. just call setNeedsDisplayInRect, rather than drawing directly. Drawing directly violates
  15747. layering/clipping.
  15748. Reviewed by Dave Hyatt.
  15749. * WebCoreSupport.subproj/WebImageRenderer.m:
  15750. (-[WebImageRenderer nextFrame:]):
  15751. === Safari-100 ===
  15752. 2003-09-09 Richard Williamson <rjw@apple.com>
  15753. Fixed 3414988. Don't store absolute path to home directory.
  15754. Reviewed by Chris Blumenberg.
  15755. Fixed 3414319. Send correct WebView back as parameter to webViewShow:
  15756. Review by Darin.
  15757. Fixed 3095029. Draw a frame's border in WebFrameView, instead of WebHTMLView, and correctly inset the frame's scrollview to account for the border. Mostly written by Darin.
  15758. Reviewed by Darin (and Richard).
  15759. * Misc.subproj/WebIconDatabase.m:
  15760. (-[WebIconDatabase _createFileDatabase]):
  15761. Store @"~/Library/Icon" instead of absolute path, and always try to tilde expand stored path.
  15762. * WebCoreSupport.subproj/WebBridge.m:
  15763. (-[WebBridge setHasBorder:]):
  15764. * WebView.subproj/WebFrameView.m:
  15765. (-[WebFrameView drawRect:]):
  15766. (-[WebFrameView setFrameSize:]):
  15767. * WebView.subproj/WebFrameViewPrivate.h:
  15768. * WebView.subproj/WebFrameViewPrivate.m:
  15769. (-[WebFrameView _isMainFrame]):
  15770. (-[WebFrameView _tile]):
  15771. (-[WebFrameView _drawBorder]):
  15772. (-[WebFrameView _shouldDrawBorder]):
  15773. (-[WebFrameView _setHasBorder:]):
  15774. * WebView.subproj/WebHTMLView.m:
  15775. (-[WebHTMLView drawRect:]):
  15776. Changes to correct draw border in WebFrameView instead of WebHTMLView.
  15777. * WebView.subproj/WebViewPrivate.m:
  15778. (-[WebView _openNewWindowWithRequest:]):
  15779. Send correct parameter (returned from webView:createWebViewWithRequest:), rather than self, to webViewShow:.
  15780. 2003-09-09 Chris Blumenberg <cblu@apple.com>
  15781. Fixed: <rdar://problem/3412380>: REGRESSION (85-98): www.minoltan.com is decoded incorrectly on Japanese system
  15782. The default encoding that Safari uses is latin1 regardless of the current system encoding. This is how it's always been. The problem is that the UI is displaying shift JIS for the default text encoding instead of latin1. This is happening because WebKit
  15783. is using "latin1" instead of "ISO-8859-1" for the default text encoding name. "ISO-8859-1" is the IANA character set name for latin1 and this is what the WebKitDefaultTextEncodingNamePreferenceKey preference expects. This ends up confusing Safari, so Saf
  15784. ari just ends up displaying the first item in the pop-up menu which is shift JIS.
  15785. Reviewed by rjw.
  15786. * WebView.subproj/WebPreferences.m:
  15787. (+[WebPreferences initialize]): The WebKitDefaultTextEncodingNamePreferenceKey should be "ISO-8859-1" not "latin1" since "ISO-8859-1" is the IANA character set name for latin1.
  15788. === Safari-99 ===
  15789. 2003-09-08 Darin Adler <darin@apple.com>
  15790. Reviewed by Chris.
  15791. - fixed 3412726 -- some HTML messages in Mail lose a line at page breaks when printed (multipart/alternative)
  15792. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
  15793. Go into printing mode when asked to adjust page height, if not already in it.
  15794. We already have code in drawRect that does this when actually printing, but it's
  15795. also important to lay out the same way when deciding where to break pages, otherwise
  15796. the difference between printer and screen fonts can lead to page breaks that split a line
  15797. of text across two pages, and that can lead to missing lines of text as well.
  15798. 2003-09-07 Darin Adler <darin@apple.com>
  15799. Reviewed by Maciej.
  15800. - fixed 3410939 -- disabling Geneva and Helvetica (by removing them, or by using Font Book) makes Safari crash
  15801. * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory fallbackFontWithTraits:size:]):
  15802. Fall back on Lucida Grande (plain, not bothering with traits) if Helvetica is not present.
  15803. * English.lproj/StringsNotToBeLocalized.txt: Update for this and other recent changes.
  15804. 2003-09-07 Darin Adler <darin@apple.com>
  15805. Reviewed by Ken.
  15806. - fixed 3406660 -- screen fonts are not being used for substitute fonts (Japanese text, Roman font)
  15807. * WebCoreSupport.subproj/WebTextRenderer.m:
  15808. (-[WebTextRenderer substituteFontForString:families:]): Get a printer or screen font,
  15809. based on the renderer's mode. The old code didn't do anything explicit.
  15810. (-[WebTextRenderer _setupFont]): Remove ignored parameter for clarity.
  15811. (-[WebTextRenderer initWithFont:usingPrinterFont:]): Fixed code paths that would not
  15812. explicitly get a printer or screen font, and code paths that would get data from the
  15813. original "before mapping to printer or screen font" NSFont object.
  15814. === Safari-98 ===
  15815. 2003-09-05 Ken Kocienda <kocienda@apple.com>
  15816. Reviewed by Darin
  15817. Incorporate releaseGState fix that Darin developed for
  15818. textareas and list boxes in WebCore. It turns out that
  15819. we this workaround in WebClipView as well to get proper
  15820. drawing of subframes.
  15821. In addition, removed some tests that which performed
  15822. runtime checks for code in AppKit. AppKit will have
  15823. the checked-for code in all versions that will be used
  15824. with the version of WebKit.
  15825. * WebView.subproj/WebClipView.m:
  15826. (-[WebClipView initWithFrame:])
  15827. (-[WebClipView resetAdditionalClip])
  15828. (-[WebClipView setAdditionalClip:])
  15829. 2003-09-04 John Sullivan <sullivan@apple.com>
  15830. - fixed 3409011 -- the graphics views palette does not open
  15831. Reviewed by Maciej
  15832. * WebView.subproj/WebPreferences.m:
  15833. (+[WebPreferences _removeReferenceForIdentifier:]):
  15834. special-case nil, which is a magic initial identifier already
  15835. special-cased in the other mutator
  15836. 2003-09-05 Maciej Stachowiak <mjs@apple.com>
  15837. Reviewed by Darin.
  15838. - fixed 3406140 - REGRESSION (7B52-7B55): time spent in NSFont makes Safari 50% slower in Five Apps test
  15839. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  15840. (-[WebTextRendererFactory fontWithFamily:traits:size:]): Make font
  15841. using the font name we found, not the one we were looking
  15842. for. Since the compare is case-insensitive, it makes a
  15843. difference. Also, don't make the font twice.
  15844. 2003-09-04 Chris Blumenberg <cblu@apple.com>
  15845. Fixed: <rdar://problem/3316704>: Shockwave: getnetText steam is not functioning correctly
  15846. Reviewed by mjs.
  15847. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  15848. (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): if the content length is unknown, use 0 instead of -1
  15849. 2003-09-04 Chris Blumenberg <cblu@apple.com>
  15850. Fixed: <rdar://problem/3286922>: Shockwave: Using HTTP to stream .mp3 or .swa files fails at ~50%
  15851. Reviewed by mjs.
  15852. * Plugins.subproj/WebBaseNetscapePluginStream.h: new deliveryData and reason ivars
  15853. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  15854. (-[WebBaseNetscapePluginStream dealloc]): release deliveryData ivar
  15855. (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): set new reason ivar
  15856. (-[WebBaseNetscapePluginStream destroyStream]): new, calls NPP_StreamAsFile, NPP_DestroyStream and NPP_URLNotify
  15857. (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): set the reason, call destroyStream
  15858. (-[WebBaseNetscapePluginStream receivedError:]): set deliveryData length to 0 so no more data is streamed, call destroyStreamWithReason
  15859. (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): don't call NPP_StreamAsFile because this has to be called right before NPP_DestroyStream in destroyStream
  15860. (-[WebBaseNetscapePluginStream deliverData]): new, call NPP_WriteReady and NPP_Write and properly obey their returned values
  15861. (-[WebBaseNetscapePluginStream receivedData:]): call deliverData
  15862. * Plugins.subproj/WebNetscapePluginStream.m:
  15863. (-[WebNetscapePluginStream stop]): call receivedError here
  15864. (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): don't call receivedError here because after the load is complete, stream is set to nil and receivedError can be called after the completed load
  15865. 2003-09-04 Chris Blumenberg <cblu@apple.com>
  15866. * Plugins.subproj/WebBaseNetscapePluginView.m:
  15867. (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): Fixed typo in newly added comment.
  15868. 2003-09-04 Chris Blumenberg <cblu@apple.com>
  15869. Fixed: <rdar://problem/3407328>: request headers at the start of the file passed to NPN_PostURL don't work for Acrobat plug-in?
  15870. Reviewed by john.
  15871. * Plugins.subproj/WebBaseNetscapePluginView.m:
  15872. (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): As documented, allow headers to be specified via NPP_PostURL when using a file.
  15873. === Safari-97 ===
  15874. 2003-09-03 John Sullivan <sullivan@apple.com>
  15875. - fixed 3406411 -- infoseek.co.jp: many console errors about
  15876. attempting to set non-screen font (HiraMinPro-W3)
  15877. Reviewed by Ken
  15878. * WebCoreSupport.subproj/WebTextRenderer.m:
  15879. (_drawGlyphs):
  15880. use ERROR instead of NSLog for the printing-font-used-on-screen
  15881. case, so it doesn't flood the world's console logs. We need to
  15882. investigate why this is happening also, but that can probably
  15883. be post-Panther.
  15884. 2003-09-01 John Sullivan <sullivan@apple.com>
  15885. - WebKit part of fix for 3402489 -- REGRESSION (7B48-7B55): Some printed web pages are too small (width is half a page)
  15886. This was a regression caused by the fix for 3378810.
  15887. Reviewed by Maciej
  15888. * WebView.subproj/WebHTMLView.m:
  15889. (-[WebHTMLView layoutToPageWidth:adjustingViewSize:]):
  15890. now takes adjustViewSize flag, and passes it down to
  15891. one of bridge's forceLayout calls.
  15892. (-[WebHTMLView layout]):
  15893. pass NO for adjustViewSize flag in this case
  15894. (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
  15895. pass adjustViewSize flag down to layoutToPageWidth instead
  15896. of using it directly here; this is the wrong level to use
  15897. it directly since the bridge is no longer set up for
  15898. printing after the layoutToPageWidth call completes.
  15899. 2003-08-30 Maciej Stachowiak <mjs@apple.com>
  15900. Reviewed by John.
  15901. - fixed 3401709 - [WebView searchFor:] with wrap:NO hangs if the search fails
  15902. * WebView.subproj/WebView.m:
  15903. (-[WebView searchFor:direction:caseSensitive:wrap:]): Fix for
  15904. wrap:NO case as suggested by Darin.
  15905. === Safari-96 ===
  15906. 2003-08-29 Richard Williamson <rjw@apple.com>
  15907. Fixed 3401334. Use IB document key when checking for reference removal on instances of WebPreferences.
  15908. Also removed _userDefaultsKeysForIB, no longer needed by IB.
  15909. Reviewed by John.
  15910. * WebView.subproj/WebPreferences.m:
  15911. (+[WebPreferences _removeReferenceForIdentifier:]):
  15912. (-[WebPreferences _postPreferencesChangesNotification]):
  15913. * WebView.subproj/WebPreferencesPrivate.h:
  15914. 2003-08-29 Richard Williamson <rjw@apple.com>
  15915. Fixed 3400807. Don't release state associated with the current b/f item. We shouldn't normally have page cache state associated with the current item (3401376). This fix guarantees that we won't prematurely release the page cache state for the current
  15916. item.
  15917. Reviewed byJohn Sullivan.
  15918. * History.subproj/WebBackForwardList.m:
  15919. (-[WebBackForwardList _clearPageCache]):
  15920. 2003-08-28 Richard Williamson <rjw@apple.com>
  15921. Fixed 3399736. Fixed several problems with WebView/WebPreferences
  15922. interaction.
  15923. Reviewed by Eric Seymour.
  15924. * Misc.subproj/WebKitLogging.h:
  15925. * Misc.subproj/WebKitLogging.m:
  15926. Added debug logging.
  15927. * WebCoreSupport.subproj/WebTextRenderer.m:
  15928. (_drawGlyphs): Checkin for 3398229 below.
  15929. * WebView.subproj/WebPreferences.m:
  15930. (-[WebPreferences initWithIdentifier:]):
  15931. (-[WebPreferences initWithCoder:]):
  15932. (-[WebPreferences encodeWithCoder:]):
  15933. (+[WebPreferences standardPreferences]):
  15934. (+[WebPreferences _getInstanceForIdentifier:]):
  15935. (+[WebPreferences _setInstance:forIdentifier:]):
  15936. (+[WebPreferences _concatenateKeyWithIBCreatorID:]):
  15937. * WebView.subproj/WebView.m:
  15938. (-[WebView _commonInitializationWithFrameName:groupName:]):
  15939. (-[WebView initWithCoder:]):
  15940. (-[WebView encodeWithCoder:]):
  15941. 2003-08-27 Richard Williamson <rjw@apple.com>
  15942. Fixed 3398229. When we request a font from NSFont by name we should use a case specific name. We do case insensitve comparsion, but once a match is found we should use the actual font name, not the requested name. Two layout tests are still failing, b
  15943. ut I don't think the failures are font related.
  15944. Reviewed by Hyatt.
  15945. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  15946. (-[WebTextRendererFactory fontWithFamily:traits:size:]):
  15947. === Safari-95 ===
  15948. 2003-08-27 Richard Williamson <rjw@apple.com>
  15949. Fixed 3397235. WebView wasn't archiving useBackForwardList.
  15950. Reviewed by Eric Seymour.
  15951. * WebView.subproj/WebView.m:
  15952. (-[WebView initWithCoder:]):
  15953. (-[WebView encodeWithCoder:]):
  15954. 2003-08-26 Richard Williamson <rjw@apple.com>
  15955. Fixed 3385478. Look for an exact match for font names (using PS names) before matching on family names.
  15956. Also added logging to help debug now resolved binding problem.
  15957. Reviewed by Maciej.
  15958. * Misc.subproj/WebKitLogging.h:
  15959. * Misc.subproj/WebKitLogging.m:
  15960. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  15961. (-[WebTextRendererFactory fontWithFamily:traits:size:]):
  15962. * WebView.subproj/WebView.m:
  15963. (-[WebView addObserver:forKeyPath:options:context:]):
  15964. (-[WebView removeObserver:forKeyPath:]):
  15965. 2003-08-26 Darin Adler <darin@apple.com>
  15966. Reviewed by Maciej.
  15967. - fixed 3310943 -- REGRESSION (Panther): textareas in forms sometimes draw blank (bugreporter)
  15968. There are two fixes here. The more elegant and slightly faster one that requires a new AppKit,
  15969. and the less elegant one that works without AppKit support. By including both we don't have to
  15970. worry about timing of submission of WebKit vs. AppKit but we get the good, elegant fix. Later,
  15971. we can delete the less elegant fix.
  15972. * WebView.subproj/WebClipView.m:
  15973. (+[WebClipView initialize]): Set up a boolean global so we only hav to do the "does AppKit support
  15974. _focusRingVisibleRect" check one time.
  15975. (-[WebClipView resetAdditionalClip]): Only do the renewGState thing if we don't have the
  15976. _focusRingVisibleRect method, but if we do the renewGState thing, do it to self and all descendants
  15977. using _web_renewGStateDeep.
  15978. (-[WebClipView setAdditionalClip:]): Ditto.
  15979. (-[WebClipView visibleRect]): Only limit this based on the additional clip if we don't have the
  15980. _focusRingVisibleRect method.
  15981. (-[WebClipView _focusRingVisibleRect]): Override the new method. Harmless if it's an old AppKit
  15982. that doesn't have the method yet.
  15983. (-[NSView _web_renewGStateDeep]): Implemented this helper method. We can get rid of it once we
  15984. are entirely on the new AppKit.
  15985. 2003-08-26 Darin Adler <darin@apple.com>
  15986. Reviewed by Maciej.
  15987. - fixed 3321247 -- window size box disappears from Help window (caused by WebKit NSView hackery)
  15988. * WebView.subproj/WebHTMLViewPrivate.m:
  15989. (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]),
  15990. (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
  15991. Don't propagate dirty rects at all. This was causing problems because now the AppKit uses
  15992. dirty regions, not dirty rects. In AppKit-722 and newer, _setDrawsDescendants: takes care of this
  15993. for us so we don't have to do anything at all.
  15994. 2003-08-26 Darin Adler <darin@apple.com>
  15995. Reviewed by John.
  15996. - fixed 3392650 -- REGRESSION?: assertion fails trying Apple-hosted page load test while not on Apple network
  15997. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _isLoadComplete]):
  15998. Stop loading the provisional data source before blowing it away, in case
  15999. there are some callbacks that haven't occurred yet. It's a waste of time to
  16000. try to handle those additional callbacks, and can lead to failed assertions
  16001. since the data source won't be hooked up to any frame any more.
  16002. 2003-08-25 Richard Williamson <rjw@apple.com>
  16003. Fix for 3391609. Our rounding hack wasn't correctly reflected in the selection point
  16004. code. Piggy-backed on this fix are fixes for selection of letter-spacing, word-spacing
  16005. and justified text.
  16006. Reviewed by Hyatt.
  16007. * WebCoreSupport.subproj/WebTextRenderer.m:
  16008. (initializeCharacterWidthIterator):
  16009. (widthAndGlyphForSurrogate):
  16010. (widthForNextCharacter):
  16011. (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
  16012. 2003-08-25 John Sullivan <sullivan@apple.com>
  16013. - fixed 3391264 -- REGRESSION (Panther): Back/Forward buttons not
  16014. updating immediately after page load
  16015. The buttons are updated in response to window update notifications.
  16016. Jaguar was sending so many extra bogus notifications that it
  16017. masked the fact that we weren't ensuring that these notifications
  16018. were sent at all in the case of non-event-based interesting
  16019. changes that might affect menu items/toolbar items/etc.
  16020. Reviewed by Richard
  16021. * WebView.subproj/WebViewPrivate.m:
  16022. (-[WebView _didStartProvisionalLoadForFrame:]):
  16023. call -[NSApp setWindowsNeedUpdate:YES] so window update notices
  16024. will be sent
  16025. (-[WebView _didCommitLoadForFrame:]):
  16026. ditto
  16027. (-[WebView _didFinishLoadForFrame:]):
  16028. ditto
  16029. (-[WebView _didFailLoadWithError:forFrame:]):
  16030. ditto
  16031. (-[WebView _didFailProvisionalLoadWithError:forFrame:]):
  16032. ditto
  16033. 2003-08-24 Darin Adler <darin@apple.com>
  16034. Reviewed by John.
  16035. - fixed 3382179 -- REGRESSION: many images scroll down while loading (e.g., homepage.mac.com slide show)
  16036. * WebCoreSupport.subproj/WebImageRenderer.m:
  16037. (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): While loading, always draw one less line than
  16038. the number NSImage says we have, since that last line is a partial line and draws unwanted white. This
  16039. is not what the bug report complains about, but is a longstanding and very minor issue. Remove the code
  16040. that adjust the Y origin. This is what the bug report is about. That adjustment is incorrect and was
  16041. unknowingly compensating for some kind of NSImage bug that is now fixed.
  16042. (-[WebImageRenderer tileInRect:fromPoint:]): Added an assertion that the WebImageRenderer is flipped.
  16043. The code does assume that it's flipped.
  16044. 2003-08-22 John Sullivan <sullivan@apple.com>
  16045. - fixed 3385837 -- REGRESSION: can't paste link from Safari into
  16046. Keynote (paste at top level, not into text)
  16047. Reviewed by Darin
  16048. The problem was that we were using a single list of pasteboard
  16049. types for both "types we can read" and "types we can write", but
  16050. NSFilenamesPBoardType wasn't being written to, creating a bad
  16051. pasteboard. The fix is to split this list in two. We could do
  16052. this a little more elegantly if we weren't paranoid about
  16053. last-minute SPI changes breaking compatibility with Sherlock or
  16054. some other internal client.
  16055. * Misc.subproj/WebNSPasteboardExtras.h:
  16056. add new _web_writableDragTypesForURL, commented various methods
  16057. better.
  16058. * Misc.subproj/WebNSPasteboardExtras.m:
  16059. (+[NSPasteboard _web_writableDragTypesForURL]):
  16060. implement _web_writableDragTypesForURL; it's just like
  16061. _web_dragTypesForURL but without the NSFilenamesPBoardType
  16062. (-[NSPasteboard _web_writeURL:andTitle:withOwner:]):
  16063. use _web_writableDragTypesForURL
  16064. * Misc.subproj/WebNSViewExtras.m:
  16065. (-[NSView _web_dragPromisedImage:rect:URL:title:event:]):
  16066. use _web_writableDragTypesForURL
  16067. 2003-08-22 Darin Adler <darin@apple.com>
  16068. Reviewed by Dave.
  16069. - fixed 3386051 -- REGRESSION: text "too dark" after the page is deactivated and reactivated (bugweb)
  16070. Cached clips were causing us to draw nothing for the top frames of framesets, resulting in darkened
  16071. text because we draw anti-aliased text twice without drawing a background.
  16072. * WebView.subproj/WebClipView.m:
  16073. (-[WebClipView resetAdditionalClip]): Invalidate cached graphics state when changing the visible rect.
  16074. (-[WebClipView setAdditionalClip:]): Ditto.
  16075. 2003-08-21 Darin Adler <darin@apple.com>
  16076. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
  16077. Tweak to printing fix: Be sure to call adjustViewSize after applying styles and doing layout.
  16078. 2003-08-21 Richard Williamson <rjw@apple.com>
  16079. Fixed 3378810. Avoid resizing frame from drawRect: when printing. This will corrupt the graphics context.
  16080. Reviewed by Hyatt.
  16081. * WebView.subproj/WebHTMLView.m:
  16082. (-[WebHTMLView layoutToPageWidth:]):
  16083. (-[WebHTMLView drawRect:]):
  16084. (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
  16085. (-[WebHTMLView beginDocument]):
  16086. (-[WebHTMLView endDocument]):
  16087. === Safari-94 ===
  16088. 2003-08-21 John Sullivan <sullivan@apple.com>
  16089. - fixed 3387950 -- REGRESSION (85-89): Standalone image in Safari prints much
  16090. smaller than in Jaguar
  16091. Reviewed by Chris.
  16092. * WebView.subproj/WebImageView.m:
  16093. (-[WebImageView adjustFrameSize]):
  16094. renamed from setFrameSizeUsingImage; now sets the frame size to exactly
  16095. the image size (as it did in Jaguar always) when we're not drawing to
  16096. the screen.
  16097. (-[WebImageView setFrameSize:]):
  16098. updated for name change
  16099. (-[WebImageView layout]):
  16100. ditto
  16101. (-[WebImageView beginDocument]):
  16102. adjust frame size (before printing)
  16103. (-[WebImageView endDocument]):
  16104. adjust frame size (after printing)
  16105. 2003-08-19 Richard Williamson <rjw@apple.com>
  16106. Fixed 3383623 (and 3384896). Remove our unbeknownst work-around for an NSImage bug that incorrectly flipped y coordinate when drawing a partial rect within the image. This has been fixed in Panther, making our work-around no longer necessary.
  16107. Reviewed by Darin.
  16108. * WebCoreSupport.subproj/WebImageRenderer.m:
  16109. (-[WebImageRenderer tileInRect:fromPoint:]):
  16110. * WebKit.pbproj/project.pbxproj:
  16111. 2003-08-18 Richard Williamson <rjw@apple.com>
  16112. Fixed 3140065. Bidi neutrals in RTL runs are now handled correctly. Still have
  16113. problem with bidi neutrals at directional boundaries 3382926.
  16114. Reviewed by Maciej.
  16115. * Misc.subproj/WebUnicode.h:
  16116. * Misc.subproj/WebUnicode.m:
  16117. (shapedString):
  16118. * WebCoreSupport.subproj/WebTextRenderer.m:
  16119. (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
  16120. 2003-08-18 Darin Adler <darin@apple.com>
  16121. Reviewed by Maciej.
  16122. - fixed 3299893 -- oncontextmenu support
  16123. * WebView.subproj/WebHTMLView.m:
  16124. (-[WebHTMLView menuForEvent:]): Call sendContextMenuEvent: on the bridge, and
  16125. don't show a menu if the event is handled over in WebCore.
  16126. (-[WebHTMLView mouseDown:]): Don't send a mouse down event in the case where we
  16127. already sent a context menu event and decided not to put up a real context menu.
  16128. 2003-08-18 Richard Williamson <rjw@apple.com>
  16129. Fix build problem from last checkin.
  16130. Reviewed by Darin.
  16131. * WebCoreSupport.subproj/WebImageRenderer.m:
  16132. (-[WebImageRenderer initWithData:MIMEType:]):
  16133. (-[WebImageRenderer initWithContentsOfFile:]):
  16134. 2003-08-17 Darin Adler <darin@apple.com>
  16135. Reviewed by Maciej.
  16136. - fixed 3376522 -- REGRESSION: uncaught exception from bad .ico causes crash (login window at 34sp.com)
  16137. I added exception handling in all the places we load images with NSImage.
  16138. * Misc.subproj/WebIconDatabase.m:
  16139. (-[WebIconDatabase _iconsForIconURLString:]): Add exception handler.
  16140. * Misc.subproj/WebIconLoader.m:
  16141. (-[WebIconLoader connectionDidFinishLoading:]): Add exception handler.
  16142. * WebCoreSupport.subproj/WebImageRenderer.m:
  16143. (-[WebImageRenderer initWithData:MIMEType:]): Add exception handler.
  16144. (-[WebImageRenderer initWithContentsOfFile:]): Add exception handler.
  16145. (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): Add exception handler.
  16146. 2003-08-15 Richard Williamson <rjw@apple.com>
  16147. Fixed 3378530. Ensure that line is always drawn within bounds
  16148. of element.
  16149. Reviewed by Chris.
  16150. * WebCoreSupport.subproj/WebTextRenderer.m:
  16151. (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
  16152. 2003-08-15 Richard Williamson <rjw@apple.com>
  16153. Fixed 3379439. Remove checks for CG symbols. No longer needed.
  16154. Reviewed by Darin.
  16155. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  16156. (+[WebTextRendererFactory createSharedFactory]):
  16157. === Safari-93 ===
  16158. 2003-08-14 Vicki Murley <vicki@apple.com>
  16159. Reviewed by John.
  16160. * WebKit.pbproj/project.pbxproj: deleted WebKit.order from the project.
  16161. 2003-08-14 Vicki Murley <vicki@apple.com>
  16162. Reviewed by John.
  16163. * WebKit.order: Removed. We now point to the WebKit order file in /AppleInternal/OrderFiles.
  16164. * WebKit.pbproj/project.pbxproj: set sectorder flag to point to /AppleInternal/OrderFiles/WebKit.order
  16165. 2003-08-14 Darin Adler <darin@apple.com>
  16166. Reviewed by Chris.
  16167. - fixed 3344259 -- flipped image when copying from Safari in 1000s of colors mode
  16168. The workaround is to turn off the NSImage cache. Andrew says this won't have any
  16169. practical repercussions other than making the bug go away.
  16170. Seems to have a side effect of speeding up the cvs-base page load test!
  16171. * WebCoreSupport.subproj/WebImageRenderer.m:
  16172. (-[WebImageRenderer initWithMIMEType:]): Set mode to NSImageCacheNever.
  16173. (-[WebImageRenderer initWithData:MIMEType:]): Ditto.
  16174. (-[WebImageRenderer initWithContentsOfFile:]): Ditto.
  16175. (-[WebImageRenderer _adjustSizeToPixelDimensions]): Don't set mode to NSImageCacheDefault.
  16176. 2003-08-14 Ken Kocienda <kocienda@apple.com>
  16177. Reviewed by Darin
  16178. Fix for this bug:
  16179. <rdar://problem/3375042>: Change usages of NSURL absoluteString in WebKit
  16180. to use improved variants
  16181. * History.subproj/WebHistoryItem.m:
  16182. (-[WebHistoryItem initWithURL:title:]): Use data-as-string.
  16183. (-[WebHistoryItem initWithURL:target:parent:title:]): Use data-as-string.
  16184. (-[WebHistoryItem setURL:]): Use data-as-string.
  16185. * History.subproj/WebHistoryPrivate.m:
  16186. (-[WebHistoryPrivate addItem:]): Remove FIX_VISITED ifdef
  16187. (-[WebHistoryPrivate removeItem:]): Ditto
  16188. (-[WebHistoryPrivate containsURL:]): Ditto. Use data-as-string.
  16189. (-[WebHistoryPrivate itemForURL:]): Ditto. Ditto.
  16190. (-[WebHistoryPrivate loadFromURL:error:]): Fix log message to URL.
  16191. (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]): Ditto.
  16192. (-[WebHistoryPrivate saveToURL:error:]): Ditto.
  16193. * History.subproj/WebURLsWithTitles.m:
  16194. (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]): Use visible-string.
  16195. * Misc.subproj/WebIconLoader.m:
  16196. (-[WebIconLoader connectionDidFinishLoading:]): Use data-as-string.
  16197. * Misc.subproj/WebKitErrors.m:
  16198. (+[NSError _webKitErrorWithDomain:code:URL:]): Added new convenience that takes
  16199. a URL instead of a URL string.
  16200. (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]):
  16201. Added new convenience that takes URLs instead of a URL stringis.
  16202. * Misc.subproj/WebKitErrorsPrivate.h: Declared new conveniences.
  16203. * Misc.subproj/WebNSPasteboardExtras.m:
  16204. (-[NSPasteboard _web_writeURL:andTitle:withOwner:types:]): Use visible-string.
  16205. * Misc.subproj/WebNSURLExtras.h:
  16206. * Misc.subproj/WebNSURLExtras.m:
  16207. (-[NSURL _web_originalDataAsString]): Added.
  16208. (-[NSURL _webkit_isJavaScriptURL]): Use data-as-string.
  16209. (-[NSURL _webkit_scriptIfJavaScriptURL]): Ditto
  16210. (-[NSURL _webkit_isFTPDirectoryURL]): Ditto
  16211. (-[NSURL _webkit_shouldLoadAsEmptyDocument]): Ditto. Also use _web_isEmpty.
  16212. * Plugins.subproj/WebBaseNetscapePluginView.m:
  16213. (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Use data-as-string.
  16214. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  16215. (-[WebNetscapePluginDocumentView setDataSource:]): Use new error convenience.
  16216. * Plugins.subproj/WebNetscapePluginStream.m:
  16217. (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): Ditto.
  16218. * WebCoreSupport.subproj/WebBridge.m:
  16219. (-[WebBridge requestedURLString]): Use data-as-string.
  16220. * WebCoreSupport.subproj/WebSubresourceClient.m:
  16221. (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): Use new error convenience.
  16222. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  16223. (-[WebBaseResourceHandleDelegate cancelledError]): Ditto.
  16224. * WebView.subproj/WebDataProtocol.m:
  16225. (-[WebDataProtocol startLoading]): Ditto.
  16226. * WebView.subproj/WebDataSourcePrivate.m:
  16227. (-[WebDataSource _stopLoadingInternal]): Ditto.
  16228. (-[WebDataSource _updateIconDatabaseWithURL:]): Use data-as-string.
  16229. (-[WebDataSource _loadIcon]): Ditto.
  16230. * WebView.subproj/WebFramePrivate.m:
  16231. (-[WebFrame _createItem:]): Use data-as-string.
  16232. (-[WebFrame _transitionToCommitted:]): Fix log message to use URL.
  16233. (-[WebFrame _purgePageCache]): Use _web_isEmpty
  16234. (-[WebFrame _setState:]): Fix log message to use URL.
  16235. (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]): Use new error convenience.
  16236. (-[WebFrame _loadItem:withLoadType:]): Fix log message to use URL.
  16237. (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
  16238. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Fix log messages to use URL.
  16239. (-[WebFrame _shouldTreatURLAsSameAsCurrent:]): Use data-as-string.
  16240. * WebView.subproj/WebHTMLViewPrivate.m:
  16241. (-[WebHTMLView _dragImageForLinkElement:]): Use visible-string.
  16242. * WebView.subproj/WebMainResourceClient.m:
  16243. (-[WebMainResourceClient interruptForPolicyChangeError]): Use new error convenience.
  16244. * WebView.subproj/WebPreferences.m:
  16245. (-[WebPreferences setUserStyleSheetLocation:]): Use data-as-string.
  16246. * WebView.subproj/WebView.m:
  16247. (-[WebView mainFrameURL]): Use data-as-string.
  16248. (-[WebView mainFrameIcon]): Use data-as-string.
  16249. * WebView.subproj/WebViewPrivate.m:
  16250. (-[WebView _updateWebCoreSettingsFromPreferences:]): Use data-as-string.
  16251. 2003-08-12 Maciej Stachowiak <mjs@apple.com>
  16252. Reviewed by Ken.
  16253. - fixed 3365242 - non-repro abort in HTMLTokenizer at ajc.com
  16254. * WebView.subproj/WebDataSourcePrivate.m:
  16255. (-[WebDataSource _receivedData:]): ref the data source around
  16256. processing the data and afterwards, to avoid crashing if a script
  16257. in this chunk of data made the frame go away.
  16258. 2003-08-13 Richard Williamson <rjw@apple.com>
  16259. Fixed 3376077. Override automaticallyNotifiesObserversForKey: to
  16260. prevent unnecessary additional notifications from being sent. Also
  16261. added development-only logging (bulk of the change).
  16262. Reviewed by Chris.
  16263. * Misc.subproj/WebKitLogging.h:
  16264. * Misc.subproj/WebKitLogging.m:
  16265. * WebView.subproj/WebDataSourcePrivate.m:
  16266. (-[WebDataSource _setTitle:]):
  16267. (-[WebDataSource _updateIconDatabaseWithURL:]):
  16268. * WebView.subproj/WebViewPrivate.h:
  16269. * WebView.subproj/WebViewPrivate.m:
  16270. (-[WebView _didChangeValueForKey:]):
  16271. (-[WebView _willChangeValueForKey:]):
  16272. (-[WebView _progressStarted]):
  16273. (-[WebView _progressCompleted]):
  16274. (-[WebView _incrementProgressForConnection:data:]):
  16275. (+[WebView automaticallyNotifiesObserversForKey:]):
  16276. (-[WebView _willChangeBackForwardKeys]):
  16277. (-[WebView _didChangeBackForwardKeys]):
  16278. (-[WebView _didStartProvisionalLoadForFrame:]):
  16279. (-[WebView _didCommitLoadForFrame:]):
  16280. (-[WebView _didFinishLoadForFrame:]):
  16281. (-[WebView _didFailLoadWithError:forFrame:]):
  16282. (-[WebView _didFailProvisionalLoadWithError:forFrame:]):
  16283. 2003-08-13 Chris Blumenberg <cblu@apple.com>
  16284. Fixed: <rdar://problem/3347134>: After first successful POST in Flash, Safari does not repeat POST and gives cached reply
  16285. Reviewed by kocienda.
  16286. * Plugins.subproj/WebBaseNetscapePluginView.m:
  16287. (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): call [request setCachePolicy:NSURLRequestReloadIgnoringCacheData]
  16288. 2003-08-13 Ken Kocienda <kocienda@apple.com>
  16289. Reviewed by Darin
  16290. Fix for this bug:
  16291. <rdar://problem/3366441>: URL strings with UTF-8 characters
  16292. processed improperly for display by WebKit
  16293. * Misc.subproj/WebNSURLExtras.h:
  16294. * Misc.subproj/WebNSURLExtras.m:
  16295. (isHexDigit): Added
  16296. (hexDigitValue): Added
  16297. (-[NSURL _web_userVisibleString]): Added. Produces a string that
  16298. is suitable for display to a user in the UI.
  16299. (-[NSURL _web_isEmpty]): Convenience to check for an empty URL
  16300. * WebCoreSupport.subproj/WebBridge.m:
  16301. (-[WebBridge requestedURLString]): Now calls _web_userVisibleString
  16302. 2003-08-13 Ken Kocienda <kocienda@apple.com>
  16303. Reviewed by Darin
  16304. Fix for this bug:
  16305. <rdar://problem/3374458>: Choose UTF-8 for encoding when calling
  16306. CFURLCreateAbsoluteURLWithBytes in WebKit
  16307. Calling CFURLCreateAbsoluteURLWithBytes with ISO Latin 1 string
  16308. encoding results in some issues when trying to decode a URL path in
  16309. preparation for doing file I/O. Instead of doing a redecoding step
  16310. whenever a path is needed to perform I/O, use UTF-8 as the encoding
  16311. right from the start. This will mean that illegal UTF-8 sequences will
  16312. be rejected by CFURLCreateAbsoluteURLWithBytes. However, we can work
  16313. around this by falling back on ISO Latin1 in this case. The end result
  16314. is that existing code throughout the URL loading system can remain
  16315. unchanged and simply call the path method on NSURL as it does now and
  16316. get the right result for its I/O requirements.
  16317. * Misc.subproj/WebNSURLExtras.m:
  16318. (+[NSURL _web_URLWithData:relativeToURL:])
  16319. 2003-08-13 Ken Kocienda <kocienda@apple.com>
  16320. Reviewed by Darin
  16321. Fix for this bug:
  16322. <rdar://problem/3374487>: URLs with UTF-8 escape sequences can't be accessed
  16323. when typed in the Safari location bar
  16324. * Misc.subproj/WebNSPasteboardExtras.m:
  16325. (-[NSPasteboard _web_bestURL]): Call _web_URLWithUserTypedString: to make a
  16326. URL from this type of string.
  16327. * Misc.subproj/WebNSURLExtras.h:
  16328. * Misc.subproj/WebNSURLExtras.m:
  16329. (hexDigit): Added.
  16330. (+[NSURL _web_URLWithUserTypedString:]): Added. Creates a URL from a string
  16331. that is typed in a user, for example, in the Safari location bar.
  16332. 2003-08-12 John Sullivan <sullivan@apple.com>
  16333. - fixed 3369505 -- leaks of NSCFTimer after running through the
  16334. cvs-base test suite
  16335. Reviewed by Richard
  16336. * WebView.subproj/WebFrame.m:
  16337. (-[WebFrame stopLoading]):
  16338. release timer before nil'ing it out
  16339. 2003-08-12 Ed Voas <voas@apple.com>
  16340. Reviewed by Richard.
  16341. Make sure to override the standard behavior for ordering windows to do nothing for Carbon stuff.
  16342. * Carbon.subproj/CarbonWindowAdapter.m:
  16343. (-[CarbonWindowAdapter _reallyDoOrderWindow:relativeTo:findKey:forCounter:force:isModal:]):
  16344. 2003-08-11 Chris Blumenberg <cblu@apple.com>
  16345. Fixed: <rdar://problem/3163589>: Macromedia Flash 6 cannot take Asian text entry in Safari
  16346. Revidewed by darin.
  16347. * Plugins.subproj/WebBaseNetscapePluginView.m:
  16348. (-[WebBaseNetscapePluginView installKeyEventHandler]): new
  16349. (-[WebBaseNetscapePluginView removeKeyEventHandler]): new
  16350. (-[WebBaseNetscapePluginView becomeFirstResponder]): call installKeyEventHandler
  16351. (-[WebBaseNetscapePluginView resignFirstResponder]): call removeKeyEventHandler
  16352. (-[WebBaseNetscapePluginView keyUp:]): call TSMProcessRawKeyEvent so key events go through the machinery and UI that plug-ins expect
  16353. (-[WebBaseNetscapePluginView keyDown:]): call TSMProcessRawKeyEvent so key events go through the machinery and UI that plug-ins expect
  16354. (TSMEventHandler): turn the TSM event into a series of EventRecords and pass them to the plug-in
  16355. (-[WebBaseNetscapePluginView stop]): call removeKeyEventHandler because resignFirstResponder may not get called
  16356. 2003-08-08 Richard Williamson <rjw@apple.com>
  16357. Lots of healthy cleanup. Introduced width and shaping iterators
  16358. to simplify code and remove allocations for large text runs. Should
  16359. go further and make more use of these in the future (post panther).
  16360. Fixed 3369608. Crash in -[WebTextRenderer _CG_drawRun:style:atPoint:] at lovepucca.net
  16361. Fixed 3118050. Crash selecting text at http://www.faqs.org/rfcs/rfc2849.html (SELECTION)
  16362. Fixed 3371115. Can't correctly select text that contains surrogate pairs
  16363. Reviewed by darin.
  16364. * Misc.subproj/WebUnicode.h:
  16365. * Misc.subproj/WebUnicode.m:
  16366. (prevChar):
  16367. (nextChar):
  16368. (prevLogicalCharJoins):
  16369. (nextLogicalCharJoins):
  16370. (glyphVariantLogical):
  16371. (hasShapeForNextCharacter):
  16372. (shapeForNextCharacter):
  16373. (initializeCharacterShapeIterator):
  16374. (shapedString):
  16375. * WebCoreSupport.subproj/WebTextRenderer.h:
  16376. * WebCoreSupport.subproj/WebTextRenderer.m:
  16377. (initializeCharacterWidthIterator):
  16378. (widthAndGlyphForSurrogate):
  16379. (widthForNextCharacter):
  16380. (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
  16381. (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]):
  16382. Just formatting changed here
  16383. * WebView.subproj/WebHTMLViewPrivate.m:
  16384. (-[WebHTMLView _dragImageForLinkElement:]):
  16385. 2003-08-08 Darin Adler <darin@apple.com>
  16386. Reviewed by Maciej.
  16387. - fixed 3368236 -- NSURL exception going back at http://derstandard.at/
  16388. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _createItem:]): Put "about:blank" in
  16389. the back/forward item if there is no URL (which happens because there is no data source
  16390. because the frame has never successfully loaded anything). Perhaps we can do better
  16391. some day, but this avoids all the major bad effects in a safe way.
  16392. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
  16393. === Safari-92 ===
  16394. 2003-08-07 Richard Williamson <rjw@apple.com>
  16395. Fixed 3362939. Checked flippyness of view and adjust y coord accordingly.
  16396. Reviewed by John.
  16397. * Misc.subproj/WebKitNSStringExtras.m:
  16398. 2003-08-07 Chris Blumenberg <cblu@apple.com>
  16399. Fixed: <rdar://problem/3330742>: 1.0 Safari fails to send NPP_URLNotify with the error of NPRES_NETWORK_ERR to Flash
  16400. Reviewed by darin.
  16401. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  16402. (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): call NPP_URLNotify so we cover both the failure and successful cases
  16403. (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): have destroyStreamWithReason call NPP_URLNotify
  16404. 2003-08-07 Ken Kocienda <kocienda@apple.com>
  16405. Reviewed by Darin
  16406. Fix for this bug:
  16407. <rdar://problem/3368552>: Fix inappropriate use of NSURL creation methods in WebKit
  16408. Change calls to URLWithString: or URLWithString:relativeToURL to
  16409. _web_URLWithDataAsString: and _web_URLWithDataAsString:relativeToURL,
  16410. respectively.
  16411. * WebView.subproj/WebFramePrivate.m:
  16412. (-[WebFrame _loadItem:withLoadType:]):
  16413. (-[WebFrame _loadURL:intoChild:]):
  16414. * WebView.subproj/WebPreferences.m:
  16415. (-[WebPreferences userStyleSheetLocation]):
  16416. * WebView.subproj/WebView.m:
  16417. (-[WebView takeStringURLFrom:]):
  16418. (-[WebView setMainFrameURL:]):
  16419. 2003-08-06 Darin Adler <darin@apple.com>
  16420. Reviewed by Richard.
  16421. - fixed 3347114 -- remove vestiges of posing, including init routine, from WebKit
  16422. * WebView.subproj/WebHTMLViewPrivate.m: Removed WebNSTextView, WebNSView, and WebNSWindow,
  16423. removed the code to have them pose as NSTextView, NSView, and NSWindow, and removed excess
  16424. imports that are no longer needed.
  16425. 2003-08-06 Richard Williamson <rjw@apple.com>
  16426. Fixed 3365378. Edge case text run > 1024 hit by JS generated string. We weren't correctly checking size of string length. Used /2 instead of *2.
  16427. Reviewed by Vicki (and Dan!).
  16428. * WebCoreSupport.subproj/WebTextRenderer.m:
  16429. (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
  16430. (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
  16431. 2003-08-06 Richard Williamson <rjw@apple.com>
  16432. Fixed 3348630. Pick up about 1% by moving implementation of _unicodeDirection to WebCore and inlining.
  16433. Reviewed by Ken.
  16434. * Misc.subproj/WebUnicode.h:
  16435. * Misc.subproj/WebUnicode.m:
  16436. (_unicodeDirection):
  16437. (_unicodeJoining):
  16438. (_unicodeMirrored):
  16439. (WebKitInitializeUnicode):
  16440. * Misc.subproj/WebUnicodeTables.m:
  16441. 2003-08-06 Chris Blumenberg <cblu@apple.com>
  16442. Fixed: <rdar://problem/3161102>: Avoid retain cycles by destroying plug-ins in the page cache before dealloc
  16443. Reviewed by rjw.
  16444. * History.subproj/WebHistoryItemPrivate.h: added declaration for [WebBackForwardList _clearPageCache]
  16445. * WebView.subproj/WebViewPrivate.m:
  16446. (-[WebView _close]): clear the page cache when we are closing the web view so we call destroy on all the plug-ins on the page cache to break any retain cycles.
  16447. 2003-08-04 Chris Blumenberg <cblu@apple.com>
  16448. Fixed: <rdar://problem/3106525>: Results of JavaScript requests are not returned to plug-ins
  16449. Reviewed by darin.
  16450. * Plugins.subproj/WebBaseNetscapePluginStream.h:
  16451. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  16452. (-[WebBaseNetscapePluginStream setNotifyData:]): new
  16453. (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): renamed from setResponse
  16454. (-[WebBaseNetscapePluginStream startStreamWithResponse:]): new
  16455. (-[WebBaseNetscapePluginStream receivedData:]): tweak
  16456. (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): tweak
  16457. (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): tweak
  16458. * Plugins.subproj/WebBaseNetscapePluginView.m:
  16459. (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:targetFrame:]): new
  16460. (-[WebBaseNetscapePluginView loadPluginRequest:]): call evaluateJavaScriptPluginRequest::
  16461. (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): call loadPluginRequest for JS requests
  16462. * Plugins.subproj/WebNetscapePluginRepresentation.m:
  16463. (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): call renamed startStreamWithResponse
  16464. * Plugins.subproj/WebNetscapePluginStream.m:
  16465. (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): call setNotifyData
  16466. (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): call renamed startStreamWithResponse
  16467. 2003-08-05 Ken Kocienda <kocienda@apple.com>
  16468. Reviewed by Richard
  16469. Plugins in WebKit need to store URLs in the form of "C-style" strings.
  16470. Create and use a new, improved method to make these strings, and do
  16471. not traverse through the NSURL absoluteString method, since that can i
  16472. introduce errors.
  16473. * Misc.subproj/WebNSURLExtras.h: Added _web_URLCString method.
  16474. * Misc.subproj/WebNSURLExtras.m:
  16475. (-[NSURL _web_URLCString]): Added.
  16476. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  16477. (-[WebBaseNetscapePluginStream setResponse:]): Call new _web_URLCString method.
  16478. (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Ditto.
  16479. * Plugins.subproj/WebBaseNetscapePluginView.m:
  16480. (-[WebBaseNetscapePluginView frameStateChanged:]): Ditto.
  16481. (-[WebBaseNetscapePluginView loadPluginRequest:]): Ditto.
  16482. 2003-08-05 Ken Kocienda <kocienda@apple.com>
  16483. Reviewed by John
  16484. Fix for this bug:
  16485. <rdar://problem/3365035>: Modify WebNSURLExtras to call improved NSURL creation API
  16486. * Misc.subproj/WebNSURLExtras.m:
  16487. (+[NSURL _web_URLWithDataAsString:]): Call through to _web_URLWithDataAsString:relativeToURL:.
  16488. (+[NSURL _web_URLWithDataAsString:relativeToURL:]): Call through to _web_URLWithData:relativeToURL:.
  16489. (+[NSURL _web_URLWithData:]): Ditto.
  16490. (+[NSURL _web_URLWithData:relativeToURL:]): Call CFURLCreateAbsoluteURLWithBytes API in
  16491. CoreFoundation.
  16492. (-[NSURL _web_originalData]): Use CFURLGetBytes API in CoreFoundation. Also make sure
  16493. that a relative URL is resolved against its base.
  16494. (-[NSURL _web_displayableString]): Call _web_originalData to get bytes to use
  16495. to create the string.
  16496. (-[NSURL _web_URLStringLength]): Use CFURLGetBytes API in CoreFoundation.
  16497. 2003-08-04 Richard Williamson <rjw@apple.com>
  16498. Fixed 3363011. Pass b/f related key down events to super if b/f is disabled.
  16499. Reviewed by Chris.
  16500. * WebView.subproj/WebFrameView.m:
  16501. (-[WebFrameView keyDown:]):
  16502. Fixed 3363345. Retain static array used by IB to present WebView's bindable keys.
  16503. Review by Maciej
  16504. * WebView.subproj/WebViewPrivate.m:
  16505. (-[WebView _declaredKeys]):
  16506. 2003-08-04 Ken Kocienda <kocienda@apple.com>
  16507. Reviewed by Darin
  16508. Fix for this bug:
  16509. <rdar://problem/3363318>: REGRESSION: Plug-in content doesn't show up, animate etc
  16510. WebNetscapePluginConnectionDelegate must implement this method:
  16511. - (void)connection:(NSURLConnection *)con didReceiveData:(NSData *)data lengthReceived:(long long)lengthReceived
  16512. * Plugins.subproj/WebNetscapePluginStream.m:
  16513. (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:])
  16514. 2003-08-04 Darin Adler <darin@apple.com>
  16515. Reviewed by Richard.
  16516. - fixed 3298153 -- get "screen font while printing" error, bad stuff happens after that (Sherlock, Safari)
  16517. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
  16518. If we find ourselves in drawRect with the wrong printing mode, that usually
  16519. means we're being printed as part of some larger print process, so do the
  16520. layout in printing mode.
  16521. 2003-08-04 Chris Blumenberg <cblu@apple.com>
  16522. Fixed: <rdar://problem/3360977>: REGRESSION (7B28-7B29): main webview rejects drop of doc icon from BBEdit
  16523. Reviewed by darin.
  16524. * Misc.subproj/WebNSPasteboardExtras.m:
  16525. (+[NSPasteboard _web_dragTypesForURL]): we handle NSFilenamesPboardType
  16526. * WebKit.pbproj/project.pbxproj:
  16527. 2003-08-04 Richard Williamson <rjw@apple.com>
  16528. Fixed 3223989. Pass key down events to super if scrolling is disabled.
  16529. Reviewed by Chris (Welcome back!).
  16530. * WebView.subproj/WebFrameView.m:
  16531. (-[WebFrameView keyDown:]):
  16532. 2003-08-01 Richard Williamson <rjw@apple.com>
  16533. Fixed 3095376. Implemented correct selection behavior for rtl scripts.
  16534. We still use our Arabic and Hebrew layout scheme.
  16535. Fixed 3360487. Implemented selection of ATSU rendered code.
  16536. Fixed 3360242. Return nil from _bodyBackgroundColor when no
  16537. background color specified. This was requested by Doug D.
  16538. Reviewed by Maciej.
  16539. * WebCoreSupport.subproj/WebTextRenderer.m:
  16540. (-[WebTextRenderer drawHighlightForRun:style:atPoint:]):
  16541. (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
  16542. (-[WebTextRenderer drawRun:style:atPoint:]):
  16543. (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
  16544. (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
  16545. (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
  16546. (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
  16547. (-[WebTextRenderer pointToOffset:style:position:reversed:]):
  16548. (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
  16549. (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]):
  16550. 2003-08-01 Maciej Stachowiak <mjs@apple.com>
  16551. Reviewed by Darin.
  16552. - fixed 3339255 - REGRESSION (73-85): javascript failure at gia.apple.com
  16553. * WebView.subproj/WebFramePrivate.m:
  16554. (-[WebFrame _setState:]): When going to provisional state, tell the bridge that
  16555. a provisional load started, so it can cancel any pending redirects.
  16556. === Safari-91 ===
  16557. 2003-07-31 Richard Williamson <rjw@apple.com>
  16558. Make sure width is initialized for monospace optimizations.
  16559. Reviewed by Vicki.
  16560. * WebCoreSupport.subproj/WebTextRenderer.m:
  16561. (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]):
  16562. 2003-07-31 Richard Williamson <rjw@apple.com>
  16563. Fixed 3359152. SPI to get the background color for a frame.
  16564. Reviewed by hyatt.
  16565. * WebCoreSupport.subproj/WebTextRenderer.m:
  16566. (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]):
  16567. * WebView.subproj/WebFramePrivate.h:
  16568. * WebView.subproj/WebFramePrivate.m:
  16569. (-[WebFrame _bodyBackgroundColor]):
  16570. 2003-07-31 Richard Williamson <rjw@apple.com>
  16571. Fixed 3358870. Fall back on 'user defaults' values when a value
  16572. in a custom instance of WebPreferences hasn't been overriden.
  16573. Reviewed by Eric Seymour.
  16574. * WebView.subproj/WebPreferences.m:
  16575. (-[WebPreferences _stringValueForKey:]):
  16576. (-[WebPreferences _integerValueForKey:]):
  16577. (-[WebPreferences _boolValueForKey:]):
  16578. 2003-07-30 Richard Williamson <rjw@apple.com>
  16579. Preparation for 3095376.
  16580. Reviewed by Maciej.
  16581. * Misc.subproj/WebKitNSStringExtras.m:
  16582. (-[NSString _web_widthWithFont:]):
  16583. * Misc.subproj/WebStringTruncator.m:
  16584. (stringWidth):
  16585. * WebCoreSupport.subproj/WebTextRenderer.m:
  16586. (shouldUseATSU):
  16587. (-[WebTextRenderer widthForCharacters:length:]):
  16588. (-[WebTextRenderer drawRun:style:atPoint:]):
  16589. (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
  16590. (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
  16591. (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
  16592. (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:widths:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):
  16593. (-[WebTextRenderer floatWidthForRun:style:widths:]):
  16594. (-[WebTextRenderer _floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
  16595. (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
  16596. (-[WebTextRenderer _createATSUTextLayoutForRun:]):
  16597. (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
  16598. (-[WebTextRenderer _ATSU_floatWidthForRun:style:]):
  16599. (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
  16600. (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]):
  16601. 2003-07-30 Richard Williamson <rjw@apple.com>
  16602. Fixed 3356518. Added private method called by IB to ensure
  16603. that autoresizeSubviews flag is turned on correctly.
  16604. Reviewed by mjs.
  16605. * WebView.subproj/WebViewPrivate.m:
  16606. (-[WebView _finishedMakingConnections]):
  16607. 2003-07-28 Richard Williamson <rjw@apple.com>
  16608. Fixed 3323866. Provide SPI to IB to enable scoping of preferences
  16609. values on a document-by-document basis.
  16610. Reviewed by Maciej.
  16611. * WebView.subproj/WebPreferences.m:
  16612. (-[WebPreferencesPrivate dealloc]):
  16613. (-[WebPreferences initWithIdentifier:]):
  16614. (-[WebPreferences initWithCoder:]):
  16615. (+[WebPreferences _userDefaultsKeysForIB]):
  16616. (+[WebPreferences _setIBCreatorID:]):
  16617. (+[WebPreferences _IBCreatorID]):
  16618. (-[WebPreferences _concatenateKeyWithIBCreatorID:]):
  16619. * WebView.subproj/WebPreferencesPrivate.h:
  16620. 2003-07-28 Darin Adler <darin@apple.com>
  16621. Reviewed by Maciej.
  16622. - fixed 3344647 -- reachedTerminalState assertion in WebBaseResourceHandleDelegate.m
  16623. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient cancelWithError:]):
  16624. Use [super cancelWithError:] rather than [self receivedError:]. I checked carefully to
  16625. see that this code now does everything the old code did (and a bit more).
  16626. 2003-07-28 Richard Williamson <rjw@apple.com>
  16627. Fixed 3341859.
  16628. Check that the WebHTMLView is initialized in viewWillMoveToWindow: and
  16629. viewDidMoveToWindow. Don't do anything if we aren't initialized. This
  16630. happens when decoding a WebView. When WebViews are decoded their subviews
  16631. are created by initWithCoder: and so won't be normally initialized. The
  16632. stub views are discarded by WebView.
  16633. Reviewed by John.
  16634. * WebView.subproj/WebHTMLView.m:
  16635. (-[WebHTMLView viewWillMoveToWindow:]):
  16636. (-[WebHTMLView viewDidMoveToWindow]):
  16637. 2003-07-28 Darin Adler <darin@apple.com>
  16638. Reviewed by John.
  16639. - fixed 3279864 -- remove class_poseAs calls from WebKit
  16640. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView initWithFrame:]):
  16641. Call _setDrawsOwnDescendants, if we have a new enough AppKit.
  16642. * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]):
  16643. Don't pose as NSView, if we have a new enough AppKit.
  16644. 2003-07-28 Ken Kocienda <kocienda@apple.com>
  16645. Reviewed by John
  16646. Fix for this bug:
  16647. <rdar://problem/3336933>: REGRESSION (Panther): Mozilla build downloaded
  16648. with wrong extension, bad file size (gzip)
  16649. Use new delegate methods that allow for the correct reporting
  16650. of progress in cases where Foundation-level content decoding has been performed on data received
  16651. * WebCoreSupport.subproj/WebSubresourceClient.m:
  16652. (-[WebSubresourceClient connection:didReceiveData:lengthReceived:]):
  16653. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  16654. (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
  16655. (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]):
  16656. * WebView.subproj/WebMainResourceClient.m:
  16657. (-[WebMainResourceClient connection:didReceiveData:lengthReceived:]):
  16658. 2003-07-28 Darin Adler <darin@apple.com>
  16659. Reviewed by Richard.
  16660. - fixed leak of WebDataRequestParameters objects
  16661. * WebView.subproj/WebDataProtocol.m:
  16662. (-[NSMutableURLRequest _webDataRequestParametersForWriting]):
  16663. Release the WebDataRequestParameters object after putting it in the dictionary.
  16664. 2003-07-28 John Sullivan <sullivan@apple.com>
  16665. - fixed 3236815 -- bitmap TIFFs at > 72 dpi are scaled incorrectly
  16666. in Safari when viewed standalone (uspto.gov)
  16667. Reviewed by Darin
  16668. * WebCoreSupport.subproj/WebImageRenderer.m:
  16669. (-[WebImageRenderer _adjustSizeToPixelDimensions]):
  16670. call setScalesWhenResized:YES
  16671. 2003-07-25 Richard Williamson <rjw@apple.com>
  16672. Fixed 3344519. Prevent infinite recursion attempting font substitution.
  16673. Reviewed by Darin.
  16674. * WebCoreSupport.subproj/WebTextRenderer.m:
  16675. (-[WebTextRenderer _floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
  16676. 2003-07-25 Maciej Stachowiak <mjs@apple.com>
  16677. Reviewed by John.
  16678. - fixed 3280582 - REGRESSION (74-85): authentication sheet doesn't state that previous login was incorrect
  16679. * Panels.subproj/WebAuthenticationPanel.m:
  16680. (-[WebAuthenticationPanel setUpForChallenge:]): Use chall, the
  16681. parameter, not challenge, the not-yet-set ivar so we get the right
  16682. failure count &c.
  16683. 2003-07-25 Richard Williamson <rjw@apple.com>
  16684. Use 11 point bold, instead of 12 point bold to draw dragged link
  16685. labels. This matches the text drawn in the bookmarks bar.
  16686. Reviewed by John.
  16687. * WebView.subproj/WebHTMLViewPrivate.m:
  16688. (-[WebHTMLView _dragImageForLinkElement:]):
  16689. 2003-07-24 Richard Williamson <rjw@apple.com>
  16690. Fixed 3279910. Change the way we draw dragged link to use
  16691. WebKit's measurement and drawing. Also made the look match
  16692. the bookmarks bar text.
  16693. Reviewed by Maciej.
  16694. * Misc.subproj/WebKitNSStringExtras.h:
  16695. * Misc.subproj/WebKitNSStringExtras.m:
  16696. (-[NSString _web_drawDoubledAtPoint:withTopColor:bottomColor:font:]):
  16697. * WebView.subproj/WebHTMLViewPrivate.h:
  16698. * WebView.subproj/WebHTMLViewPrivate.m:
  16699. (-[WebHTMLView _dragImageForLinkElement:]):
  16700. (-[WebHTMLView _handleMouseDragged:]):
  16701. 2003-07-24 Richard Williamson <rjw@apple.com>
  16702. Removed unnecessary log.
  16703. Reviewed by John.
  16704. * WebCoreSupport.subproj/WebImageRendererFactory.m:
  16705. (-[WebImageRendererFactory imageRendererWithData:MIMEType:]):
  16706. Add another check to use ATSU for Limbu (Unicode 4.0) script.
  16707. Also made shouldUseATSU inline.
  16708. * WebCoreSupport.subproj/WebTextRenderer.m:
  16709. (shouldUseATSU):
  16710. === Safari-90 ===
  16711. 2003-07-23 Maciej Stachowiak <mjs@apple.com>
  16712. Build breakage fix:
  16713. Fix WebKit to build with the latest Foundation.
  16714. * Misc.subproj/WebNSURLExtras.h:
  16715. * Misc.subproj/WebNSURLExtras.m:
  16716. (-[NSURL _webkit_isJavaScriptURL]):
  16717. (-[NSURL _webkit_scriptIfJavaScriptURL]):
  16718. (-[NSURL _webkit_isFTPDirectoryURL]):
  16719. (-[NSString _webkit_isFTPDirectoryURL]):
  16720. 2003-07-23 Richard Williamson <rjw@apple.com>
  16721. Fixed 3311725: Added support for key/value binding.
  16722. (As a side effect also made icon loading work! In 1.0
  16723. it doesn't work unless a secret preference value is set.)
  16724. Reviewed by Ken.
  16725. * Misc.subproj/WebIconDatabase.m:
  16726. (-[WebIconDatabase _createFileDatabase]):
  16727. * WebView.subproj/WebDataSourcePrivate.m:
  16728. (-[WebDataSource _startLoading:]):
  16729. (-[WebDataSource _setTitle:]):
  16730. (-[WebDataSource _updateIconDatabaseWithURL:]):
  16731. * WebView.subproj/WebFramePrivate.m:
  16732. (-[WebFrame _transitionToCommitted:]):
  16733. (-[WebFrame _isLoadComplete]):
  16734. * WebView.subproj/WebView.m:
  16735. (-[WebView setMainFrameURL:]):
  16736. (-[WebView mainFrameURL]):
  16737. (-[WebView isLoading]):
  16738. (-[WebView mainFrameTitle]):
  16739. (-[WebView mainFrameIcon]):
  16740. * WebView.subproj/WebViewPrivate.h:
  16741. * WebView.subproj/WebViewPrivate.m:
  16742. (-[WebView _progressStarted]):
  16743. (-[WebView _progressCompleted]):
  16744. (-[WebView _incrementProgressForConnection:data:]):
  16745. (-[WebView _completeProgressForConnection:]):
  16746. (-[WebView _declaredKeys]):
  16747. (-[WebView setObservationInfo:]):
  16748. (-[WebView observationInfo]):
  16749. (-[WebView _willChangeBackForwardKeys]):
  16750. (-[WebView _didChangeBackForwardKeys]):
  16751. (-[WebView _didStartProvisionalLoadForFrame:]):
  16752. (-[WebView _didCommitLoadForFrame:]):
  16753. (-[WebView _didFinishLoadForFrame:]):
  16754. (-[WebView _didFailLoadWithError:forFrame:]):
  16755. (-[WebView _didFailProvisionalLoadWithError:forFrame:]):
  16756. 2003-07-23 Richard Williamson <rjw@apple.com>
  16757. Fixed 3341119: Crash when content contains nil (0x0) characters.
  16758. Reviewed by Ken.
  16759. * WebCoreSupport.subproj/WebTextRenderer.m:
  16760. (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
  16761. 2003-07-23 Darin Adler <darin@apple.com>
  16762. Reviewed by John.
  16763. - fixed 2/3 of 3279864 -- remove class_poseAs calls from WebKit (will also remove init routine)
  16764. * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]):
  16765. Only pose as NSTextView and NSWindow if we have an older AppKit.
  16766. If we have a new enough AppKit, the code in WebCore now takes care of things.
  16767. 2003-07-23 Richard Williamson <rjw@apple.com>
  16768. Fixed for 3259840. Use ATSU for scripts we don't handle internally,
  16769. i.e.: Syriac, Thaana, Devanagari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugu, Kannada, Malayalam, Sinhala, Thai, Lao, Tibetan, Myanmar, Hangul Jamo, Khmer, Mongolian
  16770. Also fixed issues with our rendering of Arabic.
  16771. Changed the internal API to take WebCoreTextRun and WebCoreTextStyle
  16772. parameters instead of scads on individual parameters. Much cleaner.
  16773. Reviewed by Maciej.
  16774. * Misc.subproj/WebKitNSStringExtras.m:
  16775. (-[NSString _web_widthWithFont:]):
  16776. * Misc.subproj/WebStringTruncator.m:
  16777. (stringWidth):
  16778. * WebCoreSupport.subproj/WebTextRenderer.h:
  16779. * WebCoreSupport.subproj/WebTextRenderer.m:
  16780. (shouldUseATSU):
  16781. (-[WebTextRenderer _setupFont:]):
  16782. (-[WebTextRenderer dealloc]):
  16783. (-[WebTextRenderer widthForCharacters:length:]):
  16784. (-[WebTextRenderer drawRun:style:atPoint:]):
  16785. (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
  16786. (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
  16787. (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
  16788. (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):
  16789. (-[WebTextRenderer floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:]):
  16790. (-[WebTextRenderer _floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
  16791. (-[WebTextRenderer _CG_floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
  16792. (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
  16793. (-[WebTextRenderer _initializeATSUStyle]):
  16794. (-[WebTextRenderer _createATSUTextLayoutForRun:]):
  16795. (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
  16796. (-[WebTextRenderer _ATSU_floatWidthForRun:style:]):
  16797. (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
  16798. 2003-07-23 Ken Kocienda <kocienda@apple.com>
  16799. Reviewed by Darin
  16800. Removed dependency on Foundation NSURL_NSURLExtras file.
  16801. Copied the required methods from that file to WebNSURLExtras,
  16802. temporarily renaming the methods that are now in both
  16803. places to have a _webkit_ prefix. The names will be changed
  16804. back once every one is living on a Foundation version that
  16805. no longer contains these methods.
  16806. The files below were changed in one of three ways:
  16807. 1. Rename _web_URLWithString: to _web_URLWithDataAsString:
  16808. 2. Tweak headers to depend on WebNSURLExtras instead of NSURL_NSURLExtras.
  16809. 3. At call sites, tweak names of methods that moved to WebKit (_web_ -> _webkit_).
  16810. * History.subproj/WebHistory.m:
  16811. * History.subproj/WebHistoryItem.m:
  16812. (-[WebHistoryItem URL]):
  16813. * History.subproj/WebHistoryPrivate.m:
  16814. * History.subproj/WebURLsWithTitles.m:
  16815. (+[WebURLsWithTitles URLsFromPasteboard:]):
  16816. * Misc.subproj/WebIconDatabase.m:
  16817. (-[WebIconDatabase _iconForFileURL:withSize:]):
  16818. * Misc.subproj/WebIconLoader.m:
  16819. * Misc.subproj/WebNSPasteboardExtras.m:
  16820. (-[NSPasteboard _web_bestURL]):
  16821. * Misc.subproj/WebNSURLExtras.h:
  16822. * Misc.subproj/WebNSURLExtras.m:
  16823. (ReleaseIfNotNULL):
  16824. (+[NSURL _web_URLWithDataAsString:]):
  16825. (+[NSURL _web_URLWithDataAsString:relativeToURL:]):
  16826. (+[NSURL _web_URLWithData:]):
  16827. (+[NSURL _web_URLWithData:relativeToURL:]):
  16828. (-[NSURL _web_originalData]):
  16829. (-[NSURL _web_displayableString]):
  16830. (-[NSURL _web_URLStringLength]):
  16831. (-[NSURL _webkit_canonicalize]):
  16832. (-[NSURL _webkit_URLByRemovingFragment]):
  16833. (-[NSURL _webkit_isJavaScriptURL]):
  16834. (-[NSURL _webkit_scriptIfJavaScriptURL]):
  16835. (-[NSURL _webkit_isFTPDirectoryURL]):
  16836. (-[NSURL _webkit_shouldLoadAsEmptyDocument]):
  16837. (isHexDigit):
  16838. (hexDigitValue):
  16839. (-[NSString _webkit_isJavaScriptURL]):
  16840. (-[NSString _webkit_stringByReplacingValidPercentEscapes]):
  16841. (-[NSString _webkit_scriptIfJavaScriptURL]):
  16842. * Misc.subproj/WebNSViewExtras.m:
  16843. * Panels.subproj/WebAuthenticationPanel.m:
  16844. * Plugins.subproj/WebBaseNetscapePluginView.m:
  16845. (-[WebBaseNetscapePluginView requestWithURLCString:]):
  16846. (-[WebBaseNetscapePluginView loadPluginRequest:]):
  16847. (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
  16848. * Plugins.subproj/WebNullPluginView.m:
  16849. * WebCoreSupport.subproj/WebBridge.m:
  16850. (-[WebBridge requestedURLString]):
  16851. * WebCoreSupport.subproj/WebCookieAdapter.m:
  16852. (-[WebCookieAdapter cookiesForURL:]):
  16853. (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):
  16854. * WebKit.pbproj/project.pbxproj:
  16855. * WebView.subproj/WebDataSourcePrivate.m:
  16856. (-[WebDataSource _setTitle:]):
  16857. (-[WebDataSource _loadIcon]):
  16858. * WebView.subproj/WebFrame.m:
  16859. * WebView.subproj/WebFramePrivate.m:
  16860. (-[WebFrame _transitionToCommitted:]):
  16861. (-[WebFrame _shouldReloadForCurrent:andDestination:]):
  16862. (-[WebFrame _URLsMatchItem:]):
  16863. * WebView.subproj/WebFrameView.m:
  16864. * WebView.subproj/WebHTMLViewPrivate.m:
  16865. (-[WebHTMLView _elementAtPoint:]):
  16866. * WebView.subproj/WebMainResourceClient.m:
  16867. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  16868. (-[WebMainResourceClient loadWithRequest:]):
  16869. (-[WebMainResourceClient setDefersCallbacks:]):
  16870. 2003-07-22 Darin Adler <darin@apple.com>
  16871. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
  16872. 2003-07-21 Ken Kocienda <kocienda@apple.com>
  16873. Fixed build breaker.
  16874. Removed glyphCountFromFont function. It was used only in an
  16875. ERROR function, which does not compile in on deployment
  16876. builds, causing a "defined, but not used warning".
  16877. As this function is only a one-liner call into ATS, I
  16878. replaced the usage in the ERROR call with a call to the
  16879. ATS function directly.
  16880. * WebCoreSupport.subproj/WebTextRenderer.m:
  16881. (-[WebTextRenderer initWithFont:usingPrinterFont:])
  16882. 2003-07-18 Richard Williamson <rjw@apple.com>
  16883. Fixed 3283594. "Times RO" appears to have a corrupt regular variant. Added
  16884. additional bullet proofing to catch corrupt fonts. Also added a special case
  16885. hack to map "Times RO" to "Time New Roman" if the variant doesn't have valid
  16886. glyphs.
  16887. Fixed 3319846. The page mentioned in this bug required > 10 substitute fonts for
  16888. the same base font. This triggered some buggy code that hasn't been exercise before.
  16889. Specifically the code that resizes the substitute fonts array was incorrect.
  16890. Reviewed by mjs.
  16891. * Misc.subproj/WebAssertions.h: Added FATAL_ALWAYS macro that logs and CRASHES
  16892. even in deployment builds.
  16893. * WebCoreSupport.subproj/WebTextRenderer.m:
  16894. (mapForSubstituteFont):
  16895. (widthFromMap):
  16896. (FillStyleWithAttributes):
  16897. (-[WebTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]):
  16898. (-[WebTextRenderer convertUnicodeCharacters:length:toGlyphs:]):
  16899. (-[WebTextRenderer _computeWidthForSpace]):
  16900. (-[WebTextRenderer _setupFont:]):
  16901. (pathFromFont):
  16902. (glyphCountFromFont):
  16903. (-[WebTextRenderer initWithFont:usingPrinterFont:]):
  16904. (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]):
  16905. (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
  16906. 2003-07-17 Darin Adler <darin@apple.com>
  16907. Reviewed by John.
  16908. - fixed 3250608 -- REGRESSION (74-85): reproducible Safari crash in blinkCaretTimerAction
  16909. * WebView.subproj/WebHTMLViewPrivate.m:
  16910. (-[WebNSTextView drawInsertionPointInRect:color:turnedOn:]):
  16911. Use NSView's setNeedsDisplayInRect: instead of the one in NSTextView.
  16912. This avoids the layout that the NSTextView version of the call might do.
  16913. By definition, we don't need layout to draw the insertion point, because we did
  16914. the layout to find where the insertion point should display. If we do the layout
  16915. we can end up recursing into the insertion point drawing code, which wreaks major
  16916. havoc. Still no idea why this happened less in version 74.
  16917. 2003-07-17 Ken Kocienda <kocienda@apple.com>
  16918. Reviewed by John
  16919. * WebCoreSupport.subproj/WebBridge.m:
  16920. (-[WebBridge startLoadingResource:withURL:]): Now uses NSURL instead of NSString
  16921. (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): Ditto
  16922. (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
  16923. Ditto
  16924. (-[WebBridge setIconURL:]): Ditto
  16925. (-[WebBridge setIconURL:withType:]): Ditto
  16926. (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Ditto
  16927. (-[WebBridge userAgentForURL:]): Ditto
  16928. (-[WebBridge requestedURL]): Now returns string using _web_absoluteString
  16929. * WebView.subproj/WebDataSourcePrivate.m:
  16930. (-[WebDataSource _receivedError:complete:]): Now uses NSURL instead of NSString
  16931. * WebView.subproj/WebFramePrivate.m:
  16932. (-[WebFrame _opened]): Ditto
  16933. (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): Ditto
  16934. (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): Ditto
  16935. 2003-07-17 Ken Kocienda <kocienda@apple.com>
  16936. * Misc.subproj/WebNSURLExtras.m:
  16937. (-[NSURL _web_URLStringLength]): Fix premature use of new CFURL API.
  16938. New code is ifdef'ed out for now until everyone has revved.
  16939. 2003-07-17 Ken Kocienda <kocienda@apple.com>
  16940. Reviewed by Darin
  16941. * WebCoreSupport.subproj/WebBridge.m:
  16942. (-[WebBridge createWindowWithURL:frameName:]): Now uses NSURL in API instead of NSString
  16943. (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]): Ditto
  16944. (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto
  16945. * WebKit.pbproj/project.pbxproj: Added WebNSURLExtras file
  16946. * WebView.subproj/WebDataSourcePrivate.m:
  16947. (-[WebDataSource _commitIfReady:]): Now uses NSURL in API instead of NSString
  16948. 2003-07-15 Richard Williamson <rjw@apple.com>
  16949. Fixed 3315952: Add support for <IMG> in attributed string conversion.
  16950. Added RTFD pasteboard type.
  16951. Reviewed by John.
  16952. * WebView.subproj/WebHTMLViewPrivate.m:
  16953. (+[WebHTMLView _pasteboardTypes]):
  16954. (-[WebHTMLView _writeSelectionToPasteboard:]):
  16955. 2003-07-14 Darin Adler <darin@apple.com>
  16956. Reviewed by Maciej.
  16957. - make some improvements to handling of the timer, inspired by some bug reports
  16958. * WebView.subproj/WebFramePrivate.m:
  16959. (-[WebFramePrivate dealloc]): Instead of releasing the timer, assert it is nil.
  16960. (-[WebFrame _detachFromParent]): Invalidate and release the timer after finishing
  16961. dealing with self, in case the reference from the timer is the last one.
  16962. (-[WebFrame _timedLayout:]): Release the timer after doing all the other work,
  16963. in case the reference from the timer is the last one.
  16964. (-[WebFrame _setState:]): Release the timer after doing all the other work,
  16965. in case the reference from the timer is the last one.
  16966. 2003-07-14 Darin Adler <darin@apple.com>
  16967. Rolled out workaround to bug 3298153 -- get "screen font while printing"
  16968. error, bad stuff happens after that (Sherlock, Safari). It turns out the
  16969. real fix was on the WebCore side. Now that we have that fix we don't need
  16970. these extra calls to printerFont, which is a relatively slow call that
  16971. may need to look up a font by name each time it's called.
  16972. * WebCoreSupport.subproj/WebTextRenderer.m: (_drawGlyphs):
  16973. Remove code to look up the printer font.
  16974. 2003-07-14 Maciej Stachowiak <mjs@apple.com>
  16975. Rolled in fix from Safari-89-branch
  16976. 2003-07-12 Maciej Stachowiak <mjs@apple.com>
  16977. Try to fix OS build by making the Frameworks link in both SYMROOT
  16978. and DSTROOT, and at both build time and install time.
  16979. * WebKit.pbproj/project.pbxproj:
  16980. 2003-07-14 Dave Hyatt <hyatt@apple.com>
  16981. Roll this change out. It was a bad change that I only made
  16982. because I was using the opacity APIs wrong.
  16983. Reviewed by (nobody, just a straight backout of a previous checkin)
  16984. * WebCoreSupport.subproj/WebImageRenderer.m:
  16985. (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
  16986. 2003-07-13 Darin Adler <darin@apple.com>
  16987. * WebKit.pbproj/project.pbxproj: Add command to prevent build from failing if symlink
  16988. creation fails.
  16989. 2003-07-13 Darin Adler <darin@apple.com>
  16990. Fixed symbolic link path as Matt Reda suggested.
  16991. * WebKit.pbproj/project.pbxproj: Changed paths in both of Maciej's new build phases
  16992. to use Versions/Current instead of Versions/A.
  16993. 2003-07-13 Darin Adler <darin@apple.com>
  16994. Fixed DSTROOT path as Eric Weiss suggested.
  16995. * WebKit.pbproj/project.pbxproj: Changed paths in both of Maciej's new build phases.
  16996. 2003-07-12 Maciej Stachowiak <mjs@apple.com>
  16997. Try to fix OS build by making the Frameworks link in both SYMROOT
  16998. and DSTROOT, and at both build time and install time.
  16999. * WebKit.pbproj/project.pbxproj:
  17000. 2003-07-11 Dave Hyatt <hyatt@apple.com>
  17001. Make sure image compositing obeys the current global alpha that
  17002. is in effect, e.g., if someone has set an opacity within the
  17003. current layer.
  17004. It's worth noting that I'm not even sure *why* this patch works,
  17005. but it does, even with nested opacity layers.
  17006. Reviewed by darin
  17007. * WebCoreSupport.subproj/WebImageRenderer.m:
  17008. (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
  17009. === Safari-89 ===
  17010. 2003-07-10 Richard Williamson <rjw@apple.com>
  17011. Fixed 3298153. Force use of printer font when printing.
  17012. Reviewed by Chris.
  17013. * WebCoreSupport.subproj/WebTextRenderer.m:
  17014. (_drawGlyphs):
  17015. 2003-07-10 Chris Blumenberg <cblu@apple.com>
  17016. Fixed: <rdar://problem/3161102>: Avoid retain cycles by destroying plug-ins in the page cache before dealloc
  17017. Fixed: <rdar://problem/3320624>: WebElementImageAltStringKey is not exported :-(
  17018. Unspoof freebsd since we now handle gzip'd content.
  17019. Reviewed by rjw.
  17020. * History.subproj/WebHistoryItem.m:
  17021. (+[WebHistoryItem _destroyAllPluginsInPendingPageCaches]): new, destroys all plug-ins
  17022. (+[WebHistoryItem _releaseAllPendingPageCaches]): call _destroyAllPluginsInPendingPageCaches
  17023. * WebKit.exp: export WebElementImageAltStringKey
  17024. * WebView.subproj/WebUserAgentSpoofTable.c: unspoof freebsd
  17025. (hash):
  17026. (_web_findSpoofTableEntry):
  17027. * WebView.subproj/WebUserAgentSpoofTable.gperf: unspoof freebsd
  17028. 2003-07-10 John Sullivan <sullivan@apple.com>
  17029. Reviewed by Chris
  17030. * WebCoreSupport.subproj/WebImageRenderer.m:
  17031. (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
  17032. fixed copy/paste error in comment that I stumbled across
  17033. 2003-07-09 Richard Williamson <rjw@apple.com>
  17034. Fixed 3141257. Animate multiple copies of the same
  17035. image on the same page.
  17036. Reviewed by hyatt.
  17037. * WebCoreSupport.subproj/WebImageRenderer.h:
  17038. * WebCoreSupport.subproj/WebImageRenderer.m:
  17039. (+[WebImageRenderer stopAnimationsInView:]):
  17040. (-[WebImageRenderer retainOrCopyIfNeeded]):
  17041. (-[WebImageRenderer copyWithZone:]):
  17042. (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
  17043. (-[WebImageRenderer dealloc]):
  17044. (-[WebImageRenderer repetitionCount]):
  17045. (-[WebImageRenderer scheduleFrame]):
  17046. (-[WebImageRenderer beginAnimationInRect:fromRect:]):
  17047. * WebCoreSupport.subproj/WebImageRendererFactory.h:
  17048. * WebCoreSupport.subproj/WebImageRendererFactory.m:
  17049. (-[WebImageRendererFactory imageRendererWithMIMEType:]):
  17050. (-[WebImageRendererFactory imageRendererWithData:MIMEType:]):
  17051. (-[WebImageRendererFactory imageRendererWithBytes:length:MIMEType:]):
  17052. 2003-07-09 Chris Blumenberg <cblu@apple.com>
  17053. Fixed: <rdar://problem/3229364>: user stylesheet path should be stored relative to home directory
  17054. Reviewed by john.
  17055. * Misc.subproj/WebKitNSStringExtras.h:
  17056. * Misc.subproj/WebKitNSStringExtras.m:
  17057. (-[NSString _web_stringByAbbreviatingWithTildeInPath]): new, handles home directories that have symlinks in path
  17058. * WebView.subproj/WebPreferences.m:
  17059. (-[WebPreferences userStyleSheetLocation]): converts path string or URL string to URL
  17060. (-[WebPreferences setUserStyleSheetLocation:]): converts URL to path string or URL string
  17061. 2003-07-08 Darin Adler <darin@apple.com>
  17062. Reviewed by John.
  17063. - fixed 3125264 -- nuke NSImage workaround when we drop Jaguar support
  17064. * Misc.subproj/WebNSImageExtras.m: Removed the workaround.
  17065. - removed other Jaguar-specific code
  17066. * WebCoreSupport.subproj/WebImageRenderer.m: Remove workaround for improper
  17067. handling of GIF animation loops with no loop counting, bug 3090341.
  17068. * WebView.subproj/WebHTMLViewPrivate.m: Remove workaround for problem extracting
  17069. scroll wheel events without also getting all others, which caused jumping around
  17070. if you used the scroll wheel while moving the mouse, bug 3245425.
  17071. * Misc.subproj/WebKitErrorsPrivate.h: Remove Jaguar-only import of <NSError.h>.
  17072. * Plugins.subproj/WebNetscapePluginPackage.m: Remove Jaguar-only side of #if.
  17073. * Plugins.subproj/WebNetscapePluginRepresentation.m: Remove Jaguar-only import
  17074. of <NSError.h>.
  17075. * WebKit/Plugins.subproj/WebPluginPackage.m: Remove unnecessary import of <NSError.h>.
  17076. * Plugins.subproj/WebPluginPackage.m: Remove Jaguar-only side of #if.
  17077. * WebCoreSupport.subproj/WebSubresourceClient.m: Remove Jaguar-only import
  17078. of <NSError.h>.
  17079. * WebView.subproj/WebDefaultFrameLoadDelegate.m: Remove Jaguar-only import
  17080. of <NSError.h>.
  17081. * WebView.subproj/WebImageRepresentation.m: Remove Jaguar-only import
  17082. of <NSError.h>.
  17083. * WebKit/English.lproj/StringsNotToBeLocalized.txt: Updated for this and other recent changes.
  17084. 2003-07-08 Chris Blumenberg <cblu@apple.com>
  17085. Fixed: <rdar://problem/3134494>: no progressive loading for standalone images
  17086. Fixed: <rdar://problem/3280633>: exception raised (attempt to create array with nil element) when dragging image out of HTML
  17087. Reviewed by rjw.
  17088. * Misc.subproj/WebNSViewExtras.h:
  17089. * Misc.subproj/WebNSViewExtras.m:
  17090. (-[NSView _web_dragPromisedImage:rect:URL:title:event:]): don't take a file type since this can now be gotten from the image
  17091. * WebCoreSupport.subproj/WebImageRenderer.h:
  17092. * WebCoreSupport.subproj/WebImageRenderer.m:
  17093. (-[WebImageRenderer _adjustSizeToPixelDimensions]): new method that rjw factored from incrementalLoadWithBytes:::
  17094. (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): call _adjustSizeToPixelDimensions so we have the correct image size as the image loads
  17095. (-[WebImageRenderer MIMEType]): new accessor
  17096. * WebView.subproj/WebHTMLViewPrivate.m:
  17097. (-[WebHTMLView _handleMouseDragged:]): use renamed _web_dragPromisedImage
  17098. * WebView.subproj/WebImageRepresentation.h:
  17099. * WebView.subproj/WebImageRepresentation.m:
  17100. (-[WebImageRepresentation doneLoading]): new
  17101. (-[WebImageRepresentation setDataSource:]): create the image here
  17102. (-[WebImageRepresentation receivedData:withDataSource:]): pass data to image
  17103. (-[WebImageRepresentation receivedError:withDataSource:]): complete image loading
  17104. (-[WebImageRepresentation finishedLoadingWithDataSource:]): complete image loading
  17105. * WebView.subproj/WebImageView.h:
  17106. * WebView.subproj/WebImageView.m:
  17107. (-[WebImageView initWithFrame:]): call setAutoresizingMask so setFrameSize is called often enough
  17108. (-[WebImageView dealloc]): tweak
  17109. (-[WebImageView haveCompleteImage]): new
  17110. (-[WebImageView drawingRect]): new
  17111. (-[WebImageView drawRect:]): fill white then draw the image so we never show the previous page
  17112. (-[WebImageView setFrameSizeUsingImage]): new, ensures that the view always fills the content area (so we draw over the previous page) and that the view is at least as large as the image.
  17113. (-[WebImageView setFrameSize:]): call setFrameSizeUsingImage
  17114. (-[WebImageView layout]): call setFrameSizeUsingImage
  17115. (-[WebImageView setDataSource:]): store the rep
  17116. (-[WebImageView dataSourceUpdated:]): call setNeedsLayout and setNeedsDisplay
  17117. (-[WebImageView viewDidMoveToWindow]): tweak
  17118. (-[WebImageView validateUserInterfaceItem:]): only allow copy if haveCompleteImage
  17119. (-[WebImageView writeImageToPasteboard:]): only writeImageToPasteboard if haveCompleteImage
  17120. (-[WebImageView writeSelectionToPasteboard:types:]): tweak
  17121. (-[WebImageView menuForEvent:]): tweak
  17122. (-[WebImageView mouseDragged:]): only allow drag if haveCompleteImage
  17123. (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): tweak
  17124. 2003-07-08 Dave Hyatt <hyatt@apple.com>
  17125. Change minimum font size pref value back to 9. This change
  17126. has been made in conjunction with associated WebCore changes
  17127. that allow us to institute a minimum font size safely without
  17128. the need for a visible GUI pref.
  17129. Reviewed by darin
  17130. * WebView.subproj/WebPreferences.m:
  17131. (+[WebPreferences initialize]):
  17132. 2003-07-07 Maciej Stachowiak <mjs@apple.com>
  17133. Reviewed by John.
  17134. - fixed 3295916 - b/c JavaScriptCore and WebCore are installing in wrong location, private headers are public
  17135. * WebKit.pbproj/project.pbxproj: Make a link from Frameworks to Versions/A/Frameworks.
  17136. === Safari-88 ===
  17137. 2003-07-07 Darin Adler <darin@apple.com>
  17138. Reviewed by Dave.
  17139. - fix compile error from B&I Panther build; really, this time
  17140. * WebCoreSupport.subproj/WebTextRenderer.m:
  17141. (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]): Use unsigned, not int.
  17142. (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Ditto.
  17143. 2003-07-06 Darin Adler <darin@apple.com>
  17144. - fix compile error from B&I Panther build
  17145. * WebCoreSupport.subproj/WebTextRenderer.m:
  17146. (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]): Rearrange code so that we won't get
  17147. a warning if numGlyphs type is either signed or unsigned. We don't want to depend on the new ATS
  17148. headers or the old ones; this is compatible with both.
  17149. (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Ditto.
  17150. 2003-07-03 Darin Adler <darin@apple.com>
  17151. * WebCoreSupport.subproj/WebImageRenderer.m: Remove obsolete comment.
  17152. 2003-07-03 Chris Blumenberg <cblu@apple.com>
  17153. Fixed: <rdar://problem/3206011>: Don't accepts drags when showing dialogs or sheets
  17154. Reviewed by john.
  17155. * Misc.subproj/WebNSViewExtras.m:
  17156. (-[NSView _web_dragOperationForDraggingInfo:]):
  17157. 2003-07-03 Chris Blumenberg <cblu@apple.com>
  17158. Fixed: <rdar://problem/3291566>: Aborting standalone image load makes image directory page unusable
  17159. Reviewed by john.
  17160. * WebKit.pbproj/project.pbxproj: Xcode-ified WebKit.pbproj
  17161. * WebView.subproj/WebImageView.h:
  17162. * WebView.subproj/WebImageView.m:
  17163. (-[WebImageView drawRect:]): layout if we need to, fill with white if we don't have an image yet
  17164. (-[WebImageView setNeedsLayout:]): set the bit
  17165. (-[WebImageView layout]): if we don't have an image, the frame size is the visible area so we draw white over the previous web page
  17166. 2003-07-02 Maciej Stachowiak <mjs@apple.com>
  17167. Reviewed by Ken.
  17168. - fixed 3304992 - REGRESSION: Every GET on an authenticated site requires a login (genentech)
  17169. I fixed this by adding a per-window queue of waiting
  17170. authentication requests. Before going to a later item in the
  17171. queue, the auth handler checks if there's already a credential
  17172. available to handle it, and if so uses that as the answer instead of
  17173. prompting.
  17174. * Panels.subproj/WebPanelAuthenticationHandler.h:
  17175. * Panels.subproj/WebPanelAuthenticationHandler.m:
  17176. (-[NSMutableDictionary _web_setObject:forUncopiedKey:]):
  17177. (-[WebPanelAuthenticationHandler init]):
  17178. (-[WebPanelAuthenticationHandler dealloc]):
  17179. (-[WebPanelAuthenticationHandler enqueueChallenge:forWindow:]):
  17180. (-[WebPanelAuthenticationHandler tryNextChallengeForWindow:]):
  17181. (-[WebPanelAuthenticationHandler startAuthentication:window:]):
  17182. (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
  17183. 2003-06-30 John Sullivan <sullivan@apple.com>
  17184. - fixed 3310716 -- Authentication dialog could be tweaked to
  17185. better match guidelines
  17186. Reviewed by Chris
  17187. * Panels.subproj/English.lproj/WebAuthenticationPanel.nib:
  17188. left-aligned "Name:" and "Password:" labels; slightly tweaked
  17189. layout at right edge of sheet
  17190. 2003-06-26 Chris Blumenberg <cblu@apple.com>
  17191. Changes to make WebKit compile with gcc 3.3.
  17192. Reviewed by darin.
  17193. * Carbon.subproj/HIWebView.m:
  17194. * WebCoreSupport.subproj/WebBridge.m:
  17195. (-[WebBridge setScrollbarsVisible:]):
  17196. (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]):
  17197. (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
  17198. * WebView.subproj/WebFramePrivate.h:
  17199. * WebView.subproj/WebFramePrivate.m:
  17200. (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
  17201. (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
  17202. * WebView.subproj/WebPreferences.m:
  17203. (-[WebPreferences setDefaultFontSize:]):
  17204. (-[WebPreferences setDefaultFixedFontSize:]):
  17205. (-[WebPreferences setMinimumFontSize:]):
  17206. * WebView.subproj/WebView.m:
  17207. (-[WebView searchFor:direction:caseSensitive:wrap:]):
  17208. 2003-06-24 Chris Blumenberg <cblu@apple.com>
  17209. Renamed the context menu item Download Image To Disk" to "Download Image to Disk".
  17210. Reviewed by john.
  17211. * English.lproj/Localizable.strings:
  17212. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  17213. (-[WebDefaultUIDelegate menuItemWithTag:]):
  17214. 2003-06-19 Chris Blumenberg <cblu@apple.com>
  17215. Fixed: <rdar://problem/3294803>: HTTP error sent as content instead of error to plug-ins
  17216. Reviewed by john.
  17217. * Plugins.subproj/WebNetscapePluginStream.m:
  17218. (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): if the response is an error, cancel the load, return a network error
  17219. === Safari-85.1 ===
  17220. 2003-06-15 Vicki Murley <vicki@apple.com>
  17221. Reviewed by darin.
  17222. * WebKit.pbproj/project.pbxproj: remove SECTORDER_FLAGS variable, so that we don't use order file for our Panther submission
  17223. === Safari-85 ===
  17224. 2003-06-13 Darin Adler <darin@apple.com>
  17225. Reviewed by Darin (Richard wrote the first cut), then Don and Dave.
  17226. - fixed 3291467 -- CARBON: context menus are broken when using WebKit from Carbon
  17227. * Carbon.subproj/HIWebView.m: (ContextMenuClick): Rewrite method to create a fake
  17228. right mouse up event, and pass that to menuForEvent: and _popUpMenuWithEvent.
  17229. 2003-06-13 Darin Adler <darin@apple.com>
  17230. Reviewed by Chris.
  17231. - fixed 3291778 -- REGRESSION (51-52): QT controller never shows up for mp3 in frame
  17232. * Plugins.subproj/WebBaseNetscapePluginView.m:
  17233. (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
  17234. Handle the "invisible" plug-in cases in a more complete way.
  17235. Detect the various ways of being invisible (big negative X value, 0 size,
  17236. not really in a window) and in all those cases, use a clip rect to guarantee
  17237. we won't be seen, and make sure the size passed to the plug-in is *not* 0.
  17238. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  17239. 2003-06-13 David Hyatt <hyatt@apple.com>
  17240. Fix for 3291319, scrolling is much worse since 79. The problem
  17241. was a fix for resize events that needed to use the scrollview size
  17242. and not the document view size inside the scrollview.
  17243. Reviewed by darin
  17244. * WebView.subproj/WebHTMLView.m:
  17245. (-[WebHTMLView layoutToPageWidth:]):
  17246. * WebView.subproj/WebHTMLViewPrivate.h:
  17247. 2003-06-13 Chris Blumenberg <cblu@apple.com>
  17248. Fixed previous " Reviewed by" string.
  17249. * ChangeLog:
  17250. 2003-06-13 Chris Blumenberg <cblu@apple.com>
  17251. Fixed: <rdar://problem/3291502>: REGRESSION (80-81): freebsd.org is giving us gzipped content (because we stopped spoofing)
  17252. Reviewed by john.
  17253. * WebView.subproj/WebUserAgentSpoofTable.c:
  17254. (hash):
  17255. (_web_findSpoofTableEntry):
  17256. * WebView.subproj/WebUserAgentSpoofTable.gperf:
  17257. 2003-06-12 Richard Williamson <rjw@apple.com>
  17258. Restoring fix for 3221078 that I earlier backed out in a
  17259. panic about performance. In careful performance testing
  17260. I now see no performance regression, and maybe a tiny improvement.
  17261. The earlier performance regression Vicki saw was entirely
  17262. due to the incorrect checkin for the fix to 3288532.
  17263. Reviewed by Chris & Gramps.
  17264. * WebCoreSupport.subproj/WebTextRenderer.h:
  17265. * WebCoreSupport.subproj/WebTextRenderer.m:
  17266. 2003-06-12 Richard Williamson <rjw@apple.com>
  17267. Correct fix for 3288532 again. This time will feeling!
  17268. Reviewed by Gramps.
  17269. * History.subproj/WebBackForwardList.m:
  17270. (-[WebBackForwardList setCapacity:]):
  17271. 2003-06-12 Don Melton <gramps@apple.com>
  17272. Since Richard didn't actually correct the fix for 3288532 in
  17273. WebBackForwardList.m, I've backed out out his original fix entirely.
  17274. * History.subproj/WebBackForwardList.m:
  17275. (-[WebBackForwardList setCapacity:]):
  17276. 2003-06-12 Richard Williamson <rjw@apple.com>
  17277. Correct fix for 3288532.
  17278. * History.subproj/WebBackForwardList.m:
  17279. 2003-06-12 Richard Williamson <rjw@apple.com>
  17280. Fixed 3288532. When setCapacity: shrinks capacity, trim
  17281. the back/forward list. Setting to zero will effectively
  17282. flush the list.
  17283. Reviewed by John.
  17284. * History.subproj/WebBackForwardList.m:
  17285. 2003-06-12 Richard Williamson <rjw@apple.com>
  17286. Fixed 3221078. Maintain a seperate width map
  17287. for substitute fonts to avoid collision of glyph
  17288. codes.
  17289. Reviewed by Chris & Gramps.
  17290. * WebCoreSupport.subproj/WebTextRenderer.h:
  17291. * WebCoreSupport.subproj/WebTextRenderer.m:
  17292. === Safari-84 ===
  17293. 2003-06-12 Darin Adler <darin@apple.com>
  17294. Fixed by Richard, reviewed by me.
  17295. - fixed 3289047 -- REGRESSION: can't go back after using form at attwireless.com
  17296. * WebCoreSupport.subproj/WebBridge.m:
  17297. (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
  17298. Added isJavaScriptFormAction parameter, passed on to frame.
  17299. * WebView.subproj/WebFramePrivate.h: Added isJavaScriptFormAction parameter.
  17300. * WebView.subproj/WebFramePrivate.m:
  17301. (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
  17302. If isJavaScriptFormAction is YES, then don't treat this is a "quick redirect" which is
  17303. merged with the previous page for purposes of back/forward.
  17304. 2003-06-11 Chris Blumenberg <cblu@apple.com>
  17305. Fixed: <rdar://problem/3289577>: Reenable Carbon Java plug-ins when in Carbon app
  17306. Reviewed by gramps.
  17307. * Plugins.subproj/WebPluginDatabase.m:
  17308. (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): only call canUsePlugin: for web plug-ins
  17309. 2003-06-11 Chris Blumenberg <cblu@apple.com>
  17310. Fixed: <rdar://problem/3289380>: REGRESSION: policyDataSource == nil assertion failure after closing particular window
  17311. Reviewed by john.
  17312. * WebView.subproj/WebFramePrivate.m:
  17313. (-[WebFrame _continueAfterNavigationPolicy:]): don't clear policyDataSource here because this method may not be called during navigation
  17314. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): clear policyDataSource here
  17315. 2003-06-11 Chris Blumenberg <cblu@apple.com>
  17316. Fixed: <rdar://problem/3288097>: REGRESSION: assertion failure after hitting back while loading page after fragment scroll
  17317. Fixed by darin, reviewed by me.
  17318. * WebView.subproj/WebFramePrivate.m:
  17319. (-[WebFrame _URLsMatchItem:]): ignore the URL fragment so we scroll back at the current page instead of attempt to load the current page
  17320. 2003-06-11 Darin Adler <darin@apple.com>
  17321. Reviewed by John.
  17322. - fixed 3285808 -- repro world leak when replacing div that contains iframe (at www.kbs.co.kr)
  17323. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge frameDetached]):
  17324. Add a call to _detachFromParent.
  17325. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _removeChild:]):
  17326. Nil out the parent pointer in the removed child.
  17327. 2003-06-10 Chris Blumenberg <cblu@apple.com>
  17328. Fixed: <rdar://problem/3288076>: REGRESSION: Fragment scroll stops page load
  17329. We do policy navigation checks for the regular load case, fragment scroll and redirects.
  17330. We only want to stop the load, change the provisional data source etc in the regular load case.
  17331. Reviewed by darin.
  17332. * WebView.subproj/WebFramePrivate.m: got rid of _prepareForProvisionalLoadWithDataSource:: since the work done in this method only needs to be done in _continueLoadRequestAfterNavigationPolicy:: (which covers the regular load case).
  17333. (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): don't clear policyDataSource because it needs to be called in _continueLoadRequestAfterNavigationPolicy::
  17334. (-[WebFrame _setPolicyDataSource:]): new
  17335. (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): don't call _prepareForProvisionalLoadWithDataSource::, don't muck with policyDataSource because it is only needed in the regular load case
  17336. (-[WebFrame _continueAfterNavigationPolicy:]): don't call _prepareForProvisionalLoadWithDataSource::, call _setPolicyDataSource:nil after _continueLoadRequestAfterNavigationPolicy:: has used policyDataSource
  17337. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): this method covers the regular load case. This is where we need to stop the load, set the load type and the provisional data source. Code was in _prepareForProvisionalLoadWithData
  17338. Source::
  17339. (-[WebFrame _loadDataSource:withLoadType:formState:]): set the policyLoadType and policyDataSource (the beginning of the regular load case)
  17340. 2003-06-10 Richard Williamson <rjw@apple.com>
  17341. Back out incorrect fix to 3287862.
  17342. 2003-06-10 Chris Blumenberg <cblu@apple.com>
  17343. Fixed: <rdar://problem/3156169>: cmd-click opens new win but stops loading in prev win
  17344. Reviewed by rjw.
  17345. * WebView.subproj/WebFrame.m:
  17346. (-[WebFrame stopLoading]): set the provisional data source to nil to avoid a newly added assert in [WebFramePrivate setProvisionalDataSource:]
  17347. and since it is wasteful to retain it in this case
  17348. * WebView.subproj/WebFramePrivate.h: added policyDataSource and policyLoadType ivars
  17349. * WebView.subproj/WebFramePrivate.m:
  17350. (-[WebFramePrivate dealloc]): added an assert
  17351. (-[WebFramePrivate setProvisionalDataSource:]): added an assert
  17352. (-[WebFrame _isLoadComplete]): formatting tweak
  17353. (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): reset policyDataSource
  17354. (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]): formatting tweak
  17355. (-[WebFrame _prepareForProvisionalLoadWithDataSource:loadType:]): new, calls stopLoading, _setLoadType and _setProvisionalDataSource
  17356. (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): call _prepareForProvisionalLoadWithDataSource:loadType: only in the "use" policy case
  17357. (-[WebFrame _continueAfterNavigationPolicy:]): call _setProvisionalDataSource:andLoadType:
  17358. (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): formatting tweak
  17359. (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): formatting tweak
  17360. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): if there is no request to continue with, don't reset things like the provisional data source since it was never unset in this case
  17361. (-[WebFrame _loadDataSource:withLoadType:formState:]): don't call stopLoading, _setLoadType and _setProvisionalDataSource, since that stops the frame even for command-click and option-click. Do this work in _prepareForProvisionalLoadWithDataSource
  17362. :loadType: instead.
  17363. 2003-06-10 Richard Williamson <rjw@apple.com>
  17364. Fixed 3287862. Don't override resize flags
  17365. when decoding WebView.
  17366. Reviewed by Chris.
  17367. * WebView.subproj/WebView.m:
  17368. (-[WebView _commonInitializationFrameName:groupName:]):
  17369. 2003-06-10 Chris Blumenberg <cblu@apple.com>
  17370. Fixed: <rdar://problem/3286006>: Carbon Java plug-in problems may require workaround in WebKit
  17371. Reviewed by john.
  17372. * Plugins.subproj/WebPluginDatabase.m:
  17373. (-[WebPluginDatabase canUsePlugin:]): if in a carbon app, only use the mach-o java plug-in when its version is anything but 1.0.0
  17374. (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): call canUsePlugin on all the plug-ins
  17375. 2003-06-10 Vicki Murley <vicki@apple.com>
  17376. Reviewed by john.
  17377. * WebKit.order: new order file for 1.0
  17378. 2003-06-09 Chris Blumenberg <cblu@apple.com>
  17379. * WebView.subproj/WebDataSource.h: Removed FIXME related to pageTitle.
  17380. 2003-06-09 Chris Blumenberg <cblu@apple.com>
  17381. <rdar://problem/3283359>: don't load Cocoa Java plug-in if in Carbon app
  17382. Reviewed by darin.
  17383. * Plugins.subproj/WebPluginDatabase.h: removed pluginForFilename, wasn't being used
  17384. * Plugins.subproj/WebPluginDatabase.m:
  17385. (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): don't use the plug-in if ![self isCocoa] && [[[webPlugin bundle] bundleIdentifier] isEqualToString:JavaCocoaPluginIdentifier]
  17386. 2003-06-09 Chris Blumenberg <cblu@apple.com>
  17387. Fixed: <rdar://problem/3284848>: REGRESSION: repro crash in Flash handling null event, going back to Japanese Disney page
  17388. When restarting plug-ins from the BF cache, we were not calling NPP_SetWindow.
  17389. Reviewed by darin.
  17390. * Plugins.subproj/WebBaseNetscapePluginView.m:
  17391. (-[WebBaseNetscapePluginView stop]): set the window type to 0 to force the calling of NPP_SetWindow
  17392. === Safari-83 ===
  17393. 2003-06-07 Darin Adler <darin@apple.com>
  17394. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  17395. 2003-06-07 Darin Adler <darin@apple.com>
  17396. Rolled out Chris's fix for 3156169 because it was causing a lot of crashes
  17397. and problems with basic behavior. We can try again later.
  17398. One of the problems was that Back wasn't working. Another was that you could
  17399. not follow the link at the top of the page at kbb.com. More testing seemed to
  17400. reveal still more problems.
  17401. * WebView.subproj/WebFramePrivate.h: Rolled back to previous version.
  17402. * WebView.subproj/WebFramePrivate.m: Ditto.
  17403. 2003-06-06 Richard Williamson <rjw@apple.com>
  17404. Fixed 3283236. Remove use of forward declarations in public header because
  17405. CodeWarrior pukes on 'em.
  17406. Reviewed by Chris.
  17407. * WebView.subproj/WebDataSource.h:
  17408. 2003-06-06 Chris Blumenberg <cblu@apple.com>
  17409. Fixed: <rdar://problem/3156169>: cmd-click opens new win but stops loading in prev win
  17410. Reviewed by darin.
  17411. * WebView.subproj/WebFramePrivate.h: added policyDataSource and policyLoadType as ivars
  17412. * WebView.subproj/WebFramePrivate.m:
  17413. (-[WebFramePrivate dealloc]): added ASSERT
  17414. (-[WebFramePrivate setProvisionalDataSource:]): added ASSERT
  17415. (-[WebFrame _isLoadComplete]): formatting tweak
  17416. (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): clear policyDataSource
  17417. (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]): formatting tweak
  17418. (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): retain policyDataSource
  17419. (-[WebFrame _continueAfterNavigationPolicy:]): stop the load, set the load type, set the provisional data source in the "use" case
  17420. (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): formatting tweak
  17421. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): don't reset things if something other than "use" has been chosen
  17422. (-[WebFrame _loadDataSource:withLoadType:formState:]): DON'T stop the load, set the load type, set the provisional data source
  17423. 2003-06-06 Chris Blumenberg <cblu@apple.com>
  17424. Fixed: <rdar://problem/3282881>: Java plugin fails in carbon WebKit apps
  17425. Fixed by Mike Hay, reviewed by me.
  17426. * Plugins.subproj/WebPluginDatabase.m:
  17427. (-[WebPluginDatabase initIsCocoa]):
  17428. (-[WebPluginDatabase isCocoa]):
  17429. (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): don't load cocoa plug-ins if isCocoa.
  17430. 2003-06-05 John Sullivan <sullivan@apple.com>
  17431. - fixed 3266216 -- repro crash in
  17432. -[WebBaseResourceHandleDelegate connection:didReceiveData:]
  17433. in GIA Application
  17434. The problem was that an NSURLConnection delegate object (in this
  17435. case a WebMainResourceClient) was being dealloc'ed during one of
  17436. its connection delegate methods. To prevent this kind of problem,
  17437. I added [self retain]/[self release] guards around the meat of
  17438. all of the connection delegate methods in which arbitrary code
  17439. could be run. Another approach would be to do this retain/release
  17440. pair in NSURLConnection, but Darin deemed it wiser not to muck with
  17441. Foundation at this point for this issue.
  17442. Reviewed by Darin
  17443. * Plugins.subproj/WebNetscapePluginStream.m:
  17444. (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]):
  17445. guard with [self retain]/[self release]
  17446. (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:]):
  17447. ditto
  17448. (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]):
  17449. ditto
  17450. * WebCoreSupport.subproj/WebSubresourceClient.m:
  17451. (-[WebSubresourceClient connection:didReceiveResponse:]):
  17452. ditto
  17453. (-[WebSubresourceClient connection:didReceiveData:]):
  17454. ditto
  17455. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  17456. (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
  17457. ditto
  17458. (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]):
  17459. ditto
  17460. (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]):
  17461. ditto
  17462. (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
  17463. ditto
  17464. (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
  17465. ditto. Also, commented out two assertions that fire illegitimately in the steps in
  17466. this bug report.
  17467. (-[WebBaseResourceHandleDelegate connection:didFailWithError:]):
  17468. ditto
  17469. * WebView.subproj/WebMainResourceClient.m:
  17470. (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
  17471. ditto
  17472. (-[WebMainResourceClient connection:didReceiveResponse:]):
  17473. ditto
  17474. (-[WebMainResourceClient connection:didReceiveData:]):
  17475. ditto
  17476. 2003-06-04 Richard Williamson <rjw@apple.com>
  17477. Fixed 3277775. Send less notifications. Notifcations suck!
  17478. Reviewed by David.
  17479. * WebView.subproj/WebViewPrivate.h:
  17480. * WebView.subproj/WebViewPrivate.m:
  17481. (-[WebViewPrivate init]):
  17482. (-[WebView _progressStarted]):
  17483. (-[WebView _progressCompleted]):
  17484. (-[WebView _incrementProgressForConnection:data:]):
  17485. 2003-06-04 Darin Adler <darin@apple.com>
  17486. Reviewed by John.
  17487. - fixed 3277675 -- REGRESSION: mouse wheel events not coalesced
  17488. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebNSWindow nextEventMatchingMask:untilDate:inMode:dequeue:]):
  17489. When the mask is scroll wheel mask, instead of getting no events, do some tricks to get the next
  17490. event if it is a scroll wheel event, and nothing otherwise. Also ifdef the fix so we don't compile
  17491. it on Panther, since the underlying bug was fixed on Panther.
  17492. - other changes
  17493. * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer copyWithZone:]):
  17494. Remove unneeded line of code. The super function copies all simple fields for us.
  17495. * Plugins.subproj/WebBaseNetscapePluginView.m:
  17496. (-[WebBaseNetscapePluginView setMIMEType:]): Use copy instead of retain, do it in the right order
  17497. to avoid "same object release/retain" disease.
  17498. (-[WebBaseNetscapePluginView setBaseURL:]): Do retain before release (same reason as above).
  17499. 2003-06-03 Chris Blumenberg <cblu@apple.com>
  17500. Fixed: 3278496 - <rdar://problem/3278496>: NSURLDownload: initWithSource and source should be renamed to initWithRequest and request
  17501. Reviewed by rjw.
  17502. * Misc.subproj/WebDownload.m:
  17503. (-[WebDownload initWithRequest:delegate:]):
  17504. (-[WebDownload _initWithRequest:delegate:directory:]):
  17505. * WebView.subproj/WebImageView.m:
  17506. (-[WebImageView setNeedsDisplay:]):
  17507. * WebView.subproj/WebViewPrivate.m:
  17508. (-[WebView _downloadURL:toDirectory:]):
  17509. 2003-06-03 Richard Williamson <rjw@apple.com>
  17510. Fixed 3263188, 3274636.
  17511. Written by Ed Voas. Reviewed by Richard.
  17512. * Carbon.subproj/CarbonUtils.m:
  17513. (WebInitForCarbon):
  17514. Ensure the process info is correctly initialized so the correct
  17515. "flavour" (carbon) is detected.
  17516. * Carbon.subproj/HIWebView.m:
  17517. (Draw):
  17518. Always draw the growbox after drawing the web view,
  17519. assuming overlap.
  17520. === Safari-82 ===
  17521. 2003-06-03 Chris Blumenberg <cblu@apple.com>
  17522. Fixed: <rdar://problem/3167792>: hang in _web_dragPromisedImage dragging 4 MB image
  17523. Reviewed by john.
  17524. * Misc.subproj/WebNSViewExtras.m:
  17525. (-[NSView _web_dragPromisedImage:rect:URL:fileType:title:event:]): if the original image is greater than 1500x1500, use a file icon for the drag image to avoid hanging
  17526. 2003-06-02 Richard Williamson <rjw@apple.com>
  17527. Fix for 3250352.
  17528. Reviewed by Chris.
  17529. * WebView.subproj/WebDataSourcePrivate.m:
  17530. (-[WebDataSource _startLoading:]):
  17531. Check respondsToSelector: before calling.
  17532. * WebView.subproj/WebResourceLoadDelegate.h:
  17533. * WebView.subproj/WebUIDelegate.h:
  17534. Headerdoc tweaks.
  17535. === Safari-81 ===
  17536. 2003-06-02 Chris Blumenberg <cblu@apple.com>
  17537. Fixed: <rdar://problem/3154910>: No video when viewing QT plug-in content at some pages but audio works
  17538. This fix works around QT plug-in bug 3275755, but I think the fix is logical and worth keeping even after 3275755 is fixed.
  17539. Eric Carlson:
  17540. The problem happens when you call NPP_SetWindow with a 0 width or height more than once. The first call to NPP_SetWindow always seems to have width and height set to 0, but the next call sometimes has it set to the correct values (those in the EMBED tag)
  17541. . This is when it draws successfully. It seems to me that the fix is to always pass the correct width and height to NPP_SetWindow. You always position the plug-in far offscreen (1000000, -52) and set the clip region to an empty rect (48576, 52, 48576, 52)
  17542. so there isn't really any danger of the plug-in drawing anyway. Additionally, you pass the correct width and height in the call to NPP_New before the first call to NPP_SetWindow.
  17543. Reviewed by john, darin.
  17544. * Plugins.subproj/WebBaseNetscapePluginView.h:
  17545. * Plugins.subproj/WebBaseNetscapePluginView.m:
  17546. (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): use the NSView width and height if greater than 0, else use the tag specified width and height
  17547. (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): new
  17548. (-[WebBaseNetscapePluginView setWindow]): NPP_SetWindow may be expensive, only call it if it has changed
  17549. * Plugins.subproj/WebNetscapePluginPackage.m:
  17550. (-[WebNetscapePluginPackage launchRealPlayer]): tweak, no need to store error code since it is ignored
  17551. 2003-05-30 Richard Williamson <rjw@apple.com>
  17552. Fixed 3272516. Items are now expired from the
  17553. b/f cache if they are older than 30 minutes. This
  17554. number was pulled out of our #!$es. Also did
  17555. some cleanup of the b/f cache code.
  17556. Reviewed by Ken.
  17557. * WebCoreSupport.subproj/WebBridge.m:
  17558. (-[WebBridge saveDocumentToPageCache:]):
  17559. * WebView.subproj/WebFramePrivate.h:
  17560. * WebView.subproj/WebFramePrivate.m:
  17561. (-[WebFrame _transitionToCommitted:]):
  17562. (-[WebFrame _createPageCacheForItem:]):
  17563. (-[WebFrame _setState:]):
  17564. (-[WebFrame _loadItem:withLoadType:]):
  17565. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
  17566. * WebView.subproj/WebPreferences.m:
  17567. (+[WebPreferences initialize]):
  17568. (-[WebPreferences _resourceTimedLayoutEnabled]):
  17569. (-[WebPreferences _backForwardCacheExpirationInterval]):
  17570. * WebView.subproj/WebPreferencesPrivate.h:
  17571. * WebView.subproj/WebView.h:
  17572. * WebView.subproj/WebPreferences.h: Cleaned up some headerdoc
  17573. comments.
  17574. 2003-05-29 Richard Williamson <rjw@apple.com>
  17575. Implemented 'estimatedProgress' method on WebView. This should
  17576. eventually replace the broken algorithm on WebBrowser. Maybe
  17577. for panther.
  17578. Reviewed by Chris.
  17579. * WebKit.exp:
  17580. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  17581. (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
  17582. (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
  17583. (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
  17584. (-[WebBaseResourceHandleDelegate connection:didFailWithError:]):
  17585. (-[WebBaseResourceHandleDelegate cancelWithError:]):
  17586. * WebView.subproj/WebDataSourcePrivate.m:
  17587. (-[WebDataSource _startLoading:]):
  17588. * WebView.subproj/WebFramePrivate.h:
  17589. * WebView.subproj/WebFramePrivate.m:
  17590. (-[WebFrame _isLoadComplete]):
  17591. (-[WebFrame _numPendingOrLoadingRequests:]):
  17592. * WebView.subproj/WebView.h:
  17593. * WebView.subproj/WebView.m:
  17594. (-[WebView estimatedProgress]):
  17595. * WebView.subproj/WebViewPrivate.h:
  17596. * WebView.subproj/WebViewPrivate.m:
  17597. (-[WebViewPrivate dealloc]):
  17598. (-[WebView _isPerformingProgrammaticFocus]):
  17599. (-[WebView _progressStarted]):
  17600. (-[WebView _progressCompleted]):
  17601. (-[WebView _incrementProgressForConnection:data:]):
  17602. (-[WebView _completeProgressForConnection:]):
  17603. Code cleanup. Moved variable initialization into block that
  17604. check for non-nil self.
  17605. * WebCoreSupport.subproj/WebImageRenderer.m:
  17606. (-[WebImageRenderer initWithMIMEType:]):
  17607. (-[WebImageRenderer initWithData:MIMEType:]):
  17608. (-[WebImageRenderer initWithContentsOfFile:]):
  17609. 2003-05-29 Richard Williamson <rjw@apple.com>
  17610. Fixed 3272226. The shared image factory was being released
  17611. when any renderer had 0 reps!
  17612. Reviewed by John.
  17613. * WebCoreSupport.subproj/WebImageRendererFactory.m:
  17614. (-[WebImageRendererFactory imageRendererWithMIMEType:]):
  17615. 2003-05-29 Chris Blumenberg <cblu@apple.com>
  17616. Fixed: 3151216 - Safari crashes on Drag&Drop if plugin dialog is open
  17617. Reviewed by rjw.
  17618. * Misc.subproj/WebNSViewExtras.m:
  17619. (-[NSView _web_dragOperationForDraggingInfo:]): return NSDragOperationNone is the app has a modal window so the current page can't be changed with a drag
  17620. * WebView.subproj/WebView.m:
  17621. (-[WebView draggingEntered:]): return _web_dragOperationForDraggingInfo
  17622. 2003-05-29 Chris Blumenberg <cblu@apple.com>
  17623. Fixed: 3273109 - leak from functionPointerForTVector in -[WebNetscapePluginPackage load]
  17624. * Plugins.subproj/WebNetscapePluginPackage.m:
  17625. (-[WebNetscapePluginPackage load]): free the main function after using it
  17626. 2003-05-29 Richard Williamson <rjw@apple.com>
  17627. Fixed 3273115. Always use pixel dimensions,
  17628. not absolute dimensions.
  17629. Reviewed by Ken.
  17630. * WebCoreSupport.subproj/WebImageRenderer.m:
  17631. (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
  17632. 2003-05-29 Richard Williamson <rjw@apple.com>
  17633. Fix 3272292. Ensure that loadStatus is always
  17634. initialized to NSImageRepLoadStatusUnknownType.
  17635. Reviewed by Chris.
  17636. * WebCoreSupport.subproj/WebImageRenderer.m:
  17637. (-[WebImageRenderer initWithMIMEType:]):
  17638. (-[WebImageRenderer initWithData:MIMEType:]):
  17639. (-[WebImageRenderer initWithContentsOfFile:]):
  17640. 2003-05-28 Ken Kocienda <kocienda@apple.com>
  17641. Reviewed by Richard
  17642. Fix for this bug:
  17643. Radar 3260323 (Some links at nike.com cause assertion failure
  17644. (connectionDidFinishLoading sent after cancel))
  17645. Added a flag which is set when a load is cancelled. This flag prevents
  17646. bad behvior when loads that finish cause the load itself to be
  17647. cancelled (which could happen with a javascript that changes the
  17648. window location). This is used to prevent both the body of
  17649. cancelWithError: and the body of connectionDidFinishLoading: running
  17650. for a single delegate. Cancelling wins.
  17651. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  17652. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  17653. (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
  17654. (-[WebBaseResourceHandleDelegate cancelWithError:]):
  17655. 2003-05-28 Chris Blumenberg <cblu@apple.com>
  17656. Fixed: 3270576 - RealPlayer plug-in fails to load
  17657. Reviewed by darin.
  17658. * Plugins.subproj/WebNetscapePluginPackage.m:
  17659. (-[WebNetscapePluginPackage launchRealPlayer]): new
  17660. (-[WebNetscapePluginPackage load]): call launchRealPlayer to regenerate its broken plist file
  17661. 2003-05-28 Richard Williamson <rjw@apple.com>
  17662. Fixed 3165631 (and other similar).
  17663. Fixed 3262592.
  17664. We now set NSImage's cache mode to NSImageCacheNever during
  17665. progressive loads. It gets reset to NSImageCacheDefault when
  17666. loads complete.
  17667. If an image is scaled, NSImage appears to create a NSCacheImageRep
  17668. with the wrong size during progessive image loading. Specifically
  17669. it appears to create a cached rep with the original size.
  17670. Reviewed by Chris.
  17671. * WebCoreSupport.subproj/WebImageRenderer.m:
  17672. (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
  17673. (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
  17674. * WebCoreSupport.subproj/WebImageRendererFactory.m:
  17675. (-[WebImageRendererFactory imageRendererWithMIMEType:]):
  17676. * WebView.subproj/WebPreferences.h:
  17677. Updated headerdoc comments.
  17678. 2003-05-27 Chris Blumenberg <cblu@apple.com>
  17679. Fixed: 3233442 - Crash in -[WebNetscapePluginPackage load] at http://www.adultswim.com/
  17680. Reviewed by mjs.
  17681. * Plugins.subproj/WebNetscapePluginPackage.m:
  17682. (-[WebNetscapePluginPackage load]): don't call NPP_Shutdown if the plug-in fails to load
  17683. 2003-05-27 Chris Blumenberg <cblu@apple.com>
  17684. Don't load and save icons if the icon DB directory default is not set.
  17685. Reviewed by darin.
  17686. * Misc.subproj/WebIconDatabase.m:
  17687. (-[WebIconDatabase _createFileDatabase]): don't create the DB if the default is not set
  17688. (-[WebIconDatabase _loadIconDictionaries]): don't load the dictionaries if the DB doesn't exist
  17689. (-[WebIconDatabase _updateFileDatabase]): don't update the DB if it doesn't exist
  17690. * WebView.subproj/WebDataSourcePrivate.m:
  17691. (-[WebDataSource _loadIcon]): don't load icons if the icon DB directory default is not set
  17692. 2003-05-27 Maciej Stachowiak <mjs@apple.com>
  17693. Rolled in fix from Safari-80~1-branch
  17694. 2003-05-27 Maciej Stachowiak <mjs@apple.com>
  17695. Reviewed by Darin.
  17696. * WebKit.pbproj/project.pbxproj: Removed no longer needed and harmful flag.
  17697. 2003-05-27 Richard Williamson <rjw@apple.com>
  17698. Fix for IB.
  17699. Reviewed by Eric Seymour.
  17700. * WebView.subproj/WebPreferences.m:
  17701. (-[WebPreferences initWithIdentifier:]):
  17702. Added retain to uniqued instance. (As we did recently
  17703. for initWithCoder:).
  17704. 2003-05-27 Chris Blumenberg <cblu@apple.com>
  17705. Fixed: 3270013 - Exception raised when visiting http://www.shutterfly.com/favicon.ico
  17706. Reviewed by john.
  17707. * WebCoreSupport.subproj/WebImageRendererFactory.m:
  17708. (-[WebImageRendererFactory imageRendererWithBytes:length:MIMEType:]): return nil if the image has no representations
  17709. 2003-05-27 Chris Blumenberg <cblu@apple.com>
  17710. Fixed: 3242864 - repro assertion failure in WebIconDatabase.m for www.shutterfly.com
  17711. Reviewed by john.
  17712. * Misc.subproj/WebIconLoader.m:
  17713. (-[WebIconLoader connectionDidFinishLoading:]): don't set the icon on the DB if it has no representations
  17714. 2003-05-27 Richard Williamson <rjw@apple.com>
  17715. Fixes for IB.
  17716. Reviewed by Eric Seymour.
  17717. * WebView.subproj/WebPreferences.m:
  17718. (-[WebPreferences initWithCoder:]):
  17719. Added retain to uniqued instance
  17720. * WebView.subproj/WebView.m:
  17721. (-[WebView initWithCoder:]):
  17722. (-[WebView setPreferences:]):
  17723. Added release check to global uniquing dictionary.
  17724. 2003-05-23 Richard Williamson <rjw@apple.com>
  17725. Tweaks for IB.
  17726. Updated WebView and WebPreferences to use
  17727. keyed archiving.
  17728. Added private method to export settable user
  17729. defaults keys.
  17730. Reviewed by Ken.
  17731. * WebView.subproj/WebPreferences.m:
  17732. (-[WebPreferences initWithCoder:]):
  17733. (+[WebPreferences _userDefaultsKeysForIB]):
  17734. * WebView.subproj/WebPreferencesPrivate.h:
  17735. * WebView.subproj/WebView.m:
  17736. (-[WebView initWithCoder:]):
  17737. 2003-05-23 Richard Williamson <rjw@apple.com>
  17738. Added export of _WebHistoryItemChangedNotification.
  17739. * WebKit.exp:
  17740. 2003-05-23 Chris Blumenberg <cblu@apple.com>
  17741. Fixed: 3259426 - Can't copy mailto links to clipboard
  17742. Reviewed by john.
  17743. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  17744. (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): offer "Copy Link to Clipboard" for all links
  17745. 2003-05-22 Richard Williamson <rjw@apple.com>
  17746. *** Public API change ***
  17747. 100% compatible. Added notification when history items
  17748. change values.
  17749. Fixed 3265672
  17750. Reviewed by John.
  17751. * History.subproj/WebHistoryItem.h:
  17752. * History.subproj/WebHistoryItem.m:
  17753. (-[WebHistoryItem setAlternateTitle:]):
  17754. (-[WebHistoryItem setURL:]):
  17755. (-[WebHistoryItem setOriginalURLString:]):
  17756. (-[WebHistoryItem setTitle:]):
  17757. (-[WebHistoryItem _setLastVisitedTimeInterval:]):
  17758. 2003-05-22 Richard Williamson <rjw@apple.com>
  17759. Fixed 3266464. Build problem on panther caused by overly
  17760. pedantic gcc.
  17761. Reviewed by John.
  17762. * WebView.subproj/WebPreferences.m:
  17763. (-[WebPreferences initWithCoder:]):
  17764. * WebView.subproj/WebView.m:
  17765. (-[WebView initWithCoder:]):
  17766. 2003-05-22 Richard Williamson <rjw@apple.com>
  17767. Add _web to method in category name.
  17768. Fixed 3266102. @selector missing ":".
  17769. Reviewed by Darin.
  17770. * WebView.subproj/WebPreferences.m:
  17771. (+[WebPreferences _removeReferenceForIdentifier:]):
  17772. (-[NSMutableDictionary _web_checkLastReferenceForIdentifier:]):
  17773. 2003-05-22 Darin Adler <darin@apple.com>
  17774. Reviewed by John.
  17775. - removed all entries except for jaguar.com because:
  17776. a) most of these sites now work fine without the spoofing or have gone away
  17777. b) nj.com and oregonlive.com do not work, but the spoofing committee (Mark,
  17778. Don, Dave, and me) decided we should stop spoofing and get them to fix
  17779. the sites instead
  17780. If we can resolve jaguar.com in a similar way, we can remove the spoofing
  17781. feature altogether.
  17782. * WebView.subproj/WebUserAgentSpoofTable.gperf: Removed all but jaguar.com.
  17783. * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
  17784. 2003-05-21 Richard Williamson <rjw@apple.com>
  17785. *** Public API Change ***
  17786. The fix for 3265442 requires new API. This API is an addition
  17787. that is 100% compatible with the existing API.
  17788. Provide support for IB to palettize WebView.
  17789. Fixed 3265442.
  17790. Fixed 3263106.
  17791. Reviewed by Chris.
  17792. * WebView.subproj/WebPreferences.h:
  17793. * WebView.subproj/WebPreferences.m:
  17794. (-[WebPreferencesPrivate dealloc]):
  17795. (-[WebPreferences init]):
  17796. (-[WebPreferences initWithIdentifier:]):
  17797. (-[WebPreferences initWithCoder:]):
  17798. (-[WebPreferences encodeWithCoder:]):
  17799. (+[WebPreferences standardPreferences]):
  17800. (-[WebPreferences dealloc]):
  17801. (-[WebPreferences identifier]):
  17802. (-[WebPreferences _stringValueForKey:]):
  17803. (-[WebPreferences _setStringValue:forKey:]):
  17804. (-[WebPreferences _integerValueForKey:]):
  17805. (-[WebPreferences _setIntegerValue:forKey:]):
  17806. (-[WebPreferences _boolValueForKey:]):
  17807. (-[WebPreferences _setBoolValue:forKey:]):
  17808. (-[WebPreferences autosaves]):
  17809. (+[WebPreferences _getInstanceForIdentifier:]):
  17810. (+[WebPreferences _setInstance:forIdentifier:]):
  17811. (+[WebPreferences _removeReferenceForIdentifier:]):
  17812. (-[WebPreferences _postPreferencesChangesNotification]):
  17813. (-[NSMutableDictionary _checkLastReferenceForIdentifier:]):
  17814. * WebView.subproj/WebPreferencesPrivate.h:
  17815. * WebView.subproj/WebView.h:
  17816. * WebView.subproj/WebView.m:
  17817. (-[WebView _commonInitializationFrameName:groupName:]):
  17818. (-[WebView initWithCoder:]):
  17819. (-[WebView encodeWithCoder:]):
  17820. (-[WebView dealloc]):
  17821. (-[WebView setPreferencesIdentifier:]):
  17822. (-[WebView preferencesIdentifier]):
  17823. 2003-05-21 Chris Blumenberg <cblu@apple.com>
  17824. Fixed data source leak when viewing standalone plug-in content.
  17825. Reviewed by rjw.
  17826. * Plugins.subproj/WebBaseNetscapePluginStream.h: don't inherit from WebBaseResourceHandleDelegate
  17827. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  17828. (-[WebBaseNetscapePluginStream transferMode]): new
  17829. * Plugins.subproj/WebNetscapePluginRepresentation.m:
  17830. (-[WebNetscapePluginRepresentation dealloc]): don't release the data source
  17831. (-[WebNetscapePluginRepresentation setDataSource:]): don't retain the data source
  17832. * Plugins.subproj/WebNetscapePluginStream.h:
  17833. * Plugins.subproj/WebNetscapePluginStream.m:
  17834. (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): create a WebNetscapePluginConnectionDelegate
  17835. (-[WebNetscapePluginStream dealloc]): release the WebNetscapePluginConnectionDelegate
  17836. (-[WebNetscapePluginStream start]): start the load on the WebNetscapePluginConnectionDelegate
  17837. (-[WebNetscapePluginStream stop]): start the load on the WebNetscapePluginConnectionDelegate
  17838. (-[WebNetscapePluginConnectionDelegate initWithStream:view:]): new class, inherits from WebBaseResourceHandleDelegate
  17839. (-[WebNetscapePluginConnectionDelegate _releaseResources]):
  17840. (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]):
  17841. (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:]):
  17842. (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]):
  17843. (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]):
  17844. (-[WebNetscapePluginConnectionDelegate cancel]):
  17845. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  17846. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  17847. (-[WebBaseResourceHandleDelegate response]): new
  17848. 2003-05-21 Maciej Stachowiak <mjs@apple.com>
  17849. Reviewed by John.
  17850. - fixed 3254473 - REGRESSION: nike help page reloads on mouseovers, triggered by onresize function
  17851. REGRESSION: reload loop due to onresize handler (fortune.com, flipdog.com, stanford.edu)
  17852. * WebView.subproj/WebHTMLView.m:
  17853. (-[WebHTMLView layoutToPageWidth:]): Go back to checking for at least one
  17854. layout instead of last layout event time. Measure size in a way that ignores
  17855. whether the scrollbares are there or not.
  17856. * WebView.subproj/WebHTMLViewPrivate.h: Remove last layout event time and
  17857. add back laid out at least once boolean.
  17858. 2003-05-21 Chris Blumenberg <cblu@apple.com>
  17859. These problems:
  17860. 3184359 - icon exception closing window while typing
  17861. 3245476 - Safari-78 crashes or hangs after IMDB Find and using the history menu to go back ...
  17862. are not or are no longer reproducible. They were caused by an exception raised in WebKit.
  17863. Since we don't use exceptions in WebKit, I've replaced the exception with an assert.
  17864. Reviewed by john.
  17865. * Misc.subproj/WebIconDatabase.m:
  17866. (-[WebIconDatabase _releaseFutureIconForURL:]): assert instead of exception if failure
  17867. 2003-05-21 Ed Voas <voas@apple.com>
  17868. - fixed 3262868: Update Carbon WebKit API prefixes
  17869. - fixed 3264980: Carbon support in WebKit needs to route mouse events properly
  17870. Reviewed by Richard.
  17871. * Carbon.subproj/CarbonUtils.h:
  17872. * Carbon.subproj/CarbonUtils.m:
  17873. (WebInitForCarbon):
  17874. (WebConvertNSImageToCGImageRef):
  17875. * Carbon.subproj/HIWebView.h:
  17876. * Carbon.subproj/HIWebView.m:
  17877. (HIWebViewGetWebView):
  17878. (OwningWindowChanged):
  17879. (WindowHandler):
  17880. (HIWebViewEventHandler):
  17881. * WebKit.exp:
  17882. 2003-05-21 Vicki Murley <vicki@apple.com>
  17883. Reviewed by john
  17884. - fixed 3234553: Safari and its frameworks should link using order files
  17885. * WebKit.order: Added.
  17886. * WebKit.pbproj/project.pbxproj: set SECTORDER_FLAGS = -sectorder __TEXT __text WebKit.order;
  17887. 2003-05-20 Richard Williamson <rjw@apple.com>
  17888. Fixed 3262825.
  17889. Fixed 3245625.
  17890. Fixed 3262547.
  17891. Recursively check items when going back/forward to ensure all
  17892. frame URLs are correct.
  17893. Added some logging to help diagnose back/forward problems.
  17894. Reviewed by John.
  17895. * History.subproj/WebHistory.m:
  17896. (-[WebHistory addItem:]):
  17897. * Misc.subproj/WebKitLogging.h:
  17898. * Misc.subproj/WebKitLogging.m:
  17899. * WebView.subproj/WebDataSource.m:
  17900. (-[WebDataSource initWithRequest:]):
  17901. * WebView.subproj/WebFramePrivate.m:
  17902. (-[WebFrame _createItem:]):
  17903. (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]):
  17904. (-[WebFrame _transitionToCommitted:]):
  17905. (-[WebFrame _URLsMatchItem:]):
  17906. (-[WebFrame _loadItem:withLoadType:]):
  17907. === Safari-80 ===
  17908. 2003-05-20 Ken Kocienda <kocienda@apple.com>
  17909. Reviewed by Darin
  17910. Due to some header file changes in Foundation on Panther,
  17911. Tweaked some includes so that WebKit builds on Jaguar
  17912. and Panther.
  17913. * Carbon.subproj/CarbonWindowFrame.m:
  17914. * Plugins.subproj/WebNetscapePluginPackage.m:
  17915. * Plugins.subproj/WebPluginPackage.m:
  17916. 2003-05-19 Maciej Stachowiak <mjs@apple.com>
  17917. - fixed 3261096 - Make WebKit an umbrella framework
  17918. * WebKit.pbproj/project.pbxproj: Build WebKit as a public umbrella
  17919. framework when doing a B&I build.
  17920. 2003-05-19 Ken Kocienda <kocienda@apple.com>
  17921. Reviewed by Darin
  17922. * Panels.subproj/WebAuthenticationPanel.m: Now imports Foundation/NSURLCredential.h
  17923. * WebCoreSupport.subproj/WebCookieAdapter.m: Now imports Foundation/NSHTTPCookie.h
  17924. 2003-05-19 Ken Kocienda <kocienda@apple.com>
  17925. Reviewed by Darin
  17926. Changed imports to include headers from Foundation
  17927. instead of WebFoundation.
  17928. Removed WebFoundation.framework as a dependency in
  17929. the project file.
  17930. * History.subproj/WebHistory.m:
  17931. * History.subproj/WebHistoryItem.m:
  17932. * History.subproj/WebHistoryPrivate.m:
  17933. * History.subproj/WebURLsWithTitles.m:
  17934. * Misc.subproj/WebDownload.h:
  17935. * Misc.subproj/WebDownload.m:
  17936. * Misc.subproj/WebFileDatabase.m:
  17937. * Misc.subproj/WebIconDatabase.m:
  17938. * Misc.subproj/WebIconLoader.m:
  17939. * Misc.subproj/WebKitErrors.m:
  17940. * Misc.subproj/WebKitErrorsPrivate.h:
  17941. * Misc.subproj/WebNSPasteboardExtras.m:
  17942. * Misc.subproj/WebNSViewExtras.m:
  17943. * Panels.subproj/WebAuthenticationPanel.h:
  17944. * Panels.subproj/WebAuthenticationPanel.m:
  17945. * Panels.subproj/WebPanelAuthenticationHandler.h:
  17946. * Panels.subproj/WebPanelAuthenticationHandler.m:
  17947. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  17948. * Plugins.subproj/WebBaseNetscapePluginView.m:
  17949. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  17950. * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
  17951. * Plugins.subproj/WebNetscapePluginRepresentation.m:
  17952. * Plugins.subproj/WebNetscapePluginStream.m:
  17953. * Plugins.subproj/WebNullPluginView.m:
  17954. * Plugins.subproj/WebPluginController.m:
  17955. * WebCoreSupport.subproj/WebBridge.m:
  17956. * WebCoreSupport.subproj/WebCookieAdapter.m:
  17957. * WebCoreSupport.subproj/WebImageRendererFactory.m:
  17958. * WebCoreSupport.subproj/WebSubresourceClient.m:
  17959. * WebKit.pbproj/project.pbxproj:
  17960. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  17961. * WebView.subproj/WebDataProtocol.h:
  17962. * WebView.subproj/WebDataProtocol.m:
  17963. * WebView.subproj/WebDataSource.m:
  17964. * WebView.subproj/WebDataSourcePrivate.m:
  17965. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  17966. * WebView.subproj/WebDefaultFrameLoadDelegate.m:
  17967. * WebView.subproj/WebDefaultPolicyDelegate.m:
  17968. * WebView.subproj/WebDefaultResourceLoadDelegate.m:
  17969. * WebView.subproj/WebDefaultUIDelegate.m:
  17970. * WebView.subproj/WebFrame.m:
  17971. * WebView.subproj/WebFramePrivate.m:
  17972. * WebView.subproj/WebFrameView.m:
  17973. * WebView.subproj/WebFrameViewPrivate.m:
  17974. * WebView.subproj/WebHTMLRepresentation.m:
  17975. * WebView.subproj/WebHTMLViewPrivate.m:
  17976. * WebView.subproj/WebImageRepresentation.m:
  17977. * WebView.subproj/WebMainResourceClient.m:
  17978. * WebView.subproj/WebPreferences.m:
  17979. * WebView.subproj/WebTextRepresentation.m:
  17980. * WebView.subproj/WebTextView.m:
  17981. * WebView.subproj/WebUIDelegate.h:
  17982. * WebView.subproj/WebView.m:
  17983. * WebView.subproj/WebViewPrivate.m:
  17984. 2003-05-16 Maciej Stachowiak <mjs@apple.com>
  17985. Reviewed by John.
  17986. - fixed 3255088 - repro crash in WebCredentialStorage remembering password from onlinetrafficsafety.com
  17987. * WebView.subproj/WebFormDelegate.h:
  17988. * WebView.subproj/WebFormDelegate.m:
  17989. (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:]): Expect sourceFrame
  17990. argument.
  17991. * WebView.subproj/WebFramePrivate.m:
  17992. (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): Include
  17993. source frame in form state.
  17994. (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
  17995. Include source frame in form state. Post directly to the target
  17996. frame if it exists, since we want the form state to contain the
  17997. right source frame.
  17998. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Pass source frame to form
  17999. delegate.
  18000. (-[WebFormState initWithForm:values:sourceFrame:]): New sourceFrame argument.
  18001. (-[WebFormState dealloc]): release sourceFrame.
  18002. (-[WebFormState sourceFrame]): New method.
  18003. 2003-05-16 Ken Kocienda <kocienda@apple.com>
  18004. Reviewed by Gramps
  18005. Moved in WebDatabase and WebFileDatabase files from WebFoundation.
  18006. Copied NSLRUFileList from WebFoundation and renamed to WebLRUFileList.
  18007. Updated StringsNotToBeLocalized.txt.
  18008. * English.lproj/StringsNotToBeLocalized.txt:
  18009. * Misc.subproj/WebDatabase.h:
  18010. * Misc.subproj/WebDatabase.m:
  18011. * Misc.subproj/WebFileDatabase.h:
  18012. * Misc.subproj/WebFileDatabase.m:
  18013. (-[WebFileDatabaseOp initWithCode:key:object:]):
  18014. (-[WebFileDatabaseOp perform:]):
  18015. (SetThreadPriority):
  18016. (-[WebFileDatabase _createLRUList:]):
  18017. (-[WebFileDatabase _truncateToSizeLimit:]):
  18018. (+[WebFileDatabase _syncLoop:]):
  18019. (-[WebFileDatabase setObject:forKey:]):
  18020. (-[WebFileDatabase removeObjectForKey:]):
  18021. (-[WebFileDatabase removeAllObjects]):
  18022. (-[WebFileDatabase objectForKey:]):
  18023. (-[WebFileDatabase performSetObject:forKey:]):
  18024. (-[WebFileDatabase performRemoveObjectForKey:]):
  18025. (-[WebFileDatabase close]):
  18026. (-[WebFileDatabase lazySync:]):
  18027. (-[WebFileDatabase sync]):
  18028. (-[WebFileDatabase count]):
  18029. (-[WebFileDatabase usage]):
  18030. * Misc.subproj/WebIconDatabase.m:
  18031. * Misc.subproj/WebKitLogging.h:
  18032. * Misc.subproj/WebKitLogging.m:
  18033. * Misc.subproj/WebLRUFileList.h: Added.
  18034. * Misc.subproj/WebLRUFileList.m: Added.
  18035. (WebLRUFileListCreate):
  18036. (WebLRUFileListRelease):
  18037. (WebLRUFileListRebuildFileDataUsingRootDirectory):
  18038. (WebLRUFileListRemoveFileWithPath):
  18039. (WebLRUFileListTouchFileWithPath):
  18040. (WebLRUFileListSetFileData):
  18041. (WebLRUFileListGetPathOfOldestFile):
  18042. (WebLRUFileListRemoveOldestFileFromList):
  18043. (WebLRUFileListContainsItem):
  18044. (WebLRUFileListGetFileSize):
  18045. (WebLRUFileListCountItems):
  18046. (WebLRUFileListGetTotalSize):
  18047. (WebLRUFileListRemoveAllFilesFromList):
  18048. (compareTimes):
  18049. (cStringEqual):
  18050. (cStringHash):
  18051. (NSLRUFileDataEqual):
  18052. (WebLRUFileListGetOldestFileData):
  18053. (NSLRUFileDataReleaseApplierFunction):
  18054. (NSLRUFileDataRelease):
  18055. (NSLRUFileDataBinaryHeapDumpApplierFunction):
  18056. (NSLRUFileDataDictDumpApplierFunction):
  18057. (WebLRUFileListDescription):
  18058. * WebKit.pbproj/project.pbxproj:
  18059. 2003-05-15 Chris Blumenberg <cblu@apple.com>
  18060. Fixed: 3199310 - No user agent included in favicon.ico requests
  18061. Reviewed by kocienda.
  18062. * Misc.subproj/WebIconLoader.h:
  18063. * Misc.subproj/WebIconLoader.m:
  18064. (-[WebIconLoaderPrivate dealloc]): use the request ivar
  18065. (-[WebIconLoader URL]): ditto
  18066. (-[WebIconLoader startLoading]): ditto
  18067. (-[WebIconLoader connection:didReceiveData:]): ditto
  18068. (-[WebIconLoader connectionDidFinishLoading:]): ditto
  18069. * WebView.subproj/WebDataSourcePrivate.m:
  18070. (-[WebDataSource _loadIcon]): create a icon loader with a request with the extra fields set
  18071. 2003-05-15 Chris Blumenberg <cblu@apple.com>
  18072. Fixed: 3155760 - Plug-in MIME and extension mapping should be case-insensitive
  18073. Reviewed by john.
  18074. * Plugins.subproj/WebBasePluginPackage.m:
  18075. (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]): store the extensions and MIMEs as lowercase strings
  18076. (-[NSArray _web_lowercaseStrings]): new, returns array of lowercase strings
  18077. * Plugins.subproj/WebNetscapePluginPackage.m:
  18078. (-[WebNetscapePluginPackage getPluginInfoFromResources]): store the extensions and MIMEs as lowercase strings
  18079. * Plugins.subproj/WebPluginDatabase.m:
  18080. (-[WebPluginDatabase pluginForMIMEType:]): lowercase the passed MIME type
  18081. (-[WebPluginDatabase pluginForExtension:]): lowercase the passed extension
  18082. === Safari-79 ===
  18083. 2003-05-15 Ken Kocienda <kocienda@apple.com>
  18084. Reviewed by John
  18085. Updated for recent changes.
  18086. * English.lproj/StringsNotToBeLocalized.txt:
  18087. 2003-05-15 Ken Kocienda <kocienda@apple.com>
  18088. Reviewed by John
  18089. Changed the names of some extras files in WebFoundation:
  18090. Updated imports and usages in this project.
  18091. WebNSCalendarDateExtras -> NSCalendarDate_NSURLExtras
  18092. WebNSDataExtras -> NSData_NSURLExtras
  18093. WebNSDictionaryExtras -> NSDictionary_NSURLExtras
  18094. WebNSErrorExtras -> NSError_NSURLExtras
  18095. WebNSFileManagerExtras -> NSFileManager_NSURLExtras
  18096. WebNSObjectExtras -> NSObject_NSURLExtras
  18097. WebNSStringExtras -> NSString_NSURLExtras
  18098. WebNSURLExtras -> NSURL_NSURLExtras
  18099. WebNSUserDefaultsExtras -> NSUserDefaults_NSURLExtras
  18100. * History.subproj/WebHistory.m:
  18101. * History.subproj/WebHistoryItem.m:
  18102. * History.subproj/WebHistoryPrivate.m:
  18103. * History.subproj/WebURLsWithTitles.m:
  18104. * Misc.subproj/WebIconDatabase.m:
  18105. * Misc.subproj/WebIconLoader.m:
  18106. * Misc.subproj/WebKitErrors.m:
  18107. * Misc.subproj/WebNSPasteboardExtras.m:
  18108. * Misc.subproj/WebNSViewExtras.m:
  18109. * Panels.subproj/WebAuthenticationPanel.m:
  18110. * Panels.subproj/WebPanelAuthenticationHandler.m:
  18111. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  18112. * Plugins.subproj/WebBaseNetscapePluginView.m:
  18113. * Plugins.subproj/WebNetscapePluginRepresentation.m:
  18114. * Plugins.subproj/WebNullPluginView.m:
  18115. * WebCoreSupport.subproj/WebBridge.m:
  18116. * WebCoreSupport.subproj/WebCookieAdapter.m:
  18117. * WebCoreSupport.subproj/WebSubresourceClient.m:
  18118. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  18119. * WebView.subproj/WebDataProtocol.m:
  18120. * WebView.subproj/WebDataSource.m:
  18121. * WebView.subproj/WebDataSourcePrivate.m:
  18122. * WebView.subproj/WebDefaultResourceLoadDelegate.m:
  18123. * WebView.subproj/WebFrame.m:
  18124. * WebView.subproj/WebFramePrivate.m:
  18125. * WebView.subproj/WebFrameView.m:
  18126. * WebView.subproj/WebFrameViewPrivate.m:
  18127. * WebView.subproj/WebHTMLViewPrivate.m:
  18128. * WebView.subproj/WebMainResourceClient.m:
  18129. * WebView.subproj/WebPreferences.m:
  18130. * WebView.subproj/WebView.m:
  18131. * WebView.subproj/WebViewPrivate.m:
  18132. 2003-05-14 Ken Kocienda <kocienda@apple.com>
  18133. Reviewed by Chris
  18134. WebKitSystemBits files that contain a system memory size
  18135. getter. This function is used in a few of places in WebKit.
  18136. * History.subproj/WebBackForwardList.m:
  18137. * Misc.subproj/WebKitSystemBits.h: Added.
  18138. * Misc.subproj/WebKitSystemBits.m: Added.
  18139. (initCapabilities):
  18140. (WebSystemMainMemory):
  18141. * WebCoreSupport.subproj/WebBridge.m:
  18142. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  18143. * WebKit.pbproj/project.pbxproj:
  18144. 2003-05-14 Ken Kocienda <kocienda@apple.com>
  18145. Reviewed by David
  18146. File and class renaming in WebFoundation:
  18147. WebFileTypeMappings -> NSURLFileTypeMappings
  18148. * WebCoreSupport.subproj/WebBridge.m:
  18149. (-[WebBridge MIMETypeForPath:]):
  18150. * WebCoreSupport.subproj/WebImageRendererFactory.m:
  18151. (-[WebImageRendererFactory supportedMIMETypes]):
  18152. * WebView.subproj/WebDataSource.m:
  18153. * WebView.subproj/WebMainResourceClient.m:
  18154. * WebView.subproj/WebViewPrivate.m:
  18155. (+[WebView suggestedFileExtensionForMIMEType:]):
  18156. (+[WebView _MIMETypeForFile:]):
  18157. 2003-05-14 Ken Kocienda <kocienda@apple.com>
  18158. Reviewed by Maciej
  18159. Copied WebLocalizableStrings.[hm] from WebFoundation to WebKit
  18160. Updated all imports.
  18161. Added logging exported symbols to exports file.
  18162. * Misc.subproj/WebKitErrors.m:
  18163. * Misc.subproj/WebLocalizableStrings.h: Added.
  18164. * Misc.subproj/WebLocalizableStrings.m: Added.
  18165. * Panels.subproj/WebAuthenticationPanel.m:
  18166. * WebCoreSupport.subproj/WebBridge.m:
  18167. * WebCoreSupport.subproj/WebFileButton.m:
  18168. * WebCoreSupport.subproj/WebViewFactory.m:
  18169. * WebKit.exp:
  18170. * WebKit.pbproj/project.pbxproj:
  18171. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  18172. 2003-05-14 Maciej Stachowiak <mjs@apple.com>
  18173. Reviewed by Don.
  18174. - fixed 3257307 - REGRESSION: crash using onFocus="this.blur()"
  18175. * WebCoreSupport.subproj/WebBridge.m:
  18176. (-[WebBridge makeFirstResponder:]): Let the WebView know that
  18177. this is a programmatic focus.
  18178. * WebView.subproj/WebHTMLView.m:
  18179. (-[WebHTMLView becomeFirstResponder]): Check if this is a programmatic
  18180. focus from WebCore - if so, treat it like a direct focus, even if there
  18181. is a selection direction set.
  18182. * WebView.subproj/WebViewPrivate.h:
  18183. * WebView.subproj/WebViewPrivate.m:
  18184. (-[WebView _pushPerformingProgrammaticFocus]): New method to indicate
  18185. upcoming programmatic focus.
  18186. (-[WebView _popPerformingProgrammaticFocus]): New method to indicate
  18187. end of programmatic focus. Needs to nest with the previous.
  18188. (-[WebView _isPerformingProgrammaticFocus]): Check if we are handling
  18189. a programmatic focus from WebCore.
  18190. 2003-05-14 Ken Kocienda <kocienda@apple.com>
  18191. Reviewed by John
  18192. Copied WebAssertions.[hm] from WebFoundation to WebKit
  18193. Updated all imports.
  18194. Added logging exported symbols to exports file.
  18195. * History.subproj/WebBackForwardList.m:
  18196. * History.subproj/WebHistory.m:
  18197. * History.subproj/WebHistoryItem.m:
  18198. * Misc.subproj/WebAssertions.h: Added.
  18199. * Misc.subproj/WebAssertions.m: Added.
  18200. (vprintf_stderr_objc):
  18201. (WebReportAssertionFailure):
  18202. (WebReportAssertionFailureWithMessage):
  18203. (WebReportArgumentAssertionFailure):
  18204. (WebReportFatalError):
  18205. (WebReportError):
  18206. (WebLog):
  18207. * Misc.subproj/WebKitLogging.h:
  18208. * Misc.subproj/WebNSPasteboardExtras.m:
  18209. * Misc.subproj/WebStringTruncator.m:
  18210. * Panels.subproj/WebAuthenticationPanel.m:
  18211. * Panels.subproj/WebPanelAuthenticationHandler.m:
  18212. * Plugins.subproj/WebBaseNetscapePluginView.m:
  18213. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  18214. * Plugins.subproj/WebNetscapePluginRepresentation.m:
  18215. * WebCoreSupport.subproj/WebBridge.m:
  18216. * WebCoreSupport.subproj/WebCookieAdapter.m:
  18217. * WebCoreSupport.subproj/WebFileButton.m:
  18218. * WebCoreSupport.subproj/WebImageRenderer.m:
  18219. * WebCoreSupport.subproj/WebImageRendererFactory.m:
  18220. * WebCoreSupport.subproj/WebJavaScriptTextInputPanel.m:
  18221. * WebCoreSupport.subproj/WebSubresourceClient.m:
  18222. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  18223. * WebCoreSupport.subproj/WebViewFactory.m:
  18224. * WebKit.exp:
  18225. * WebKit.pbproj/project.pbxproj:
  18226. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  18227. * WebView.subproj/WebClipView.m:
  18228. * WebView.subproj/WebDataProtocol.m:
  18229. * WebView.subproj/WebDataSource.m:
  18230. * WebView.subproj/WebDefaultPolicyDelegate.m:
  18231. * WebView.subproj/WebFrameViewPrivate.m:
  18232. * WebView.subproj/WebHTMLViewPrivate.m:
  18233. * WebView.subproj/WebImageView.m:
  18234. * WebView.subproj/WebTextRepresentation.m:
  18235. * WebView.subproj/WebTextView.m:
  18236. * WebView.subproj/WebView.m:
  18237. * WebView.subproj/WebViewPrivate.m:
  18238. 2003-05-13 Richard Williamson <rjw@apple.com>
  18239. Fixed 3014661. We now display (a lame Lemay) image
  18240. when an image fails to load. We also display the
  18241. alt text if it fits within the image container
  18242. above the missing image icon. Alt text is also
  18243. now shown if image loading is disabled.
  18244. Reviewed by John.
  18245. * Resources/missing_image.tiff: Added.
  18246. * WebCoreSupport.subproj/WebImageRenderer.h:
  18247. * WebCoreSupport.subproj/WebImageRenderer.m:
  18248. (-[WebImageRenderer initWithMIMEType:]):
  18249. (-[WebImageRenderer initWithData:MIMEType:]):
  18250. (-[WebImageRenderer initWithContentsOfFile:]):
  18251. (-[WebImageRenderer copyWithZone:]):
  18252. (-[WebImageRenderer isNull]):
  18253. (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
  18254. * WebCoreSupport.subproj/WebImageRendererFactory.m:
  18255. (-[WebImageRendererFactory imageRendererWithName:]):
  18256. * WebKit.pbproj/project.pbxproj:
  18257. 2003-05-13 Darin Adler <darin@apple.com>
  18258. Reviewed by Chris and Richard.
  18259. - fixed 3257296 -- REGRESSION: crash in WebImageRendererFactory (movietickets.com)
  18260. * WebCoreSupport.subproj/WebImageRenderer.m:
  18261. (-[WebImageRenderer initWithMIMEType:]): Check for nil.
  18262. (-[WebImageRenderer initWithData:MIMEType:]): Check for nil, also don't check for GIF signature
  18263. until after the object is allocated.
  18264. 2003-05-12 Maciej Stachowiak <mjs@apple.com>
  18265. Reviewed by Darin.
  18266. - fixed 3254484 - Add a way to print JavaScript exceptions to the console via the debug menu
  18267. * Misc.subproj/WebCoreStatistics.h:
  18268. * Misc.subproj/WebCoreStatistics.m:
  18269. (+[WebCoreStatistics shouldPrintExceptions]): Call through to WebCore.
  18270. (+[WebCoreStatistics setShouldPrintExceptions:]): Call through to WebCore.
  18271. 2003-05-13 Darin Adler <darin@apple.com>
  18272. Reviewed by Ken.
  18273. - fixed 3120355 -- importing IE favorites garbles non-ASCII characters (esp. bad for non-Roman languages)
  18274. * WebView.subproj/WebViewPrivate.h: Added _decodeData:.
  18275. * WebView.subproj/WebViewPrivate.m: (+[WebView _decodeData:]): Added. Calls through to WebCore.
  18276. 2003-05-13 Maciej Stachowiak <mjs@apple.com>
  18277. Reviewed by Darin.
  18278. - renamed NSErrorFailingURLKey to NSErrorFailingURLStringKey
  18279. * Misc.subproj/WebKitErrors.m:
  18280. (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]):
  18281. 2003-05-13 John Sullivan <sullivan@apple.com>
  18282. fixed build break
  18283. Reviewed by Darin
  18284. * WebCoreSupport.subproj/WebImageRenderer.m:
  18285. (-[WebImageRenderer initWithData:MIMEType:]):
  18286. move #ifdefs; two required methods were being #ifdeffed
  18287. out on Panther
  18288. 2003-05-12 Richard Williamson <rjw@apple.com>
  18289. Fixed 3251316. *** Public API Change ***
  18290. Added -(void)setGroupName:(NSString *) and -(NSString *)groupName;
  18291. Reviewed by mjs.
  18292. * WebView.subproj/WebView.h:
  18293. * WebView.subproj/WebView.m:
  18294. 2003-05-12 Richard Williamson <rjw@apple.com>
  18295. Fixed 3194614 and 3194751. Add SPI to set 'renderless' mode
  18296. for a frame.
  18297. Reviewed by darin.
  18298. * WebView.subproj/WebFramePrivate.h:
  18299. * WebView.subproj/WebFramePrivate.m:
  18300. WebImageRenderers now get a MIME type that can be used to faciliate
  18301. selection of an appropriate decoder.
  18302. Reviewed by darin.
  18303. * WebCoreSupport.subproj/WebImageRenderer.h:
  18304. * WebCoreSupport.subproj/WebImageRenderer.m:
  18305. * WebCoreSupport.subproj/WebImageRendererFactory.m:
  18306. * WebKit.pbproj/project.pbxproj:
  18307. 2003-05-12 John Sullivan <sullivan@apple.com>
  18308. - addition to Darin's previous patch; when checking whether a request can
  18309. be handled, take into account the schemes that were registered without
  18310. an NSURLProtocol getting involved.
  18311. Reviewed by Darin
  18312. * WebView.subproj/WebViewPrivate.h:
  18313. * WebView.subproj/WebViewPrivate.m:
  18314. (+[WebView _canHandleRequest:]):
  18315. like NSURLConnection canHandleRequest, but also takes into account the
  18316. schemes that were registered without an NSURLProtocol
  18317. * Plugins.subproj/WebNetscapePluginStream.m:
  18318. (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
  18319. use +[WebView _canHandleRequest] instead of +[NSURLConnection canHandleRequest]
  18320. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  18321. (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
  18322. ditto
  18323. * WebView.subproj/WebDefaultPolicyDelegate.m:
  18324. (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
  18325. ditto
  18326. * WebView.subproj/WebFramePrivate.m:
  18327. (-[WebFrame _continueAfterNavigationPolicy:]):
  18328. ditto
  18329. 2003-05-12 Darin Adler <darin@apple.com>
  18330. Reviewed by John.
  18331. - fixed 3254576 -- REGRESSION: visiting bookmarks view sometimes waits for other tabs to load first
  18332. * WebView.subproj/WebViewPrivate.h: Added new SPI for registering view and represenation classes by
  18333. scheme rather than MIME type.
  18334. * WebView.subproj/WebViewPrivate.m:
  18335. (+[WebView _registerViewClass:representationClass:forURLScheme:]]): Added.
  18336. (+[WebView _generatedMIMETypeForURLScheme:]): Added. Makes a special MIME type for us only by the
  18337. special "register scheme" mechanism.
  18338. (+[WebView _representationExistsForURLScheme:]): Added.
  18339. * WebView.subproj/WebMainResourceClient.m:
  18340. (-[WebMainResourceClient continueAfterContentPolicy:response:]): Check for schemes that have their
  18341. own representation, and handle them just like empty documents, loading no data, and doing it synchronously.
  18342. (-[WebMainResourceClient loadWithRequest:]): Same thing here, only also arrange to get the appropriate
  18343. MIME type.
  18344. (-[WebMainResourceClient setDefersCallbacks:]): Same check here.
  18345. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
  18346. 2003-05-11 Darin Adler <darin@apple.com>
  18347. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView layoutToPageWidth:]): Added a check for nil that I forgot.
  18348. 2003-05-10 Darin Adler <darin@apple.com>
  18349. Reviewed by John.
  18350. - fixed 3254473 - REGRESSION: reload loop due to onresize handler (fortune.com, flipdog.com, stanford.edu)
  18351. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView layoutToPageWidth:]): Don't send out a resize event any
  18352. time during the first event that results in a layout. The old check was merely for the first layout,
  18353. but we need to ignore any number of layouts that are all part of handling a first event. Some day we
  18354. may need to refine this rule even further, but this fixes the present bug.
  18355. * WebView.subproj/WebHTMLViewPrivate.h: Goodbye laidOutAtLeastOnce, hello firstLayoutEventTime.
  18356. 2003-05-10 Darin Adler <darin@apple.com>
  18357. Reviewed by Maciej.
  18358. - fixed 3250119 -- REGRESSION: WebFrame leaked after showing pop-up menu
  18359. The leak was caused by various code storing the "element" dictionary that describes where
  18360. a click took place.
  18361. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  18362. (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
  18363. Don't store the element in a retained global. Instead attach it as the represented
  18364. object to each menu item.
  18365. (-[WebDefaultUIDelegate openNewWindowWithURL:element:]): Pass in an element.
  18366. (-[WebDefaultUIDelegate downloadURL:element:]): Ditto.
  18367. (-[WebDefaultUIDelegate openLinkInNewWindow:]): Get element from represented object.
  18368. (-[WebDefaultUIDelegate downloadLinkToDisk:]): Ditto.
  18369. (-[WebDefaultUIDelegate copyLinkToClipboard:]): Ditto.
  18370. (-[WebDefaultUIDelegate openImageInNewWindow:]): Ditto.
  18371. (-[WebDefaultUIDelegate downloadImageToDisk:]): Ditto.
  18372. (-[WebDefaultUIDelegate copyImageToClipboard:]): Ditto.
  18373. (-[WebDefaultUIDelegate openFrameInNewWindow:]): Ditto.
  18374. * WebView.subproj/WebDefaultUIDelegate.h: Remove element field.
  18375. * WebView.subproj/WebDefaultUIDelegate.m: (-[WebDefaultUIDelegate dealloc]): No need
  18376. to release element any more.
  18377. * WebView.subproj/WebHTMLViewPrivate.h: Remove dragElement instance variable.
  18378. * WebView.subproj/WebHTMLViewPrivate.m:
  18379. (-[WebHTMLViewPrivate dealloc]): No need to release dragElement any more.
  18380. (-[WebHTMLView _handleMouseDragged:]): Get element again here. The old code used to
  18381. get it from an instance variable, but that is unnecessary.
  18382. (-[WebHTMLView _mayStartDragWithMouseDragged:]): Don't store the element.
  18383. 2003-05-09 Maciej Stachowiak <mjs@apple.com>
  18384. Reviewed by Darin.
  18385. Updated for NSURLResponse API changes.
  18386. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  18387. (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
  18388. * WebView.subproj/WebDataProtocol.m:
  18389. (-[WebDataProtocol startLoading]):
  18390. * WebView.subproj/WebMainResourceClient.m:
  18391. (-[WebMainResourceClient loadWithRequest:]):
  18392. 2003-05-09 Maciej Stachowiak <mjs@apple.com>
  18393. Reviewed by Darin.
  18394. - removed WebAuthenticationChallenge
  18395. - adjusted everything for removal of NSURLAuthenticationChallenge subclasses.
  18396. * Misc.subproj/WebDownload.m:
  18397. (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]):
  18398. (-[WebDownloadInternal download:didCancelAuthenticationChallenge:]):
  18399. * Panels.subproj/WebPanelAuthenticationHandler.m:
  18400. (-[WebPanelAuthenticationHandler startAuthentication:window:]):
  18401. (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
  18402. * WebView.subproj/WebAuthenticationChallenge.h: Removed.
  18403. * WebView.subproj/WebAuthenticationChallenge.m: Removed.
  18404. * WebView.subproj/WebAuthenticationChallengeInternal.h: Removed.
  18405. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  18406. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  18407. (-[WebBaseResourceHandleDelegate useCredential:forAuthenticationChallenge:]):
  18408. (-[WebBaseResourceHandleDelegate continueWithoutCredentialForAuthenticationChallenge:]):
  18409. (-[WebBaseResourceHandleDelegate cancelAuthenticationChallenge:]):
  18410. (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]):
  18411. (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]):
  18412. (-[WebBaseResourceHandleDelegate setIdentifier:]):
  18413. * WebView.subproj/WebDefaultResourceLoadDelegate.m:
  18414. (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]):
  18415. (-[WebDefaultResourceLoadDelegate webView:resource:didCancelAuthenticationChallenge:fromDataSource:]):
  18416. * WebView.subproj/WebResourceLoadDelegate.h:
  18417. * Misc.subproj/WebKit.h: Remove headers that are gone.
  18418. * WebKit.exp: Remove classes that are gone.
  18419. * WebKit.pbproj/project.pbxproj: Remove files that are gone.
  18420. 2003-05-09 David Hyatt <hyatt@apple.com>
  18421. Change the minfontsize to 1, i.e., to have no minimum. This
  18422. matches other browsers while still retaining the pref control
  18423. in WebKit.
  18424. Fixes www.gamespot.com. The bug is 3254489.
  18425. Reviewed by darin
  18426. * WebView.subproj/WebPreferences.m:
  18427. (+[WebPreferences initialize]):
  18428. 2003-05-09 Maciej Stachowiak <mjs@apple.com>
  18429. Reviewed by John.
  18430. Rename connection:didFailLoadingWithError: to
  18431. connection:didFailWithError: to match NSURLDownload and
  18432. NSURLProtocol.
  18433. * Misc.subproj/WebIconLoader.m:
  18434. (-[WebIconLoader connection:didFailWithError:]):
  18435. * Plugins.subproj/WebNetscapePluginStream.m:
  18436. (-[WebNetscapePluginStream connection:didFailWithError:]):
  18437. * WebCoreSupport.subproj/WebSubresourceClient.m:
  18438. (-[WebSubresourceClient connection:didFailWithError:]):
  18439. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  18440. (-[WebBaseResourceHandleDelegate connection:didFailWithError:]):
  18441. * WebView.subproj/WebMainResourceClient.m:
  18442. (-[WebMainResourceClient receivedError:]):
  18443. (-[WebMainResourceClient connection:didFailWithError:]):
  18444. 2003-05-09 Richard Williamson <rjw@apple.com>
  18445. Apply the same check used to by-pass fast rendering
  18446. in the fix to 3146161 to measurement.
  18447. Reviewed by Ken.
  18448. * Misc.subproj/WebKitNSStringExtras.m:
  18449. 2003-05-09 Ken Kocienda <kocienda@apple.com>
  18450. Reviewed by John
  18451. Removed unneeded import of WebFoundation/WebQueue.h.
  18452. * WebCoreSupport.subproj/WebTextRendererFactory.h
  18453. 2003-05-08 Richard Williamson <rjw@apple.com>
  18454. Fixed 3146161. Use the AppKit to render complex
  18455. text in the simple string drawing method.
  18456. Reviewed by John.
  18457. * Misc.subproj/WebKitNSStringExtras.m:
  18458. 2003-05-08 Richard Williamson <rjw@apple.com>
  18459. Make representations without intrinsic titles return nil.
  18460. Reviewed by John.
  18461. * Plugins.subproj/WebNetscapePluginRepresentation.m:
  18462. * WebView.subproj/WebDataSourcePrivate.h:
  18463. * WebView.subproj/WebDataSourcePrivate.m:
  18464. * WebView.subproj/WebImageRepresentation.m:
  18465. * WebView.subproj/WebTextRepresentation.m:
  18466. 2003-05-08 Richard Williamson <rjw@apple.com>
  18467. Fixed 3252460. *** Public API Change ***
  18468. Added title method to WebDocumentRepresentation.
  18469. Fixed 3250352. Check that delegate implements method.
  18470. Reviewed by hyatt.
  18471. * WebView.subproj/WebDataSource.m:
  18472. (-[WebDataSource pageTitle]):
  18473. * WebView.subproj/WebDataSourcePrivate.h:
  18474. * WebView.subproj/WebDataSourcePrivate.m:
  18475. (-[WebDataSource _startLoading:]):
  18476. (-[WebDataSource _title]):
  18477. * WebView.subproj/WebDocument.h:
  18478. * WebView.subproj/WebHTMLRepresentation.m:
  18479. (-[WebHTMLRepresentation title]):
  18480. * WebView.subproj/WebImageRepresentation.m:
  18481. (-[WebImageRepresentation title]):
  18482. * WebView.subproj/WebNetscapePluginRepresentation.m:
  18483. (-[WebNetscapePluginRepresentation title]):
  18484. * WebView.subproj/WebTextRepresentation.h:
  18485. * WebView.subproj/WebTextRepresentation.m:
  18486. (-[WebTextRepresentation dealloc]):
  18487. (-[WebTextRepresentation setDataSource:]):
  18488. (-[WebTextRepresentation title]):
  18489. 2003-05-08 Darin Adler <darin@apple.com>
  18490. * WebKit.pbproj/project.pbxproj: Fixed paths for non-Panther builds.
  18491. 2003-05-08 John Sullivan <sullivan@apple.com>
  18492. Closed up all gaps in WebKit between "ASSERT" and "(" to
  18493. make Darin's day a little brighter.
  18494. Reviewed by Darin
  18495. * WebCoreSupport.subproj/WebBridge.m:
  18496. (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
  18497. (-[WebBridge handleMouseDragged:]):
  18498. (-[WebBridge mayStartDragWithMouseDragged:]):
  18499. * WebCoreSupport.subproj/WebImageRenderer.m:
  18500. (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
  18501. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  18502. (-[WebBaseResourceHandleDelegate _releaseResources]):
  18503. (-[WebBaseResourceHandleDelegate dealloc]):
  18504. * WebView.subproj/WebFramePrivate.m:
  18505. (-[WebFrame _transitionToCommitted:]):
  18506. * WebView.subproj/WebViewPrivate.m:
  18507. (-[WebView _preferencesChangedNotification:]):
  18508. 2003-05-08 John Sullivan <sullivan@apple.com>
  18509. - fixed 3252632 -- Registering a WebDocumentView too
  18510. early breaks built-in image viewing
  18511. A startup-performance optimization was breaking the case
  18512. where clients registered WebDocumentView types before the
  18513. first WebFrameView had been created. The fix is to allow
  18514. registering WebDocumentView types without retrieving the
  18515. built-in image types.
  18516. Reviewed by Darin
  18517. * WebView.subproj/WebFrameViewPrivate.h:
  18518. remove _viewTypes; expose _viewTypesAllowImageTypeOmission.
  18519. All callers have to specify the boolean now.
  18520. * WebView.subproj/WebFrameViewPrivate.m:
  18521. (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
  18522. assert that the list of image types isn't nil before inserting
  18523. them; insert each image type only if not already present.
  18524. (+[WebFrameView _viewClassForMIMEType:]):
  18525. replace _viewTypes with _viewTypesAllowImageTypeOmission
  18526. * Plugins.subproj/WebPluginDatabase.m:
  18527. (-[WebPluginDatabase init]):
  18528. replace _viewTypes with _viewTypesAllowImageTypeOmission
  18529. * WebView.subproj/WebDataSourcePrivate.h:
  18530. remove _repTypes; expose _repTypesAllowImageTypeOmission.
  18531. All callers have to specify the boolean now.
  18532. * WebView.subproj/WebDataSourcePrivate.m:
  18533. (+[WebDataSource _representationClassForMIMEType:]):
  18534. replace _repTypes with _repTypesAllowImageTypeOmission
  18535. * WebView.subproj/WebView.m:
  18536. (+[WebView registerViewClass:representationClass:forMIMEType:]):
  18537. replace _viewTypes with _viewTypesAllowImageTypeOmission, and
  18538. replace _repTypes with _repTypesAllowImageTypeOmission
  18539. 2003-05-08 Darin Adler <darin@apple.com>
  18540. Reviewed by Richard.
  18541. - fixed 3242414 -- REGRESSION: PLT times reported 10% slower after emptying cache with B/F cache enabled
  18542. - made it only compute the page cache size once
  18543. * History.subproj/WebBackForwardList.m:
  18544. (-[WebBackForwardList init]): Set initial page cache size to special value, COMPUTE_DEFAULT_PAGE_CACHE_SIZE.
  18545. (-[WebBackForwardList setPageCacheSize:]): Remove code to set pageCacheSizeModified and call to
  18546. _setUsesPageCache:, not needed any more.
  18547. (-[WebBackForwardList pageCacheSize]): If cache size is COMPUTE_DEFAULT_PAGE_CACHE_SIZE, then compute it.
  18548. The old code would compute the cache size each time this method was called until pageCacheSizeModified was set.
  18549. (-[WebBackForwardList _usesPageCache]): Just check pageCacheSize for 0 to see if we use a page cache.
  18550. No need for a separate boolean any more.
  18551. * History.subproj/WebHistoryItemPrivate.h: Remove _setUsesPageCache (gone altogether) and _clearPageCache
  18552. (now only used internally).
  18553. === Safari-78 ===
  18554. 2003-05-07 Darin Adler <darin@apple.com>
  18555. Reviewed by John.
  18556. - fixed 3127927 -- web view should not use primary selection color when it's not first responder
  18557. * WebView.subproj/WebHTMLView.m:
  18558. (-[WebHTMLView updateTextBackgroundColor]): Added. Sets the usesInactiveTextBackgroundColor flag
  18559. on the bridge, and does setNeedsDisplayInRect: of the selectionRect if the state changes.
  18560. (-[WebHTMLView viewDidMoveToWindow]): Call updateTextBackgroundColor.
  18561. (-[WebHTMLView windowDidBecomeKey:]): Call updateTextBackgroundColor.
  18562. (-[WebHTMLView windowDidResignKey:]): Call updateTextBackgroundColor.
  18563. (-[WebHTMLView becomeFirstResponder]): Call updateTextBackgroundColor.
  18564. (-[WebHTMLView resignFirstResponder]): Call updateTextBackgroundColor.
  18565. - fixed up WebHistoryItem initializers so there is a designated initializer
  18566. * History.subproj/WebHistoryItem.m:
  18567. (-[WebHistoryItem init]): Call initWithURLString:title:lastVisitedTimeInterval:,
  18568. which is the designated initializer.
  18569. (-[WebHistoryItem initWithURL:title:]): Ditto.
  18570. (-[WebHistoryItem initWithURL:target:parent:title:]): Ditto.
  18571. - other changes
  18572. * History.subproj/WebHistoryPrivate.m: (-[WebHistoryPrivate addItem:]): Fixed assertion
  18573. to not use _lastVisitedDate; we're trying to get rid of calls to that method.
  18574. 2003-05-07 Vicki Murley <vicki@apple.com>
  18575. Reviewed by darin.
  18576. - modify the Mixed build style to build optimized with symbols
  18577. * WebKit.pbproj/project.pbxproj: removed OPTIMIZATION_CGLAGS
  18578. 2003-05-06 Richard Williamson <rjw@apple.com>
  18579. Fixed problem for HelpViewer. HV calls stopLoading in
  18580. a webView:resource:didReceiveResponse. This causes
  18581. the premature release of the connection delegate.
  18582. Reviewed by Ken.
  18583. * WebCoreSupport.subproj/WebSubresourceClient.m:
  18584. (-[WebSubresourceClient connectionDidFinishLoading:]):
  18585. * WebKit.pbproj/project.pbxproj:
  18586. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  18587. (-[WebBaseResourceHandleDelegate _releaseResources]):
  18588. (-[WebBaseResourceHandleDelegate dealloc]):
  18589. * WebView.subproj/WebMainResourceClient.m:
  18590. (-[WebMainResourceClient stopLoadingForPolicyChange]):
  18591. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  18592. (-[WebMainResourceClient continueAfterContentPolicy:]):
  18593. (-[WebMainResourceClient connection:didReceiveResponse:]):
  18594. (-[WebMainResourceClient connectionDidFinishLoading:]):
  18595. 2003-05-06 Darin Adler <darin@apple.com>
  18596. - removed obsolete file that's still around for some reason
  18597. * Downloads.subproj/WebDownload.m: Removed.
  18598. 2003-05-06 Darin Adler <darin@apple.com>
  18599. - fixed crash on startup
  18600. * History.subproj/WebHistoryItem.m:
  18601. (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
  18602. Allocate WebHistoryItemPrivate.
  18603. 2003-05-06 Darin Adler <darin@apple.com>
  18604. - fixed 3249211 -- WebTextRenderer.h should not use "AttributeGroup" type for styleGroup
  18605. * WebCoreSupport.subproj/WebTextRenderer.h: Update to use ATSStyleGroupPtr.
  18606. 2003-05-06 Darin Adler <darin@apple.com>
  18607. Reviewed by Ken.
  18608. - used ObjectAlloc to find large numbers of allocations on startup and get rid of some
  18609. * History.subproj/WebHistoryItem.m:
  18610. (-[WebHistoryItem initFromDictionaryRepresentation:]):
  18611. Use the init method that takes a URL string so we don't have to create and then
  18612. destroy a URL for each item we decode.
  18613. * History.subproj/WebHistoryPrivate.m:
  18614. (-[WebHistoryPrivate addItem:]): Use URLString instead of making and destroying
  18615. a URL each time this is called.
  18616. (-[WebHistoryPrivate removeItem:]): Ditto.
  18617. (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]): Check URLString for nil; no reason
  18618. to construct and then destroy a URL just to check validity.
  18619. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  18620. (FontCacheKeyCopy): Added.
  18621. (FontCacheKeyFree): Added.
  18622. (FontCacheKeyEqual): Added.
  18623. (FontCacheKeyHash): Added.
  18624. (FontCacheValueRetain): Added.
  18625. (FontCacheValueRelease): Added.
  18626. (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]): Use a C struct for the
  18627. font cache key instead of using an Objective-C object. This saves us an object
  18628. allocation and deallocation when doing a lookup. Also took advantage of the CFDictionary
  18629. ability to store NULL and distinguish it from "not found" so we don't need a separate set
  18630. for cache misses.
  18631. 2003-05-05 Maciej Stachowiak <mjs@apple.com>
  18632. Reviewed by Richard.
  18633. Fix build by separating mutating data protocol methods into
  18634. category on NSMutableURLRequest. Also, formatting fixes.
  18635. * WebView.subproj/WebDataProtocol.h:
  18636. * WebView.subproj/WebDataProtocol.m:
  18637. (+[NSURLRequest _webDataRequestURLForData:]):
  18638. (-[NSURLRequest _webDataRequestData]):
  18639. (-[NSURLRequest _webDataRequestEncoding]):
  18640. (-[NSURLRequest _webDataRequestMIMEType]):
  18641. (-[NSURLRequest _webDataRequestBaseURL]):
  18642. (-[NSURLRequest _webDataRequestExternalRequest]):
  18643. (-[NSMutableURLRequest _webDataRequestSetData:]):
  18644. * WebView.subproj/WebFrame.m:
  18645. 2003-05-04 Darin Adler <darin@apple.com>
  18646. Reviewed by Maciej.
  18647. - fixed a storage leak
  18648. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]): Release the timer before setting to nil.
  18649. 2003-05-03 David Hyatt <hyatt@apple.com>
  18650. Add smallCaps boolean to the string measuring and drawing
  18651. methods. Not actually supported yet.
  18652. Reviewed by darin
  18653. * Misc.subproj/WebKitNSStringExtras.m:
  18654. (-[NSString _web_widthWithFont:]):
  18655. * Misc.subproj/WebStringTruncator.m:
  18656. (stringWidth):
  18657. * WebCoreSupport.subproj/WebTextRenderer.h:
  18658. * WebCoreSupport.subproj/WebTextRenderer.m:
  18659. (-[WebTextRenderer widthForCharacters:length:]):
  18660. (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):
  18661. (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
  18662. (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
  18663. (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):
  18664. (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):
  18665. 2003-05-04 Darin Adler <darin@apple.com>
  18666. Reviewed by John.
  18667. - added validation to "Interface Builder" methods on WebView
  18668. * WebView.subproj/WebView.h: Add NSUserInterfaceValidations protocol so that subclassers
  18669. know that they can call [super validateUserInterfaceItem:].
  18670. * WebView.subproj/WebView.m:
  18671. (-[WebView canMakeTextSmaller]): Simplify.
  18672. (-[WebView canMakeTextLarger]): Simplify.
  18673. (-[WebView _isLoading]): Added.
  18674. (-[WebView validateUserInterfaceItem:]): Added. Checks for the six actions we implement,
  18675. and returns NO if they are not valid.
  18676. 2003-05-02 Maciej Stachowiak <mjs@apple.com>
  18677. Reviewed by Richard.
  18678. - reformatted method prototypes to match AppKit style
  18679. - remove "Public header file" from headers that are not public
  18680. - fix header doc @method names to match actual method names
  18681. * Carbon.subproj/CarbonWindowAdapter.h:
  18682. * Carbon.subproj/HIViewAdapter.h:
  18683. * DOM.subproj/WebDOMDocument.h:
  18684. * DOM.subproj/WebDOMNode.h:
  18685. * History.subproj/WebBackForwardList.h:
  18686. * History.subproj/WebHistoryItemPrivate.h:
  18687. * History.subproj/WebHistoryPrivate.h:
  18688. * History.subproj/WebURLsWithTitles.h:
  18689. * Misc.subproj/WebIconDatabase.h:
  18690. * Misc.subproj/WebIconLoader.h:
  18691. * Misc.subproj/WebKitNSStringExtras.h:
  18692. * Misc.subproj/WebUnicode.h:
  18693. * Panels.subproj/WebPanelAuthenticationHandler.h:
  18694. * Plugins.subproj/WebBasePluginPackage.h:
  18695. * Plugins.subproj/WebNetscapePluginStream.h:
  18696. * Plugins.subproj/WebNullPluginView.h:
  18697. * Plugins.subproj/WebPluginViewFactory.h:
  18698. * WebCoreSupport.subproj/WebGlyphBuffer.h:
  18699. * WebCoreSupport.subproj/WebTextRenderer.h:
  18700. * WebCoreSupport.subproj/WebTextRendererFactory.h:
  18701. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  18702. * WebView.subproj/WebControllerSets.h:
  18703. * WebView.subproj/WebDataProtocol.h:
  18704. * WebView.subproj/WebDataSource.h:
  18705. * WebView.subproj/WebDataSourcePrivate.h:
  18706. * WebView.subproj/WebDebugDOMNode.h:
  18707. * WebView.subproj/WebDocument.h:
  18708. * WebView.subproj/WebFrame.h:
  18709. * WebView.subproj/WebFramePrivate.h:
  18710. * WebView.subproj/WebFrameView.h:
  18711. * WebView.subproj/WebHTMLRepresentation.h:
  18712. * WebView.subproj/WebHTMLView.h:
  18713. * WebView.subproj/WebMainResourceClient.h:
  18714. * WebView.subproj/WebPolicyDelegate.h:
  18715. * WebView.subproj/WebPolicyDelegatePrivate.h:
  18716. * WebView.subproj/WebPreferencesPrivate.h:
  18717. * WebView.subproj/WebRenderNode.h:
  18718. * WebView.subproj/WebResourceLoadDelegate.h:
  18719. * WebView.subproj/WebUIDelegate.h:
  18720. * WebView.subproj/WebView.h:
  18721. * WebView.subproj/WebViewPrivate.h:
  18722. 2003-05-02 Maciej Stachowiak <mjs@apple.com>
  18723. Reviewed by Darin.
  18724. - fixed 2936175 - MALLORY: please implement onResize
  18725. * WebView.subproj/WebHTMLViewPrivate.h:
  18726. * WebView.subproj/WebHTMLView.m:
  18727. (-[WebHTMLView layoutToPageWidth:]): If we just resized and we're
  18728. not printing, make sure to send a resize event after the layout.
  18729. 2003-05-02 Darin Adler <darin@apple.com>
  18730. Reviewed by John.
  18731. - fixed 3236383 -- http://www.xy.com/ exception, crash loading main page
  18732. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge closeWindowSoon]): Replaces
  18733. closeWindow. Schedule a closeWindow operation in the WebView. Important to not have
  18734. the call's execution depend on whether this WebBridge or WebFrame is still around
  18735. after the delay.
  18736. * WebView.subproj/WebViewPrivate.h: Added _closeWindow.
  18737. * WebView.subproj/WebViewPrivate.m: (-[WebView _closeWindow]): Make a webViewClose:
  18738. call on the UI delegate.
  18739. 2003-05-02 Darin Adler <darin@apple.com>
  18740. Reviewed by John.
  18741. - first step in fixing 3236383 -- http://www.xy.com/ exception, crash loading main page
  18742. Changed WebFrame to explicitly detach from the bridge so we don't have a stale pointer;
  18743. also cleaned up WebBridge initialization.
  18744. * WebCoreSupport.subproj/WebBridge.h: Added initWithWebFrame: and close methods, removed
  18745. setWebFrame: method.
  18746. * WebView.subproj/WebFrame.m:
  18747. (-[WebFrame initWithName:webFrameView:webView:]): Use the new initWithWebFrame:.
  18748. * WebView.subproj/WebFramePrivate.m:
  18749. (-[WebFrame _detachFromParent]): Call close on the bridge.
  18750. - fixed many places that call a WebView a "controller"
  18751. * Misc.subproj/WebKitStatistics.h:
  18752. * Misc.subproj/WebKitStatistics.m:
  18753. * Misc.subproj/WebKitStatisticsPrivate.h:
  18754. * Misc.subproj/WebNSViewExtras.m:
  18755. * Plugins.subproj/WebBaseNetscapePluginView.h:
  18756. * Plugins.subproj/WebBaseNetscapePluginView.m:
  18757. * Plugins.subproj/WebNetscapePluginStream.m:
  18758. * WebCoreSupport.subproj/WebBridge.m:
  18759. * WebCoreSupport.subproj/WebSubresourceClient.m:
  18760. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  18761. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  18762. * WebView.subproj/WebControllerSets.h:
  18763. * WebView.subproj/WebControllerSets.m:
  18764. * WebView.subproj/WebDataSourcePrivate.h:
  18765. * WebView.subproj/WebDataSourcePrivate.m:
  18766. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  18767. * WebView.subproj/WebFrame.m:
  18768. * WebView.subproj/WebFramePrivate.h:
  18769. * WebView.subproj/WebFrameView.m:
  18770. * WebView.subproj/WebFrameViewPrivate.h:
  18771. * WebView.subproj/WebFrameViewPrivate.m:
  18772. * WebView.subproj/WebImageView.m:
  18773. * WebView.subproj/WebMainResourceClient.m:
  18774. * WebView.subproj/WebTextView.m:
  18775. * WebView.subproj/WebView.m:
  18776. * WebView.subproj/WebViewPrivate.h:
  18777. * WebView.subproj/WebViewPrivate.m:
  18778. 2003-05-01 John Sullivan <sullivan@apple.com>
  18779. - fixed 3246045 -- History items without a valid date in
  18780. History.plist show up with unexpected dates in UI
  18781. Reviewed by Darin.
  18782. * History.subproj/WebHistoryItem.m:
  18783. (-[WebHistoryItem initFromDictionaryRepresentation:]):
  18784. don't set lastVisitedTimeInterval to [nil doubleValue],
  18785. since this is random
  18786. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
  18787. 2003-05-01 Richard Williamson <rjw@apple.com>
  18788. Added missing header and alphabetized.
  18789. Reviewed by Ken.
  18790. * Misc.subproj/WebKit.h:
  18791. 2003-05-01 Chris Blumenberg <cblu@apple.com>
  18792. Fixed: 3234888 - REGRESSION: "can't add a plug-in to a defunct WebPluginController" error, then crash
  18793. Fixed: 3226392 - REGRESSION: Safari crashed while loading Java applet at PopCap.com
  18794. Reviewed by darin.
  18795. * WebView.subproj/WebFramePrivate.h:
  18796. * WebView.subproj/WebFramePrivate.m:
  18797. (-[WebFrame setController:]): fixed comment
  18798. * WebView.subproj/WebView.m:
  18799. (-[WebView dealloc]): call [self _close]
  18800. * WebView.subproj/WebViewPrivate.h:
  18801. * WebView.subproj/WebViewPrivate.m:
  18802. (-[WebViewPrivate dealloc]): let the WebView class clear the frames
  18803. (-[WebView _close]): remove self from controller set and detach and release frame
  18804. === Safari-77 ===
  18805. 2003-05-01 John Sullivan <sullivan@apple.com>
  18806. - fixed 3245793 -- Launching Safari-75 after tip of tree
  18807. erases all history
  18808. Reviewed by Chris, Don
  18809. * History.subproj/WebHistoryItem.m:
  18810. keep using "lastVisitedDate" as the dictionary key, since old
  18811. Safaris otherwise can't read the History file.
  18812. (-[WebHistoryItem dictionaryRepresentation]):
  18813. keep storing the time interval as a string, since old Safaris
  18814. otherwise can't read the History file
  18815. (-[WebHistoryItem initFromDictionaryRepresentation:]):
  18816. read the stored date as a string and convert to a double,
  18817. as we did before.
  18818. 2003-05-01 Darin Adler <darin@apple.com>
  18819. Reviewed by John.
  18820. - fixed 3169117 -- dragging while using a scroll wheel affects scroll movement
  18821. * WebView.subproj/WebHTMLViewPrivate.m:
  18822. (-[WebNSWindow nextEventMatchingMask:untilDate:inMode:dequeue:]):
  18823. Just return nil when called with NSScrollWheelMask to work around the bug where any
  18824. kind of event can be returned when this mask is passed. This will prevent scroll wheel
  18825. events from being coalesced, but it's better than extracting events of all different
  18826. types. Mouse moved events are particularly bad because they have deltaX/Y/Z and the
  18827. scroll wheel code in NSScrollView treats them as if they were scroll wheel events.
  18828. 2003-05-01 Ken Kocienda <kocienda@apple.com>
  18829. Reviewed by Darin
  18830. Updated to use approved NSHTTPCookieStorage API.
  18831. +sharedCookieManager -> +sharedHTTPCookieStorage
  18832. -acceptPolicy -> -cookieAcceptPolicy
  18833. -cookieRequestHeaderFieldsForURL: -> -cookiesForURL:
  18834. -setCookiesFromResponseHeader:forURL:policyBaseURL: -> -setCookies:forURL:mainDocumentURL:
  18835. * WebCoreSupport.subproj/WebCookieAdapter.m:
  18836. (-[WebCookieAdapter cookiesEnabled]):
  18837. (-[WebCookieAdapter cookiesForURL:]):
  18838. (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):
  18839. 2003-05-01 Darin Adler <darin@apple.com>
  18840. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
  18841. 2003-04-30 Kenneth Kocienda <kocienda@apple.com>
  18842. Reviewed by Richard
  18843. Modified WebFoundation error constant names. Names
  18844. now begin with NSURLError prefix.
  18845. * Plugins.subproj/WebNetscapePluginRepresentation.m:
  18846. (-[WebNetscapePluginRepresentation receivedError:withDataSource:]):
  18847. * WebCoreSupport.subproj/WebSubresourceClient.m:
  18848. (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
  18849. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  18850. (-[WebBaseResourceHandleDelegate cancelledError]):
  18851. * WebView.subproj/WebDataProtocol.m:
  18852. (-[WebDataProtocol startLoading]):
  18853. * WebView.subproj/WebDataSourcePrivate.m:
  18854. (-[WebDataSource _stopLoadingInternal]):
  18855. 2003-04-30 Kenneth Kocienda <kocienda@apple.com>
  18856. Reviewed by Richard
  18857. Use NSURLResponse new SPI methods to set instance variables.
  18858. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  18859. (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
  18860. * WebView.subproj/WebDataProtocol.m:
  18861. (-[WebDataProtocol startLoading]):
  18862. * WebView.subproj/WebMainResourceClient.m:
  18863. (-[WebMainResourceClient loadWithRequest:]):
  18864. 2003-04-30 Maciej Stachowiak <mjs@apple.com>
  18865. Reviewed by Richard.
  18866. Moved NSURLProtectionSpace over to officially blessed API.
  18867. * Panels.subproj/WebAuthenticationPanel.m:
  18868. (-[WebAuthenticationPanel setUpForChallenge:]):
  18869. 2003-04-30 Richard Williamson <rjw@apple.com>
  18870. Copy MIME type when copying WebDataProtocol's parameters.
  18871. Reviewed by Ken.
  18872. * WebView.subproj/WebDataProtocol.m:
  18873. (-[WebDataRequestParameters copyWithZone:]):
  18874. 2003-04-30 Richard Williamson <rjw@apple.com>
  18875. Documentation fixes.
  18876. Added "ADVISORY NOTE" about possible API change after beta SDK.
  18877. * History.subproj/WebHistory.h:
  18878. * WebView.subproj/WebUIDelegate.h:
  18879. 2003-04-30 Ken Kocienda <kocienda@apple.com>
  18880. Reviewed by Maciej
  18881. Tweaked some HTTP-specific NSURLRequest method names as specified
  18882. in the API errata list.
  18883. * Plugins.subproj/WebBaseNetscapePluginView.m:
  18884. (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
  18885. (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
  18886. * WebCoreSupport.subproj/WebBridge.m:
  18887. (-[WebBridge createWindowWithURL:frameName:]):
  18888. * WebCoreSupport.subproj/WebSubresourceClient.m:
  18889. (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
  18890. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  18891. (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
  18892. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  18893. (-[WebDefaultUIDelegate openNewWindowWithURL:]):
  18894. * WebView.subproj/WebFramePrivate.m:
  18895. (-[WebFrame _loadItem:withLoadType:]):
  18896. (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
  18897. (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
  18898. (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
  18899. * WebView.subproj/WebMainResourceClient.m:
  18900. (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
  18901. 2003-04-30 Maciej Stachowiak <mjs@apple.com>
  18902. Reviewed by Ken.
  18903. Minor header tweaks.
  18904. * Misc.subproj/WebDownload.h: Fix copyright notice.
  18905. * Panels.subproj/WebAuthenticationPanel.h: Added 2003 to copyright.
  18906. * WebView.subproj/WebAuthenticationChallenge.h: Fix copyright notice, add docs.
  18907. * WebView.subproj/WebAuthenticationChallengeInternal.h: Fix copyright notice.
  18908. 2003-04-30 Maciej Stachowiak <mjs@apple.com>
  18909. Reviewed by Ken.
  18910. Minor header tweaks.
  18911. * Misc.subproj/WebDownload.h: Fix copyright notice.
  18912. * Panels.subproj/WebAuthenticationPanel.h: Added 2003 to copyright.
  18913. * WebView.subproj/WebAuthenticationChallenge.h: Fix copyright notice, add docs.
  18914. * WebView.subproj/WebAuthenticationChallengeInternal.h: Fix copyright notice.
  18915. 2003-04-30 Maciej Stachowiak <mjs@apple.com>
  18916. Reviewed by Darin.
  18917. Fixed imports and @class directives for WebFoundation changes.
  18918. * Panels.subproj/WebAuthenticationPanel.h:
  18919. * Panels.subproj/WebAuthenticationPanel.m:
  18920. 2003-04-30 Richard Williamson <rjw@apple.com>
  18921. Fixed doc errors.
  18922. * History.subproj/WebHistory.h:
  18923. 2003-04-30 Maciej Stachowiak <mjs@apple.com>
  18924. Reviewed by Darin.
  18925. Some simple renames:
  18926. sharedURLCredentialStorage --> sharedCredentialStorage
  18927. URLCredentialWithUser:password:persistence: --> credentialWithUser:password:persistence:
  18928. * Panels.subproj/WebAuthenticationPanel.m:
  18929. (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]):
  18930. (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]):
  18931. 2003-04-30 Maciej Stachowiak <mjs@apple.com>
  18932. Reviewed by Darin.
  18933. Changed things to use WebAuthenticationChallenge for
  18934. WebResoureceLoadDelegate auth callbacks.
  18935. * Panels.subproj/WebPanelAuthenticationHandler.m:
  18936. (-[WebPanelAuthenticationHandler startAuthentication:window:]):
  18937. (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
  18938. * WebKit.exp:
  18939. * WebKit.pbproj/project.pbxproj:
  18940. * WebView.subproj/WebAuthenticationChallenge.h: Added.
  18941. * WebView.subproj/WebAuthenticationChallenge.m: Added.
  18942. (-[WebAuthenticationChallengeInternal initWithDelegate:]):
  18943. (-[WebAuthenticationChallengeInternal dealloc]):
  18944. (-[WebAuthenticationChallenge _initWithAuthenticationChallenge:delegate:]):
  18945. (-[WebAuthenticationChallenge dealloc]):
  18946. (-[WebAuthenticationChallenge useCredential:]):
  18947. (-[WebAuthenticationChallenge cancel]):
  18948. (-[WebAuthenticationChallenge continueWithoutCredential]):
  18949. * WebView.subproj/WebAuthenticationChallengeInternal.h: Added.
  18950. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  18951. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  18952. (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]):
  18953. (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]):
  18954. (-[WebBaseResourceHandleDelegate useCredential:forAuthenticationChallenge:]):
  18955. (-[WebBaseResourceHandleDelegate continueWithoutCredentialForAuthenticationChallenge:]):
  18956. (-[WebBaseResourceHandleDelegate cancelWithError:]):
  18957. * WebView.subproj/WebDefaultResourceLoadDelegate.m:
  18958. (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]):
  18959. (-[WebDefaultResourceLoadDelegate webView:resource:didCancelAuthenticationChallenge:fromDataSource:]):
  18960. * WebView.subproj/WebResourceLoadDelegate.h:
  18961. 2003-04-30 Maciej Stachowiak <mjs@apple.com>
  18962. Reviewed by Darin.
  18963. Converted download code to use an
  18964. NSURLDownloadAuthenticationChallenge rather than a vanilla
  18965. NSURLAuthenticationChallenge.
  18966. * Misc.subproj/WebDownload.m:
  18967. (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]):
  18968. (-[WebDownloadInternal download:didCancelAuthenticationChallenge:]):
  18969. * Panels.subproj/WebPanelAuthenticationHandler.h:
  18970. * Panels.subproj/WebPanelAuthenticationHandler.m:
  18971. (-[WebPanelAuthenticationHandler startAuthentication:window:]):
  18972. (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
  18973. 2003-04-30 Ken Kocienda <kocienda@apple.com>
  18974. Reviewed by Richard
  18975. Changed cookie-related constants and enums to
  18976. the API-approved names. Also did some text
  18977. search and replace in comments to catch usages
  18978. of now-obsolete names.
  18979. * WebCoreSupport.subproj/WebCookieAdapter.m:
  18980. (-[WebCookieAdapter cookiesEnabled]):
  18981. 2003-04-30 Chris Blumenberg <cblu@apple.com>
  18982. FIXED: Clients of WebKit should have separate icon DB's
  18983. Reviewed by rjw.
  18984. * English.lproj/StringsNotToBeLocalized.txt:
  18985. * Misc.subproj/WebIconDatabase.h:
  18986. * Misc.subproj/WebIconDatabase.m:
  18987. (-[WebIconDatabase _createFileDatabase]): If the icon db hasn't been set using the defaults, create o directory using the bundle id.
  18988. * WebKit.exp:
  18989. 2003-04-30 Richard Williamson <rjw@apple.com>
  18990. API changes from final review meeting.
  18991. Moved view registry to WebView.
  18992. Changed WebHistoryItem to use NSTimeInterval (at least for public API).
  18993. Still creates a NSCalendarDate for compatibility. We should wean Safari
  18994. off it's use of NSCalendarDate.
  18995. Added public init method for WebHistoryItem.
  18996. Removed anchor from WebHistoryItem.
  18997. Added WebHistorySavedNotification.
  18998. Reviewed by Darin.
  18999. * History.subproj/WebHistory.m:
  19000. (-[WebHistory addItemForURL:]):
  19001. * History.subproj/WebHistoryItem.h:
  19002. * History.subproj/WebHistoryItem.m:
  19003. (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
  19004. (-[WebHistoryItem copyWithZone:]):
  19005. (-[WebHistoryItem lastVisitedTimeInterval]):
  19006. (-[WebHistoryItem anchor]):
  19007. (-[WebHistoryItem _setLastVisitedTimeInterval:]):
  19008. (-[WebHistoryItem _lastVisitedDate]):
  19009. (-[WebHistoryItem dictionaryRepresentation]):
  19010. (-[WebHistoryItem initFromDictionaryRepresentation:]):
  19011. * History.subproj/WebHistoryItemPrivate.h:
  19012. * History.subproj/WebHistoryPrivate.m:
  19013. (-[WebHistoryPrivate insertItem:atDateIndex:]):
  19014. (-[WebHistoryPrivate removeItemForURLString:]):
  19015. (-[WebHistoryPrivate addItem:]):
  19016. (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
  19017. * Plugins.subproj/WebPluginDatabase.m:
  19018. (-[WebPluginDatabase init]):
  19019. * WebView.subproj/WebFrame.h:
  19020. * WebView.subproj/WebFrame.m:
  19021. * WebView.subproj/WebFramePrivate.m:
  19022. (-[WebFrame _transitionToCommitted:]):
  19023. * WebView.subproj/WebView.h:
  19024. * WebView.subproj/WebView.m:
  19025. (+[WebView registerViewClass:representationClass:forMIMEType:]):
  19026. 2003-04-29 Maciej Stachowiak <mjs@apple.com>
  19027. Reviewed by Darin.
  19028. - Adjusted for authentication API change - now we expect
  19029. authentication via the connection delegate, not a separate global
  19030. authentication handler
  19031. * Misc.subproj/WebKit.h: Include WebDownload.h
  19032. * Misc.subproj/WebDownload.h: Added.
  19033. * Misc.subproj/WebDownload.m: Added - this new class is just like NSURLDownload
  19034. but if the standard auth delegate methods are not implemented, it prompts using
  19035. the standard AppKit sheet.
  19036. * Panels.subproj/WebPanelAuthenticationHandler.h:
  19037. * Panels.subproj/WebPanelAuthenticationHandler.m:
  19038. (+[WebPanelAuthenticationHandler sharedHandler]): New method to get a shared
  19039. handler, since we no logner register an instance with WebFoundation.
  19040. (-[WebPanelAuthenticationHandler startAuthentication:window:]): Do things
  19041. using the new API.
  19042. (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
  19043. Likewise.
  19044. * WebKit.exp: Export WebDownload.
  19045. * WebKit.pbproj/project.pbxproj: Add new files to build.
  19046. - Removed WebStandardPanels - this is removed from the API.
  19047. * Panels.subproj/WebStandardPanels.h: Removed.
  19048. * Panels.subproj/WebStandardPanels.m: Removed.
  19049. * Panels.subproj/WebStandardPanelsPrivate.h: Removed.
  19050. * Panels.subproj/WebAuthenticationPanel.m: Remove WebStandardPanels.h import.
  19051. - Added new resource load delegate auth methods:
  19052. * WebView.subproj/WebResourceLoadDelegate.h:
  19053. - Use WebDownload where appropriate, and remove use of WebStandardPanels:
  19054. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  19055. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  19056. (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]):
  19057. Pass to resource load delegate.
  19058. (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]):
  19059. Likewise.
  19060. (-[WebBaseResourceHandleDelegate dealloc]): Don't track currentURL any more.
  19061. (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): Likewise.
  19062. (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): Likewise.
  19063. (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]): Likewise.
  19064. (-[WebBaseResourceHandleDelegate cancelWithError:]): Likewise.
  19065. * WebView.subproj/WebDefaultResourceLoadDelegate.m:
  19066. (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]):
  19067. Prompt using the standard panel.
  19068. (-[WebDefaultResourceLoadDelegate webView:resource:didCancelAuthenticationChallenge:fromDataSource:]):
  19069. Cancel prompting using the standard panel.
  19070. * WebView.subproj/WebMainResourceClient.m:
  19071. (-[WebMainResourceClient continueAfterContentPolicy:response:]): Use WebDownload instead
  19072. of NSURLDownload.
  19073. * WebView.subproj/WebView.h: Remove unneeded @class directives,
  19074. and mention WebDownload instead of NSURLDownload.
  19075. * WebView.subproj/WebViewPrivate.h:
  19076. * WebView.subproj/WebViewPrivate.m:
  19077. (-[WebView _downloadURL:toDirectory:]): Use WebDownload instead of NSURLDownload.
  19078. (-[WebView _cacheResourceLoadDelegateImplementations]): Track auth methods too.
  19079. 2003-04-30 Ken Kocienda <kocienda@apple.com>
  19080. Reviewed by Darin
  19081. Changed cookie-related class names:
  19082. WebCookie -> NSHTTPCookie
  19083. WebCookiePrivate -> NSHTTPCookieInternal
  19084. WebCookieManager -> NSHTTPCookieStorage
  19085. WebCookieManagerPrivate -> NSHTTPCookieStorageInternal
  19086. * WebCoreSupport.subproj/WebCookieAdapter.m:
  19087. (-[WebCookieAdapter cookiesEnabled]):
  19088. (-[WebCookieAdapter cookiesForURL:]):
  19089. (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):
  19090. 2003-04-30 Ken Kocienda <kocienda@apple.com>
  19091. Reviewed by Darin
  19092. Changed file names for these classes. The contents
  19093. of the files themselves remain unchanged.
  19094. WebCookie -> NSHTTPCookie.
  19095. WebCookieManager -> NSHTTPCookieStorage.
  19096. * WebCoreSupport.subproj/WebCookieAdapter.m:
  19097. * WebView.subproj/WebMainResourceClient.m:
  19098. 2003-04-30 Darin Adler <darin@apple.com>
  19099. Reviewed by Ken.
  19100. - make change to avoid misunderstanding that led to bug report 3179394
  19101. "Safari: Request that temp files use actual file extensions"
  19102. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  19103. (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
  19104. Don't put a dot between "SafariPlugInStream" and the the 6-digit unique number, so the number
  19105. does not look like an extension. Also make it "WebKitPlugInStream" since this is used for
  19106. other WebKit clients, and not just Safari.
  19107. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
  19108. 2003-04-29 Richard Williamson <rjw@apple.com>
  19109. API changes from final review meeting.
  19110. Added textEncodingName method to WebDataSource.
  19111. Reviewed by Chris.
  19112. * WebView.subproj/WebDataSource.h:
  19113. * WebView.subproj/WebDataSource.m:
  19114. (-[WebDataSource textEncodingName]):
  19115. 2003-04-29 Chris Blumenberg <cblu@apple.com>
  19116. Updated to use the new NSURLDownload API.
  19117. Reviewed by rjw.
  19118. * WebView.subproj/WebDataSourcePrivate.h:
  19119. * WebView.subproj/WebDataSourcePrivate.m:
  19120. (-[WebDataSourcePrivate dealloc]):
  19121. * WebView.subproj/WebMainResourceClient.m:
  19122. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  19123. * WebView.subproj/WebViewPrivate.m:
  19124. (-[WebView _downloadURL:toDirectory:]):
  19125. 2003-04-29 Richard Williamson <rjw@apple.com>
  19126. Added "Copyright (C) 2003 Apple Computer, Inc. All rights reserved."
  19127. to all public headers. Also made formatting consistent.
  19128. Reviewed by darin.
  19129. * Carbon.subproj/CarbonUtils.h:
  19130. * Carbon.subproj/HIWebView.h:
  19131. * History.subproj/WebBackForwardList.h:
  19132. * History.subproj/WebHistory.h:
  19133. * History.subproj/WebHistoryItem.h:
  19134. * Misc.subproj/WebKit.h:
  19135. * Misc.subproj/WebKitErrors.h:
  19136. * WebView.subproj/WebDataSource.h:
  19137. * WebView.subproj/WebDocument.h:
  19138. * WebView.subproj/WebFrame.h:
  19139. * WebView.subproj/WebFrameLoadDelegate.h:
  19140. * WebView.subproj/WebFrameView.h:
  19141. * WebView.subproj/WebPolicyDelegate.h:
  19142. * WebView.subproj/WebPreferences.h:
  19143. * WebView.subproj/WebResourceLoadDelegate.h:
  19144. * WebView.subproj/WebUIDelegate.h:
  19145. * WebView.subproj/WebView.h:
  19146. 2003-04-28 Don Melton <gramps@apple.com>
  19147. Fixed 3225050 -- Default font size should be 16px
  19148. Fixed 3241813 -- No longer spoof as WinIE for abcnews.go.com when
  19149. default font size becomes 16px
  19150. Reviewed by Darin and Maciej.
  19151. * English.lproj/StringsNotToBeLocalized.txt:
  19152. Updated.
  19153. * WebCoreSupport.subproj/WebTextRenderer.m:
  19154. (-[WebTextRenderer initWithFont:usingPrinterFont:]):
  19155. We need to adjust Times, Helvetica, and Courier to closely match the
  19156. vertical metrics of their Microsoft counterparts that are the de facto
  19157. web standard. The AppKit adjustment of 20% is too big and is
  19158. incorrectly added to line spacing, so we use a 15% adjustment instead
  19159. and add it to the ascent.
  19160. * WebView.subproj/WebPreferences.m:
  19161. (+[WebPreferences initialize]):
  19162. Changed default font size from 14 to 16 pixels and default fixed font
  19163. size from 14 to 13 pixels. Changed standard font from Lucida Grande to
  19164. Times, serif font from Times New Roman to Times, and sans serif font
  19165. from Lucida Grande to Helvetica. Also replaced some stray tabs with
  19166. spaces and made a few other anal-retentive formatting changes.
  19167. * WebView.subproj/WebUserAgentSpoofTable.c:
  19168. (hash):
  19169. (_web_findSpoofTableEntry):
  19170. * WebView.subproj/WebUserAgentSpoofTable.gperf:
  19171. No longer spoof as Windows MSIE for abcnews.go.com since we've also
  19172. changed the default font size.
  19173. 2003-04-28 Richard Williamson <rjw@apple.com>
  19174. API changes from final review meeting.
  19175. goBackOrForwardToItem: -> goToBackForwardItem:
  19176. drop "Window" from WebUIDelegate method names.
  19177. WebElementIsSelectedTextKey -> WebElementIsSelectedKey
  19178. Cross-frame searchFor on WebView now public.
  19179. Reviewed by Chris.
  19180. * Plugins.subproj/WebBaseNetscapePluginView.m:
  19181. * WebCoreSupport.subproj/WebBridge.m:
  19182. * WebKit.exp:
  19183. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  19184. * WebView.subproj/WebDefaultUIDelegate.m:
  19185. * WebView.subproj/WebFrame.h:
  19186. * WebView.subproj/WebFramePrivate.m:
  19187. * WebView.subproj/WebHTMLView.m:
  19188. * WebView.subproj/WebHTMLViewPrivate.m:
  19189. * WebView.subproj/WebImageView.m:
  19190. * WebView.subproj/WebPolicyDelegate.h:
  19191. * WebView.subproj/WebTextView.m:
  19192. * WebView.subproj/WebUIDelegate.h:
  19193. * WebView.subproj/WebView.h:
  19194. * WebView.subproj/WebView.m:
  19195. * WebView.subproj/WebViewPrivate.h:
  19196. * WebView.subproj/WebViewPrivate.m:
  19197. 2003-04-28 Ken Kocienda <kocienda@apple.com>
  19198. Reviewed by Chris
  19199. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  19200. (-[WebBaseNetscapePluginStream setResponse:]): _lastModifiedDate on
  19201. NSURLResponse is now SPI.
  19202. * WebView.subproj/WebDataSourcePrivate.m:
  19203. (-[WebDataSource _commitIfReady:]): Ditto.
  19204. 2003-04-27 Chris Blumenberg <cblu@apple.com>
  19205. Improved headerdoc comments.
  19206. * Misc.subproj/WebKitErrors.h:
  19207. * WebView.subproj/WebFrameLoadDelegate.h:
  19208. 2003-04-25 Don Melton <gramps@apple.com>
  19209. Backed out Richard's (hopefully) accidental checkin of our experiments
  19210. from earlier today. Otherwise many layout tests are hosed. But this
  19211. change, or something like it, will arrive soon.
  19212. * WebCoreSupport.subproj/WebTextRenderer.m:
  19213. (-[WebTextRenderer initWithFont:usingPrinterFont:]):
  19214. 2003-04-25 Richard Williamson <rjw@apple.com>
  19215. API changes from final review meeting.
  19216. WebView:
  19217. Added canShowMIMETypeAsHTML:
  19218. WebFrameView:
  19219. Removed scrollView
  19220. Removed isDocumentHTML
  19221. WebDataSource:
  19222. Removed isDocumentHTML
  19223. Reviewed by Chris.
  19224. * WebCoreSupport.subproj/WebTextRenderer.m:
  19225. (-[WebTextRenderer initWithFont:usingPrinterFont:]):
  19226. * WebView.subproj/WebDataSource.h:
  19227. * WebView.subproj/WebDataSource.m:
  19228. * WebView.subproj/WebDataSourcePrivate.h:
  19229. * WebView.subproj/WebDataSourcePrivate.m:
  19230. (-[WebDataSource _layoutChildren]):
  19231. (-[WebDataSource _mainDocumentError]):
  19232. (-[WebDataSource _isDocumentHTML]):
  19233. * WebView.subproj/WebFramePrivate.m:
  19234. (-[WebFrame _makeDocumentView]):
  19235. (-[WebFrame _setState:]):
  19236. (-[WebFrame _isLoadComplete]):
  19237. * WebView.subproj/WebFrameView.h:
  19238. * WebView.subproj/WebFrameView.m:
  19239. (-[WebFrameView setAllowsScrolling:]):
  19240. (-[WebFrameView allowsScrolling]):
  19241. (-[WebFrameView documentView]):
  19242. (-[WebFrameView drawRect:]):
  19243. (-[WebFrameView setFrameSize:]):
  19244. * WebView.subproj/WebFrameViewPrivate.h:
  19245. * WebView.subproj/WebFrameViewPrivate.m:
  19246. (-[WebFrameView _setDocumentView:]):
  19247. (-[WebFrameView _scrollView]):
  19248. (-[WebFrameView _contentView]):
  19249. (-[WebFrameView _verticalKeyboardScrollAmount]):
  19250. (-[WebFrameView _horizontalKeyboardScrollAmount]):
  19251. (-[WebFrameView _scrollToBottomLeft]):
  19252. (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
  19253. (+[WebFrameView _canShowMIMETypeAsHTML:]):
  19254. * WebView.subproj/WebHTMLView.m:
  19255. (-[WebHTMLView _setPrinting:pageWidth:]):
  19256. * WebView.subproj/WebHTMLViewPrivate.m:
  19257. (-[WebHTMLView _updateMouseoverWithEvent:]):
  19258. * WebView.subproj/WebView.h:
  19259. * WebView.subproj/WebView.m:
  19260. (+[WebView canShowMIMETypeAsHTML:]):
  19261. 2003-04-25 Chris Blumenberg <cblu@apple.com>
  19262. Renamed WebDownload to NSURLDownload and moved it to WebFoundation.
  19263. Reviewed by rjw.
  19264. * Downloads.subproj/WebBinHexDecoder.h: Removed.
  19265. * Downloads.subproj/WebBinHexDecoder.m: Removed.
  19266. * Downloads.subproj/WebDownload.h: Removed.
  19267. * Downloads.subproj/WebDownload.m: Removed.
  19268. * Downloads.subproj/WebDownloadDecoder.h: Removed.
  19269. * Downloads.subproj/WebDownloadPrivate.h: Removed.
  19270. * Downloads.subproj/WebGZipDecoder.h: Removed.
  19271. * Downloads.subproj/WebGZipDecoder.m: Removed.
  19272. * Downloads.subproj/WebMacBinaryDecoder.h: Removed.
  19273. * Downloads.subproj/WebMacBinaryDecoder.m: Removed.
  19274. * Downloads.subproj/crc16.h: Removed.
  19275. * Downloads.subproj/crc16.m: Removed.
  19276. * English.lproj/Localizable.strings:
  19277. * English.lproj/StringsNotToBeLocalized.txt:
  19278. * Misc.subproj/WebKit.h:
  19279. * Misc.subproj/WebKitErrors.h:
  19280. * Misc.subproj/WebKitErrors.m:
  19281. (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]):
  19282. (registerErrors):
  19283. * Misc.subproj/WebNSWorkspaceExtras.h: Removed.
  19284. * Misc.subproj/WebNSWorkspaceExtras.m: Removed.
  19285. * WebKit.exp:
  19286. * WebKit.pbproj/project.pbxproj:
  19287. * WebView.subproj/WebDataSource.m:
  19288. * WebView.subproj/WebDataSourcePrivate.m:
  19289. * WebView.subproj/WebMainResourceClient.h:
  19290. * WebView.subproj/WebMainResourceClient.m:
  19291. (-[WebMainResourceClient initWithDataSource:]):
  19292. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  19293. * WebView.subproj/WebView.h:
  19294. * WebView.subproj/WebViewPrivate.m:
  19295. (-[WebView _downloadURL:toDirectory:]):
  19296. 2003-04-25 Richard Williamson <rjw@apple.com>
  19297. Final API review changes.
  19298. parent -> parentFrame
  19299. children -> childFrames
  19300. Reviewed by Chris.
  19301. * WebView.subproj/WebHTMLView.m:
  19302. (-[WebHTMLView _setPrinting:pageWidth:]):
  19303. 2003-04-25 Richard Williamson <rjw@apple.com>
  19304. Final API review changes.
  19305. parent -> parentFrame
  19306. children -> childFrames
  19307. Reviewed by Chris.
  19308. * WebCoreSupport.subproj/WebBridge.m:
  19309. (-[WebBridge childFrames]):
  19310. (-[WebBridge frameDetached]):
  19311. 2003-04-25 Richard Williamson <rjw@apple.com>
  19312. Final API review changes.
  19313. WebFrame:
  19314. parent -> parentFrame
  19315. children -> childFrames
  19316. loadString:baseURL: -> loadHTMLString:baseURL:
  19317. laodData:encodingName:baseURL: -> loadData:MIMEType:textEncodingName:baseURL:
  19318. Reviewed by Chris.
  19319. * WebView.subproj/WebDataProtocol.h:
  19320. * WebView.subproj/WebDataProtocol.m:
  19321. (-[WebDataRequestParameters dealloc]):
  19322. (-[NSURLRequest _webDataRequestMIMEType]):
  19323. (-[NSURLRequest _webDataRequestSetMIMEType:]):
  19324. (-[WebDataProtocol startLoading]):
  19325. * WebView.subproj/WebDataSource.m:
  19326. (-[WebDataSource isLoading]):
  19327. * WebView.subproj/WebDataSourcePrivate.m:
  19328. (-[WebDataSource _recursiveStopLoading]):
  19329. (-[WebDataSource _layoutChildren]):
  19330. (-[WebDataSource _defersCallbacksChanged]):
  19331. * WebView.subproj/WebFrame.h:
  19332. * WebView.subproj/WebFrame.m:
  19333. (-[WebFrame loadHTMLString:baseURL:]):
  19334. (-[WebFrame findFrameNamed:]):
  19335. (-[WebFrame parentFrame]):
  19336. (-[WebFrame childFrames]):
  19337. * WebView.subproj/WebFramePrivate.m:
  19338. (-[WebFrame _createItem]):
  19339. (-[WebFrame _descendantFrameNamed:]):
  19340. (-[WebFrame _transitionToCommitted:]):
  19341. (-[WebFrame _isLoadComplete]):
  19342. (+[WebFrame _recursiveCheckCompleteFromFrame:]):
  19343. (-[WebFrame _textSizeMultiplierChanged]):
  19344. (-[WebFrame _viewWillMoveToHostWindow:]):
  19345. (-[WebFrame _viewDidMoveToHostWindow]):
  19346. (-[WebFrame _saveDocumentAndScrollState]):
  19347. (-[WebFrame _loadDataSource:withLoadType:formState:]):
  19348. * WebView.subproj/WebViewPrivate.m:
  19349. (-[WebViewPrivate _clearControllerReferences:]):
  19350. (-[WebView _frameForDataSource:fromFrame:]):
  19351. (-[WebView _frameForView:fromFrame:]):
  19352. 2003-04-25 Chris Blumenberg <cblu@apple.com>
  19353. Don't do "@class WebDataSource" as that class isn't mentioned in this file.
  19354. * WebView.subproj/WebFrameLoadDelegate.h:
  19355. 2003-04-25 Chris Blumenberg <cblu@apple.com>
  19356. Turned WebLocationChangeDelegate into WebFrameLoadDelegate. Renamed WebFrameLoadDelegate all methods to pass a frame instead of the data source.
  19357. Reviewed by rjw.
  19358. * English.lproj/Localizable.strings:
  19359. * Misc.subproj/WebKit.h:
  19360. * Misc.subproj/WebKitErrors.h:
  19361. * Misc.subproj/WebKitErrors.m:
  19362. (registerErrors):
  19363. * WebCoreSupport.subproj/WebBridge.m:
  19364. * WebKit.pbproj/project.pbxproj:
  19365. * WebView.subproj/WebDataSourcePrivate.m:
  19366. (-[WebDataSource _startLoading:]):
  19367. (-[WebDataSource _setTitle:]):
  19368. (-[WebDataSource _setRequest:]):
  19369. (-[WebDataSource _updateIconDatabaseWithURL:]):
  19370. * WebView.subproj/WebDefaultFrameLoadDelegate.h: Added.
  19371. * WebView.subproj/WebDefaultFrameLoadDelegate.m: Added.
  19372. (+[WebDefaultFrameLoadDelegate sharedFrameLoadDelegate]):
  19373. (-[WebDefaultFrameLoadDelegate webView:didStartProvisionalLoadForFrame:]):
  19374. (-[WebDefaultFrameLoadDelegate webView:didReceiveServerRedirectForProvisionalLoadForFrame:]):
  19375. (-[WebDefaultFrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]):
  19376. (-[WebDefaultFrameLoadDelegate webView:didCommitLoadForFrame:]):
  19377. (-[WebDefaultFrameLoadDelegate webView:didReceiveTitle:forFrame:]):
  19378. (-[WebDefaultFrameLoadDelegate webView:didReceiveIcon:forFrame:]):
  19379. (-[WebDefaultFrameLoadDelegate webView:didFinishLoadForFrame:]):
  19380. (-[WebDefaultFrameLoadDelegate webView:didFailLoadWithError:forFrame:]):
  19381. (-[WebDefaultFrameLoadDelegate webView:didChangeLocationWithinPageForFrame:]):
  19382. (-[WebDefaultFrameLoadDelegate webView:willPerformClientRedirectToURL:delay:fireDate:forFrame:]):
  19383. (-[WebDefaultFrameLoadDelegate webView:didCancelClientRedirectForFrame:]):
  19384. (-[WebDefaultFrameLoadDelegate webView:willCloseFrame:]):
  19385. * WebView.subproj/WebDefaultLocationChangeDelegate.h: Removed.
  19386. * WebView.subproj/WebDefaultLocationChangeDelegate.m: Removed.
  19387. * WebView.subproj/WebFrame.m:
  19388. * WebView.subproj/WebFrameLoadDelegate.h: Added.
  19389. * WebView.subproj/WebFramePrivate.m:
  19390. (-[WebFrame _closeOldDataSources]):
  19391. (-[WebFrame _transitionToCommitted:]):
  19392. (-[WebFrame _isLoadComplete]):
  19393. (-[WebFrame _loadItem:withLoadType:]):
  19394. (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
  19395. (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:]):
  19396. (-[WebFrame _clientRedirectCancelled]):
  19397. * WebView.subproj/WebLocationChangeDelegate.h: Removed.
  19398. * WebView.subproj/WebMainResourceClient.m:
  19399. (-[WebMainResourceClient interruptForPolicyChangeError]):
  19400. * WebView.subproj/WebPolicyDelegate.h:
  19401. * WebView.subproj/WebView.h:
  19402. * WebView.subproj/WebView.m:
  19403. (-[WebView setFrameLoadDelegate:]):
  19404. (-[WebView frameLoadDelegate]):
  19405. * WebView.subproj/WebViewPrivate.h:
  19406. * WebView.subproj/WebViewPrivate.m:
  19407. (-[WebViewPrivate dealloc]):
  19408. (-[WebView _frameLoadDelegateForwarder]):
  19409. 2003-04-25 John Sullivan <sullivan@apple.com>
  19410. - fixed 3240676 -- REGRESSION: Using old Safari then new one
  19411. erases history
  19412. Reviewed by Darin.
  19413. * History.subproj/WebHistoryPrivate.m:
  19414. (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
  19415. The new code to use a synchronous NSURLConnection to read the
  19416. property list file did not take into account the two possible
  19417. formats of the file (NSArray or NSDictionary), so reading
  19418. old-style history files was completely broken. While in here,
  19419. I distributed the variable declarations to first use.
  19420. 2003-04-24 Maciej Stachowiak <mjs@apple.com>
  19421. Fixed build.
  19422. * Panels.subproj/WebStandardPanels.m:
  19423. (-[WebStandardPanels setUsesStandardAuthenticationPanel:]):
  19424. 2003-04-24 Maciej Stachowiak <mjs@apple.com>
  19425. Reviewed by Ken.
  19426. Updated for auth API changes.
  19427. * Panels.subproj/WebStandardPanels.m:
  19428. (-[WebStandardPanels setUsesStandardAuthenticationPanel:]):
  19429. 2003-04-24 Richard Williamson <rjw@apple.com>
  19430. Final API review changes.
  19431. Renamed WebWindowOperationsDelegate to WebUIDelegate.
  19432. Merged WebContextMenuDelegate into WebUIDelegate.
  19433. Fixed crasher if history file doesn't exist.
  19434. Reviewed by Ken.
  19435. * History.subproj/WebHistory.h:
  19436. * History.subproj/WebHistoryPrivate.m:
  19437. (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
  19438. * Misc.subproj/WebKit.h:
  19439. * Plugins.subproj/WebBaseNetscapePluginView.m:
  19440. (-[WebBaseNetscapePluginView loadPluginRequest:]):
  19441. (-[WebBaseNetscapePluginView status:]):
  19442. * Plugins.subproj/WebPluginController.m:
  19443. (-[WebPluginController showStatus:]):
  19444. * WebCoreSupport.subproj/WebBridge.h:
  19445. * WebCoreSupport.subproj/WebBridge.m:
  19446. (-[WebBridge createWindowWithURL:frameName:]):
  19447. (-[WebBridge showWindow]):
  19448. (-[WebBridge areToolbarsVisible]):
  19449. (-[WebBridge setToolbarsVisible:]):
  19450. (-[WebBridge isStatusBarVisible]):
  19451. (-[WebBridge setStatusBarVisible:]):
  19452. (-[WebBridge setWindowFrame:]):
  19453. (-[WebBridge windowFrame]):
  19454. (-[WebBridge setWindowContentRect:]):
  19455. (-[WebBridge windowContentRect]):
  19456. (-[WebBridge setWindowIsResizable:]):
  19457. (-[WebBridge windowIsResizable]):
  19458. (-[WebBridge firstResponder]):
  19459. (-[WebBridge makeFirstResponder:]):
  19460. (-[WebBridge closeWindow]):
  19461. (-[WebBridge runJavaScriptAlertPanelWithMessage:]):
  19462. (-[WebBridge runJavaScriptConfirmPanelWithMessage:]):
  19463. (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
  19464. (-[WebBridge runOpenPanelForFileButtonWithResultListener:]):
  19465. (-[WebBridge setStatusText:]):
  19466. (-[WebBridge focusWindow]):
  19467. * WebKit.exp:
  19468. * WebKit.pbproj/project.pbxproj:
  19469. * WebView.subproj/WebContextMenuDelegate.h: Removed.
  19470. * WebView.subproj/WebDefaultContextMenuDelegate.h:
  19471. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  19472. * WebView.subproj/WebDefaultUIDelegate.h:
  19473. * WebView.subproj/WebDefaultUIDelegate.m:
  19474. (+[WebDefaultUIDelegate sharedUIDelegate]):
  19475. (-[WebDefaultUIDelegate dealloc]):
  19476. * WebView.subproj/WebDefaultWindowOperationsDelegate.h: Removed.
  19477. * WebView.subproj/WebDefaultWindowOperationsDelegate.m: Removed.
  19478. * WebView.subproj/WebFrame.m:
  19479. * WebView.subproj/WebFramePrivate.m:
  19480. (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
  19481. * WebView.subproj/WebFrameView.m:
  19482. * WebView.subproj/WebHTMLViewPrivate.m:
  19483. * WebView.subproj/WebUIDelegate.h:
  19484. * WebView.subproj/WebView.h:
  19485. * WebView.subproj/WebView.m:
  19486. (-[WebView setUIDelegate:]):
  19487. (-[WebView UIDelegate]):
  19488. (-[WebView downloadDelegate]):
  19489. * WebView.subproj/WebViewPrivate.h:
  19490. * WebView.subproj/WebViewPrivate.m:
  19491. (-[WebViewPrivate init]):
  19492. (-[WebViewPrivate dealloc]):
  19493. (-[WebView _openNewWindowWithRequest:]):
  19494. (-[WebView _menuForElement:]):
  19495. (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
  19496. (-[WebView _UIDelegateForwarder]):
  19497. * WebView.subproj/WebWindowOperationsDelegate.h: Removed.
  19498. 2003-04-24 Richard Williamson <rjw@apple.com>
  19499. Final API review changes.
  19500. * History.subproj/WebHistoryItem.h:
  19501. * History.subproj/WebHistoryItem.m:
  19502. (-[WebHistoryItem setAlternateTitle:]):
  19503. (-[WebHistoryItem initFromDictionaryRepresentation:]):
  19504. 2003-04-24 Richard Williamson <rjw@apple.com>
  19505. Final API review changes.
  19506. Reviewed by Chris.
  19507. * History.subproj/WebBackForwardList.h:
  19508. * History.subproj/WebBackForwardList.m:
  19509. (-[WebBackForwardList containsItem:]):
  19510. (-[WebBackForwardList capacity]):
  19511. (-[WebBackForwardList setCapacity:]):
  19512. (-[WebBackForwardList _clearPageCache]):
  19513. (-[WebBackForwardList setPageCacheSize:]):
  19514. (-[WebBackForwardList _setUsesPageCache:]):
  19515. (-[WebBackForwardList _usesPageCache]):
  19516. * History.subproj/WebHistory.h:
  19517. * History.subproj/WebHistory.m:
  19518. (+[WebHistory optionalSharedHistory]):
  19519. (+[WebHistory setOptionalSharedHistory:]):
  19520. (-[WebHistory init]):
  19521. (-[WebHistory loadFromURL:error:]):
  19522. (-[WebHistory saveToURL:error:]):
  19523. * History.subproj/WebHistoryItemPrivate.h:
  19524. * History.subproj/WebHistoryPrivate.h:
  19525. * History.subproj/WebHistoryPrivate.m:
  19526. (-[WebHistoryPrivate init]):
  19527. (-[WebHistoryPrivate dealloc]):
  19528. (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
  19529. (-[WebHistoryPrivate loadFromURL:error:]):
  19530. (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]):
  19531. (-[WebHistoryPrivate saveToURL:error:]):
  19532. * WebView.subproj/WebDataSourcePrivate.m:
  19533. (-[WebDataSource _setTitle:]):
  19534. * WebView.subproj/WebFramePrivate.m:
  19535. (-[WebFrame _transitionToCommitted:]):
  19536. (-[WebFrame _canCachePage]):
  19537. (-[WebFrame _purgePageCache]):
  19538. 2003-04-24 Maciej Stachowiak <mjs@apple.com>
  19539. Reviewed by Chris.
  19540. * Panels.subproj/WebAuthenticationPanel.m:
  19541. (-[WebAuthenticationPanel setUpForChallenge:]): Update for new Challenge API.
  19542. 2003-04-24 Chris Blumenberg <cblu@apple.com>
  19543. Renamed - [NSURLResponse suggestedFilenameForSaving] to suggestedFilename and moved it to WebFoundation.
  19544. Reviewed by mjs.
  19545. * Downloads.subproj/WebDownload.m:
  19546. (-[WebDownload _createFileIfNecessary]):
  19547. * English.lproj/Localizable.strings:
  19548. * English.lproj/StringsNotToBeLocalized.txt:
  19549. * Misc.subproj/WebNSURLResponseExtras.h: Removed.
  19550. * Misc.subproj/WebNSURLResponseExtras.m: Removed.
  19551. * Plugins.subproj/WebNullPluginView.m: include NSError to unbreak build.
  19552. * WebKit.pbproj/project.pbxproj:
  19553. 2003-04-24 Chris Blumenberg <cblu@apple.com>
  19554. Removed WebPluginError and instead added fields to the userInfo of NSError for plug-in specific errors.
  19555. Reviewed by rjw.
  19556. * Misc.subproj/WebKitErrors.h:
  19557. * Misc.subproj/WebKitErrors.m:
  19558. (+[NSError _webKitErrorWithCode:failingURL:]):
  19559. (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]):
  19560. * Misc.subproj/WebKitErrorsPrivate.h:
  19561. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  19562. (-[WebNetscapePluginDocumentView setDataSource:]):
  19563. * Plugins.subproj/WebNullPluginView.h:
  19564. * Plugins.subproj/WebNullPluginView.m:
  19565. * Plugins.subproj/WebPlugInError.h: Removed.
  19566. * Plugins.subproj/WebPlugInError.m: Removed.
  19567. * Plugins.subproj/WebPluginErrorPrivate.h: Removed.
  19568. * WebCoreSupport.subproj/WebBridge.m:
  19569. (-[WebBridge viewForPluginWithURLString:attributes:baseURLString:MIMEType:]):
  19570. (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURLString:]):
  19571. * WebKit.exp:
  19572. * WebKit.pbproj/project.pbxproj:
  19573. * WebView.subproj/WebDefaultResourceLoadDelegate.m:
  19574. (-[WebDefaultResourceLoadDelegate webView:plugInFailedWithError:dataSource:]):
  19575. * WebView.subproj/WebResourceLoadDelegate.h:
  19576. 2003-04-24 Darin Adler <darin@apple.com>
  19577. Reviewed by Chris.
  19578. - fixed 3210096 -- server identifies page as UTF-8, page identifies itself as windows-1252, server must win
  19579. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge receivedData:withDataSource:]):
  19580. Change for new WebCore API. Pass the encoding in a separate setEncoding call rather than
  19581. as a parameter in addData. Also don't handle default encoding here any more. Default encoding
  19582. is now handled the same way all the other preferences are, in a way that works better on the
  19583. WebCore side anyway; nil or empty string means use the default encoding.
  19584. 2003-04-24 Ken Kocienda <kocienda@apple.com>
  19585. Reviewed by Darin
  19586. Changed WebError to NSError
  19587. * Downloads.subproj/WebDownload.h:
  19588. * Downloads.subproj/WebDownload.m:
  19589. (-[WebDownload connection:didReceiveData:]):
  19590. (-[WebDownload connectionDidFinishLoading:]):
  19591. (-[WebDownload connection:didFailLoadingWithError:]):
  19592. (-[WebDownload _decodeData:]):
  19593. (-[WebDownload _writeDataForkData:resourceForkData:]):
  19594. (-[WebDownload _didCloseFile:]):
  19595. (-[WebDownload _cancelWithError:]):
  19596. (-[WebDownload _errorWithCode:]):
  19597. (CloseCompletionCallback):
  19598. * English.lproj/StringsNotToBeLocalized.txt:
  19599. * Misc.subproj/WebIconLoader.m:
  19600. (-[WebIconLoader connection:didFailLoadingWithError:]):
  19601. * Misc.subproj/WebKitErrors.h:
  19602. * Misc.subproj/WebKitErrors.m:
  19603. (+[NSError _webKitErrorWithCode:failingURL:]):
  19604. (registerErrors):
  19605. * Misc.subproj/WebKitErrorsPrivate.h:
  19606. * Plugins.subproj/WebNetscapePluginRepresentation.h:
  19607. * Plugins.subproj/WebNetscapePluginRepresentation.m:
  19608. (-[WebNetscapePluginRepresentation receivedError:withDataSource:]):
  19609. * Plugins.subproj/WebNetscapePluginStream.m:
  19610. (-[WebNetscapePluginStream connection:didFailLoadingWithError:]):
  19611. * Plugins.subproj/WebPlugInError.h:
  19612. * Plugins.subproj/WebPlugInError.m:
  19613. * WebCoreSupport.subproj/WebBridge.m:
  19614. * WebCoreSupport.subproj/WebSubresourceClient.m:
  19615. (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
  19616. (-[WebSubresourceClient receivedError:]):
  19617. (-[WebSubresourceClient connection:didFailLoadingWithError:]):
  19618. * WebKit.exp:
  19619. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  19620. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  19621. (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]):
  19622. (-[WebBaseResourceHandleDelegate cancelWithError:]):
  19623. (-[WebBaseResourceHandleDelegate cancelledError]):
  19624. * WebView.subproj/WebDataProtocol.m:
  19625. (-[WebDataProtocol startLoading]):
  19626. * WebView.subproj/WebDataSource.h:
  19627. * WebView.subproj/WebDataSourcePrivate.h:
  19628. * WebView.subproj/WebDataSourcePrivate.m:
  19629. (-[WebDataSource _stopLoadingInternal]):
  19630. (-[WebDataSource _setMainDocumentError:]):
  19631. (-[WebDataSource _receivedError:complete:]):
  19632. (-[WebDataSource _stopLoadingWithError:]):
  19633. (-[WebDataSource _mainDocumentError]):
  19634. * WebView.subproj/WebDefaultLocationChangeDelegate.m:
  19635. (-[WebDefaultLocationChangeDelegate webView:locationChangeDone:forDataSource:]):
  19636. * WebView.subproj/WebDefaultPolicyDelegate.m:
  19637. (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:frame:]):
  19638. * WebView.subproj/WebDefaultResourceLoadDelegate.m:
  19639. (-[WebDefaultResourceLoadDelegate webView:resource:didFailLoadingWithError:fromDataSource:]):
  19640. * WebView.subproj/WebDocument.h:
  19641. * WebView.subproj/WebFrame.h:
  19642. * WebView.subproj/WebFramePrivate.m:
  19643. (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]):
  19644. * WebView.subproj/WebFrameView.m:
  19645. * WebView.subproj/WebHTMLRepresentation.m:
  19646. (-[WebHTMLRepresentation receivedError:withDataSource:]):
  19647. * WebView.subproj/WebImageRepresentation.m:
  19648. (-[WebImageRepresentation receivedError:withDataSource:]):
  19649. * WebView.subproj/WebLocationChangeDelegate.h:
  19650. * WebView.subproj/WebMainResourceClient.m:
  19651. (-[WebMainResourceClient receivedError:]):
  19652. (-[WebMainResourceClient cancelWithError:]):
  19653. (-[WebMainResourceClient interruptForPolicyChangeError]):
  19654. (-[WebMainResourceClient connection:didFailLoadingWithError:]):
  19655. (-[WebResourceDelegateProxy connection:didFailLoadingWithError:]):
  19656. * WebView.subproj/WebPolicyDelegate.h:
  19657. * WebView.subproj/WebResourceLoadDelegate.h:
  19658. * WebView.subproj/WebTextRepresentation.m:
  19659. (-[WebTextRepresentation receivedError:withDataSource:]):
  19660. * WebView.subproj/WebView.h:
  19661. * WebView.subproj/WebViewPrivate.h:
  19662. * WebView.subproj/WebViewPrivate.m:
  19663. (-[WebView _receivedError:fromDataSource:]):
  19664. (-[WebView _mainReceivedError:fromDataSource:complete:]):
  19665. 2003-04-24 Darin Adler <darin@apple.com>
  19666. Reviewed by John.
  19667. * WebView.subproj/WebViewPrivate.m: (-[WebView _updateWebCoreSettingsFromPreferences:]):
  19668. Added a call to the new setDefaultTextEncoding: method in WebCore. A preparation
  19669. step for some encoding bug fixes.
  19670. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView addSuperviewObservers]): Improved a comment.
  19671. === Safari-75 ===
  19672. 2003-04-24 Maciej Stachowiak <mjs@apple.com> (checked in by Darin)
  19673. Reviewed by Ken and Darin.
  19674. Fixed an authentication crashing bug that crept into the last few
  19675. changes, plus a typo.
  19676. * Panels.subproj/WebAuthenticationPanel.m:
  19677. (-[WebAuthenticationPanel setUpForChallenge:]): Remove extra space.
  19678. (-[WebAuthenticationPanel runAsSheetOnWindow:withChallenge:]): Store
  19679. the challenge properly.
  19680. 2003-04-22 Maciej Stachowiak <mjs@apple.com>
  19681. Reviewed by Darin.
  19682. Adjusted for NSURLCredential changes.
  19683. * Panels.subproj/WebAuthenticationPanel.m:
  19684. (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]):
  19685. (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]):
  19686. 2003-04-23 Chris Blumenberg <cblu@apple.com>
  19687. Reviewed by darin.
  19688. * English.lproj/StringsNotToBeLocalized.txt: updated
  19689. 2003-04-23 Chris Blumenberg <cblu@apple.com>
  19690. Fixed: 3161374 - safari windows don't allow text/URL dragging on the first click
  19691. Reviewed by john.
  19692. * WebView.subproj/WebHTMLView.m:
  19693. (-[WebHTMLView _isSelectionEvent:]): new, determines if the event occurred over the selection
  19694. (-[WebHTMLView acceptsFirstMouse:]): newly implemented, return result of _isSelectionEvent:
  19695. (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): newly implemented, return result of _isSelectionEvent:
  19696. 2003-04-23 Chris Blumenberg <cblu@apple.com>
  19697. Renamed the policy delegate methods.
  19698. Reviewed by john.
  19699. * WebView.subproj/WebDefaultPolicyDelegate.m:
  19700. (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:frame:]):
  19701. (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
  19702. (-[WebDefaultPolicyDelegate webView:decidePolicyForNewWindowAction:request:newFrameName:decisionListener:]):
  19703. * WebView.subproj/WebFramePrivate.m:
  19704. (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]):
  19705. (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]):
  19706. (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
  19707. * WebView.subproj/WebMainResourceClient.m:
  19708. (-[WebMainResourceClient checkContentPolicyForResponse:]):
  19709. * WebView.subproj/WebPolicyDelegate.h:
  19710. 2003-04-22 Ken Kocienda <kocienda@apple.com>
  19711. Reviewed by Darin
  19712. Updated to use API-approved methods for accessing
  19713. protocol-specific URL request data.
  19714. * WebView.subproj/WebDataProtocol.m:
  19715. (-[NSURLRequest _webDataRequestParametersForReading]):
  19716. (-[NSURLRequest _webDataRequestParametersForWriting]):
  19717. 2003-04-22 Maciej Stachowiak <mjs@apple.com>
  19718. Reviewed by Darin.
  19719. Renamed classes to match API document.
  19720. * Panels.subproj/WebAuthenticationPanel.h:
  19721. * Panels.subproj/WebAuthenticationPanel.m:
  19722. (-[WebAuthenticationPanel setUpForChallenge:]):
  19723. (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]):
  19724. (-[WebAuthenticationPanel runAsSheetOnWindow:withChallenge:]):
  19725. (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]):
  19726. * Panels.subproj/WebPanelAuthenticationHandler.h:
  19727. * Panels.subproj/WebPanelAuthenticationHandler.m:
  19728. (-[WebPanelAuthenticationHandler init]):
  19729. (-[WebPanelAuthenticationHandler dealloc]):
  19730. (-[WebPanelAuthenticationHandler isReadyToStartAuthentication:]):
  19731. (-[WebPanelAuthenticationHandler startAuthentication:]):
  19732. (-[WebPanelAuthenticationHandler cancelAuthentication:]):
  19733. (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
  19734. * Panels.subproj/WebStandardPanels.m:
  19735. (-[WebStandardPanels setUsesStandardAuthenticationPanel:]):
  19736. 2003-04-21 Ken Kocienda <kocienda@apple.com>
  19737. Reviewed by Darin
  19738. API changes in NSURLProtocol and its subclasses:
  19739. +canHandleURL: becomes +canInitWithRequest:
  19740. +canonicalURLForURL: becomes +canonicalRequestForRequest:
  19741. Added new _webIsDataProtocolURL: helper method.
  19742. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  19743. (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
  19744. * WebView.subproj/WebDataProtocol.h:
  19745. * WebView.subproj/WebDataProtocol.m:
  19746. (+[WebDataProtocol _webIsDataProtocolURL:]):
  19747. (+[WebDataProtocol canInitWithRequest:]):
  19748. (+[WebDataProtocol canonicalRequestForRequest:]):
  19749. * WebView.subproj/WebFramePrivate.m:
  19750. (-[WebFrame _addBackForwardItemClippedAtTarget:]):
  19751. (-[WebFrame _transitionToCommitted:]):
  19752. 2003-04-21 Darin Adler <darin@apple.com>
  19753. * Plugins.subproj/WebNetscapePluginStream.m: Removed unnecessary #import of <WebFoundation/WebFoundation.h>.
  19754. 2003-04-21 Maciej Stachowiak <mjs@apple.com>
  19755. Reviewed by Richard.
  19756. Updated for file renames.
  19757. * Panels.subproj/WebAuthenticationPanel.h:
  19758. * Panels.subproj/WebPanelAuthenticationHandler.h:
  19759. * Panels.subproj/WebStandardPanels.m:
  19760. 2003-04-21 Chris Blumenberg <cblu@apple.com>
  19761. Fixed previous "Reviewed by".
  19762. * ChangeLog:
  19763. 2003-04-21 Chris Blumenberg <cblu@apple.com>
  19764. Fixed: 3140990 - Safari: Error attempting to load movie from Rhino records
  19765. Renamed plug-in view methods to mention that they take URL strings.
  19766. Reviewed by john.
  19767. * WebCoreSupport.subproj/WebBridge.m:
  19768. (-[WebBridge viewForPluginWithURLString:attributes:baseURLString:MIMEType:]): renamed, try to find the plug-in using the extension of the SRC URL if the plug-in isn't found using the MIME type.
  19769. (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURLString:]): renamed
  19770. 2003-04-18 Chris Blumenberg <cblu@apple.com>
  19771. Fixed: 3139385 - don't accept drags from other frames in the same WebView
  19772. Reviewed by john.
  19773. * WebView.subproj/WebFrameView.m: moved drag destination code from WebFrameView to WebView
  19774. (-[WebFrameView initWithFrame:]): removed drag registration code
  19775. * WebView.subproj/WebFrameViewPrivate.h:
  19776. * WebView.subproj/WebFrameViewPrivate.m:
  19777. * WebView.subproj/WebHTMLView.m:
  19778. (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): unregister drag types on the WebView
  19779. (-[WebHTMLView draggedImage:endedAt:operation:]): reregister drag types on the WebView
  19780. * WebView.subproj/WebImageView.m:
  19781. (-[WebImageView mouseDragged:]): unregister drag types on the WebView
  19782. (-[WebImageView draggedImage:endedAt:operation:]): reregister drag types on the WebView
  19783. * WebView.subproj/WebView.m: moved drag destination code from WebFrameView to WebView
  19784. (-[WebView draggingEntered:]): moved from WebFrameView
  19785. (-[WebView prepareForDragOperation:]): ditto
  19786. (-[WebView performDragOperation:]): ditto
  19787. (-[WebView concludeDragOperation:]): ditto
  19788. * WebView.subproj/WebViewPrivate.h:
  19789. * WebView.subproj/WebViewPrivate.m:
  19790. (-[WebView _registerDraggedTypes]): ditto
  19791. 2003-04-17 John Sullivan <sullivan@apple.com>
  19792. Reviewed by Maciej.
  19793. * History.subproj/WebHistoryPrivate.m:
  19794. (-[WebHistoryPrivate _loadHistoryGuts:]):
  19795. if we can't load the file as a dictionary, try loading it
  19796. the old-fashioned array way. This makes the history file
  19797. format change forward-compatible.
  19798. 2003-04-17 Chris Blumenberg <cblu@apple.com>
  19799. Fixed: 3160751 - Can't use non-'.txt' file extension for text files?
  19800. Reviewed by mjs.
  19801. * English.lproj/StringsNotToBeLocalized.txt:
  19802. * Misc.subproj/WebNSURLResponseExtras.m:
  19803. (-[NSURL _web_suggestedFilenameForSavingWithMIMEType:]): don't correct the file extension for plain text files
  19804. 2003-04-17 John Sullivan <sullivan@apple.com>
  19805. - fixed 3232332 -- History file should be versioned since
  19806. we might change it in the future
  19807. - fixed 3220355 -- Console error message at launch when
  19808. there's no history file
  19809. Note: a downside of this change is that the history formats
  19810. before and after this change are not compatible. You will
  19811. get no history each time you cross that boundary by running
  19812. different Safaris.
  19813. Reviewed by Maciej.
  19814. * History.subproj/WebHistoryPrivate.m:
  19815. (-[WebHistoryPrivate _loadHistoryGuts:]):
  19816. check for file-doesn't-exist case before complaining about
  19817. being unable to read existing file; expect to read dictionary
  19818. rather than array, and check version in dictionary.
  19819. (-[WebHistoryPrivate _saveHistoryGuts:]):
  19820. save dictionary that includes version as well as array of
  19821. items by date.
  19822. 2003-04-17 Richard Williamson <rjw@apple.com>
  19823. Fixed typos in headerdoc comments.
  19824. * WebView.subproj/WebFrame.h:
  19825. 2003-04-17 Richard Williamson <rjw@apple.com>
  19826. Drop down yet one more level to avoid intialization horkage.
  19827. Call objc_getClass() instead of NSClassFromString().
  19828. Reviewed by darin.
  19829. * WebView.subproj/WebHTMLViewPrivate.m:
  19830. (+[WebHTMLView load]):
  19831. 2003-04-17 Darin Adler <darin@apple.com>
  19832. Reviewed by John.
  19833. * WebView.subproj/WebDataProtocol.m: (+[NSURLRequest _webDataRequestURLForData:]):
  19834. Register the WebDataProtocol here instead of doing it with a load method, since this
  19835. is the bottleneck that must be used before that protocol is needed. It's good to have
  19836. one less load method, and this may fix a problem reported by a Panther WebKit client
  19837. on intrigue-dev too.
  19838. 2003-04-16 Ken Kocienda <kocienda@apple.com>
  19839. Reviewed by Darin
  19840. Fixed call to load synchronous URL. Now conforms to new API
  19841. which allows callers to access error object associated with
  19842. the load.
  19843. * WebView.subproj/WebFramePrivate.m:
  19844. (-[WebFrame _loadItem:withLoadType:]):
  19845. 2003-04-16 Chris Blumenberg <cblu@apple.com>
  19846. - Progressively load plain text in our text view.
  19847. - Fixed: 3177603 - vCards appear in browser, not downloaded
  19848. Reviewed by darin.
  19849. * WebView.subproj/WebTextRepresentation.m:
  19850. (-[WebTextRepresentation setDataSource:]): added FIXME about document source of RTF not working
  19851. (-[WebTextRepresentation receivedData:withDataSource:]): feed data to the text view, progressively for plain text
  19852. * WebView.subproj/WebTextView.m:
  19853. (+[WebTextView unsupportedTextMIMETypes]): include text/directory, another vcard MIME type
  19854. (-[WebTextView setDataSource:]): do 1-time attribute settings
  19855. (-[WebTextView dataSourceUpdated:]): do nothing
  19856. 2003-04-16 Ken Kocienda <kocienda@apple.com>
  19857. Reviewed by David
  19858. Moved this NSURLProtocolClient implementor to API-approved
  19859. interface.
  19860. * WebView.subproj/WebDataProtocol.m:
  19861. (-[WebDataProtocol startLoading]):
  19862. 2003-04-16 Ken Kocienda <kocienda@apple.com>
  19863. Fix deployment build breaker caused by uninitialized variable.
  19864. * WebView.subproj/WebViewPrivate.m:
  19865. (-[WebView _loadBackForwardListFromOtherView:]):
  19866. 2003-04-16 Darin Adler <darin@apple.com>
  19867. Reviewed by John.
  19868. - fixed 3226281 -- REGRESSION: crash in WebHTMLView removeMouseMovedObserver closing gist.com
  19869. * Plugins.subproj/WebPluginController.m: (-[WebPluginController showStatus:]):
  19870. Use _webView instead of _controller.
  19871. * WebCoreSupport.subproj/WebTextRendererFactory.m: Remove stray semicolon.
  19872. * WebView.subproj/WebHTMLView.m:
  19873. (-[WebHTMLView removeMouseMovedObserver]): Use _webView instead of _controller.
  19874. (-[WebHTMLView menuForEvent:]): Ditto.
  19875. (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
  19876. * WebView.subproj/WebHTMLViewPrivate.h: Rename _controller to _webView.
  19877. * WebView.subproj/WebHTMLViewPrivate.m:
  19878. (-[WebHTMLView _webView]): Use _web_superviewOfClass to find the WebView. This dodges possible
  19879. stale unretained pointer issues with getting the WebView through the WebFrame, which is what
  19880. fixes the bug.
  19881. (-[WebHTMLView _updateMouseoverWithEvent:]): Use _webView instead of _controller.
  19882. (+[WebHTMLView _pasteboardTypes]): Put the types in order from most preferred to least.
  19883. (-[WebHTMLView _writeSelectionToPasteboard:]): Ditto.
  19884. 2003-04-15 Richard Williamson <rjw@apple.com>
  19885. Create the dictionary for volatile values. Without this fix
  19886. values were never volatile!
  19887. Reviewed by mjs.
  19888. * WebView.subproj/WebPreferences.m:
  19889. (-[WebPreferences _init]):
  19890. (-[WebPreferences init]):
  19891. (+[WebPreferences standardPreferences]):
  19892. (-[WebPreferences dealloc]):
  19893. 2003-04-15 Richard Williamson <rjw@apple.com>
  19894. Fix for 3226746. Remove some ancient and apparantly invalid cruft.
  19895. Reviewed by trey.
  19896. * WebView.subproj/WebFramePrivate.m:
  19897. (-[WebFrame _setDataSource:]):
  19898. 2003-04-15 Richard Williamson <rjw@apple.com>
  19899. Fixed clipping of progressive images to correctly clip.
  19900. Reviewed by darin.
  19901. * WebCoreSupport.subproj/WebImageRenderer.m:
  19902. (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
  19903. 2003-04-15 Ken Kocienda <kocienda@apple.com>
  19904. Reviewed by Darin
  19905. Name change from WebCacheObject to NSCachedURLResponse.
  19906. No functional changes.
  19907. * WebView.subproj/WebDataProtocol.m:
  19908. (-[WebDataProtocol startLoadingWithCacheObject:]):
  19909. 2003-04-15 Trey Matteson <trey@apple.com>
  19910. 3227514 Open window in "Same Page" should copy entire back/forward list
  19911. New support to load a new view by copying the whole backforward
  19912. list and driving the new view to the current item.
  19913. Reviewed by John.
  19914. * WebView.subproj/WebViewPrivate.h:
  19915. * WebView.subproj/WebViewPrivate.m:
  19916. (-[WebView _loadItem:]): Old routine, which only loaded an item.
  19917. (-[WebView _loadItemsFromOtherView:]): New routine that does the works.
  19918. 2003-04-15 Ken Kocienda <kocienda@apple.com>
  19919. Reviewed by John
  19920. Name change from WebProtocolClient to NSURLProtocolClient.
  19921. No functional changes.
  19922. * WebView.subproj/WebDataProtocol.m:
  19923. (-[WebDataProtocol startLoadingWithCacheObject:]):
  19924. 2003-04-15 Ken Kocienda <kocienda@apple.com>
  19925. Reviewed by Darin
  19926. Name change from WebProtocol to NSURLProtocol.
  19927. No functional changes.
  19928. * WebView.subproj/WebDataProtocol.h:
  19929. * WebView.subproj/WebDataProtocol.m:
  19930. (-[NSURLRequest _webDataRequestParametersForReading]):
  19931. (-[NSURLRequest _webDataRequestParametersForWriting]):
  19932. (+[WebDataProtocol load]):
  19933. * WebView.subproj/WebFrame.m:
  19934. 2003-04-14 Trey Matteson <trey@apple.com>
  19935. 3009051 - Find on Page stops (once) at end of page, should wrap automatically WebKit
  19936. 3051546 - Find on Page doesn't work for frameset pages
  19937. 3058437 - can have a selection in two frames at the same time (problem for finding in frames)
  19938. 3097498 - Find Previous continues to "Find Next" until end of paragraph 3097507 - Find Next searches from previous find hit instead of current selection Primary changes here: I added a wrap flag to the searchFor method, which is needed to
  19939. control how we search as we traverse the frame tree. A new method is added to WebView
  19940. that knows about traversing the frame tree as we search. HTMLView and TextView both
  19941. clear their selections when they lose first responder (see 3228554 for possible
  19942. improvements to that change).
  19943. Reviewed by Maciej.
  19944. * Misc.subproj/WebSearchableTextView.m:
  19945. Added wrap flag, pass on to TextView.
  19946. Ensure we do some searching when we would previous get a zero range to search in.
  19947. * WebView.subproj/WebDocument.h:
  19948. * WebView.subproj/WebFramePrivate.h:
  19949. * WebView.subproj/WebFramePrivate.m:
  19950. These are all basic methods to support forwards and backwards traversal of
  19951. the frame tree. Modeled after same methods we have for traversing the DOM.
  19952. (-[WebFrame _nextSibling]):
  19953. (-[WebFrame _previousSibling]):
  19954. (-[WebFrame _lastChild]):
  19955. (-[WebFrame _nextFrameWithWrap:]):
  19956. (-[WebFrame _previousFrameWithWrap:]):
  19957. * WebView.subproj/WebHTMLView.m:
  19958. (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]): Added wrap flag,
  19959. pass it to bridge.
  19960. (-[WebHTMLView resignFirstResponder]): Clear selection when we lose firstResp.
  19961. * WebView.subproj/WebTextView.m:
  19962. (-[WebTextView resignFirstResponder]): Clear selection when we lose firstResp.
  19963. * WebView.subproj/WebView.m:
  19964. (-[WebView _currentFrame]): Return the frame holding the first responder.
  19965. (-[WebView _searchFor:direction:caseSensitive:wrap:]): Main work: traverse the
  19966. frame tree and drive the overall find.
  19967. * WebView.subproj/WebViewPrivate.h:
  19968. 2003-04-14 Chris Blumenberg <cblu@apple.com>
  19969. Log time spent loading each plug-in.
  19970. Reviewed by mjs.
  19971. * Misc.subproj/WebIconDatabase.m:
  19972. (-[WebIconDatabase _iconsForIconURLString:]): fixed logging code
  19973. (-[WebIconDatabase _scaleIcon:toSize:]): fixed logging code
  19974. * Plugins.subproj/WebNetscapePluginPackage.m:
  19975. (-[WebNetscapePluginPackage load]): log time spent loading a plug-in
  19976. * Plugins.subproj/WebPluginController.m:
  19977. (-[WebPluginController startAllPlugins]): only log if there are plug-ins to start
  19978. (-[WebPluginController stopAllPlugins]): only log if there are plug-ins to stop
  19979. (-[WebPluginController destroyAllPlugins]): only log if there are plug-ins to destroy
  19980. 2003-04-13 Trey Matteson <trey@apple.com>
  19981. 3150693 - open new window on "same page" doesn't give me the same frame content
  19982. The core is a new support method that loads a WebView given a HistoryItem, which
  19983. thus restores all frames of that item, and optionally the form and scroll state.
  19984. * History.subproj/WebHistoryItem.m:
  19985. (-[WebHistoryItem copyWithZone:]): Copy the docState, scrollPosition, isTargetItem.
  19986. No good reason to have left these out when I wrote this method.
  19987. * WebView.subproj/WebFramePrivate.h:
  19988. * WebView.subproj/WebFramePrivate.m:
  19989. (-[WebFrame _saveDocumentAndScrollState]): New method to run the frame tree and
  19990. save all form/scroll state to the current item.
  19991. * WebView.subproj/WebView.m:
  19992. _goToItem:withLoadType: moved to WebViewPrivate.m
  19993. * WebView.subproj/WebViewPrivate.h:
  19994. * WebView.subproj/WebViewPrivate.m:
  19995. (-[WebView _goToItem:withLoadType:]): Moved from WebView.m, no change.
  19996. (-[WebView _loadItem:showingInView:]): New method to load the view with the item.
  19997. 2003-04-12 Chris Blumenberg <cblu@apple.com>
  19998. Fixed: 3162338 - Embedding SVG with <object type="image/svg+xml"> doesn't work
  19999. Reviewed by dave.
  20000. * WebCoreSupport.subproj/WebImageRendererFactory.m:
  20001. (-[WebImageRendererFactory supportedMIMETypes]): code moved from +[WebImageView supportedImageMIMETypes]
  20002. * WebView.subproj/WebImageView.m:
  20003. (+[WebImageView supportedImageMIMETypes]): return -[WebImageRendererFactory supportedMIMETypes]
  20004. 2003-04-13 Maciej Stachowiak <mjs@apple.com>
  20005. Reviewed by Trey.
  20006. * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
  20007. (-[WebDefaultWindowOperationsDelegate webView:setContentRect:]):
  20008. Implemented in terms of webView:setFrame: to save clients work.
  20009. 2003-04-11 Chris Blumenberg <cblu@apple.com>
  20010. Removed WebKitErrorResourceLoadInterruptedByPolicyChange error because it isn't used.
  20011. Reviewed by john.
  20012. * Misc.subproj/WebKitErrors.h:
  20013. * Misc.subproj/WebKitErrors.m:
  20014. (registerErrors):
  20015. * WebKit.pbproj/project.pbxproj:
  20016. 2003-04-11 Trey Matteson <trey@apple.com>
  20017. 3148002 - printing shouldn't depend on the size of the window
  20018. The basic strategy is copied from khtmlview's print method: We reset the width
  20019. of the document to the paper width minus margins, and relayout before paginating
  20020. and printing.
  20021. Reviewed by Richard.
  20022. * WebKit.pbproj/project.pbxproj: Someone is using an old version...
  20023. * WebView.subproj/WebDynamicScrollBarsView.m:
  20024. (-[WebDynamicScrollBarsView reflectScrolledClipView:]): Don't do the dynamic
  20025. scrollbar update magic when printing.
  20026. * WebView.subproj/WebHTMLView.m:
  20027. (-[WebHTMLView layoutToPageWidth:]): New routine, basically the old layout
  20028. method with a new parameter. If we're given an width, we call a different
  20029. bridge method.
  20030. (-[WebHTMLView layout]): Just call above method with width==0
  20031. (-[WebHTMLView drawRect:]): Protect setting/resetting of graphics context and
  20032. additional clip with a DURING/HANDLER. I saw an assertion failure that could
  20033. be explained by this, so this is mostly a beartrap for that problem.
  20034. (-[WebHTMLView _setPrinting:pageWidth:]): Pass page width through to others.
  20035. (-[WebHTMLView beginDocument]): If we are not in a frame set, do a layout
  20036. using the page width.
  20037. (-[WebHTMLView endDocument]): Pass 0 to new pageWidth: arg.
  20038. 2003-04-08 Trey Matteson <trey@apple.com>
  20039. 3220349 - assertion failure in [WebFrame _recursiveGoToItem:...] hitting Back while loading movie
  20040. The problem was that when we go back we call stopLoading on the top frame, but
  20041. that has a bogus optimization to not do any work if state=Completed. That is a
  20042. bogus test if a subframe is doing a load. The fix is to just always tell the
  20043. dataSources to stopLoading. They already bail quickly when they are not loading,
  20044. so there is no significant additional cost.
  20045. Reviewed by Richard.
  20046. * WebView.subproj/WebFrame.m:
  20047. (-[WebFrame stopLoading]):
  20048. === Safari-73 ===
  20049. 2003-04-10 Richard Williamson <rjw@apple.com>
  20050. Fixed 3219525
  20051. Our work-around for the CG pattern cache bogosity was always bypassed,
  20052. consequently we'd unnecessarily burn lots of memory filling that cache.
  20053. Reviewed by mjs & gramps.
  20054. * WebCoreSupport.subproj/WebImageRenderer.m:
  20055. (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
  20056. (-[WebImageRenderer tileInRect:fromPoint:]):
  20057. 2003-04-10 Darin Adler (Maciej committing for Darin) <darin@apple.com>
  20058. Reviewed by Maciej.
  20059. - fixed 3225042 - MallocDebug shows "access after deallocated" problem in WebFrameView
  20060. * WebView.subproj/WebFrameView.m:
  20061. (-[WebFrameView dealloc]): Nil out _private.
  20062. (-[WebFrameView nextKeyView]): Check _private for nil.
  20063. (-[WebFrameView previousKeyView]): Check _private for nil.
  20064. 2003-04-10 Richard Williamson <rjw@apple.com>
  20065. Fix performance regression with iBench (post 71). The iBench cheat was being defeated.
  20066. Ensure that the layout timer is always invalidated when a frame completes
  20067. or is cancelled.
  20068. Reviewed by mjs & gramps.
  20069. * WebView.subproj/WebFrame.m:
  20070. (-[WebFrame stopLoading]):
  20071. * WebView.subproj/WebFramePrivate.m:
  20072. (-[WebFrame _setState:]):
  20073. 2003-04-10 Trey Matteson <trey@apple.com>
  20074. 3224973 - Safari sometimes stores data for AUTOCOMPLETE=OFF fields and password fields
  20075. Just glue for calling a new WC function.
  20076. Reviewed by Darin.
  20077. * WebView.subproj/WebHTMLRepresentation.h:
  20078. * WebView.subproj/WebHTMLRepresentation.m:
  20079. (-[WebHTMLRepresentation elementWithName:inForm:]):
  20080. === Safari-72 ===
  20081. 2003-04-10 Maciej Stachowiak <mjs@apple.com>
  20082. Reviewed by Chris.
  20083. - fixed 3224690 - REGRESSION: Download related errors aren't preserved across launches
  20084. * WebKit.pbproj/project.pbxproj: Install WebKitErrorsPrivate.h as SPI.
  20085. 2003-04-10 Darin Adler <darin@apple.com>
  20086. Reviewed by Trey.
  20087. - fixed 3224622 -- REGRESSION: in an empty window, repeated tabs don't cycle back to location field
  20088. Added logic to WebFrameView's next/previous that matches the logic in WebHTMLView.
  20089. Looking for a better solution some day to the whole nextKeyView thing.
  20090. * WebView.subproj/WebFrameView.m:
  20091. (-[WebFrameView nextKeyView]): If being called from nextValidKeyView, return the nextKeyView
  20092. of the WebView rather than of self.
  20093. (-[WebFrameView previousKeyView]): Ditto.
  20094. (-[WebFrameView nextValidKeyView]): Set the inNextValidKeyView flag.
  20095. (-[WebFrameView previousValidKeyView]): Ditto.
  20096. * WebView.subproj/WebFrameViewPrivate.h: Add the inNextValidKeyView flag.
  20097. 2003-04-10 Maciej Stachowiak <mjs@apple.com>
  20098. Reviewed by Darin.
  20099. Another launch time speedup - don't load the WebKit WebError
  20100. strings until we actually make a WebKit error. This prevents the
  20101. WebKit localized strings file from being loaded during normal startup.
  20102. * Downloads.subproj/WebDownload.m:
  20103. (+[WebDownloadPrivate initialize]): Don't register WebKit errors.
  20104. (-[WebDownload _errorWithCode:]): Use _webKitErrorWithCode:failingURL:
  20105. * Misc.subproj/WebKitErrors.m:
  20106. (+[WebError _webKitErrorWithCode:failingURL:]): Wrapper that registers the
  20107. WebKit error codes first.
  20108. * Misc.subproj/WebKitErrorsPrivate.h:
  20109. * WebView.subproj/WebFramePrivate.m:
  20110. (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]): Use
  20111. _webKitErrorWithCode:failingURL:
  20112. (-[WebFrame _loadItem:withLoadType:]): Use _webKitErrorWithCode:failingURL:
  20113. * WebView.subproj/WebFrameView.m:
  20114. * WebView.subproj/WebMainResourceClient.m:
  20115. (-[WebMainResourceClient interruptForPolicyChangeError]): Use _webKitErrorWithCode:failingURL:
  20116. 2003-04-10 Chris Blumenberg <cblu@apple.com>
  20117. Fixed: 3222896 - REGRESSION: sound plays after closing a window with a RealPlayer plug-in in it
  20118. Reviewed by darin.
  20119. * Plugins.subproj/WebBaseNetscapePluginView.m:
  20120. (-[WebBaseNetscapePluginView viewDidMoveToHostWindow]): We were starting plug-in on window close because that's when the host window is set to nil. Just check if we now have a host window before we start.
  20121. 2003-04-10 Darin Adler <darin@apple.com>
  20122. Reviewed by Trey.
  20123. - speed up startup by not calling [NSImage imageFileTypes] until we need to
  20124. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge frameRequiredForMIMEType:]):
  20125. Call _viewClassForMIMEType instead of _viewTypes, since _viewClassForMIMEType is now optimized
  20126. by not loading the image types unless needed.
  20127. * WebView.subproj/WebDataSourcePrivate.m:
  20128. (-[WebDataSource _representationClass]): Call _representationClassForMIMEType instead of
  20129. _repTypes, since _representationClassForMIMEType is now optimized by not loading the image
  20130. types unless needed.
  20131. (+[WebDataSource _repTypesAllowImageTypeOmission:]): Added. Moved the guts of _repTypes
  20132. in here. If you pass YES, doesn't bother adding the image types yet.
  20133. (+[WebDataSource _repTypes]): Now calls _repTypesAllowImageTypeOmission:NO.
  20134. (+[WebDataSource _representationClassForMIMEType:]): First try the dictionary without
  20135. requiring the image types, then only in the case where we get nil, try with the image types.
  20136. * WebView.subproj/WebFrameViewPrivate.m:
  20137. (-[WebFrameView _makeDocumentViewForDataSource:]): Call _viewClassForMIMEType instead of
  20138. _viewTypes, since _viewClassForMIMEType is now optimized by not loading the image types
  20139. unless needed.
  20140. (+[WebFrameView _viewTypesAllowImageTypeOmission:]): Added. Moved the guts of _viewTypes
  20141. in here. If you pass YES, doesn't bother adding the image types yet.
  20142. (+[WebFrameView _viewTypes]): Now calls _viewTypesAllowImageTypeOmission:NO.
  20143. (+[WebFrameView _viewClassForMIMEType:]): First try the dictionary without requiring
  20144. the image types, then only in the case where we get nil, try with the image types.
  20145. 2003-04-09 Trey Matteson <trey@apple.com>
  20146. 3223413 - crash in [CompletionController controlTextDidChange] at travelocity.com
  20147. This was a great one to get steps for repro - it has shown up at least twice before.
  20148. The problem is that when there is a focused TextField within a frame, the proper
  20149. FormDelegate messages were not being sent on refresh or b/f. The cause was that
  20150. the FirstResponder would be reset in the middle of detaching the frame, at which point
  20151. our object graph was already half taken apart. Fix is to detect that case before
  20152. doing the detach work, and endEditing explicitly.
  20153. Reviewed by Darin.
  20154. * ChangeLog:
  20155. * Misc.subproj/WebKitLogging.h:
  20156. * Misc.subproj/WebKitLogging.m: New FormDelegate logging category.
  20157. * WebCoreSupport.subproj/WebBridge.m:
  20158. All changes in here are just calling LOG for the new category.
  20159. (-[WebBridge controlTextDidBeginEditing:]):
  20160. (-[WebBridge controlTextDidEndEditing:]):
  20161. (-[WebBridge controlTextDidChange:]):
  20162. (-[WebBridge control:textShouldBeginEditing:]):
  20163. (-[WebBridge control:textShouldEndEditing:]):
  20164. (-[WebBridge control:didFailToFormatString:errorDescription:]):
  20165. (-[WebBridge control:didFailToValidatePartialString:errorDescription:]):
  20166. (-[WebBridge control:isValidObject:]):
  20167. (-[WebBridge control:textView:doCommandBySelector:]):
  20168. * WebView.subproj/WebFramePrivate.m:
  20169. (-[WebFrame _setDataSource:]): The fix, as described above.
  20170. 2003-04-09 Richard Williamson <rjw@apple.com>
  20171. Fix for 3222904. This change fixes the immediate symptoms of the bug,
  20172. but we need to come back to this issue after beta 2. Bug 3223929 captures
  20173. the other problems.
  20174. Reviewed by gramps.
  20175. * WebView.subproj/WebDataSourcePrivate.h:
  20176. * WebView.subproj/WebDataSourcePrivate.m:
  20177. (-[WebDataSource __setRequest:]):
  20178. (-[WebDataSource _setRequest:]):
  20179. * WebView.subproj/WebFramePrivate.m:
  20180. (-[WebFrame _shouldReloadForCurrent:andDestination:]):
  20181. (-[WebFrame _loadItem:withLoadType:]):
  20182. (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
  20183. 2003-04-09 Maciej Stachowiak <mjs@apple.com>
  20184. Reviewed by Chris, Trey, Darin and Don.
  20185. - fixed 3223568 - site icons lost when moving from older Safari to 71
  20186. * Misc.subproj/WebIconDatabase.m:
  20187. (-[WebIconDatabase _createFileDatabase]): Rename old database containing directory to
  20188. new, so we carry over old databases. The format is forward but not backward compatible.
  20189. (-[WebIconDatabase _loadIconDictionaries]): Treat no version at all as version 1, so we
  20190. can load old-style databases.
  20191. Reviewed by Trey.
  20192. * English.lproj/StringsNotToBeLocalized.txt: Updated.
  20193. 2003-04-09 Chris Blumenberg <cblu@apple.com>
  20194. Fixed: 3223022 - Plug-in content bleeds onto frontmost tab
  20195. Reviewed by darin.
  20196. * Plugins.subproj/WebBaseNetscapePluginView.m:
  20197. (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Explicitly call setWindow when the plug-in view is moved out of the window so it is clipped out of sight.
  20198. 2003-04-08 Trey Matteson <trey@apple.com>
  20199. 3221355 document is numb to clicks after going back
  20200. The layoutTimer now does a layout if the doc is in state Completed,
  20201. in addition to LayoutAcceptable.
  20202. Reviewed by Richard.
  20203. * WebView.subproj/WebFramePrivate.m:
  20204. (-[WebFrame _timedLayout:]):
  20205. 2003-04-08 Chris Blumenberg <cblu@apple.com>
  20206. Fixed: 3221128 - Double grey lines on macromedia.com home page
  20207. Flash relies on the ordering of attributes in the EMBED tag (which is really stupid). salign must come after scale.
  20208. Changed our plug-in API's to preserve orderings using arrays rather than lose orderings when using dictionaries.
  20209. Reviewed by trey.
  20210. * Plugins.subproj/WebBaseNetscapePluginView.h:
  20211. * Plugins.subproj/WebBaseNetscapePluginView.m:
  20212. * Plugins.subproj/WebNetscapePluginEmbeddedView.h:
  20213. * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
  20214. (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:]): take attributeKeys and attributeValues instead of a dictionary
  20215. * WebCoreSupport.subproj/WebBridge.m:
  20216. (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): create attributeKeys and attributeValues to pass to the above method
  20217. (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): create attributeKeys and attributeValues to pass to the above method
  20218. 2003-04-08 Chris Blumenberg <cblu@apple.com>
  20219. Fixed: 3220463 - REGRESSION: PDF viewer plug-in does not display (worked in 69 and previous)
  20220. Reviewed by darin.
  20221. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  20222. (-[WebNetscapePluginDocumentView didStart]): always call redeliverStream. Have WebNetscapePluginRepresentation determine if it actually needs to do that.
  20223. * Plugins.subproj/WebNetscapePluginRepresentation.h:
  20224. * Plugins.subproj/WebNetscapePluginRepresentation.m:
  20225. (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): keep track of _dataLengthReceived which is independent of the data received by the data source
  20226. (-[WebNetscapePluginRepresentation redeliverStream]): only redeliver the stream if _dataLengthReceived is greater than 0
  20227. 2003-04-07 Chris Blumenberg <cblu@apple.com>
  20228. Fixed: 3206018 - REGRESSION: Clicks on the BBC news ticker applet don't open story in new window
  20229. MSIE and Netscape for Windows treat a nil target as _top. Since this is usually the target audience of applet developers, we will mimic this. This makes 3206018 behave as expected.
  20230. Reviewed by gramps.
  20231. * Plugins.subproj/WebPluginController.m:
  20232. (-[WebPluginController showURL:inFrame:]): treat nil as _top.
  20233. 2003-04-07 Richard Williamson <rjw@apple.com>
  20234. API conveniences for IB.
  20235. Reviewed by Maciej.
  20236. * WebView.subproj/WebView.h:
  20237. * WebView.subproj/WebView.m:
  20238. (-[WebView canGoBack]):
  20239. (-[WebView canGoForward]):
  20240. (-[WebView reload:]):
  20241. (-[WebView canMakeTextSmaller]):
  20242. (-[WebView canMakeTextLarger]):
  20243. (-[WebView makeTextSmaller:]):
  20244. (-[WebView makeTextLarger:]):
  20245. 2003-04-07 Richard Williamson <rjw@apple.com>
  20246. Fix for 3220988. Cancel frame load if it's detached before
  20247. finished loading.
  20248. Reviewed by Maciej.
  20249. * WebCoreSupport.subproj/WebBridge.m:
  20250. (-[WebBridge frameDetached]):
  20251. * WebView.subproj/WebFrame.h:
  20252. * WebView.subproj/WebFramePrivate.h:
  20253. * WebView.subproj/WebFramePrivate.m:
  20254. (-[WebFrame _removeChild:]):
  20255. 2003-04-07 Maciej Stachowiak <mjs@apple.com>
  20256. Reviewed by Richard.
  20257. - fixed 3219584 - REGRESSION: launch times appear slower in v71
  20258. * WebView.subproj/WebView.m:
  20259. (+[WebView canShowMIMEType:]): Avoid loading plugin database if we
  20260. can find a view without doing so.
  20261. 2003-04-07 Darin Adler <darin@apple.com>
  20262. * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
  20263. When I landed my last change to the .gperf file I forgot to land this.
  20264. === Safari-71 ===
  20265. 2003-04-04 Darin Adler <darin@apple.com>
  20266. Reviewed by Ken.
  20267. - fixed 3217687 -- REGRESSION: printing uses widths from screen fonts, messing up layout
  20268. * WebCoreSupport.subproj/WebTextRendererFactory.m: Removed now-unused rendererWithFont:
  20269. which called, the now-removed usingPrinterFonts method. WebCore now calls the one with
  20270. the usingPrinterFont parameter.
  20271. * WebView.subproj/WebHTMLView.m:
  20272. (-[WebHTMLView drawRect:]): Remove setUsingPrinterFonts: calls. This is now handled by the
  20273. document on the WebCore side.
  20274. (-[WebHTMLView _setPrinting:]): Ditto.
  20275. 2003-04-04 Maciej Stachowiak <mjs@apple.com>
  20276. Reviewed by Trey.
  20277. - fixed 3188914 - loop checking for Flash at http://www.scottsmind.com/celebrity_defacer/index.php
  20278. * Plugins.subproj/WebBaseNetscapePluginView.m:
  20279. (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Take a mutable request,
  20280. and make sure to set referrer to the frame URL (as other browsers do).
  20281. (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): pass an NSMutableURLRequest.
  20282. (-[WebBaseNetscapePluginView getURL:target:]): Likewise.
  20283. (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
  20284. If the plug-in passes a Content-Length header, take it out of the
  20285. headers and truncate the content appropriately to make
  20286. WebFoundation happy.
  20287. 2003-04-03 Richard Williamson <rjw@apple.com>
  20288. Fix checks for about: to avoid using our 'fake' request when
  20289. using WebDataProtocol. This fixes the assertion in the Snippet
  20290. Editor.
  20291. Reviewed by mjs.
  20292. * WebView.subproj/WebMainResourceClient.m:
  20293. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  20294. 2003-04-03 Trey Matteson <trey@apple.com>
  20295. 3218212 REGRESSION: page on screen draws ugly while printing is happening
  20296. Turn autodisplay of the window off while we print.
  20297. Reviewed by Darin.
  20298. * WebView.subproj/WebHTMLView.m:
  20299. (-[WebHTMLView beginDocument]): Turn it off.
  20300. (-[WebHTMLView endDocument]): and back on.
  20301. 2003-04-03 Maciej Stachowiak <mjs@apple.com>
  20302. Reviewed by Trey.
  20303. - removed no-longer forwarding of become/resignFirstResponder
  20304. * WebView.subproj/WebHTMLViewPrivate.m: Removed
  20305. become/resignFirstResponder poses for WebNSTextView.
  20306. 2003-04-03 Maciej Stachowiak <mjs@apple.com>
  20307. Reviewed by Richard and Don.
  20308. - fixed 3218262 - REGRESSION: Page address becomes about:blank when command-clicking bookmark to load tab
  20309. * WebView.subproj/WebDataProtocol.m:
  20310. (-[NSURLRequest _webDataRequestParametersForWriting]): Renamed
  20311. from _webDataRequestParameters.
  20312. (-[NSURLRequest _webDataRequestParametersForReading]): Like the
  20313. above, but make sure nto to create the part if it does not exist.
  20314. (-[NSURLRequest _webDataRequestData]): Use _webDataRequestParametersForReading.
  20315. (-[NSURLRequest _webDataRequestEncoding]): Likewise.
  20316. (-[NSURLRequest _webDataRequestBaseURL]): Likewise.
  20317. (-[NSURLRequest _webDataRequestSetData:]):Use _webDataRequestParametersForWriting.
  20318. (-[NSURLRequest _webDataRequestSetEncoding:]): Likewise.
  20319. (-[NSURLRequest _webDataRequestSetBaseURL:]): Likewise.
  20320. (-[NSURLRequest _webDataRequestExternalRequest]): Use _webDataRequestParametersForReading.
  20321. 2003-04-03 Richard Williamson <rjw@apple.com>
  20322. Tweaks to minimize access to the parts of a WebDataRequest
  20323. that turn out to be slow. Although we've changed NSURLRequest
  20324. to be faster, it's still good to keep these tweaks.
  20325. Reviewed by ken.
  20326. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  20327. (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
  20328. (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
  20329. * WebView.subproj/WebDataProtocol.h:
  20330. * WebView.subproj/WebDataProtocol.m:
  20331. (-[NSURLRequest _webDataRequestExternalRequest]):
  20332. (+[WebDataProtocol canHandleURL:]):
  20333. * WebView.subproj/WebDataSource.m:
  20334. (-[WebDataSource request]):
  20335. 2003-04-03 Trey Matteson <trey@apple.com>
  20336. 3067928 - printing should not break lines in half
  20337. This is just glue to call the right piece in WebCore.
  20338. Reviewed by Darin.
  20339. (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
  20340. Defer to WebCore to set pagination boundary.
  20341. 2003-04-03 Richard Williamson <rjw@apple.com>
  20342. As requested by Nancy, drop "Is" and "Are" from setters,
  20343. but leave them in place on the getters.
  20344. Reviewed by cblu.
  20345. * WebView.subproj/WebPreferences.h:
  20346. * WebView.subproj/WebPreferences.m:
  20347. (-[WebPreferences setJavaEnabled:]):
  20348. (-[WebPreferences setJavaScriptEnabled:]):
  20349. (-[WebPreferences setPlugInsEnabled:]):
  20350. 2003-04-03 Darin Adler <darin@apple.com>
  20351. Reviewed by Ken.
  20352. - remove spoof entries as decided in meeting with Don, Dave, Mark Malone
  20353. * WebView.subproj/WebUserAgentSpoofTable.gperf: Remove battle.net because it's only there to
  20354. make Darin happy, and the site works fine without it. Remove pier1.com and disney.go.com because
  20355. we want to try evangelism first in both those cases, and having a released version where the
  20356. site works weakens our evangelism efforts.
  20357. * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
  20358. - disable workaround for Panther bug in Panther builds
  20359. * Misc.subproj/WebNSImageExtras.m: (-[NSImage _web_dissolveToFraction:]): Add ifdefs.
  20360. 2003-04-02 Maciej Stachowiak <mjs@apple.com>
  20361. Reviewed by Trey.
  20362. - fixed 3213556 - VIP: parent.mainFrameWidth=undefined on page refresh results in missing content
  20363. * WebView.subproj/WebFramePrivate.m:
  20364. (-[WebFrame _loadItem:withLoadType:]): When reload or going back/forward,
  20365. make sure to load the original URL of the item, not it's most recent URL.
  20366. (-[WebFrame _loadURL:intoChild:]): Likewise.
  20367. 2003-04-02 Richard Williamson <rjw@apple.com>
  20368. Raise exceptions when these methods are called inappropriately.
  20369. Reviewed by Trey.
  20370. * History.subproj/WebBackForwardList.m:
  20371. (-[WebBackForwardList goBack]):
  20372. (-[WebBackForwardList goForward]):
  20373. (-[WebBackForwardList goToItem:]):
  20374. 2003-04-02 Richard Williamson <rjw@apple.com>
  20375. Added new API on WebFrame, loadData: and loadString:
  20376. Reviewed by Maciej.
  20377. Fixed loading of cocoa plugins.
  20378. Reviewed by Chris.
  20379. * History.subproj/WebBackForwardList.m:
  20380. (-[WebBackForwardList _entries]):
  20381. * Plugins.subproj/WebBasePluginPackage.h:
  20382. * Plugins.subproj/WebBasePluginPackage.m:
  20383. (-[WebBasePluginPackage bundle]):
  20384. * Plugins.subproj/WebPluginDatabase.h:
  20385. * Plugins.subproj/WebPluginDatabase.m:
  20386. (-[WebPluginDatabase init]):
  20387. (-[WebPluginDatabase loadPluginIfNeededForMIMEType:]):
  20388. (-[WebPluginDatabase dealloc]):
  20389. * WebKit.pbproj/project.pbxproj:
  20390. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  20391. (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
  20392. (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
  20393. * WebView.subproj/WebDataProtocol.h: Added.
  20394. * WebView.subproj/WebDataProtocol.m: Added.
  20395. (-[WebDataRequestParameters copyWithZone:]):
  20396. (-[WebDataRequestParameters mutableCopyWithZone:]):
  20397. (-[WebDataRequestParameters dealloc]):
  20398. (+[NSURLRequest _webDataRequestURLForData:]):
  20399. (-[NSURLRequest _webDataRequestParameters]):
  20400. (-[NSURLRequest _webDataRequestData]):
  20401. (-[NSURLRequest _webDataRequestSetData:]):
  20402. (-[NSURLRequest _webDataRequestEncoding]):
  20403. (-[NSURLRequest _webDataRequestSetEncoding:]):
  20404. (-[NSURLRequest _webDataRequestBaseURL]):
  20405. (-[NSURLRequest _webDataRequestSetBaseURL:]):
  20406. (-[NSURLRequest _webDataRequestExternalRequest]):
  20407. (+[WebDataProtocol load]):
  20408. (+[WebDataProtocol doesURLHaveInternalDataScheme:]):
  20409. (+[WebDataProtocol canHandleURL:]):
  20410. (+[WebDataProtocol canonicalURLForURL:]):
  20411. (-[WebDataProtocol startLoadingWithCacheObject:]):
  20412. (-[WebDataProtocol stopLoading]):
  20413. * WebView.subproj/WebDataSource.m:
  20414. (-[WebDataSource initialRequest]):
  20415. (-[WebDataSource request]):
  20416. * WebView.subproj/WebDataSourcePrivate.m:
  20417. (-[WebDataSource _commitIfReady:]):
  20418. * WebView.subproj/WebFrame.h:
  20419. * WebView.subproj/WebFrame.m:
  20420. (-[WebFrame loadRequest:]):
  20421. (-[WebFrame loadString:baseURL:]):
  20422. * WebView.subproj/WebFramePrivate.m:
  20423. (-[WebFrame _addBackForwardItemClippedAtTarget:]):
  20424. (-[WebFrame _transitionToCommitted:]):
  20425. * WebView.subproj/WebFrameViewPrivate.m:
  20426. (-[WebFrameView _makeDocumentViewForDataSource:]):
  20427. * WebView.subproj/WebView.m:
  20428. (+[WebView canShowMIMEType:]):
  20429. 2003-04-02 Maciej Stachowiak <mjs@apple.com>
  20430. Reviewed by Ken.
  20431. - fixed 3177183 - disneyland.com says "500 Internal Server Error"
  20432. * WebView.subproj/WebUserAgentSpoofTable.gperf: Spoof as Mac IE
  20433. for disney.go.com
  20434. * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
  20435. 2003-04-02 Richard Williamson <rjw@apple.com>
  20436. Reviewed by john.
  20437. * WebView.subproj/WebPreferences.h:
  20438. (-[WebPreferences setUserStyleSheetLocation:]): Cleaned up arg and comment.
  20439. 2003-04-02 Richard Williamson <rjw@apple.com>
  20440. Fix for 3200447. Use class_pose to pose so as to avoid
  20441. indirect invocation of appkit class initializers.
  20442. Reviewed by darin.
  20443. * WebView.subproj/WebHTMLViewPrivate.m:
  20444. (+[WebHTMLView load]):
  20445. 2003-04-02 Richard Williamson <rjw@apple.com>
  20446. Removed private headers.
  20447. Reviewed by john.
  20448. * Misc.subproj/WebKit.h:
  20449. 2003-04-01 Trey Matteson <trey@apple.com>
  20450. 3174227 - aggressive caching of generated pages causes problems with WIKI
  20451. We decided to fix half the observed behavior, as all the bad behavior is
  20452. arguably due to a mis-configured server (that sets a max-age=60 on
  20453. all its pages).
  20454. The fix is that when a redirect comes in response to a POST we force a
  20455. load from origin, since this is a common technique sites do to prevent
  20456. a post from ending up in the b/f list, and it is very likely you are
  20457. on your way back to look at data that you believe you just edited.
  20458. Reviewed by Ken.
  20459. * WebView.subproj/WebFramePrivate.m:
  20460. (-[WebFrame _loadItem:withLoadType:]): Nit cleanup. Remove unused arg.
  20461. (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]):
  20462. Same nit cleanup.
  20463. * WebView.subproj/WebMainResourceClient.m:
  20464. (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
  20465. Force loadFromOrigin if we have a redirect in response to a POST.
  20466. * WebView.subproj/WebResourceLoadDelegate.h:
  20467. Add headerdoc comment for redirectResponse param.
  20468. 2003-04-01 Maciej Stachowiak <mjs@apple.com>
  20469. Reviewed by Richard.
  20470. - fixed 3214748 - REGRESSION: After using latest Safari for awhile, can't launch older Safaris (icon db problem)
  20471. * Misc.subproj/WebIconDatabase.m:
  20472. Changed icon cache path, since we are breaking compatibility and the old version
  20473. does not support versioning.
  20474. (-[WebIconDatabase _loadIconDictionaries]): Check version.
  20475. (-[WebIconDatabase _updateFileDatabase]): Save version.
  20476. 2003-04-01 Ken Kocienda <kocienda@apple.com>
  20477. Reviewed by Darin
  20478. NSURLConnectionDelegate is no longer a formal protocol.
  20479. NSURLConnection no longer has a loadWithDelegate: method. Loads
  20480. start implicitly at init time. Some clients have been updated
  20481. to call the willSendRequest:redirectResponse: callback manually
  20482. since this callback is no longer sent for initial loads.
  20483. * Downloads.subproj/WebDownload.m:
  20484. (-[WebDownload initWithRequest:]):
  20485. (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
  20486. (-[WebDownload loadWithDelegate:]):
  20487. * Misc.subproj/WebIconLoader.h:
  20488. * Misc.subproj/WebIconLoader.m:
  20489. (-[WebIconLoader startLoading]):
  20490. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  20491. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  20492. (-[WebBaseResourceHandleDelegate loadWithRequest:]):
  20493. * WebView.subproj/WebMainResourceClient.h:
  20494. * WebView.subproj/WebMainResourceClient.m:
  20495. (-[WebMainResourceClient loadWithRequest:]):
  20496. (-[WebResourceDelegateProxy setDelegate:]):
  20497. 2003-04-01 Darin Adler <darin@apple.com>
  20498. Reviewed by John.
  20499. - fixed 3213918 -- REGRESSION: printing Mapquest directions, screen font is used, causing exception, crashes
  20500. - fixed 3144287 -- CSS with media=print not used when printing
  20501. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _opened]): Don't call the reapplyStyles
  20502. method directly here, use setNeedsToApplyStyles instead.
  20503. * WebView.subproj/WebHTMLView.m:
  20504. (-[WebHTMLView reapplyStyles]): Pass the appropriate device type here.
  20505. (-[WebHTMLView drawRect:]): Don't call setUsingPrinterFonts:NO at the end of this method
  20506. if we were already using printer fonts at the start. This was the bug fix.
  20507. (-[WebHTMLView _setPrinting:]): Renamed from _setUsingPrinterFonts since this now controls
  20508. the styles used too, not just the fonts.
  20509. (-[WebHTMLView beginDocument]): Updated for _setPrinting name change.
  20510. (-[WebHTMLView endDocument]): Ditto.
  20511. * WebView.subproj/WebHTMLViewPrivate.h: Renamed "usingPrinterFonts" field to "printing".
  20512. 2003-04-01 Richard Williamson <rjw@apple.com>
  20513. Fixed ~2% performance regression problem. The regression
  20514. was caused by the allocation of a forwarder on every
  20515. delegate callback. Modified code to only create forwarders once,
  20516. and reset when delegates change.
  20517. Reviewed by Ken.
  20518. * WebCoreSupport.subproj/WebBridge.m:
  20519. (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
  20520. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  20521. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  20522. (-[WebBaseResourceHandleDelegate setDataSource:]):
  20523. (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
  20524. (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
  20525. (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
  20526. (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
  20527. * WebView.subproj/WebView.m:
  20528. (-[WebView setWindowOperationsDelegate:]):
  20529. (-[WebView setResourceLoadDelegate:]):
  20530. (-[WebView setContextMenuDelegate:]):
  20531. (-[WebView setPolicyDelegate:]):
  20532. (-[WebView setLocationChangeDelegate:]):
  20533. * WebView.subproj/WebViewPrivate.h:
  20534. * WebView.subproj/WebViewPrivate.m:
  20535. (-[WebViewPrivate dealloc]):
  20536. (-[WebView _locationChangeDelegateForwarder]):
  20537. (-[WebView _resourceLoadDelegateForwarder]):
  20538. (-[WebView _cacheResourceLoadDelegateImplementations]):
  20539. (-[WebView _resourceLoadDelegateImplementations]):
  20540. (-[WebView _policyDelegateForwarder]):
  20541. (-[WebView _contextMenuDelegateForwarder]):
  20542. (-[WebView _windowOperationsDelegateForwarder]):
  20543. (-[_WebSafeForwarder forwardInvocation:]):
  20544. * API-Issues.rtf:
  20545. Notes to self.
  20546. 2003-04-01 Darin Adler <darin@apple.com>
  20547. * English.lproj/StringsNotToBeLocalized.txt: Allowed update-alex-localizable-strings
  20548. to sort this file.
  20549. 2003-03-31 Trey Matteson <trey@apple.com>
  20550. 3212724 - bookmarks and history items have screwed up designated inits
  20551. and support code for:
  20552. 3116315 - autocomplete needs some prioritization magic
  20553. The main changes are adding and maintaining a visitCount to the HistoryItem,
  20554. cleaning up the init methods of HistoryItem. Also lastVisitedDate is now
  20555. set explicitly instead of automatically getting the current date.
  20556. Reviewed by John.
  20557. * History.subproj/WebHistory.m:
  20558. (-[WebHistory addItemForURL:]): Set lastVisitedDate of new item.
  20559. (-[WebHistory _itemForURLString:]): New helper routine.
  20560. * History.subproj/WebHistoryItem.h: Conform to NSCopying.
  20561. * History.subproj/WebHistoryItem.m:
  20562. (-[WebHistoryItem init]): Behave like a designated initializer.
  20563. (-[WebHistoryItem copyWithZone:]): New.
  20564. (-[WebHistoryItem initWithURL:title:]): Call the designated initializer.
  20565. (-[WebHistoryItem initWithURL:target:parent:title:]): Call the designated initializer.
  20566. Don't blindly init lastVisitedDate.
  20567. (-[WebHistoryItem setLastVisitedDate:]): Update visitCount too.
  20568. (-[WebHistoryItem visitCount]): New getter.
  20569. (-[WebHistoryItem setVisitCount:]): New setter.
  20570. (-[WebHistoryItem _mergeAutoCompleteHints:]): Combine autocomplete info
  20571. of two items. Used when one item replaces another in the history.
  20572. (-[WebHistoryItem dictionaryRepresentation]): Write visitCount.
  20573. (-[WebHistoryItem initFromDictionaryRepresentation:]): Read visitCount.
  20574. * History.subproj/WebHistoryItemPrivate.h:
  20575. * History.subproj/WebHistoryPrivate.h:
  20576. * History.subproj/WebHistoryPrivate.m:
  20577. (-[WebHistoryPrivate addItem:]): Merge autocomplete date from old item to new.
  20578. (-[WebHistoryPrivate itemForURLString:]): s/entry/item/
  20579. (-[WebHistoryPrivate containsItemForURLString:]): s/entry/item/
  20580. (-[WebHistoryPrivate containsURL:]): s/entry/item/
  20581. (-[WebHistoryPrivate itemForURL:]): s/entry/item/
  20582. (-[WebHistoryPrivate _loadHistoryGuts:]): Skip history items without visitDate.
  20583. * WebView.subproj/WebFramePrivate.m:
  20584. (-[WebFrame _transitionToCommitted:]): Update last visitTime when we revisit
  20585. the same URL (since no new history item is created).
  20586. 2003-03-31 Richard Williamson <rjw@apple.com>
  20587. Fixed 3213637. We weren't calling the correct delegate method,
  20588. setStatus: instead of webView:setStatus:
  20589. Reviewed by darin.
  20590. * Plugins.subproj/WebBaseNetscapePluginView.m:
  20591. (-[WebBaseNetscapePluginView status:]):
  20592. 2003-03-31 Maciej Stachowiak <mjs@apple.com>
  20593. Reviewed by Chris.
  20594. - fixed 3210813 - REGRESSION: full size stock chart on etrade shows up empty after viewing mini stock chart
  20595. I fixed this by adding a "negative cache" of icon URLs that loaded
  20596. something but failed to yield an icon. This prevents us from
  20597. asking for the site icon over and over, which was messing up the
  20598. session cookie.
  20599. * Misc.subproj/WebIconDatabase.m:
  20600. (-[WebIconDatabase init]):
  20601. (-[WebIconDatabase iconForURL:withSize:cache:]):
  20602. (-[WebIconDatabase _updateFileDatabase]):
  20603. (-[WebIconDatabase _iconsForIconURLString:]):
  20604. (-[WebIconDatabase _setHaveNoIconForIconURL:]):
  20605. (-[WebIconDatabase _releaseIconForIconURLString:]):
  20606. * Misc.subproj/WebIconDatabasePrivate.h:
  20607. * Misc.subproj/WebIconLoader.h:
  20608. * Misc.subproj/WebIconLoader.m:
  20609. (-[WebIconLoader startLoading]):
  20610. (-[WebIconLoader connectionDidFinishLoading:]):
  20611. * WebView.subproj/WebDataSourcePrivate.m:
  20612. (-[WebDataSource _iconLoaderReceivedPageIcon:]):
  20613. 2003-03-31 Darin Adler <darin@apple.com>
  20614. * English.lproj/InfoPlist.strings: Changed "1.0 Beta" to "1.0 Beta 2".
  20615. * WebKit.pbproj/project.pbxproj: Changed "1.0 Beta" to "1.0 Beta 2".
  20616. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  20617. * English.lproj/Localizable.strings: Regenerated (new script, "1.0 Beta 2").
  20618. 2003-03-31 Richard Williamson <rjw@apple.com>
  20619. Reviewed by darin.
  20620. * History.subproj/WebHistory.h:
  20621. Added use of WebHistoryItemsKey instead of @"Entries".
  20622. * History.subproj/WebHistory.m:(-[WebHistory _sendNotification:entries:]):
  20623. Use WebHistoryItemsKey as key instead of @"Entries".
  20624. * History.subproj/WebHistoryItem.m: (-[WebHistoryItem init]):
  20625. Fix double allocation of WebHistoryPrivate.
  20626. * WebKit/WebKit.exp
  20627. Added export for WebHistoryItemsKey
  20628. * WebKit/API-Issues.rtf
  20629. Notes.
  20630. 2003-03-31 Darin Adler <darin@apple.com>
  20631. Reviewed by Chris.
  20632. - improved default behaviors in window operations delegate
  20633. * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
  20634. (-[WebDefaultWindowOperationsDelegate webViewShowWindowBehindFrontmost:]): Removed unused method.
  20635. (-[WebDefaultWindowOperationsDelegate webViewCloseWindow:]): Added default implementation, calls close on window.
  20636. (-[WebDefaultWindowOperationsDelegate webViewFocusWindow:]): Added default implementation, makeKeyAndOrderFront.
  20637. (-[WebDefaultWindowOperationsDelegate webViewUnfocusWindow:]): Added default implementation, uses _cycleWindowsReversed as needed.
  20638. (-[WebDefaultWindowOperationsDelegate webViewFirstResponderInWindow:]): Added default implementation, calls firstResponder.
  20639. (-[WebDefaultWindowOperationsDelegate webView:makeFirstResponderInWindow:]): Added default implementation, calls makeFirstResponder.
  20640. (-[WebDefaultWindowOperationsDelegate webViewIsResizable:]): Added default implementation, calls showsResizeIndicator.
  20641. (-[WebDefaultWindowOperationsDelegate webView:setResizable:]): Added default implementation, calls setShowsResizeIndicator.
  20642. (-[WebDefaultWindowOperationsDelegate webView:setFrame:]): Use display:YES, not display:NO.
  20643. (-[WebDefaultWindowOperationsDelegate webViewFrame:]): Return NSZeroRect if window is nil instead of random garbage.
  20644. (-[WebDefaultWindowOperationsDelegate webView:setContentRect:]): Use display:YES, not display:NO.
  20645. (-[WebDefaultWindowOperationsDelegate webViewContentRect:]): Return NSZeroRect if window is nil instead of random garbage.
  20646. (-[WebDefaultWindowOperationsDelegate webView: runJavaScriptAlertPanelWithMessage:]): Added a FIXME because we should have a default implementation here.
  20647. (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptConfirmPanelWithMessage:]): Ditto.
  20648. (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:]): Put a default implementation here.
  20649. (-[WebDefaultWindowOperationsDelegate webView:runOpenPanelForFileButtonWithResultListener:]): Added a FIXME because we should have a default implementation here.
  20650. 2003-03-29 Chris Blumenberg <cblu@apple.com>
  20651. Fixed: 3178058 - Plug-ins are stopped/reloaded when switching tabs
  20652. Made the "Enable plug-ins" preference toggle in real-time again.
  20653. No events including null events are sent when a plug-in is in a non-frontmost tab. This causes Flash movies to pause (which is nice) and QT movies to continue to play.
  20654. Reviewed by darin.
  20655. * Plugins.subproj/WebBaseNetscapePluginView.h:
  20656. * Plugins.subproj/WebBaseNetscapePluginView.m:
  20657. (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): use the current window, clip out the plug-in when not in an actual window
  20658. (-[WebBaseNetscapePluginView restorePortState:]): use the current window
  20659. (-[WebBaseNetscapePluginView sendEvent:]): added asserts
  20660. (-[WebBaseNetscapePluginView sendActivateEvent:]): tweak
  20661. (-[WebBaseNetscapePluginView sendNullEvent]): tweak
  20662. (-[WebBaseNetscapePluginView restartNullEvents]): tweak
  20663. (-[WebBaseNetscapePluginView isInResponderChain]): tweak
  20664. (-[WebBaseNetscapePluginView performKeyEquivalent:]): tweak
  20665. (-[WebBaseNetscapePluginView canStart]): new, implemented by subclasses
  20666. (-[WebBaseNetscapePluginView didStart]): new, implemented by subclasses
  20667. (-[WebBaseNetscapePluginView addWindowObservers]): new
  20668. (-[WebBaseNetscapePluginView removeWindowObservers]): new
  20669. (-[WebBaseNetscapePluginView start]): check pref, call canStart, addWindowObservers and didStart
  20670. (-[WebBaseNetscapePluginView stop]): call removeWindowObservers
  20671. (-[WebBaseNetscapePluginView currentWindow]): new, returns the actual window else the host window
  20672. (-[WebBaseNetscapePluginView initWithFrame:]): observer pref change notifications
  20673. (-[WebBaseNetscapePluginView dealloc]): call removeObserver
  20674. (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): stop if there is no host window
  20675. (-[WebBaseNetscapePluginView viewDidMoveToWindow]): start if we moved to a window
  20676. (-[WebBaseNetscapePluginView viewWillMoveToHostWindow:]): stop if there will be no windows
  20677. (-[WebBaseNetscapePluginView viewDidMoveToHostWindow]): start if there is a window
  20678. (-[WebBaseNetscapePluginView preferencesHaveChanged:]): renamed, start or stop
  20679. (-[WebBaseNetscapePluginView destroyStream:reason:]): tweak
  20680. (-[NSData _web_locationAfterFirstBlankLine]): tweak
  20681. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  20682. (-[WebNetscapePluginDocumentView initWithFrame:]): call setAutoresizingMask here
  20683. (-[WebNetscapePluginDocumentView canStart]): new, return YES if there is a data source
  20684. (-[WebNetscapePluginDocumentView didStart]): redeliver the stream if there is any data
  20685. (-[WebNetscapePluginDocumentView setDataSource:]): start if there is a current window
  20686. (-[WebNetscapePluginDocumentView layout]): no need to call setWindow, this is done in the superclass
  20687. (-[WebNetscapePluginDocumentView viewWillMoveToHostWindow:]): forward to super to make compiler happy
  20688. (-[WebNetscapePluginDocumentView viewDidMoveToHostWindow]): forward to super to make compiler happy
  20689. * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
  20690. (-[WebNetscapePluginEmbeddedView didStart]): start the load
  20691. (-[WebNetscapePluginEmbeddedView dataSource]): tweak
  20692. * WebView.subproj/WebDocument.h: added viewWillMoveToHostWindow: and viewDidMoveToHostWindow
  20693. * WebView.subproj/WebFramePrivate.h:
  20694. * WebView.subproj/WebFramePrivate.m:
  20695. (-[WebFrame _viewWillMoveToHostWindow:]): forward to document view and subframes
  20696. (-[WebFrame _viewDidMoveToHostWindow]): forward to document view and subframes
  20697. * WebView.subproj/WebHTMLView.m:
  20698. (-[WebHTMLView viewWillMoveToHostWindow:]): forward to plug-in views
  20699. (-[WebHTMLView viewDidMoveToHostWindow]): forward to plug-in views
  20700. (-[NSArray _web_makePluginViewsPerformSelector:withObject:]): new
  20701. * WebView.subproj/WebHTMLViewPrivate.m:
  20702. (-[WebHTMLView _reset]): don't stop plug-ins here. WebBaseNetscapePluginView can handle that
  20703. * WebView.subproj/WebImageView.m:
  20704. (-[WebImageView viewWillMoveToHostWindow:]): implement new WebDocumentView methods
  20705. (-[WebImageView viewDidMoveToHostWindow]): implement new WebDocumentView methods
  20706. * WebView.subproj/WebTextView.m:
  20707. (-[WebTextView viewWillMoveToHostWindow:]): implement new WebDocumentView methods
  20708. (-[WebTextView viewDidMoveToHostWindow]): implement new WebDocumentView methods
  20709. * WebView.subproj/WebView.h:
  20710. * WebView.subproj/WebView.m:
  20711. (-[WebView setHostWindow:]): new
  20712. (-[WebView hostWindow]): new
  20713. * WebView.subproj/WebViewPrivate.h:
  20714. * WebView.subproj/WebViewPrivate.m:
  20715. (-[WebViewPrivate dealloc]): release the host window
  20716. 2003-03-31 Darin Adler <darin@apple.com>
  20717. Reviewed by John.
  20718. * WebCoreSupport.subproj/WebBridge.m:
  20719. (-[WebBridge nextKeyViewOutsideWebFrameViews]): Get next key view from WebView, only using
  20720. the top level WebFrameView if the WebView doesn't have one set (for compatibility in case
  20721. some of our current WebKit clients are using this).
  20722. (-[WebBridge previousKeyViewOutsideWebFrameViews]): Ditto.
  20723. 2003-03-31 Darin Adler <darin@apple.com>
  20724. Reviewed by John.
  20725. - fixed 3211730 -- REGRESSION: Flash spawns blank page then loads new page inside banner itself
  20726. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadPluginRequest:]):
  20727. Load the request in the frame we found or created, not always in our own frame (oops!).
  20728. - other changes
  20729. * History.subproj/WebHistory.h: Update comments to all say "Item" instead of "Entry".
  20730. They didn't match the method names any more.
  20731. * WebView.subproj/WebView.m:
  20732. (-[WebView acceptsFirstResponder]): Return YES.
  20733. (-[WebView becomeFirstResponder]): Pass first responder on to the WebFrameView in the same way
  20734. the WebFrameView passes it on to the document view.
  20735. 2003-03-30 Maciej Stachowiak <mjs@apple.com>
  20736. Reviewed by Darin.
  20737. - fixed 3204257 - CNN's 'war on iraq' ticker stops on mouseover
  20738. * WebView.subproj/WebHTMLViewPrivate.h:
  20739. * WebView.subproj/WebHTMLViewPrivate.m:
  20740. (-[WebHTMLView _updateMouseoverWithEvent:]): When leaving an HTML
  20741. view, tell it that the mouse moved outside everything in the view,
  20742. even accounting for scrolled off portions (otherwise khtml gets
  20743. confused). This makes cross-frame mouse enter/leave work properly.
  20744. (-[WebHTMLView _clearLastHitViewIfSelf]): Method to clear last hit view,
  20745. so we don't need to retain it.
  20746. * WebView.subproj/WebHTMLView.m:
  20747. (-[WebHTMLView dealloc]): Call _clearLastHitViewIfSelf.
  20748. 2003-03-28 Richard Williamson <rjw@apple.com>
  20749. Fix typo in comments that broke headerdoc.
  20750. * WebView.subproj/WebWindowOperationsDelegate.h:
  20751. 2003-03-28 Ken Kocienda <kocienda@apple.com>
  20752. Reviewed by John
  20753. Imports NSURLConnection private header to access NSURLConnection code
  20754. that did not make the API cut.
  20755. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  20756. * WebView.subproj/WebMainResourceClient.m:
  20757. 2003-03-28 Ken Kocienda <kocienda@apple.com>
  20758. Reviewed by Trey
  20759. NSURLConnection class method changed name:
  20760. canInitWithRequest: -> canHandleRequest:
  20761. Moved to API-approved model for synchronous loads.
  20762. Removed fixme I put in yesterday having to do with
  20763. reposting form data. The feature is fully functional
  20764. again.
  20765. * Plugins.subproj/WebNetscapePluginStream.m:
  20766. (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
  20767. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  20768. (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
  20769. * WebView.subproj/WebDefaultPolicyDelegate.m:
  20770. (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
  20771. * WebView.subproj/WebFramePrivate.m:
  20772. (-[WebFrame _loadItem:fromItem:withLoadType:]):
  20773. (-[WebFrame _continueAfterNavigationPolicy:]):
  20774. 2003-03-28 Ken Kocienda <kocienda@apple.com>
  20775. Reviewed by Darin
  20776. Cosmetic change. Instances of 'resource' as a local variable
  20777. name have been changed to 'connection'. Some other changes
  20778. related to this cosmetic cleanup were done as well.
  20779. As part of this change, I needed to change some 'connection'
  20780. method arguments to 'con' to avoid the name conflict now
  20781. that instance variables are named .connection'.
  20782. * Downloads.subproj/WebDownload.m:
  20783. (-[WebDownloadPrivate dealloc]):
  20784. (-[WebDownload initWithRequest:]):
  20785. (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
  20786. (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]):
  20787. (-[WebDownload loadWithDelegate:]):
  20788. (-[WebDownload _downloadEnded]):
  20789. (-[WebDownload _cancelWithError:]):
  20790. * Downloads.subproj/WebDownloadPrivate.h:
  20791. * Plugins.subproj/WebNetscapePluginStream.m:
  20792. (-[WebNetscapePluginStream connection:didReceiveResponse:]):
  20793. (-[WebNetscapePluginStream connection:didReceiveData:]):
  20794. (-[WebNetscapePluginStream connectionDidFinishLoading:]):
  20795. (-[WebNetscapePluginStream connection:didFailLoadingWithError:]):
  20796. * WebCoreSupport.subproj/WebSubresourceClient.m:
  20797. (-[WebSubresourceClient connection:willSendRequest:redirectResponse:]):
  20798. (-[WebSubresourceClient connection:didReceiveResponse:]):
  20799. (-[WebSubresourceClient connection:didReceiveData:]):
  20800. (-[WebSubresourceClient connectionDidFinishLoading:]):
  20801. (-[WebSubresourceClient connection:didFailLoadingWithError:]):
  20802. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  20803. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  20804. (-[WebBaseResourceHandleDelegate _releaseResources]):
  20805. (-[WebBaseResourceHandleDelegate startLoading:]):
  20806. (-[WebBaseResourceHandleDelegate loadWithRequest:]):
  20807. (-[WebBaseResourceHandleDelegate setDefersCallbacks:]):
  20808. (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
  20809. (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
  20810. (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
  20811. (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
  20812. (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]):
  20813. (-[WebBaseResourceHandleDelegate cancelWithError:]):
  20814. * WebView.subproj/WebMainResourceClient.m:
  20815. (-[WebMainResourceClient receivedError:]):
  20816. (-[WebMainResourceClient cancelWithError:]):
  20817. (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
  20818. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  20819. (-[WebMainResourceClient connection:didReceiveResponse:]):
  20820. (-[WebMainResourceClient connection:didReceiveData:]):
  20821. (-[WebMainResourceClient connectionDidFinishLoading:]):
  20822. (-[WebMainResourceClient connection:didFailLoadingWithError:]):
  20823. (-[WebMainResourceClient startLoading:]):
  20824. 2003-03-28 Ken Kocienda <kocienda@apple.com>
  20825. Reviewed by Darin
  20826. Changed names for URL connection callback methods to
  20827. use the API-approved names. No functional changes.
  20828. * Downloads.subproj/WebDownload.h:
  20829. * Downloads.subproj/WebDownload.m:
  20830. (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
  20831. (-[WebDownload connection:willSendRequest:redirectResponse:]):
  20832. (-[WebDownload connection:didReceiveResponse:]):
  20833. (-[WebDownload connection:didReceiveData:]):
  20834. (-[WebDownload connectionDidFinishLoading:]):
  20835. (-[WebDownload connection:didFailLoadingWithError:]):
  20836. * Misc.subproj/WebIconLoader.m:
  20837. (-[WebIconLoader connectionDidFinishLoading:]):
  20838. (-[WebIconLoader connection:willSendRequest:redirectResponse:]):
  20839. (-[WebIconLoader connection:didReceiveResponse:]):
  20840. (-[WebIconLoader connection:didReceiveData:]):
  20841. (-[WebIconLoader connection:didFailLoadingWithError:]):
  20842. * Plugins.subproj/WebNetscapePluginStream.m:
  20843. (-[WebNetscapePluginStream connection:didReceiveResponse:]):
  20844. (-[WebNetscapePluginStream connection:didReceiveData:]):
  20845. (-[WebNetscapePluginStream connectionDidFinishLoading:]):
  20846. (-[WebNetscapePluginStream connection:didFailLoadingWithError:]):
  20847. * WebCoreSupport.subproj/WebBridge.m:
  20848. (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
  20849. * WebCoreSupport.subproj/WebSubresourceClient.m:
  20850. (-[WebSubresourceClient connection:willSendRequest:redirectResponse:]):
  20851. (-[WebSubresourceClient connection:didReceiveResponse:]):
  20852. (-[WebSubresourceClient connection:didReceiveData:]):
  20853. (-[WebSubresourceClient connectionDidFinishLoading:]):
  20854. (-[WebSubresourceClient connection:didFailLoadingWithError:]):
  20855. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  20856. (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
  20857. (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
  20858. (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
  20859. (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
  20860. (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]):
  20861. * WebView.subproj/WebDefaultResourceLoadDelegate.m:
  20862. (-[WebDefaultResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
  20863. * WebView.subproj/WebMainResourceClient.m:
  20864. (-[WebMainResourceClient receivedError:]):
  20865. (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
  20866. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  20867. (-[WebMainResourceClient connection:didReceiveResponse:]):
  20868. (-[WebMainResourceClient connection:didReceiveData:]):
  20869. (-[WebMainResourceClient connectionDidFinishLoading:]):
  20870. (-[WebMainResourceClient connection:didFailLoadingWithError:]):
  20871. (-[WebMainResourceClient startLoading:]):
  20872. (-[WebResourceDelegateProxy connection:willSendRequest:redirectResponse:]):
  20873. (-[WebResourceDelegateProxy connection:didReceiveResponse:]):
  20874. (-[WebResourceDelegateProxy connection:didReceiveData:]):
  20875. (-[WebResourceDelegateProxy connectionDidFinishLoading:]):
  20876. (-[WebResourceDelegateProxy connection:didFailLoadingWithError:]):
  20877. * WebView.subproj/WebResourceLoadDelegate.h:
  20878. 2003-03-27 Chris Blumenberg <cblu@apple.com>
  20879. Left out a "!" in my last check-in.
  20880. * Plugins.subproj/WebNetscapePluginPackage.m:
  20881. (-[WebNetscapePluginPackage load]):
  20882. 2003-03-27 Chris Blumenberg <cblu@apple.com>
  20883. - Allow Netscape plug-ins that don't have resource files to load in Safari.
  20884. - Added more error handling when loading plug-ins.
  20885. Reviewed by darin.
  20886. * Plugins.subproj/WebNetscapePluginPackage.m:
  20887. (-[WebNetscapePluginPackage load]):
  20888. 2003-03-27 Maciej Stachowiak <mjs@apple.com>
  20889. Reviewed by Darin.
  20890. - fixed 3192344 - nil-deref in KWin::info scrolling amazon while other shopping tabs load
  20891. - fixed 3098365 - Default window size changes as a result of popup windows
  20892. - fixed 3189291 - javascript window.close() closes window, not just originating tab
  20893. * WebCoreSupport.subproj/WebBridge.m:
  20894. (-[WebBridge setWindowIsResizable:]): New bridge method, implemented
  20895. by calling window operations delegate.
  20896. (-[WebBridge windowIsResizable]): Likewise.
  20897. (-[WebBridge firstResponder]): Likewise.
  20898. (-[WebBridge makeFirstResponder:]): Likewise.
  20899. (-[WebBridge closeWindow]): Likewise.
  20900. 2003-03-27 Ken Kocienda <kocienda@apple.com>
  20901. Reviewed by Darin
  20902. Changed WebResource to NSURLConnection. Some other "supporting" names
  20903. changed as well. Note that there are no functional modifications,
  20904. only name changes.
  20905. * Downloads.subproj/WebDownload.m:
  20906. (-[WebDownload initWithRequest:]):
  20907. (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
  20908. (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]):
  20909. (-[WebDownload loadWithDelegate:]):
  20910. (-[WebDownload resource:willSendRequest:]):
  20911. (-[WebDownload resource:didReceiveResponse:]):
  20912. (-[WebDownload resource:didReceiveData:]):
  20913. (-[WebDownload resourceDidFinishLoading:]):
  20914. (-[WebDownload resource:didFailLoadingWithError:]):
  20915. * Downloads.subproj/WebDownloadPrivate.h:
  20916. * Misc.subproj/WebIconLoader.h:
  20917. * Misc.subproj/WebIconLoader.m:
  20918. (-[WebIconLoader startLoading]):
  20919. (-[WebIconLoader resourceDidFinishLoading:]):
  20920. (-[WebIconLoader resource:willSendRequest:]):
  20921. (-[WebIconLoader resource:didReceiveResponse:]):
  20922. (-[WebIconLoader resource:didReceiveData:]):
  20923. (-[WebIconLoader resource:didFailLoadingWithError:]):
  20924. * Plugins.subproj/WebNetscapePluginStream.h:
  20925. * Plugins.subproj/WebNetscapePluginStream.m:
  20926. (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
  20927. (-[WebNetscapePluginStream resource:didReceiveResponse:]):
  20928. (-[WebNetscapePluginStream resource:didReceiveData:]):
  20929. (-[WebNetscapePluginStream resourceDidFinishLoading:]):
  20930. (-[WebNetscapePluginStream resource:didFailLoadingWithError:]):
  20931. * WebCoreSupport.subproj/WebBridge.m:
  20932. * WebCoreSupport.subproj/WebSubresourceClient.m:
  20933. (-[WebSubresourceClient resource:willSendRequest:]):
  20934. (-[WebSubresourceClient resource:didReceiveResponse:]):
  20935. (-[WebSubresourceClient resource:didReceiveData:]):
  20936. (-[WebSubresourceClient resourceDidFinishLoading:]):
  20937. (-[WebSubresourceClient resource:didFailLoadingWithError:]):
  20938. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  20939. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  20940. (-[WebBaseResourceHandleDelegate loadWithRequest:]):
  20941. (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
  20942. (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
  20943. (-[WebBaseResourceHandleDelegate resource:didReceiveData:]):
  20944. (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]):
  20945. (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]):
  20946. * WebView.subproj/WebDataSource.h:
  20947. * WebView.subproj/WebDataSource.m:
  20948. * WebView.subproj/WebDataSourcePrivate.m:
  20949. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  20950. (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
  20951. * WebView.subproj/WebDefaultPolicyDelegate.m:
  20952. (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
  20953. * WebView.subproj/WebDefaultResourceLoadDelegate.m:
  20954. * WebView.subproj/WebFramePrivate.m:
  20955. (-[WebFrame _continueAfterNavigationPolicy:]):
  20956. (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
  20957. * WebView.subproj/WebMainResourceClient.h:
  20958. * WebView.subproj/WebMainResourceClient.m:
  20959. (-[WebMainResourceClient resource:willSendRequest:]):
  20960. (-[WebMainResourceClient resource:didReceiveResponse:]):
  20961. (-[WebMainResourceClient resource:didReceiveData:]):
  20962. (-[WebMainResourceClient resourceDidFinishLoading:]):
  20963. (-[WebMainResourceClient resource:didFailLoadingWithError:]):
  20964. (-[WebResourceDelegateProxy setDelegate:]):
  20965. (-[WebResourceDelegateProxy resource:willSendRequest:]):
  20966. (-[WebResourceDelegateProxy resource:didReceiveResponse:]):
  20967. (-[WebResourceDelegateProxy resource:didReceiveData:]):
  20968. (-[WebResourceDelegateProxy resourceDidFinishLoading:]):
  20969. (-[WebResourceDelegateProxy resource:didFailLoadingWithError:]):
  20970. * WebView.subproj/WebPolicyDelegate.h:
  20971. * WebView.subproj/WebView.h:
  20972. * WebView.subproj/WebView.m:
  20973. * WebView.subproj/WebViewPrivate.m:
  20974. 2003-03-27 Richard Williamson <rjw@apple.com>
  20975. API change: WebHistory initWithFile: -> initWithContentsOfURL:
  20976. Reviewed by Ken.
  20977. * History.subproj/WebHistory.h:
  20978. * History.subproj/WebHistory.m:
  20979. (-[WebHistory initWithContentsOfURL:]):
  20980. (-[WebHistory URL]):
  20981. * History.subproj/WebHistoryPrivate.h:
  20982. * History.subproj/WebHistoryPrivate.m:
  20983. (-[WebHistoryPrivate initWithContentsOfURL:]):
  20984. (-[WebHistoryPrivate dealloc]):
  20985. (-[WebHistoryPrivate _loadHistoryGuts:]):
  20986. (-[WebHistoryPrivate loadHistory]):
  20987. (-[WebHistoryPrivate _saveHistoryGuts:]):
  20988. (-[WebHistoryPrivate URL]):
  20989. (-[WebHistoryPrivate saveHistory]):
  20990. 2003-03-27 Darin Adler <darin@apple.com>
  20991. Reviewed by Shelley.
  20992. - fixed 3157067 -- Pier1.com doesn't load; Microsoft VBScript runtime error in user-agent checking code
  20993. Besides this fix, I also filed an evangelism bug, bug 3210612.
  20994. * WebView.subproj/WebUserAgentSpoofTable.gperf: Added pier1.com.
  20995. * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
  20996. 2003-03-27 Ken Kocienda <kocienda@apple.com>
  20997. Reviewed by Trey
  20998. Moved to final NSURLResponse and NSHTTPURLResponse API.
  20999. * Downloads.subproj/WebDownload.m:
  21000. * Misc.subproj/WebNSURLResponseExtras.m:
  21001. (-[NSURLResponse suggestedFilenameForSaving]):
  21002. (-[NSHTTPURLResponse suggestedFilenameForSaving]):
  21003. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  21004. (-[WebBaseNetscapePluginStream setResponse:]):
  21005. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  21006. (-[WebNetscapePluginDocumentView setDataSource:]):
  21007. * WebView.subproj/WebDataSourcePrivate.m:
  21008. (-[WebDataSource _representationClass]):
  21009. (-[WebDataSource _commitIfReady:]):
  21010. * WebView.subproj/WebFramePrivate.m:
  21011. (-[WebFrame _opened]):
  21012. (-[WebFrame _loadItem:fromItem:withLoadType:]):
  21013. * WebView.subproj/WebFrameViewPrivate.m:
  21014. (-[WebFrameView _makeDocumentViewForDataSource:]):
  21015. * WebView.subproj/WebMainResourceClient.m:
  21016. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  21017. (-[WebMainResourceClient checkContentPolicyForResponse:]):
  21018. (-[WebMainResourceClient resource:didReceiveResponse:]):
  21019. (-[WebMainResourceClient startLoading:]):
  21020. * WebView.subproj/WebTextRepresentation.m:
  21021. (-[WebTextRepresentation setDataSource:]):
  21022. * WebView.subproj/WebTextView.m:
  21023. (-[WebTextView dataSourceUpdated:]):
  21024. === Safari-69 ===
  21025. 2003-03-26 Richard Williamson <rjw@apple.com>
  21026. File name change WebPluginError.[hm] -> WebPlugInError.[hm]
  21027. * Misc.subproj/WebKit.h:
  21028. * Plugins.subproj/WebNullPluginView.m:
  21029. * Plugins.subproj/WebPlugInError.h:
  21030. * Plugins.subproj/WebPluginError.h: Removed.
  21031. * Plugins.subproj/WebPluginError.m: Removed.
  21032. * Plugins.subproj/WebPluginErrorPrivate.h:
  21033. * WebKit.pbproj/project.pbxproj:
  21034. 2003-03-26 Richard Williamson <rjw@apple.com>
  21035. WebPreferences API changes:
  21036. JavaScriptCanOpenWindowsAutomatically -> javaScriptCanOpenWindowsAutomatically
  21037. setJavaScriptCanOpenWindowsAutomatically -> setJavaScriptCanOpenWindowsAutomatically
  21038. willLoadImagesAutomatically -> loadsImagesAutomatically
  21039. setWillLoadImagesAutomatically -> setLoadsImagesAutomatically
  21040. JavaEnabled -> isJavaEnabled
  21041. setJavaEnabled -> setIsJavaEnabled
  21042. JavaScriptEnabled -> isJavaScriptEnabled
  21043. setJavaScriptEnabled -> setIsJavaScriptEnabled
  21044. pluginsEnabled -> arePlugInsEnabled
  21045. setPluginsEnabled -> setArePlugInsEnabled
  21046. allowAnimatedImageLooping -> allowsAnimatedImageLooping
  21047. setAllowAnimatedImageLooping -> setAllowsAnimatedImageLooping
  21048. allowAnimatedImages -> allowsAnimatedImages
  21049. setAllowAnimatedImages -> setAllowsAnimatedImages
  21050. Made WebHistoryItem's ivars private.
  21051. WebPluginError API changes:
  21052. pluginPageURL -> plugInPageURLString
  21053. contentURL -> contentURLString
  21054. Reviewed by cblu.
  21055. * API-Issues.rtf:
  21056. * History.subproj/WebHistoryItem.h:
  21057. * History.subproj/WebHistoryItem.m:
  21058. (-[WebHistoryItemPrivate dealloc]):
  21059. (-[WebHistoryItem init]):
  21060. (-[WebHistoryItem dealloc]):
  21061. (-[WebHistoryItem URLString]):
  21062. (-[WebHistoryItem originalURLString]):
  21063. (-[WebHistoryItem title]):
  21064. (-[WebHistoryItem setDisplayTitle:]):
  21065. (-[WebHistoryItem icon]):
  21066. (-[WebHistoryItem lastVisitedDate]):
  21067. (-[WebHistoryItem hash]):
  21068. (-[WebHistoryItem anchor]):
  21069. (-[WebHistoryItem isEqual:]):
  21070. (-[WebHistoryItem description]):
  21071. (-[WebHistoryItem _retainIconInDatabase:]):
  21072. (-[WebHistoryItem initWithURL:target:parent:title:]):
  21073. (-[WebHistoryItem URL]):
  21074. (-[WebHistoryItem target]):
  21075. (-[WebHistoryItem parent]):
  21076. (-[WebHistoryItem setURL:]):
  21077. (-[WebHistoryItem setOriginalURLString:]):
  21078. (-[WebHistoryItem setTitle:]):
  21079. (-[WebHistoryItem setTarget:]):
  21080. (-[WebHistoryItem setParent:]):
  21081. (-[WebHistoryItem setLastVisitedDate:]):
  21082. (-[WebHistoryItem documentState]):
  21083. (-[WebHistoryItem scrollPoint]):
  21084. (-[WebHistoryItem setScrollPoint:]):
  21085. (-[WebHistoryItem setAnchor:]):
  21086. (-[WebHistoryItem isTargetItem]):
  21087. (-[WebHistoryItem setIsTargetItem:]):
  21088. (-[WebHistoryItem _recurseToFindTargetItem]):
  21089. (-[WebHistoryItem targetItem]):
  21090. (-[WebHistoryItem formData]):
  21091. (-[WebHistoryItem setFormData:]):
  21092. (-[WebHistoryItem formContentType]):
  21093. (-[WebHistoryItem setFormContentType:]):
  21094. (-[WebHistoryItem formReferrer]):
  21095. (-[WebHistoryItem setFormReferrer:]):
  21096. (-[WebHistoryItem children]):
  21097. (-[WebHistoryItem addChildItem:]):
  21098. (-[WebHistoryItem childItemWithName:]):
  21099. (-[WebHistoryItem dictionaryRepresentation]):
  21100. (-[WebHistoryItem initFromDictionaryRepresentation:]):
  21101. (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
  21102. (-[WebHistoryItem alwaysAttemptToUsePageCache]):
  21103. (-[WebHistoryItem _scheduleRelease]):
  21104. (-[WebHistoryItem setHasPageCache:]):
  21105. (-[WebHistoryItem pageCache]):
  21106. * Plugins.subproj/WebPluginError.h:
  21107. * Plugins.subproj/WebPluginError.m:
  21108. (-[WebPlugInError plugInPageURLString]):
  21109. * WebView.subproj/WebPreferences.h:
  21110. * WebView.subproj/WebPreferences.m:
  21111. (-[WebPreferences isJavaEnabled]):
  21112. (-[WebPreferences setIsJavaEnabled:]):
  21113. (-[WebPreferences isJavaScriptEnabled]):
  21114. (-[WebPreferences setIsJavaScriptEnabled:]):
  21115. (-[WebPreferences javaScriptCanOpenWindowsAutomatically]):
  21116. (-[WebPreferences arePlugInsEnabled]):
  21117. (-[WebPreferences setArePlugInsEnabled:]):
  21118. (-[WebPreferences allowsAnimatedImages]):
  21119. (-[WebPreferences allowsAnimatedImageLooping]):
  21120. (-[WebPreferences setAllowsAnimatedImageLooping:]):
  21121. (-[WebPreferences setLoadsImagesAutomatically:]):
  21122. (-[WebPreferences loadsImagesAutomatically]):
  21123. * WebView.subproj/WebViewPrivate.m:
  21124. (-[WebView _updateWebCoreSettingsFromPreferences:]):
  21125. 2003-03-26 Ken Kocienda <kocienda@apple.com>
  21126. Reviewed by Darin
  21127. Changed WebResponse to NSURLResponse. Some other "supporting" names
  21128. changed as well. Note that there are no functional modifications,
  21129. only name changes.
  21130. * Downloads.subproj/WebDownload.h:
  21131. * Downloads.subproj/WebDownload.m:
  21132. (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
  21133. (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]):
  21134. (-[WebDownload _setResponse:]):
  21135. (-[WebDownload resource:didReceiveResponse:]):
  21136. * Downloads.subproj/WebDownloadPrivate.h:
  21137. * Misc.subproj/WebIconLoader.m:
  21138. (-[WebIconLoader resource:didReceiveResponse:]):
  21139. * Misc.subproj/WebKit.h:
  21140. * Plugins.subproj/WebBaseNetscapePluginStream.h:
  21141. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  21142. (-[WebBaseNetscapePluginStream setResponse:]):
  21143. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  21144. * Plugins.subproj/WebNetscapePluginStream.m:
  21145. (-[WebNetscapePluginStream resource:didReceiveResponse:]):
  21146. * WebCoreSupport.subproj/WebBridge.m:
  21147. * WebCoreSupport.subproj/WebSubresourceClient.h:
  21148. * WebCoreSupport.subproj/WebSubresourceClient.m:
  21149. (-[WebSubresourceClient resource:didReceiveResponse:]):
  21150. * WebKit.pbproj/project.pbxproj:
  21151. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  21152. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  21153. (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
  21154. * WebView.subproj/WebDataSource.h:
  21155. * WebView.subproj/WebDataSource.m:
  21156. (-[WebDataSource response]):
  21157. * WebView.subproj/WebDataSourcePrivate.h:
  21158. * WebView.subproj/WebDataSourcePrivate.m:
  21159. (-[WebDataSource _setResponse:]):
  21160. (-[WebDataSource _commitIfReady:]):
  21161. (-[WebDataSource _addResponse:]):
  21162. * WebView.subproj/WebDefaultPolicyDelegate.m:
  21163. * WebView.subproj/WebDefaultResourceLoadDelegate.m:
  21164. (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveResponse:fromDataSource:]):
  21165. * WebView.subproj/WebFramePrivate.m:
  21166. (-[WebFrame _opened]):
  21167. * WebView.subproj/WebFrameViewPrivate.m:
  21168. * WebView.subproj/WebHTMLRepresentation.m:
  21169. * WebView.subproj/WebMainResourceClient.h:
  21170. * WebView.subproj/WebMainResourceClient.m:
  21171. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  21172. (-[WebMainResourceClient continueAfterContentPolicy:]):
  21173. (-[WebMainResourceClient checkContentPolicyForResponse:]):
  21174. (-[WebMainResourceClient resource:didReceiveResponse:]):
  21175. (-[WebMainResourceClient startLoading:]):
  21176. (-[WebResourceDelegateProxy resource:didReceiveResponse:]):
  21177. * WebView.subproj/WebPolicyDelegate.h:
  21178. * WebView.subproj/WebResourceLoadDelegate.h:
  21179. * WebView.subproj/WebTextRepresentation.m:
  21180. * WebView.subproj/WebTextView.m:
  21181. 2003-03-26 Darin Adler <darin@apple.com>
  21182. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  21183. 2003-03-26 Darin Adler <darin@apple.com>
  21184. Reviewed by Trey.
  21185. - fixed 3209091 -- REGRESSION: WebFrameView leak (world leak)
  21186. * WebView.subproj/WebView.m:
  21187. (-[WebView _commonInitialization:frameName:groupName:]): Use copy, not retain,
  21188. on an incoming NSString parameter.
  21189. (-[WebView initWithFrame:frameName:groupName:]): Release the WebFrameView after
  21190. setting it up.
  21191. - other changes
  21192. * WebCoreSupport.subproj/WebImageRenderer.m:
  21193. (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
  21194. Put the bug workaround here inside an ifdef so we don't compile it in on Panther.
  21195. 2003-03-26 Chris Blumenberg <cblu@apple.com>
  21196. Use the private _cfBundle method on NSBundle so we only create 1 bundle per plug-in package class.
  21197. Reviewed by trey.
  21198. * Plugins.subproj/WebBasePluginPackage.h:
  21199. * Plugins.subproj/WebBasePluginPackage.m:
  21200. (-[WebBasePluginPackage initWithPath:]):
  21201. (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]):
  21202. (-[WebBasePluginPackage dealloc]):
  21203. * Plugins.subproj/WebNetscapePluginPackage.h:
  21204. * Plugins.subproj/WebNetscapePluginPackage.m:
  21205. (-[WebNetscapePluginPackage openResourceFile]):
  21206. (-[WebNetscapePluginPackage closeResourceFile:]):
  21207. (-[WebNetscapePluginPackage getPluginInfoFromPLists]):
  21208. (-[WebNetscapePluginPackage initWithPath:]):
  21209. (-[WebNetscapePluginPackage load]):
  21210. (-[WebNetscapePluginPackage unload]):
  21211. * Plugins.subproj/WebPluginPackage.m:
  21212. (-[WebPluginPackage initWithPath:]):
  21213. (-[WebPluginPackage viewFactory]):
  21214. (-[WebPluginPackage load]):
  21215. (-[WebPluginPackage isLoaded]):
  21216. 2003-03-26 Ken Kocienda <kocienda@apple.com>
  21217. Reviewed by Maciej
  21218. Finished conversion to NSMutableURLRequest. HTTP-specific
  21219. mutator methods are now properly placed on an HTTP
  21220. category of NSMutableURLRequest. All client code has
  21221. been updated to use NSMutableURLRequest where appropriate.
  21222. * Misc.subproj/WebIconLoader.m:
  21223. (-[WebIconLoader startLoading]):
  21224. * WebCoreSupport.subproj/WebBridge.m:
  21225. (-[WebBridge createWindowWithURL:frameName:]):
  21226. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  21227. (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
  21228. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  21229. (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
  21230. * WebView.subproj/WebFramePrivate.h:
  21231. * WebView.subproj/WebFramePrivate.m:
  21232. (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
  21233. * WebView.subproj/WebMainResourceClient.m:
  21234. (-[WebMainResourceClient resource:willSendRequest:]):
  21235. 2003-03-25 Richard Williamson <rjw@apple.com>
  21236. Changed use of plugin to plugIn in our public API
  21237. as instructed by those that must be obeyed.
  21238. Reviewed by Trey.
  21239. Changed userStyleSheetLocation to take/pass an NSURL.
  21240. Reviewed by Chris
  21241. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  21242. (-[WebNetscapePluginDocumentView setDataSource:]):
  21243. * Plugins.subproj/WebNullPluginView.h:
  21244. * Plugins.subproj/WebNullPluginView.m:
  21245. (-[WebNullPluginView viewDidMoveToWindow]):
  21246. * Plugins.subproj/WebPluginError.h:
  21247. * Plugins.subproj/WebPluginError.m:
  21248. (-[WebPlugInError plugInPageURL]):
  21249. (-[WebPlugInError plugInName]):
  21250. * Plugins.subproj/WebPluginErrorPrivate.h:
  21251. * WebCoreSupport.subproj/WebBridge.m:
  21252. (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
  21253. (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):
  21254. * WebView.subproj/WebDefaultResourceLoadDelegate.m:
  21255. (-[WebDefaultResourceLoadDelegate webView:plugInFailedWithError:dataSource:]):
  21256. * WebView.subproj/WebPreferences.h:
  21257. * WebView.subproj/WebPreferences.m:
  21258. (-[WebPreferences userStyleSheetLocation]):
  21259. (-[WebPreferences setUserStyleSheetLocation:]):
  21260. * WebView.subproj/WebResourceLoadDelegate.h:
  21261. * WebView.subproj/WebViewPrivate.m:
  21262. (-[WebView _updateWebCoreSettingsFromPreferences:]):
  21263. * API-Issues.rtf: notes to self
  21264. 2003-03-25 Chris Blumenberg <cblu@apple.com>
  21265. Fixed: 3135385 - many file types don't work with the QuickTime plugin in Safari
  21266. Reviewed by trey.
  21267. * Plugins.subproj/WebBasePluginPackage.h:
  21268. * Plugins.subproj/WebBasePluginPackage.m:
  21269. (+[WebBasePluginPackage pluginWithPath:]): tweak
  21270. (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): moved up from WebNetscapePluginPackage
  21271. (-[WebBasePluginPackage initWithPath:]): retain path, create bundle so subclasses don't have to do this work
  21272. (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]): was getMIMEInformation from WebPluginPackage
  21273. (-[WebBasePluginPackage dealloc]): release the bundle
  21274. (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]): tweak
  21275. * Plugins.subproj/WebNetscapePluginPackage.h:
  21276. * Plugins.subproj/WebNetscapePluginPackage.m:
  21277. (+[WebNetscapePluginPackage preferredLocalizationName]): new
  21278. (-[WebNetscapePluginPackage openResourceFile]): tweak
  21279. (-[WebNetscapePluginPackage closeResourceFile:]): tweak
  21280. (-[WebNetscapePluginPackage stringForStringListID:andIndex:]): tweak
  21281. (-[WebNetscapePluginPackage getPluginInfoFromResources]): was getMIMEInformation
  21282. (-[WebNetscapePluginPackage pListForPath:createFile:]): new, calls BP_CreatePluginMIMETypesPreferences if createFile==YES
  21283. (-[WebNetscapePluginPackage getPluginInfoFromPLists]): calls getPluginInfoFromBundleAndMIMEDictionary with the MIME dictionary from the user's home dir.
  21284. (-[WebNetscapePluginPackage initWithPath:]): have the superclass do some initialization, call getPluginInfoFromPLists and/or getPluginInfoFromResources
  21285. (-[WebNetscapePluginPackage executableType]): tweak
  21286. (-[WebNetscapePluginPackage load]): get the BP_CreatePluginMIMETypesPreferences symbol
  21287. (-[WebNetscapePluginPackage unload]): tweak
  21288. (-[WebNetscapePluginPackage dealloc]): tweak
  21289. * Plugins.subproj/WebPluginPackage.h:
  21290. * Plugins.subproj/WebPluginPackage.m:
  21291. (-[WebPluginPackage initWithPath:]): have the superclass do some initialization, call getPluginInfoFromBundleAndMIMEDictionary
  21292. (-[WebPluginPackage viewFactory]): tweak
  21293. (-[WebPluginPackage load]): call principalClass
  21294. (-[WebPluginPackage isLoaded]): tweak
  21295. * Plugins.subproj/npapi.h: added declaration for the BP_CreatePluginMIMETypesPreferences function pointer.
  21296. 2003-03-25 John Sullivan <sullivan@apple.com>
  21297. - WebKit part of fix for 3141794 -- No scroll bar for the
  21298. "collections" column of the bookmarks window
  21299. Reviewed by Darin.
  21300. * WebView.subproj/WebDynamicScrollBarsView.h:
  21301. replaced disallowsScrolling boolean ivar with separate booleans for
  21302. disallowHorizontalScrolling and disallowVerticalScrolling
  21303. * WebView.subproj/WebDynamicScrollBarsView.m:
  21304. (-[WebDynamicScrollBarsView updateScrollers]):
  21305. take the two disallow booleans into account separately
  21306. (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]),
  21307. (-[WebDynamicScrollBarsView allowsHorizontalScrolling]),
  21308. (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]),
  21309. (-[WebDynamicScrollBarsView allowsVerticalScrolling]):
  21310. new methods, do the obvious
  21311. (-[WebDynamicScrollBarsView setAllowsScrolling:]):
  21312. changed to set both ivars
  21313. (-[WebDynamicScrollBarsView allowsScrolling]):
  21314. changed to return YES if scrolling is allowed in either direction
  21315. * WebKit.exp: exported symbol for WebDynamicScrollBarsView class name
  21316. 2003-03-25 Ken Kocienda <kocienda@apple.com>
  21317. Reviewed by Richard
  21318. Fixed a bug that could occur in the new immutable/mutable
  21319. request scheme. When opening a javascript window, it was
  21320. possible for a request passed as a method argument to be
  21321. released during the course of a method, particularly
  21322. after that request was passed to willSendRequest:.
  21323. The solution is to ask the data source for its current
  21324. request rather than using the one stored in the method
  21325. argument.
  21326. * WebView.subproj/WebMainResourceClient.m:
  21327. (-[WebMainResourceClient startLoading:]):
  21328. 2003-03-24 Trey Matteson <trey@apple.com>
  21329. Pass -seg_addr_table_filename <FILENAME> to ld. This makes our frameworks in
  21330. SYMROOT actually work for symbol resolution because they will have the correct
  21331. prebinding address. It also fixes obscure B&I problems with prebinding
  21332. reported by Matt Reda.
  21333. Note the reason all this is tricky for our projects is that we have a different
  21334. install location for Jaguar and Panther. The purpose of this arg is to declare
  21335. at link time our eventual location, which allows the prebinding address to be
  21336. found in /AppleInternal/Developer/seg_addr_table. We use a funky back-tick
  21337. expression within OTHER_LDFLAGS to get a conditional value depending on the
  21338. build train we are in.
  21339. This can all go away once we only build on Panther and don't embed the
  21340. frameworks inside the Safari.app wrapper.
  21341. In addition I fixed the OTHER_LDFLAGS settings in our build styles to be
  21342. additive instead of overriding, so we have the args we used for B&I in force
  21343. when building outside of B&I.
  21344. Reviewed by Maciej.
  21345. * WebKit.pbproj/project.pbxproj:
  21346. 2003-03-25 Ken Kocienda <kocienda@apple.com>
  21347. Reviewed by Darin
  21348. Updated to use NSMutableURLRequest where appropriate.
  21349. * Plugins.subproj/WebBaseNetscapePluginView.m:
  21350. (-[WebBaseNetscapePluginView requestWithURLCString:]):
  21351. (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
  21352. * WebCoreSupport.subproj/WebSubresourceClient.m:
  21353. (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
  21354. * WebView.subproj/WebDataSource.h:
  21355. * WebView.subproj/WebDataSource.m:
  21356. (-[WebDataSource initWithRequest:]):
  21357. (-[WebDataSource request]):
  21358. * WebView.subproj/WebDataSourcePrivate.h:
  21359. * WebView.subproj/WebDataSourcePrivate.m:
  21360. (-[WebDataSource _setURL:]):
  21361. * WebView.subproj/WebFrame.m:
  21362. (-[WebFrame loadRequest:]):
  21363. (-[WebFrame reload]):
  21364. * WebView.subproj/WebFramePrivate.m:
  21365. (-[WebFrame _loadItem:fromItem:withLoadType:]):
  21366. (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
  21367. (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
  21368. (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
  21369. 2003-03-25 Darin Adler <darin@apple.com>
  21370. Reviewed by John.
  21371. - fixed 3205745 -- WebKit.framework's Localizable.strings file contains high ASCII in the Key definition.
  21372. * English.lproj/Localizable.strings: Regenerated with the new version of the
  21373. extract-localizable-strings tool that uses \U syntax instead of "high ASCII".
  21374. - changed cursive font back to "Apple Chancery" for now
  21375. * WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]): Change to "Apple Chancery".
  21376. * English.lproj/StringsNotToBeLocalized.txt: Update for above change.
  21377. 2003-03-24 Darin Adler <darin@apple.com>
  21378. Reviewed by Dave.
  21379. - fixed 3206803 -- REGRESSION: Lucida Handwriting font doesn't work
  21380. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  21381. (acceptableChoice): Added. Returns NO if the weight/traits are no good.
  21382. (betterChoice): Added. Returns YES if the new weight/traits are better than the old.
  21383. (-[WebTextRendererFactory fontWithFamily:traits:size:]): Use the new functions to judge which
  21384. font is good enough. Now it will accept an italic font if that's all we have.
  21385. - fixed 3206904 -- use "Lucida Handwriting" for "cursive" so it works on systems without Classic
  21386. * WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]):
  21387. Change default from "Apple Chancery" to "Lucida Handwriting".
  21388. * English.lproj/StringsNotToBeLocalized.txt: Updated for this change.
  21389. 2003-03-24 Maciej Stachowiak <mjs@apple.com>
  21390. Reviewed by Richard.
  21391. - made API (actually doc-only) changes needed for 3087535 -
  21392. bugzilla queries come back as downloaded files
  21393. * Downloads.subproj/WebDownload.h: Documented that
  21394. download:didReceiveResponse: may be sent more than once.
  21395. * WebView.subproj/WebLocationChangeDelegate.h: Documented that
  21396. locationChangeCommittedForDataSource: may be sent more than once.
  21397. * WebView.subproj/WebPolicyDelegate.h: Documented that
  21398. decideContentPolicyForMIMEType:andRequest:inFrame: may be sent
  21399. more than once.
  21400. * WebView.subproj/WebResourceLoadDelegate.h: Documented that
  21401. resource:didReceiveResponse:fromDataSource: may be sent more than
  21402. once.
  21403. 2003-03-24 Maciej Stachowiak <mjs@apple.com>
  21404. Reviewed by Richard.
  21405. - fixed 3083339 - significant top and side margin appended to new windows
  21406. Part of the fix involves adding new window operation delegate methods.
  21407. * WebCoreSupport.subproj/WebBridge.m:
  21408. (-[WebBridge setWindowFrame:]): Tweaked code a bit.
  21409. (-[WebBridge windowFrame]): Added.
  21410. (-[WebBridge setWindowContentRect:]): Added.
  21411. (-[WebBridge windowContentRect]): Added.
  21412. * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
  21413. (-[WebDefaultWindowOperationsDelegate webView:setContentRect:]): Implemented.
  21414. (-[WebDefaultWindowOperationsDelegate webViewContentRect:]): Likewise.
  21415. * WebView.subproj/WebWindowOperationsDelegate.h:
  21416. 2003-03-24 Chris Blumenberg <cblu@apple.com>
  21417. Fixed: 3155489 - Seed: PostScript files display instead of downloading, often as a blank page
  21418. Fixed: 3106251 - quicken file not downloaded, can't save manually
  21419. Reviewed by trey.
  21420. * WebView.subproj/WebDataSourcePrivate.m:
  21421. (+[WebDataSource _repTypes]): call [WebImageView supportedImageMIMETypes]
  21422. * WebView.subproj/WebFrameViewPrivate.m:
  21423. (+[WebFrameView _viewTypes]): call [WebImageView supportedImageMIMETypes]
  21424. * WebView.subproj/WebImageView.h:
  21425. * WebView.subproj/WebImageView.m:
  21426. (+[WebImageView initialize]): was -initialize (oops)
  21427. (+[WebImageView unsupportedImageMIMETypes]): new, AppKit images that we shouldn't display inline, includes ps and pdf
  21428. (+[WebImageView supportedImageMIMETypes]): new, was in WebViewPrivate
  21429. * WebView.subproj/WebTextView.h:
  21430. * WebView.subproj/WebTextView.m:
  21431. (+[WebTextView unsupportedTextMIMETypes]): renamed, added text/qif (quicken)
  21432. * WebView.subproj/WebView.m:
  21433. (+[WebView canShowMIMEType:]): call [WebTextView unsupportedTextMIMETypes]
  21434. * WebView.subproj/WebViewPrivate.h: removed _supportedImageMIMETypes
  21435. * WebView.subproj/WebViewPrivate.m: removed _supportedImageMIMETypes
  21436. 2003-03-24 Ken Kocienda <kocienda@apple.com>
  21437. Reviewed by hyatt.
  21438. Moved closer to target API for NSURLRequest. Merged in
  21439. final names for immutable and mutable versions of this
  21440. class and its HTTP category. The next step will be to
  21441. actually make the split between immutable/mutable
  21442. variants of NSURLRequest.
  21443. In WebKit, this amounts to name changes only.
  21444. * Misc.subproj/WebIconLoader.m:
  21445. (-[WebIconLoader startLoading]):
  21446. * Plugins.subproj/WebBaseNetscapePluginView.m:
  21447. (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
  21448. * WebCoreSupport.subproj/WebBridge.m:
  21449. (-[WebBridge createWindowWithURL:frameName:]):
  21450. (-[WebBridge incomingReferrer]):
  21451. * WebCoreSupport.subproj/WebSubresourceClient.m:
  21452. (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
  21453. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  21454. (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
  21455. * WebView.subproj/WebDataSourcePrivate.m:
  21456. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  21457. (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
  21458. * WebView.subproj/WebFrame.m:
  21459. (-[WebFrame reload]):
  21460. * WebView.subproj/WebFramePrivate.m:
  21461. (-[WebFrame _createItem]):
  21462. (-[WebFrame _loadItem:fromItem:withLoadType:]):
  21463. (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
  21464. (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
  21465. (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
  21466. * WebView.subproj/WebMainResourceClient.m:
  21467. (-[WebMainResourceClient resource:willSendRequest:]):
  21468. 2003-03-22 Darin Adler <darin@apple.com>
  21469. Reviewed by John.
  21470. - fixed 3203869 -- Monaco 9 looks different in Safari than in TextEdit (uses outline instead of bitmap)
  21471. * Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_widthWithFont:]):
  21472. Pass usingPrinterFont:NO, since this is used exclusively for on-screen text, not printing.
  21473. * Misc.subproj/WebStringTruncator.m: (truncateString): Ditto.
  21474. * WebCoreSupport.subproj/WebTextRenderer.h: Add usingPrinterFont boolean field and parameter to init.
  21475. * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:forScreen:]):
  21476. Add usingPrinterFont parameter, and get the screen font if it's NO, also store the boolean
  21477. for later use.
  21478. (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding: attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]):
  21479. Pass the usingPrinterFont parameter through when getting a substitute font.
  21480. * WebCoreSupport.subproj/WebTextRendererFactory.h: Add separate caches for screen and printing text
  21481. renderers. Add usingPrinterFont parameter to our rendererWithFont: method (the one inherited from WebCore
  21482. still has no parameter).
  21483. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  21484. (-[WebTextRendererFactory init]): Create both caches.
  21485. (-[WebTextRendererFactory dealloc]): Release both caches.
  21486. (-[WebTextRendererFactory rendererWithFont:]): Call the new rendererWithFont:usingPrinterFont: method,
  21487. passing usingPrinterFonts from the WebCore side. Thus any fonts fetched by WebCore during printing
  21488. are printing fonts, and otherwise they are screen fonts.
  21489. (-[WebTextRendererFactory rendererWithFont:usingPrinterFont:]): Added. Has the code from the old
  21490. rendererWithFont: method, but passes the usingPrinterFont parameter through to the WebTextRenderer
  21491. init method.
  21492. * WebView.subproj/WebHTMLView.m:
  21493. (-[WebHTMLView initWithFrame:]): Don't set unused canDragTo and canDragFrom fields.
  21494. (-[WebHTMLView drawRect:]): Call -[WebTextRendererFactory setUsingPrinterFonts:] here if we are printing,
  21495. as indicated by the usingPrinterFonts field. The reason we do this only inside drawRect is so we don't
  21496. affect redraws of other HTML views that are not being printed that might be in "needs display" state when
  21497. printing began.
  21498. (-[WebHTMLView _setUsingPrinterFonts:]): Added. Calls _setUsingPrinterFonts on all WebHTMLViews inside
  21499. this one, then does the work for this one. Uses the frame hierarchy rather than the view hierarchy, but
  21500. either would work. If printer font state is changing, then sets the WebTextRendererFactory mode, then
  21501. forces a layout and application of styles, but without triggering display.
  21502. (-[WebHTMLView beginDocument]): Do an explicit display so this view does not have to be displayed while
  21503. it is in "use printer fonts" mode. Then call _setUsingPrinterFonts:YES so that drawRect will use printer
  21504. fonts, and also that the WebCore data structures and layout will be updated to reflect printer fonts as
  21505. opposed to screen fonts.
  21506. (-[WebHTMLView endDocument]): Call _setUsingPrinterFonts:NO to restore things to normal after printing.
  21507. * WebView.subproj/WebHTMLViewPrivate.h: Removed unused canDragTo, canDragFrom, and liveAllowsScrolling
  21508. fields. Added usingPrinterFonts field.
  21509. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  21510. 2003-03-24 Ken Kocienda <kocienda@apple.com>
  21511. Reviewed by Darin
  21512. Removed now-obsolete WebResponseCachePolicy enum.
  21513. Once the new cache API is ready, there will be new features
  21514. to replace what this enum provided. Seeing as how this
  21515. enum was largely unused, there is no impact associated with
  21516. removing it now.
  21517. * WebCoreSupport.subproj/WebSubresourceClient.m:
  21518. (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
  21519. 2003-03-24 Ken Kocienda <kocienda@apple.com>
  21520. Reviewed by John
  21521. Cleaned up some missed WebRequest -> NSURLRequest
  21522. name conversions.
  21523. * WebView.subproj/WebFramePrivate.m
  21524. 2003-03-24 Ken Kocienda <kocienda@apple.com>
  21525. Reviewed by John
  21526. Changed WebRequest to NSURLRequest. Several other names,
  21527. like some constants whose names were based on WebRequest,
  21528. changed as well.
  21529. * Downloads.subproj/WebDownload.h:
  21530. * Downloads.subproj/WebDownload.m:
  21531. (-[WebDownload initWithRequest:]):
  21532. (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
  21533. (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]):
  21534. (-[WebDownload _setRequest:]):
  21535. (-[WebDownload resource:willSendRequest:]):
  21536. * Downloads.subproj/WebDownloadPrivate.h:
  21537. * Misc.subproj/WebIconLoader.m:
  21538. (-[WebIconLoader startLoading]):
  21539. (-[WebIconLoader resource:willSendRequest:]):
  21540. * Plugins.subproj/WebBaseNetscapePluginView.m:
  21541. (-[WebBaseNetscapePluginView requestWithURLCString:]):
  21542. (-[WebBaseNetscapePluginView loadPluginRequest:]):
  21543. (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
  21544. (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]):
  21545. (-[WebBaseNetscapePluginView getURL:target:]):
  21546. (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
  21547. (-[WebPluginRequest initWithRequest:frameName:notifyData:]):
  21548. (-[WebPluginRequest request]):
  21549. * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
  21550. * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
  21551. (-[WebNetscapePluginEmbeddedView viewDidMoveToWindow]):
  21552. * Plugins.subproj/WebNetscapePluginStream.h:
  21553. * Plugins.subproj/WebNetscapePluginStream.m:
  21554. (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
  21555. * Plugins.subproj/WebPluginController.m:
  21556. (-[WebPluginController showURL:inFrame:]):
  21557. * WebCoreSupport.subproj/WebBridge.m:
  21558. (-[WebBridge createWindowWithURL:frameName:]):
  21559. (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
  21560. (-[WebBridge isReloading]):
  21561. (-[WebBridge loadEmptyDocumentSynchronously]):
  21562. * WebCoreSupport.subproj/WebSubresourceClient.m:
  21563. (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
  21564. (-[WebSubresourceClient resource:willSendRequest:]):
  21565. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  21566. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  21567. (-[WebBaseResourceHandleDelegate startLoading:]):
  21568. (-[WebBaseResourceHandleDelegate loadWithRequest:]):
  21569. (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
  21570. * WebView.subproj/WebDataSource.h:
  21571. * WebView.subproj/WebDataSource.m:
  21572. (-[WebDataSource initWithRequest:]):
  21573. (-[WebDataSource initialRequest]):
  21574. (-[WebDataSource request]):
  21575. * WebView.subproj/WebDataSourcePrivate.h:
  21576. * WebView.subproj/WebDataSourcePrivate.m:
  21577. (-[WebDataSource _setURL:]):
  21578. (-[WebDataSource _setRequest:]):
  21579. (-[WebDataSource _originalRequest]):
  21580. (-[WebDataSource _lastCheckedRequest]):
  21581. (-[WebDataSource _setLastCheckedRequest:]):
  21582. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  21583. (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
  21584. (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
  21585. * WebView.subproj/WebDefaultPolicyDelegate.m:
  21586. (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
  21587. (-[WebDefaultPolicyDelegate webView:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
  21588. * WebView.subproj/WebDefaultResourceLoadDelegate.m:
  21589. (-[WebDefaultResourceLoadDelegate webView:identifierForInitialRequest:fromDataSource:]):
  21590. (-[WebDefaultResourceLoadDelegate webView:resource:willSendRequest:fromDataSource:]):
  21591. * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
  21592. * WebView.subproj/WebFrame.h:
  21593. * WebView.subproj/WebFrame.m:
  21594. (-[WebFrame loadRequest:]):
  21595. (-[WebFrame reload]):
  21596. * WebView.subproj/WebFramePrivate.h:
  21597. * WebView.subproj/WebFramePrivate.m:
  21598. (-[WebFrame _createItem]):
  21599. (-[WebFrame _loadItem:fromItem:withLoadType:]):
  21600. (-[WebFrame _loadRequest:triggeringAction:loadType:formState:]):
  21601. (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]):
  21602. (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]):
  21603. (-[WebFrame _continueAfterNewWindowPolicy:]):
  21604. (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
  21605. (-[WebFrame _continueAfterNavigationPolicy:]):
  21606. (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
  21607. (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
  21608. (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
  21609. (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
  21610. (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
  21611. (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
  21612. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
  21613. (-[WebFrame _loadRequest:inFrameNamed:]):
  21614. * WebView.subproj/WebFrameView.m:
  21615. (-[WebFrameView concludeDragOperation:]):
  21616. * WebView.subproj/WebImageRepresentation.m:
  21617. * WebView.subproj/WebMainResourceClient.m:
  21618. (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]):
  21619. (-[WebMainResourceClient resource:willSendRequest:]):
  21620. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  21621. (-[WebMainResourceClient startLoading:]):
  21622. (-[WebResourceDelegateProxy resource:willSendRequest:]):
  21623. * WebView.subproj/WebPolicyDelegate.h:
  21624. * WebView.subproj/WebResourceLoadDelegate.h:
  21625. * WebView.subproj/WebView.m:
  21626. (-[WebView takeStringURLFrom:]):
  21627. * WebView.subproj/WebViewPrivate.h:
  21628. * WebView.subproj/WebViewPrivate.m:
  21629. (-[WebView _downloadURL:toDirectory:]):
  21630. (-[WebView _openNewWindowWithRequest:]):
  21631. * WebView.subproj/WebWindowOperationsDelegate.h:
  21632. 2003-03-21 Chris Blumenberg <cblu@apple.com>
  21633. Fixed: 3081681 - text/calendar should be downloaded instead of displayed
  21634. Fixed: 3177603 - vCards appear in browser, not downloaded
  21635. Reviewed by darin.
  21636. * WebView.subproj/WebDataSourcePrivate.h:
  21637. * WebView.subproj/WebDataSourcePrivate.m:
  21638. (+[WebDataSource _representationClassForMIMEType:]): was _canShowMIMEType
  21639. * WebView.subproj/WebFrameViewPrivate.h:
  21640. * WebView.subproj/WebFrameViewPrivate.m:
  21641. (+[WebFrameView _viewClassForMIMEType:]): was _canShowMIMEType
  21642. * WebView.subproj/WebTextView.h:
  21643. * WebView.subproj/WebTextView.m:
  21644. (+[WebTextView unshowableMIMETypes]): new, returns text types that shouldn't be shown
  21645. * WebView.subproj/WebView.m:
  21646. (+[WebView canShowMIMEType:]): call unshowableMIMETypes
  21647. 2003-03-20 Richard Williamson <rjw@apple.com>
  21648. Use "Item" consistently in the WebHistory and WebBackForwardList.
  21649. Change createSharedHistoryWithFile: to setSharedHistory:
  21650. Make the various page cache methods per WebBackForwardList instead of global.
  21651. Reviewed by gramps.
  21652. * History.subproj/WebBackForwardList.h:
  21653. * History.subproj/WebBackForwardList.m:
  21654. (-[WebBackForwardListPrivate dealloc]):
  21655. (-[WebBackForwardList init]):
  21656. (-[WebBackForwardList dealloc]):
  21657. (-[WebBackForwardList goBack]):
  21658. (-[WebBackForwardList goForward]):
  21659. (-[WebBackForwardList goToItem:]):
  21660. (-[WebBackForwardList backItem]):
  21661. (-[WebBackForwardList currentItem]):
  21662. (-[WebBackForwardList forwardItem]):
  21663. (-[WebBackForwardList containsItem:]):
  21664. (-[WebBackForwardList maximumSize]):
  21665. (-[WebBackForwardList setMaximumSize:]):
  21666. (-[WebBackForwardList description]):
  21667. (-[WebBackForwardList clearPageCache]):
  21668. (-[WebBackForwardList setPageCacheSize:]):
  21669. (-[WebBackForwardList pageCacheSize]):
  21670. (-[WebBackForwardList setUsesPageCache:]):
  21671. (-[WebBackForwardList usesPageCache]):
  21672. (-[WebBackForwardList backListCount]):
  21673. (-[WebBackForwardList forwardListCount]):
  21674. (-[WebBackForwardList itemAtIndex:]):
  21675. * History.subproj/WebHistory.h:
  21676. * History.subproj/WebHistory.m:
  21677. (-[_WebCoreHistoryProvider containsItemForURLString:]):
  21678. (+[WebHistory setSharedHistory:]):
  21679. (-[WebHistory addItemForURL:]):
  21680. (-[WebHistory addItem:]):
  21681. (-[WebHistory removeItem:]):
  21682. (-[WebHistory removeItems:]):
  21683. (-[WebHistory removeAllItems]):
  21684. (-[WebHistory addItems:]):
  21685. (-[WebHistory orderedItemsLastVisitedOnDay:]):
  21686. (-[WebHistory containsItemForURLString:]):
  21687. (-[WebHistory itemForURL:]):
  21688. * History.subproj/WebHistoryItem.h:
  21689. * History.subproj/WebHistoryPrivate.h:
  21690. * History.subproj/WebHistoryPrivate.m:
  21691. (-[WebHistoryPrivate insertItem:atDateIndex:]):
  21692. (-[WebHistoryPrivate removeItemForURLString:]):
  21693. (-[WebHistoryPrivate addItem:]):
  21694. (-[WebHistoryPrivate removeItem:]):
  21695. (-[WebHistoryPrivate removeItems:]):
  21696. (-[WebHistoryPrivate removeAllItems]):
  21697. (-[WebHistoryPrivate addItems:]):
  21698. (-[WebHistoryPrivate orderedItemsLastVisitedOnDay:]):
  21699. (-[WebHistoryPrivate containsItemForURLString:]):
  21700. (-[WebHistoryPrivate itemForURL:]):
  21701. (-[WebHistoryPrivate _loadHistoryGuts:]):
  21702. * WebCoreSupport.subproj/WebBridge.m:
  21703. (-[WebBridge goBackOrForward:]):
  21704. * WebKit.exp:
  21705. * WebKit.pbproj/project.pbxproj:
  21706. * WebView.subproj/WebDataSourcePrivate.m:
  21707. (-[WebDataSource _setTitle:]):
  21708. * WebView.subproj/WebFramePrivate.m:
  21709. (-[WebFrame _addBackForwardItemClippedAtTarget:]):
  21710. (-[WebFrame _transitionToCommitted:]):
  21711. (-[WebFrame _canCachePage]):
  21712. (-[WebFrame _purgePageCache]):
  21713. (-[WebFrame _goToItem:withLoadType:]):
  21714. (-[WebFrame _resetBackForwardListToCurrent]):
  21715. * WebView.subproj/WebLocationChangeDelegate.h:
  21716. * WebView.subproj/WebResourceLoadDelegate.h:
  21717. * WebView.subproj/WebView.h:
  21718. * WebView.subproj/WebView.m:
  21719. (-[WebView _commonInitialization:frameName:groupName:]):
  21720. (-[WebView setMaintainsBackForwardList:]):
  21721. (-[WebView goBack]):
  21722. (-[WebView goForward]):
  21723. 2003-03-20 Chris Blumenberg <cblu@apple.com>
  21724. Properly handle file URL directory errors.
  21725. Reviewed by trey.
  21726. * Misc.subproj/WebIconDatabase.m:
  21727. (-[WebIconDatabase _iconForFileURL:withSize:]): when file URL has no path, return generic file icon
  21728. * WebView.subproj/WebMainResourceClient.m:
  21729. (-[WebMainResourceClient interruptForPolicyChangeError]): set the URL, don't set it to nil!
  21730. 2003-03-20 Vicki Murley <vicki@apple.com>
  21731. don't include WebFoundation.h
  21732. Reviewed by cblu.
  21733. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  21734. * Plugins.subproj/WebNetscapePluginRepresentation.m:
  21735. * Plugins.subproj/WebNetscapePluginStream.m:
  21736. === Safari-68 ===
  21737. 2003-03-20 Darin Adler <darin@apple.com>
  21738. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
  21739. 2003-03-19 Ed Voas voas@apple.com
  21740. Reviewed by Richard.
  21741. React to WebView API changes. Redo HIWebView API.
  21742. * Carbon.subproj/HIWebView.h:
  21743. * Carbon.subproj/HIWebView.m:
  21744. (if):
  21745. (switch):
  21746. * Carbon.subproj/HIWebViewPriv.h: Removed.
  21747. * WebKit.exp:
  21748. * WebKit.pbproj/project.pbxproj:
  21749. 2003-03-19 Richard Williamson <rjw@apple.com>
  21750. Removed initWithView:* constructors from WebView.
  21751. New designated initializer for WebView is initWithFrame:frameName:groupName:
  21752. Reviewed by cblu & ed.
  21753. * Carbon.subproj/HIWebView.m:
  21754. * WebView.subproj/WebView.h:
  21755. * WebView.subproj/WebView.m:
  21756. (-[WebView init]):
  21757. (-[WebView initWithFrame:]):
  21758. 2003-03-19 Richard Williamson <rjw@apple.com>
  21759. Rename WebControllerPolicyDelegate*.[hm] to WebPolicyDelegate*.[hm]
  21760. Reviewed by trey.
  21761. * API-Issues.rtf:
  21762. * Misc.subproj/WebKit.h:
  21763. * WebKit.pbproj/project.pbxproj:
  21764. * WebView.subproj/WebControllerPolicyDelegate.h: Removed.
  21765. * WebView.subproj/WebControllerPolicyDelegate.m: Removed.
  21766. * WebView.subproj/WebControllerPolicyDelegatePrivate.h: Removed.
  21767. * WebView.subproj/WebDataSourcePrivate.m:
  21768. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  21769. * WebView.subproj/WebFramePrivate.h:
  21770. * WebView.subproj/WebFramePrivate.m:
  21771. * WebView.subproj/WebFrameView.h:
  21772. * WebView.subproj/WebHTMLViewPrivate.m:
  21773. * WebView.subproj/WebMainResourceClient.m:
  21774. * WebView.subproj/WebPolicyDelegate.m:
  21775. * WebView.subproj/WebPolicyDelegatePrivate.h:
  21776. * WebView.subproj/WebView.m:
  21777. * WebView.subproj/WebViewPrivate.h:
  21778. 2003-03-19 Darin Adler <darin@apple.com>
  21779. Reviewed by John.
  21780. - fixed 3202780 -- REGRESSION: progress bar, stop button, both get stuck in "loading" state (bartsoft.com)
  21781. * WebView.subproj/WebDataSource.m: (-[WebDataSource isLoading]):
  21782. Add back the "is this page complete" check, so that subresource loads don't make us
  21783. think we're loading again, once the page is complete. On the other hand, frames
  21784. must still be checked independent of the "is this page complete" flag to avoid
  21785. reintroducing bug 3200611.
  21786. 2003-03-19 Ed Voas voas@apple.com
  21787. Reviewed by Richard.
  21788. Got it working in non-compositing mode as well, so in theory it
  21789. can work inside a PowerPlant application as well. It's a bit of what
  21790. I'd consider a hack, but it's pretty straightforward.
  21791. * Carbon.subproj/CarbonWindowAdapter.m:
  21792. (-[CarbonWindowAdapter setViewsNeedDisplay:]):
  21793. * Carbon.subproj/HIViewAdapter.h:
  21794. * Carbon.subproj/HIViewAdapter.m:
  21795. (+[HIViewAdapter bindHIViewToNSView:nsView:]):
  21796. (-[HIViewAdapter setNeedsDisplay:]):
  21797. (-[HIViewAdapter setNeedsDisplayInRect:]):
  21798. (SetViewNeedsDisplay):
  21799. * Carbon.subproj/HIWebView.m:
  21800. (if):
  21801. 2003-03-18 Maciej Stachowiak <mjs@apple.com>
  21802. Reviewed by Trey.
  21803. - fixed 3127431 - bring the window with the named frame to the front
  21804. * WebCoreSupport.subproj/WebBridge.m:
  21805. (-[WebBridge focusWindow]): Tell the window operations delegate to focus.
  21806. (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]):
  21807. If this navigation is meant for a different frame, focus its window.
  21808. (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
  21809. Likewise.
  21810. 2003-03-18 Trey Matteson <trey@apple.com>
  21811. 3077223 full keyboard UI navigation fails in authentication sheet
  21812. Hook up the views in this panel into a useful nextKeyView cycle.
  21813. Reviewed by Maciej.
  21814. * Panels.subproj/English.lproj/WebAuthenticationPanel.nib:
  21815. 2003-03-17 Trey Matteson <trey@apple.com>
  21816. Support for saving passwords on forms-based logins. Biggest change is that
  21817. the willSubmitForm: message is async to allow a sheet to be presented.
  21818. Also fixed @interface.*{ so prepare-change-log can swallow WebFramePrivate.m.
  21819. Reviewed by Maciej.
  21820. * WebView.subproj/WebControllerPolicyDelegate.m:
  21821. (-[WebPolicyDecisionListener continue]): The decision listener also
  21822. implements WebFormSubmissionListener, to share some other impl.
  21823. * WebView.subproj/WebControllerPolicyDelegatePrivate.h:
  21824. * WebView.subproj/WebFormDelegate.h:
  21825. * WebView.subproj/WebFormDelegate.m:
  21826. (-[WebFormDelegate frame:willSubmitForm:withValues:submissionListener:]):
  21827. Take listener param for async API.
  21828. * WebView.subproj/WebFramePrivate.m:
  21829. (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
  21830. Latent bug. Don't call willSubmitForm if no values are being submitted.
  21831. (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
  21832. Latent bug. Don't call willSubmitForm if no values are being submitted.
  21833. (-[WebFrame _continueAfterWillSubmitForm:]):
  21834. Continuation code for after FormDelegate is done with willSubmitForm.
  21835. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
  21836. Pass new listener arg to willSubmitForm.
  21837. * WebView.subproj/WebHTMLRepresentation.h:
  21838. * WebView.subproj/WebHTMLRepresentation.m:
  21839. Nuke deadwood formIsLoginForm.
  21840. (-[WebHTMLRepresentation elementIsPassword:]): Just pass through glue
  21841. over the bridge.
  21842. 2003-03-18 Richard Williamson <rjw@apple.com>
  21843. Another rename WebController*.[hm] to WebView*.[hm]
  21844. Reviewed by darin.
  21845. * Carbon.subproj/HIWebView.h:
  21846. * Misc.subproj/WebKit.h:
  21847. * Misc.subproj/WebNSPasteboardExtras.m:
  21848. * Panels.subproj/WebStandardPanelsPrivate.h:
  21849. * Plugins.subproj/WebBaseNetscapePluginView.m:
  21850. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  21851. * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
  21852. * Plugins.subproj/WebNetscapePluginStream.m:
  21853. * Plugins.subproj/WebNullPluginView.m:
  21854. * Plugins.subproj/WebPluginController.m:
  21855. * WebCoreSupport.subproj/WebBridge.m:
  21856. * WebCoreSupport.subproj/WebSubresourceClient.m:
  21857. * WebKit.pbproj/project.pbxproj:
  21858. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  21859. * WebView.subproj/WebController.h: Removed.
  21860. * WebView.subproj/WebController.m: Removed.
  21861. * WebView.subproj/WebControllerPrivate.h: Removed.
  21862. * WebView.subproj/WebControllerPrivate.m: Removed.
  21863. * WebView.subproj/WebDataSource.m:
  21864. * WebView.subproj/WebDataSourcePrivate.m:
  21865. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  21866. * WebView.subproj/WebDefaultPolicyDelegate.m:
  21867. * WebView.subproj/WebDefaultResourceLoadDelegate.m:
  21868. * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
  21869. * WebView.subproj/WebFrame.m:
  21870. * WebView.subproj/WebFramePrivate.m:
  21871. * WebView.subproj/WebFrameView.m:
  21872. * WebView.subproj/WebFrameViewPrivate.m:
  21873. * WebView.subproj/WebHTMLView.m:
  21874. * WebView.subproj/WebHTMLViewPrivate.m:
  21875. * WebView.subproj/WebImageView.m:
  21876. * WebView.subproj/WebMainResourceClient.m:
  21877. * WebView.subproj/WebTextView.m:
  21878. * WebView.subproj/WebView.h:
  21879. * WebView.subproj/WebView.m:
  21880. * WebView.subproj/WebViewPrivate.h:
  21881. * WebView.subproj/WebViewPrivate.m:
  21882. 2003-03-18 Richard Williamson <rjw@apple.com>
  21883. Renamed WebView*.[hm] to WebFrameView*.[hm]
  21884. * Misc.subproj/WebKit.h:
  21885. * Misc.subproj/WebNSViewExtras.m:
  21886. * Panels.subproj/WebStandardPanels.m:
  21887. * Plugins.subproj/WebBaseNetscapePluginView.m:
  21888. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  21889. * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
  21890. * Plugins.subproj/WebNetscapePluginRepresentation.m:
  21891. * Plugins.subproj/WebNullPluginView.m:
  21892. * Plugins.subproj/WebPluginController.m:
  21893. * Plugins.subproj/WebPluginDatabase.m:
  21894. * WebCoreSupport.subproj/WebBridge.m:
  21895. * WebKit.pbproj/project.pbxproj:
  21896. * WebView.subproj/WebController.m:
  21897. * WebView.subproj/WebControllerPrivate.m:
  21898. * WebView.subproj/WebDataSourcePrivate.m:
  21899. * WebView.subproj/WebDebugDOMNode.m:
  21900. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  21901. * WebView.subproj/WebFrame.m:
  21902. * WebView.subproj/WebFramePrivate.m:
  21903. * WebView.subproj/WebFrameView.m:
  21904. * WebView.subproj/WebFrameViewPrivate.h:
  21905. * WebView.subproj/WebFrameViewPrivate.m:
  21906. * WebView.subproj/WebHTMLView.m:
  21907. * WebView.subproj/WebHTMLViewPrivate.m:
  21908. * WebView.subproj/WebImageView.m:
  21909. * WebView.subproj/WebMainResourceClient.m:
  21910. * WebView.subproj/WebRenderNode.m:
  21911. * WebView.subproj/WebTextView.m:
  21912. * WebView.subproj/WebView.h: Removed.
  21913. * WebView.subproj/WebView.m: Removed.
  21914. * WebView.subproj/WebViewPrivate.h: Removed.
  21915. * WebView.subproj/WebViewPrivate.m: Removed.
  21916. 2003-03-18 Richard Williamson <rjw@apple.com>
  21917. Stage 2 of WebController to WebView renaming.
  21918. Reviewed by hyatt.
  21919. * API-Issues.rtf:
  21920. * Carbon.subproj/HIWebView.h:
  21921. * Carbon.subproj/HIWebView.m:
  21922. * Misc.subproj/WebNSPasteboardExtras.m:
  21923. (-[NSPasteboard _web_bestURL]):
  21924. * Panels.subproj/WebStandardPanels.m:
  21925. (-[WebStandardPanels _didStartLoadingURL:inController:]):
  21926. (-[WebStandardPanels _didStopLoadingURL:inController:]):
  21927. (-[WebStandardPanels frontmostWindowLoadingURL:]):
  21928. * Panels.subproj/WebStandardPanelsPrivate.h:
  21929. * Plugins.subproj/WebBaseNetscapePluginView.h:
  21930. * Plugins.subproj/WebBaseNetscapePluginView.m:
  21931. (-[WebBaseNetscapePluginView controller]):
  21932. (-[WebBaseNetscapePluginView loadPluginRequest:]):
  21933. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  21934. (-[WebNetscapePluginDocumentView setDataSource:]):
  21935. * Plugins.subproj/WebNetscapePluginRepresentation.m:
  21936. (-[WebNetscapePluginRepresentation isPluginViewStarted]):
  21937. (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
  21938. * Plugins.subproj/WebNullPluginView.m:
  21939. (-[WebNullPluginView viewDidMoveToWindow]):
  21940. * Plugins.subproj/WebPluginController.m:
  21941. (-[WebPluginController showStatus:]):
  21942. * WebCoreSupport.subproj/WebBridge.m:
  21943. (-[WebBridge mainFrame]):
  21944. (-[WebBridge createWindowWithURL:frameName:]):
  21945. (-[WebBridge showWindow]):
  21946. (-[WebBridge areToolbarsVisible]):
  21947. (-[WebBridge setToolbarsVisible:]):
  21948. (-[WebBridge areScrollbarsVisible]):
  21949. (-[WebBridge setScrollbarsVisible:]):
  21950. (-[WebBridge isStatusBarVisible]):
  21951. (-[WebBridge setStatusBarVisible:]):
  21952. (-[WebBridge setWindowFrame:]):
  21953. (-[WebBridge window]):
  21954. (-[WebBridge runJavaScriptAlertPanelWithMessage:]):
  21955. (-[WebBridge runJavaScriptConfirmPanelWithMessage:]):
  21956. (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
  21957. (-[WebBridge runOpenPanelForFileButtonWithResultListener:]):
  21958. (-[WebBridge setStatusText:]):
  21959. (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
  21960. (-[WebBridge setWebFrame:]):
  21961. (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
  21962. (-[WebBridge userAgentForURL:]):
  21963. (-[WebBridge nextKeyViewOutsideWebFrameViews]):
  21964. (-[WebBridge previousKeyViewOutsideWebFrameViews]):
  21965. (-[WebBridge defersLoading]):
  21966. (-[WebBridge setDefersLoading:]):
  21967. (-[WebBridge setNeedsReapplyStyles]):
  21968. (-[WebBridge setNeedsLayout]):
  21969. (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
  21970. (-[WebBridge handleMouseDragged:]):
  21971. (-[WebBridge mayStartDragWithMouseDragged:]):
  21972. (-[WebBridge historyLength]):
  21973. (-[WebBridge goBackOrForward:]):
  21974. (formDelegate):
  21975. * WebCoreSupport.subproj/WebSubresourceClient.m:
  21976. (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
  21977. * WebKit.exp:
  21978. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  21979. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  21980. (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
  21981. (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
  21982. (-[WebBaseResourceHandleDelegate resource:didReceiveData:]):
  21983. (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]):
  21984. (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]):
  21985. (-[WebBaseResourceHandleDelegate cancelWithError:]):
  21986. * WebView.subproj/WebContextMenuDelegate.h:
  21987. * WebView.subproj/WebController.h:
  21988. * WebView.subproj/WebController.m:
  21989. (-[WebView _commonInitialization:frameName:groupName:]):
  21990. (-[WebView initWithFrame:]):
  21991. (-[WebView supportsTextEncoding]):
  21992. (-[WebView userAgentForURL:]):
  21993. * WebView.subproj/WebControllerPolicyDelegate.h:
  21994. * WebView.subproj/WebControllerPrivate.h:
  21995. * WebView.subproj/WebControllerPrivate.m:
  21996. (-[WebViewPrivate _clearControllerReferences:]):
  21997. (+[WebView canShowFile:]):
  21998. (+[WebView suggestedFileExtensionForMIMEType:]):
  21999. (-[WebView _createFrameNamed:inParent:allowsScrolling:]):
  22000. (-[WebView _findFrameNamed:]):
  22001. (-[WebView _openNewWindowWithRequest:]):
  22002. (-[WebView _menuForElement:]):
  22003. (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
  22004. (-[WebView _frameForView:fromFrame:]):
  22005. * WebView.subproj/WebControllerSets.h:
  22006. * WebView.subproj/WebControllerSets.m:
  22007. (+[WebControllerSets addController:toSetNamed:]):
  22008. (+[WebControllerSets removeController:fromSetNamed:]):
  22009. * WebView.subproj/WebDataSource.h:
  22010. * WebView.subproj/WebDataSourcePrivate.h:
  22011. * WebView.subproj/WebDataSourcePrivate.m:
  22012. (-[WebDataSource _controller]):
  22013. (-[WebDataSource _setController:]):
  22014. (-[WebDataSource _startLoading:]):
  22015. (-[WebDataSource _setTitle:]):
  22016. (-[WebDataSource _setRequest:]):
  22017. (-[WebDataSource _layoutChildren]):
  22018. (+[WebDataSource _repTypes]):
  22019. (-[WebDataSource _receivedData:]):
  22020. (-[WebDataSource _updateIconDatabaseWithURL:]):
  22021. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  22022. (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
  22023. (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
  22024. (-[WebDefaultContextMenuDelegate downloadURL:]):
  22025. * WebView.subproj/WebDefaultLocationChangeDelegate.m:
  22026. (-[WebDefaultLocationChangeDelegate webView:locationChangeStartedForDataSource:]):
  22027. (-[WebDefaultLocationChangeDelegate webView:serverRedirectedForDataSource:]):
  22028. (-[WebDefaultLocationChangeDelegate webView:locationChangeCommittedForDataSource:]):
  22029. (-[WebDefaultLocationChangeDelegate webView:receivedPageTitle:forDataSource:]):
  22030. (-[WebDefaultLocationChangeDelegate webView:receivedPageIcon:forDataSource:]):
  22031. (-[WebDefaultLocationChangeDelegate webView:locationChangeDone:forDataSource:]):
  22032. (-[WebDefaultLocationChangeDelegate webView:willCloseLocationForDataSource:]):
  22033. (-[WebDefaultLocationChangeDelegate webView:locationChangedWithinPageForDataSource:]):
  22034. (-[WebDefaultLocationChangeDelegate webView:clientWillRedirectTo:delay:fireDate:forFrame:]):
  22035. (-[WebDefaultLocationChangeDelegate webView:clientRedirectCancelledForFrame:]):
  22036. * WebView.subproj/WebDefaultPolicyDelegate.m:
  22037. (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:inFrame:]):
  22038. (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
  22039. (-[WebDefaultPolicyDelegate webView:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
  22040. * WebView.subproj/WebDefaultResourceLoadDelegate.m:
  22041. (-[WebDefaultResourceLoadDelegate webView:identifierForInitialRequest:fromDataSource:]):
  22042. (-[WebDefaultResourceLoadDelegate webView:resource:willSendRequest:fromDataSource:]):
  22043. (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveResponse:fromDataSource:]):
  22044. (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveContentLength:fromDataSource:]):
  22045. (-[WebDefaultResourceLoadDelegate webView:resource:didFinishLoadingFromDataSource:]):
  22046. (-[WebDefaultResourceLoadDelegate webView:resource:didFailLoadingWithError:fromDataSource:]):
  22047. (-[WebDefaultResourceLoadDelegate webView:pluginFailedWithError:dataSource:]):
  22048. * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
  22049. (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptConfirmPanelWithMessage:]):
  22050. (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:]):
  22051. (-[WebDefaultWindowOperationsDelegate webView:runOpenPanelForFileButtonWithResultListener:]):
  22052. * WebView.subproj/WebFrame.h:
  22053. * WebView.subproj/WebFrame.m:
  22054. (-[WebFrame init]):
  22055. (-[WebFrame initWithName:webFrameView:webView:]):
  22056. (-[WebFrame frameView]):
  22057. (-[WebFrame webView]):
  22058. (-[WebFrame findFrameNamed:]):
  22059. (+[WebFrame registerViewClass:representationClass:forMIMEType:]):
  22060. * WebView.subproj/WebFramePrivate.h:
  22061. * WebView.subproj/WebFramePrivate.m:
  22062. (if):
  22063. (switch):
  22064. * WebView.subproj/WebHTMLView.h:
  22065. * WebView.subproj/WebHTMLViewPrivate.h:
  22066. * WebView.subproj/WebHTMLViewPrivate.m:
  22067. (-[WebHTMLView _controller]):
  22068. * WebView.subproj/WebImageView.m:
  22069. (-[WebImageView controller]):
  22070. (-[WebImageView menuForEvent:]):
  22071. * WebView.subproj/WebLocationChangeDelegate.h:
  22072. * WebView.subproj/WebMainResourceClient.m:
  22073. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  22074. (-[WebMainResourceClient checkContentPolicyForResponse:]):
  22075. * WebView.subproj/WebResourceLoadDelegate.h:
  22076. * WebView.subproj/WebTextView.m:
  22077. (-[WebTextView menuForEvent:]):
  22078. * WebView.subproj/WebView.h:
  22079. * WebView.subproj/WebView.m:
  22080. (-[WebFrameView setAllowsScrolling:]):
  22081. (-[WebFrameView allowsScrolling]):
  22082. (-[WebFrameView scrollView]):
  22083. (-[WebFrameView documentView]):
  22084. (-[WebFrameView drawRect:]):
  22085. (-[WebFrameView setFrameSize:]):
  22086. * WebView.subproj/WebViewPrivate.h:
  22087. * WebView.subproj/WebViewPrivate.m:
  22088. (-[WebFrameView _controller]):
  22089. (-[WebFrameView _setDocumentView:]):
  22090. (-[WebFrameView _setController:]):
  22091. (-[WebFrameView _contentView]):
  22092. (-[WebFrameView _verticalKeyboardScrollAmount]):
  22093. (-[WebFrameView _horizontalKeyboardScrollAmount]):
  22094. (-[WebFrameView _scrollToBottomLeft]):
  22095. (+[WebFrameView _viewTypes]):
  22096. * WebView.subproj/WebWindowOperationsDelegate.h:
  22097. 2003-03-18 Darin Adler <darin@apple.com>
  22098. Reviewed by Richard.
  22099. - fixed 3187143 -- when a font-family has many variants, Safari chooses the wrong one
  22100. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  22101. (-[WebTextRendererFactory fontWithFamily:traits:size:]):
  22102. Changed the algorithm here in two ways. 1) Pick the family member with matching traits that has
  22103. a weight closest to 5, the standard weight; the old code picked the first family member with
  22104. matching traits. 2) Match traits based on a mask of which traits are the important ones. The old
  22105. code matched traits based on a rule of "if the trait bit is 1 it matters, otherwise don't care".
  22106. 2003-03-18 Darin Adler <darin@apple.com>
  22107. Reviewed by Richard.
  22108. - fixed 3194756 -- REGRESSION: Geneva bold yields Geneva plain, used to yield Helvetica bold (apple.com)
  22109. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  22110. (-[WebTextRendererFactory fontWithFamily:traits:size:]):
  22111. Remove the first call to NSFontManager before we do our searching algorithm.
  22112. We always need to do the searching, because NSFontManager uses a different set of rules.
  22113. 2003-03-17 Chris Blumenberg <cblu@apple.com>
  22114. Fixed: 3200647 - File I/O related download errors just says "error"
  22115. Reviewed by darin.
  22116. * Downloads.subproj/WebDownload.m:
  22117. (+[WebDownloadPrivate initialize]): call _registerWebKitErrors
  22118. * English.lproj/Localizable.strings:
  22119. * Misc.subproj/WebKitErrors.h: cleaned-up, removed unused errors
  22120. * Misc.subproj/WebKitErrors.m:
  22121. (+[WebError _registerWebKitErrors]):
  22122. (registerErrors):
  22123. * WebKit.pbproj/project.pbxproj:
  22124. * WebView.subproj/WebView.m:
  22125. (+[WebFrameView initialize]): call _registerWebKitErrors
  22126. 2003-03-17 Darin Adler <darin@apple.com>
  22127. Reviewed by Chris and Richard.
  22128. - fixed 3200611 -- Progress indicator in tabs not shown for subframe loads
  22129. * WebView.subproj/WebDataSource.m: (-[WebDataSource isLoading]):
  22130. Remove the early out for when we're in the WebFrameStateComplete state.
  22131. The top frame being complete does not really tell us anything about whether subframes
  22132. are complete, especially since they can have their locations changed without affecting
  22133. the top level frame at all.
  22134. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  22135. 2003-03-17 Chris Blumenberg <cblu@apple.com>
  22136. Made data categories use the "_web_" prefix.
  22137. Reviewed by darin.
  22138. * Plugins.subproj/WebBaseNetscapePluginView.m:
  22139. (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
  22140. (-[NSData _web_startsWithBlankLine]):
  22141. (-[NSData _web_locationAfterFirstBlankLine]):
  22142. 2003-03-17 Chris Blumenberg <cblu@apple.com>
  22143. Fixed: 3199105 - Accept carbon-style file URLs from plug-in POST requests
  22144. Fixed: 3148767 - POST (aka Flash Remoting) doesn't work from Flash
  22145. Reviewed by kocienda.
  22146. * Plugins.subproj/WebBaseNetscapePluginView.m:
  22147. (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): parse headers, handle carbon POSIX paths
  22148. (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]): call _postURLNotify
  22149. (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): call _postURLNotify
  22150. (-[NSData startsWithBlankLine]): new
  22151. (-[NSData locationAfterFirstBlankLine]): new
  22152. 2003-03-17 Maciej Stachowiak <mjs@apple.com>
  22153. Reviewed by Darin.
  22154. - fixed 3200259 - REGRESSION: Clicking on Flash links at homestarrunner.com creates blank windows
  22155. * Plugins.subproj/WebBaseNetscapePluginView.m:
  22156. (-[WebBaseNetscapePluginView loadPluginRequest:]): Don't always
  22157. make the window, only do it if the frame doesn't already
  22158. exist. Duh.
  22159. 2003-03-17 Darin Adler <darin@apple.com>
  22160. Reviewed by Trey and Maciej.
  22161. - fixed 3199154 -- REGRESSION: world leaks on any page load test
  22162. * WebView.subproj/WebController.m: (-[WebController initWithView:frameName:groupName:]):
  22163. Call through to initWithFrame, the designated initializer, not init. Calling [super init] results
  22164. in calling our initWithFrame method, resulting in two calls to the _commonInitialization method.
  22165. 2003-03-17 Maciej Stachowiak <mjs@apple.com>
  22166. Reviewed by Trey.
  22167. Adjusted for WebFoundation API changes.
  22168. * Panels.subproj/WebAuthenticationPanel.m:
  22169. (-[WebAuthenticationPanel setUpForRequest:]):
  22170. 2003-03-17 Darin Adler <darin@apple.com>
  22171. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
  22172. 2003-03-17 Chris Blumenberg <cblu@apple.com>
  22173. Fixed: 3199951 - Standalone plug-in content that is cancelled doesn't restart when switching tabs
  22174. Instead of creating and managing resourceData in WebMainResourceClient then passing the ownership to WebDataSource, just manage it in WebDataSource. We had the prior behavior because we didn't buffer downloads. Now, we always buffer. The fix for the bug
  22175. is to retain the incomplete data even though the load ends in error.
  22176. Reviewed by darin.
  22177. * WebView.subproj/WebDataSource.h: updated headerdoc for the data method
  22178. * WebView.subproj/WebDataSource.m:
  22179. (-[WebDataSource data]): just return resourceData
  22180. * WebView.subproj/WebDataSourcePrivate.h:
  22181. * WebView.subproj/WebDataSourcePrivate.m:
  22182. (-[WebDataSource _receivedData:]): create resourceData if necessary, append data to it.
  22183. * WebView.subproj/WebMainResourceClient.h:
  22184. * WebView.subproj/WebMainResourceClient.m:
  22185. (-[WebMainResourceClient initWithDataSource:]): don't work with resourceData
  22186. (-[WebMainResourceClient dealloc]): don't work with resourceData
  22187. (-[WebMainResourceClient resource:didReceiveData:]): don't work with resourceData
  22188. (-[WebMainResourceClient resourceDidFinishLoading:]): don't work with resourceData
  22189. 2003-03-16 Trey Matteson <trey@apple.com>
  22190. 3198135 - need to fix our projects so SYMROOT is not stripped
  22191. Tweaked stripping options: B&I build does not COPY_PHASE_STRIP.
  22192. Deployment build still does.
  22193. We strip manually as part of the install that we do ourselves.
  22194. Reviewed by Maciej.
  22195. * WebKit.pbproj/project.pbxproj:
  22196. 2003-03-14 Chris Blumenberg <cblu@apple.com>
  22197. Backed out changes to WebBaseNetscapePluginView. Unintentional commit.
  22198. * Plugins.subproj/WebBaseNetscapePluginView.m:
  22199. (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]):
  22200. (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]):
  22201. 2003-03-14 Chris Blumenberg <cblu@apple.com>
  22202. Fixed: 3198961 - REGRESSION: Stopping load of plug-in content is not reflected in UI
  22203. Reviewed by mjs.
  22204. * WebView.subproj/WebMainResourceClient.m:
  22205. (-[WebMainResourceClient cancelWithError:]): call receivedError so [dataSource _receivedError:error complete:YES] is called
  22206. 2003-03-14 Maciej Stachowiak <mjs@apple.com>
  22207. Reviewed by Don.
  22208. - revert premature controller --> webView renaming, it's causing
  22209. problems with window opening and such.
  22210. * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
  22211. 2003-03-14 Chris Blumenberg <cblu@apple.com>
  22212. Fixed: 3197872 - Standalone plug-in content isn't restarted when switching tabs
  22213. Fixed: 3189675 - assertion in plug-in code fails (nil window) with .swf page displaying standalone in a tab
  22214. We start plug-ins when they are added to the window and stop them when they are removed. To restart a plug-in, the data stream must be redelivered. This works in the embedded plug-in case, but in the standalone plug-in case, the stream is delivered by th
  22215. e machinery in WebKit. The stream is only delivered once. This fix addresses that.
  22216. Reviewed by trey.
  22217. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  22218. (-[WebBaseNetscapePluginStream setResponse:]): reset the offset ivar
  22219. (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): If we create a file for the plug-in, handle the case where the file is already created.
  22220. * Plugins.subproj/WebBaseNetscapePluginView.h:
  22221. * Plugins.subproj/WebBaseNetscapePluginView.m:
  22222. (-[WebBaseNetscapePluginView isStarted]): added so the stream knows the state of the view
  22223. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  22224. (-[WebNetscapePluginDocumentView initWithFrame:]): tweak
  22225. (-[WebNetscapePluginDocumentView viewDidMoveToWindow]): call redeliverStream if we are added back to the window
  22226. (-[WebNetscapePluginDocumentView setDataSource:]): only start the plug-in if we are in a window, don't assert
  22227. * Plugins.subproj/WebNetscapePluginRepresentation.h:
  22228. * Plugins.subproj/WebNetscapePluginRepresentation.m:
  22229. (-[WebNetscapePluginRepresentation dealloc]): release the retained data source and error
  22230. (-[WebNetscapePluginRepresentation setDataSource:]): retain the data source
  22231. (-[WebNetscapePluginRepresentation isPluginViewStarted]): new
  22232. (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): only do work if isPluginViewStarted
  22233. (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): retain the error, only do work if isPluginViewStarted
  22234. (-[WebNetscapePluginRepresentation finishedLoadingWithDataSource:]): only do work if isPluginViewStarted
  22235. (-[WebNetscapePluginRepresentation redeliverStream]): call receivedData:: with all the received data up to this point. Call receivedError:: or finishedLoadingWithDataSource: if the load is already complete.
  22236. 2003-03-13 Maciej Stachowiak <mjs@apple.com>
  22237. Reviewed by Trey.
  22238. - fixed 3188209 - REGRESSION: onmouseup handlers not running for most form elements
  22239. * WebCoreSupport.subproj/WebFileButton.m:
  22240. (-[WebFileButton chooseButtonPressed:]): Send appropriate NSNotification.
  22241. * WebView.subproj/WebHTMLViewPrivate.m:
  22242. (-[WebNSTextView mouseDown:]): Call fieldEditorDidMouseDown: on
  22243. delegate, if implemented, after calling super.
  22244. 2003-03-13 Richard Williamson <rjw@apple.com>
  22245. First stage of the WebController -> WebView, WebView -> WebFrameView.
  22246. This change does the WebView -> WebFrameView part of the change. Also
  22247. changes WebController's inheritance. It now inherits from NSView. Also
  22248. added some simple action methods to WebController (soon to be WebView)
  22249. to facilitate IB hookup.
  22250. Reviewed by Maciej.
  22251. * Carbon.subproj/CarbonWindowAdapter.m:
  22252. * Carbon.subproj/HIWebView.h:
  22253. * Carbon.subproj/HIWebView.m:
  22254. (if):
  22255. (switch):
  22256. * Carbon.subproj/HIWebViewPriv.h:
  22257. * Misc.subproj/WebKitStatistics.m:
  22258. (+[WebKitStatistics viewCount]):
  22259. * Misc.subproj/WebKitStatisticsPrivate.h:
  22260. * Misc.subproj/WebNSViewExtras.h:
  22261. * Misc.subproj/WebNSViewExtras.m:
  22262. (-[NSView _web_parentWebFrameView]):
  22263. * Panels.subproj/WebStandardPanels.m:
  22264. (-[WebStandardPanels frontmostWindowLoadingURL:]):
  22265. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  22266. (-[WebNetscapePluginDocumentView layout]):
  22267. * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
  22268. (-[WebNetscapePluginEmbeddedView dataSource]):
  22269. * Plugins.subproj/WebNetscapePluginRepresentation.m:
  22270. (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
  22271. * Plugins.subproj/WebNullPluginView.m:
  22272. (-[WebNullPluginView viewDidMoveToWindow]):
  22273. * Plugins.subproj/WebPluginDatabase.m:
  22274. (-[WebPluginDatabase init]):
  22275. * WebCoreSupport.subproj/WebBridge.m:
  22276. (-[WebBridge areScrollbarsVisible]):
  22277. (-[WebBridge setScrollbarsVisible:]):
  22278. (-[WebBridge window]):
  22279. (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
  22280. (-[WebBridge nextKeyViewOutsideWebFrameViews]):
  22281. (-[WebBridge previousKeyViewOutsideWebFrameViews]):
  22282. (-[WebBridge setNeedsReapplyStyles]):
  22283. (-[WebBridge setNeedsLayout]):
  22284. (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
  22285. (-[WebBridge frameRequiredForMIMEType:]):
  22286. (-[WebBridge handleMouseDragged:]):
  22287. (-[WebBridge mayStartDragWithMouseDragged:]):
  22288. * WebKit.exp:
  22289. * WebKit.pbproj/project.pbxproj:
  22290. * WebView.subproj/WebController.h:
  22291. * WebView.subproj/WebController.m:
  22292. (+[WebContentTypes canShowMIMEType:]):
  22293. (-[WebController _commonInitialization:frameName:groupName:]):
  22294. (-[WebController init]):
  22295. (-[WebController initWithFrame:]):
  22296. (-[WebController initWithView:]):
  22297. (-[WebController supportsTextEncoding]):
  22298. (-[WebController takeStringURLFrom:]):
  22299. (-[WebController goBack:]):
  22300. (-[WebController goForward:]):
  22301. (-[WebController stopLoading:]):
  22302. * WebView.subproj/WebControllerPrivate.h:
  22303. * WebView.subproj/WebControllerPrivate.m:
  22304. (-[WebControllerPrivate _clearControllerReferences:]):
  22305. (-[WebController _createFrameNamed:inParent:allowsScrolling:]):
  22306. (-[WebController _frameForView:fromFrame:]):
  22307. (-[WebController _frameForView:]):
  22308. * WebView.subproj/WebDataSource.m:
  22309. * WebView.subproj/WebDataSourcePrivate.m:
  22310. (-[WebDataSource _layoutChildren]):
  22311. (-[WebDataSource _receivedData:]):
  22312. * WebView.subproj/WebDebugDOMNode.h:
  22313. * WebView.subproj/WebDebugDOMNode.m:
  22314. (-[WebDebugDOMNode initWithWebFrameView:]):
  22315. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  22316. (-[WebDefaultContextMenuDelegate controller:contextMenuItemsForElement:defaultMenuItems:]):
  22317. * WebView.subproj/WebDefaultLocationChangeDelegate.m:
  22318. (-[WebDefaultLocationChangeDelegate controller:locationChangeStartedForDataSource:]):
  22319. (-[WebDefaultLocationChangeDelegate controller:serverRedirectedForDataSource:]):
  22320. (-[WebDefaultLocationChangeDelegate controller:locationChangeCommittedForDataSource:]):
  22321. (-[WebDefaultLocationChangeDelegate controller:receivedPageTitle:forDataSource:]):
  22322. (-[WebDefaultLocationChangeDelegate controller:receivedPageIcon:forDataSource:]):
  22323. (-[WebDefaultLocationChangeDelegate controller:locationChangeDone:forDataSource:]):
  22324. (-[WebDefaultLocationChangeDelegate controller:willCloseLocationForDataSource:]):
  22325. (-[WebDefaultLocationChangeDelegate controller:locationChangedWithinPageForDataSource:]):
  22326. (-[WebDefaultLocationChangeDelegate controller:clientWillRedirectTo:delay:fireDate:forFrame:]):
  22327. (-[WebDefaultLocationChangeDelegate controller:clientRedirectCancelledForFrame:]):
  22328. * WebView.subproj/WebDefaultPolicyDelegate.m:
  22329. (-[WebDefaultPolicyDelegate controller:unableToImplementPolicyWithError:inFrame:]):
  22330. (-[WebDefaultPolicyDelegate controller:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
  22331. (-[WebDefaultPolicyDelegate controller:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
  22332. * WebView.subproj/WebDefaultResourceLoadDelegate.m:
  22333. (-[WebDefaultResourceLoadDelegate controller:identifierForInitialRequest:fromDataSource:]):
  22334. (-[WebDefaultResourceLoadDelegate controller:resource:willSendRequest:fromDataSource:]):
  22335. (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveResponse:fromDataSource:]):
  22336. (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveContentLength:fromDataSource:]):
  22337. (-[WebDefaultResourceLoadDelegate controller:resource:didFinishLoadingFromDataSource:]):
  22338. (-[WebDefaultResourceLoadDelegate controller:resource:didFailLoadingWithError:fromDataSource:]):
  22339. (-[WebDefaultResourceLoadDelegate controller:pluginFailedWithError:dataSource:]):
  22340. * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
  22341. (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptConfirmPanelWithMessage:]):
  22342. (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptTextInputPanelWithPrompt:defaultText:]):
  22343. (-[WebDefaultWindowOperationsDelegate controller:runOpenPanelForFileButtonWithResultListener:]):
  22344. * WebView.subproj/WebDocument.h:
  22345. * WebView.subproj/WebDynamicScrollBarsView.m:
  22346. * WebView.subproj/WebFrame.h:
  22347. * WebView.subproj/WebFrame.m:
  22348. (-[WebFrame init]):
  22349. (-[WebFrame initWithName:webFrameView:controller:]):
  22350. (-[WebFrame view]):
  22351. (+[WebFrame registerViewClass:representationClass:forMIMEType:]):
  22352. * WebView.subproj/WebFramePrivate.h:
  22353. * WebView.subproj/WebFramePrivate.m:
  22354. (if):
  22355. (switch):
  22356. * WebView.subproj/WebHTMLView.h:
  22357. * WebView.subproj/WebHTMLView.m:
  22358. (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
  22359. (-[WebHTMLView draggedImage:endedAt:operation:]):
  22360. (-[WebHTMLView becomeFirstResponder]):
  22361. * WebView.subproj/WebHTMLViewPrivate.m:
  22362. (-[WebHTMLView _controller]):
  22363. (-[WebHTMLView _frame]):
  22364. (-[WebHTMLView _elementAtPoint:]):
  22365. * WebView.subproj/WebImageView.m:
  22366. (-[WebImageView controller]):
  22367. (-[WebImageView menuForEvent:]):
  22368. (-[WebImageView mouseDragged:]):
  22369. (-[WebImageView draggedImage:endedAt:operation:]):
  22370. * WebView.subproj/WebLocationChangeDelegate.h:
  22371. * WebView.subproj/WebRenderNode.h:
  22372. * WebView.subproj/WebRenderNode.m:
  22373. (-[WebRenderNode initWithName:position:rect:view:children:]):
  22374. (-[WebRenderNode initWithWebFrameView:]):
  22375. * WebView.subproj/WebResourceLoadDelegate.h:
  22376. * WebView.subproj/WebTextView.m:
  22377. (-[WebTextView menuForEvent:]):
  22378. * WebView.subproj/WebView.h:
  22379. * WebView.subproj/WebView.m:
  22380. (-[WebFrameView initWithFrame:]):
  22381. (-[WebFrameView dealloc]):
  22382. * WebView.subproj/WebViewPrivate.h:
  22383. * WebView.subproj/WebViewPrivate.m:
  22384. * WebView.subproj/WebWindowOperationsDelegate.h:
  22385. 2003-03-13 John Sullivan <sullivan@apple.com>
  22386. Reviewed by Trey.
  22387. * English.lproj/StringsNotToBeLocalized.txt:
  22388. Removed all the bookmarks-related strings that I forgot
  22389. to remove in my previous checkin.
  22390. 2003-03-13 John Sullivan <sullivan@apple.com>
  22391. Removed all the bookmarks code from WebKit; put it
  22392. in WebBrowser instead.
  22393. Reviewed by Darin
  22394. * Bookmarks.subproj/WebBookmark.h: Removed.
  22395. * Bookmarks.subproj/WebBookmark.m: Removed.
  22396. * Bookmarks.subproj/WebBookmarkGroup.h: Removed.
  22397. * Bookmarks.subproj/WebBookmarkGroup.m: Removed.
  22398. * Bookmarks.subproj/WebBookmarkGroupPrivate.h: Removed.
  22399. * Bookmarks.subproj/WebBookmarkImporter.h: Removed.
  22400. * Bookmarks.subproj/WebBookmarkImporter.m: Removed.
  22401. * Bookmarks.subproj/WebBookmarkLeaf.h: Removed.
  22402. * Bookmarks.subproj/WebBookmarkLeaf.m: Removed.
  22403. * Bookmarks.subproj/WebBookmarkList.h: Removed.
  22404. * Bookmarks.subproj/WebBookmarkList.m: Removed.
  22405. * Bookmarks.subproj/WebBookmarkPrivate.h: Removed.
  22406. * Bookmarks.subproj/WebBookmarkProxy.h: Removed.
  22407. * Bookmarks.subproj/WebBookmarkProxy.m: Removed.
  22408. * WebKit.exp:
  22409. removed all bookmark-related symbols
  22410. * WebKit.pbproj/project.pbxproj:
  22411. updated for removed files
  22412. === Safari-67 ===
  22413. 2003-03-12 Chris Blumenberg <cblu@apple.com>
  22414. 3196673 - REGRESSION: Assertion failure when download fails to create file
  22415. - Retain the download delegate because it will live longer than the WebController which it is an instance of.
  22416. Reviewed by rjw.
  22417. * Downloads.subproj/WebDownload.m:
  22418. (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): call _downloadStarted
  22419. (-[WebDownload loadWithDelegate:]): call _downloadStarted
  22420. (-[WebDownload _downloadStarted]): renamed from _loadStarted
  22421. (-[WebDownload _downloadEnded]): release delegate
  22422. (-[WebDownload resource:willSendRequest:]): reordered so if we are released in this method, we never call self
  22423. (-[WebDownload resourceDidFinishLoading:]): don't call _loadEnded because _downloadEnded gets called in _didCloseFile and _cancelWithError
  22424. (-[WebDownload resource:didFailLoadingWithError:]): don't call _loadEnded because _downloadEnded gets called in _didCloseFile and _cancelWithError
  22425. (-[WebDownload _didCloseFile:]): call _downloadEnded
  22426. (-[WebDownload _cancelWithError:]): call _downloadEnded
  22427. * WebView.subproj/WebController.h: mention that the download delegate gets retained.
  22428. 2003-03-12 Darin Adler <darin@apple.com>
  22429. Reviewed by John.
  22430. - fixed 3193552 -- REGRESSION: crash loading ftp directory URL
  22431. - fixed minor problems with setDefersCallbacks handling and object lifetime
  22432. * WebView.subproj/WebBaseResourceHandleDelegate.h: Removed now-unused cancelQuietly.
  22433. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  22434. (-[WebBaseResourceHandleDelegate cancel]): Changed cancel to tolerate being called
  22435. when we have already cancelled. It's an error to call cancelWithError once we
  22436. have cancelled.
  22437. * WebView.subproj/WebMainResourceClient.m:
  22438. (-[WebMainResourceClient interruptForPolicyChangeError]): Added. New function to
  22439. create the WebError object for policy change.
  22440. (-[WebMainResourceClient stopLoadingForPolicyChange]): Changed to just be a call
  22441. to cancelWithError:.
  22442. (-[WebMainResourceClient resource:willSendRequest:]): Call setDefersCallbacks:YES
  22443. here; continueAfterNavigationPolicy already takes care of setDefersCallbacks:NO,
  22444. but we lost this one somewhere along the way.
  22445. (-[WebMainResourceClient continueAfterContentPolicy:response:]): Changed to call
  22446. receivedError: on interruptForPolicyChangeError directly. It wasn't clearer to call
  22447. a method named interruptForPolicyChange.
  22448. (-[WebMainResourceClient resource:didReceiveResponse:]): Don't bother calling
  22449. setDefersCallbacks:YES here any more; checkContentPolicyForResponse: takes care
  22450. of that so there's no need to do it here. Initialize _contentLength before calling
  22451. checkContentPolicyForResponse:, since that method can result in deallocating self.
  22452. 2003-03-12 John Sullivan <sullivan@apple.com>
  22453. Reviewed by Trey
  22454. * English.lproj/StringsNotToBeLocalized.txt:
  22455. updated for recent changes
  22456. 2003-03-11 Chris Blumenberg <cblu@apple.com>
  22457. Fixed deployment build failure.
  22458. * WebView.subproj/WebFramePrivate.m:
  22459. 2003-03-11 Richard Williamson <rjw@apple.com>
  22460. Added controller: parameter to all WebControllers delegates.
  22461. Reviewed by chris.
  22462. * Plugins.subproj/WebBaseNetscapePluginView.m:
  22463. (-[WebBaseNetscapePluginView loadPluginRequest:]):
  22464. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  22465. (-[WebNetscapePluginDocumentView setDataSource:]):
  22466. * Plugins.subproj/WebNullPluginView.m:
  22467. (-[WebNullPluginView viewDidMoveToWindow]):
  22468. * Plugins.subproj/WebPluginController.m:
  22469. (-[WebPluginController showStatus:]):
  22470. * WebCoreSupport.subproj/WebBridge.m:
  22471. (-[WebBridge createWindowWithURL:frameName:]):
  22472. (-[WebBridge showWindow]):
  22473. (-[WebBridge areToolbarsVisible]):
  22474. (-[WebBridge setToolbarsVisible:]):
  22475. (-[WebBridge isStatusBarVisible]):
  22476. (-[WebBridge setStatusBarVisible:]):
  22477. (-[WebBridge setWindowFrame:]):
  22478. (-[WebBridge runJavaScriptAlertPanelWithMessage:]):
  22479. (-[WebBridge runJavaScriptConfirmPanelWithMessage:]):
  22480. (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
  22481. (-[WebBridge runOpenPanelForFileButtonWithResultListener:]):
  22482. (-[WebBridge setStatusText:]):
  22483. (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
  22484. * WebCoreSupport.subproj/WebSubresourceClient.m:
  22485. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  22486. (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
  22487. (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
  22488. (-[WebBaseResourceHandleDelegate resource:didReceiveData:]):
  22489. (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]):
  22490. (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]):
  22491. (-[WebBaseResourceHandleDelegate cancelWithError:]):
  22492. * WebView.subproj/WebContextMenuDelegate.h:
  22493. * WebView.subproj/WebControllerPolicyDelegate.h:
  22494. * WebView.subproj/WebControllerPrivate.m:
  22495. (-[WebController _openNewWindowWithRequest:]):
  22496. (-[WebController _menuForElement:]):
  22497. (-[WebController _mouseDidMoveOverElement:modifierFlags:]):
  22498. * WebView.subproj/WebDataSourcePrivate.m:
  22499. (-[WebDataSource _startLoading:]):
  22500. (-[WebDataSource _setTitle:]):
  22501. (-[WebDataSource _setRequest:]):
  22502. (-[WebDataSource _updateIconDatabaseWithURL:]):
  22503. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  22504. (-[WebDefaultContextMenuDelegate controller:contextMenuItemsForElement:defaultMenuItems:]):
  22505. * WebView.subproj/WebDefaultLocationChangeDelegate.m:
  22506. (-[WebDefaultLocationChangeDelegate controller:locationChangeStartedForDataSource:]):
  22507. (-[WebDefaultLocationChangeDelegate controller:serverRedirectedForDataSource:]):
  22508. (-[WebDefaultLocationChangeDelegate controller:locationChangeCommittedForDataSource:]):
  22509. (-[WebDefaultLocationChangeDelegate controller:receivedPageTitle:forDataSource:]):
  22510. (-[WebDefaultLocationChangeDelegate controller:receivedPageIcon:forDataSource:]):
  22511. (-[WebDefaultLocationChangeDelegate controller:locationChangeDone:forDataSource:]):
  22512. (-[WebDefaultLocationChangeDelegate controller:willCloseLocationForDataSource:]):
  22513. (-[WebDefaultLocationChangeDelegate controller:locationChangedWithinPageForDataSource:]):
  22514. (-[WebDefaultLocationChangeDelegate controller:clientWillRedirectTo:delay:fireDate:forFrame:]):
  22515. (-[WebDefaultLocationChangeDelegate controller:clientRedirectCancelledForFrame:]):
  22516. * WebView.subproj/WebDefaultPolicyDelegate.m:
  22517. (-[WebDefaultPolicyDelegate controller:unableToImplementPolicy:error:forURL:inFrame:]):
  22518. (-[WebDefaultPolicyDelegate controller:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
  22519. (-[WebDefaultPolicyDelegate controller:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
  22520. * WebView.subproj/WebDefaultResourceLoadDelegate.m:
  22521. (-[WebDefaultResourceLoadDelegate controller:identifierForInitialRequest:fromDataSource:]):
  22522. (-[WebDefaultResourceLoadDelegate controller:resource:willSendRequest:fromDataSource:]):
  22523. (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveResponse:fromDataSource:]):
  22524. (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveContentLength:fromDataSource:]):
  22525. (-[WebDefaultResourceLoadDelegate controller:resource:didFinishLoadingFromDataSource:]):
  22526. (-[WebDefaultResourceLoadDelegate controller:resource:didFailLoadingWithError:fromDataSource:]):
  22527. (-[WebDefaultResourceLoadDelegate controller:pluginFailedWithError:dataSource:]):
  22528. * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
  22529. (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptConfirmPanelWithMessage:]):
  22530. (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptTextInputPanelWithPrompt:defaultText:]):
  22531. (-[WebDefaultWindowOperationsDelegate controller:runOpenPanelForFileButtonWithResultListener:]):
  22532. * WebView.subproj/WebFramePrivate.m:
  22533. (if):
  22534. (switch):
  22535. * WebView.subproj/WebLocationChangeDelegate.h:
  22536. * WebView.subproj/WebMainResourceClient.m:
  22537. (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]):
  22538. * WebView.subproj/WebResourceLoadDelegate.h:
  22539. * WebView.subproj/WebWindowOperationsDelegate.h:
  22540. 2003-03-11 Maciej Stachowiak <mjs@apple.com>
  22541. Reviewed by Richard.
  22542. Final policy API changes:
  22543. - changed WebPolicyDecisionListener to protocol in public API
  22544. - replaced policy enum with separate methods
  22545. - made content policy handling async
  22546. * WebKit.pbproj/project.pbxproj:
  22547. * WebView.subproj/WebControllerPolicyDelegate.h:
  22548. * WebView.subproj/WebControllerPolicyDelegate.m:
  22549. (-[WebPolicyDecisionListener _usePolicy:]):
  22550. (-[WebPolicyDecisionListener use]):
  22551. (-[WebPolicyDecisionListener ignore]):
  22552. (-[WebPolicyDecisionListener download]):
  22553. * WebView.subproj/WebControllerPolicyDelegatePrivate.h:
  22554. * WebView.subproj/WebDefaultPolicyDelegate.m:
  22555. (-[WebDefaultPolicyDelegate unableToImplementPolicyWithError:inFrame:]):
  22556. (-[WebDefaultPolicyDelegate decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
  22557. (-[WebDefaultPolicyDelegate decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
  22558. * WebView.subproj/WebFramePrivate.h:
  22559. * WebView.subproj/WebFramePrivate.m:
  22560. (switch):
  22561. * WebView.subproj/WebMainResourceClient.h:
  22562. * WebView.subproj/WebMainResourceClient.m:
  22563. (-[WebMainResourceClient cancelContentPolicy]):
  22564. (-[WebMainResourceClient cancel]):
  22565. (-[WebMainResourceClient cancelQuietly]):
  22566. (-[WebMainResourceClient cancelWithError:]):
  22567. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  22568. (-[WebMainResourceClient continueAfterContentPolicy:]):
  22569. (-[WebMainResourceClient checkContentPolicyForResponse:]):
  22570. (-[WebMainResourceClient resource:didReceiveResponse:]):
  22571. 2003-03-11 Darin Adler <darin@apple.com>
  22572. Reviewed by John.
  22573. - fixed mistake in that last check-in that made Safari assert on startup with Chris's bookmarks bar
  22574. * Misc.subproj/WebStringTruncator.m: (centerTruncateToBuffer):
  22575. Fix logic here to not use an uninitialized variable.
  22576. 2003-03-11 Darin Adler <darin@apple.com>
  22577. Reviewed by John.
  22578. - fixed 3193213 -- assert truncatedLength+1 < STRING_BUFFER_SIZE creating tab label for firstyearibs.com
  22579. - fixed 3194935 -- WebStringTruncator rightTruncateString: will break between composed characters
  22580. - fixed right truncator to use interpolation algorithm rather than linear search
  22581. * Misc.subproj/WebStringTruncator.m:
  22582. (centerTruncateToBuffer): Changed from a class method to a plain function, and tweaked the code a bit.
  22583. (rightTruncateToBuffer): Added. Like centerTruncateToBuffer, but does it on the right end instead.
  22584. (stringWidth): Added. Helper function that calls the TextRenderer method with the right parameters.
  22585. (truncateString): Moved all the code from centerTruncateString here, adding one new parameter, the
  22586. truncate to buffer function.
  22587. (+[WebStringTruncator centerTruncateString:toWidth:]): Call truncateString with the appropriate parameters.
  22588. (+[WebStringTruncator centerTruncateString:toWidth:withFont:]): Ditto.
  22589. (+[WebStringTruncator rightTruncateString:toWidth:withFont:]): Ditto.
  22590. === Safari-66 ===
  22591. 2003-03-10 Maciej Stachowiak <mjs@apple.com>
  22592. Reviewed by Dave.
  22593. - fixed 3194221 - REGRESSION: search results loaded in wrong frame at directory.apple.com
  22594. * WebView.subproj/WebFramePrivate.m:
  22595. (_postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:):
  22596. Deliver targetted form posts correctly.
  22597. 2003-03-10 Darin Adler <darin@apple.com>
  22598. Reviewed by Maciej.
  22599. - fixed 3010915 -- mouse wheel won't scroll the main document when you are over [i]frame
  22600. * WebView.subproj/WebDynamicScrollBarsView.h: Made WebDynamicScrollBarsView a subclass of
  22601. WebCoreScrollView instead of NSScrollView.
  22602. - other changes
  22603. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _actionInformationForNavigationType:event:originalURL:):
  22604. Fix problem where you would not get any information if the click was on a subview of the
  22605. WebHTMLView, like a form control.
  22606. 2003-03-10 Chris Blumenberg <cblu@apple.com>
  22607. Fixed some download-related leaks. Primarily, we were leaking the data source that started the download. The data source is now immediately released when it becomes a download.
  22608. Reviewed by darin.
  22609. * Downloads.subproj/WebDownload.m:
  22610. (-[WebDownloadPrivate dealloc]): release the WebResourceDelegateProxy
  22611. (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): renamed, don't pass a datasource so WebDownload is completely disconnected from the that. Pass the proxy so it transfers ownership from WebMainResourceClient and it doesn'
  22612. t leak when we cancel a download.
  22613. (-[WebDownload _setRequest:]): added
  22614. (-[WebDownload _setResponse:]): added
  22615. (-[WebDownload resource:willSendRequest:]): call _setRequest
  22616. (-[WebDownload resource:didReceiveResponse:]): call _setResponse
  22617. * Downloads.subproj/WebDownloadPrivate.h:
  22618. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  22619. * WebView.subproj/WebBaseResourceHandleDelegate.m: removed notifyDelegatesOfInterruptionByPolicyChange, no longer called
  22620. * WebView.subproj/WebMainResourceClient.h: made WebResourceDelegateProxy available to other classes
  22621. * WebView.subproj/WebMainResourceClient.m:
  22622. (-[WebMainResourceClient receivedError:]): moved most error handling code here
  22623. (-[WebMainResourceClient cancel]): stop load, call receivedError
  22624. (-[WebMainResourceClient interruptForPolicyChange]): renamed, call receivedError with the policy interrupt error
  22625. (-[WebMainResourceClient stopLoadingForPolicyChange]): call interruptForPolicyChange
  22626. (-[WebMainResourceClient continueAfterContentPolicy:response:]): for WebPolicySave, create the download, call interruptForPolicyChange and return so the response isn't set on the superclass.
  22627. (-[WebMainResourceClient resource:didFailLoadingWithError:]): call receivedError
  22628. (-[WebResourceDelegateProxy setDelegate:]): don't retain the delegate
  22629. (-[WebResourceDelegateProxy resourceDidFinishLoading:]): don't release the delegate
  22630. (-[WebResourceDelegateProxy resource:didFailLoadingWithError:]): don't release the delegate
  22631. 2003-03-07 Maciej Stachowiak <mjs@apple.com>
  22632. Reviewed by Richard.
  22633. - fixed 3127705 - don't open new window on opt-click even if the link requests it
  22634. - fixed 3143971 - cmd-click should override the target="_blank" and target="_new" (important for tabs)
  22635. - removed open new window and open new window behind policies
  22636. - removed [WebFrame findOrCreateFrameNamed:] from API
  22637. - remved showWindowBehind from window operations delegate
  22638. - added decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener: delegate method
  22639. * Plugins.subproj/WebBaseNetscapePluginView.m:
  22640. (-[WebBaseNetscapePluginView loadPluginRequest:]):
  22641. (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
  22642. (-[WebPluginRequest initWithRequest:frameName:notifyData:]):
  22643. (-[WebPluginRequest dealloc]):
  22644. (-[WebPluginRequest frameName]):
  22645. * Plugins.subproj/WebPluginController.m:
  22646. (-[WebPluginController showURL:inFrame:]):
  22647. * WebCoreSupport.subproj/WebBridge.m:
  22648. (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]):
  22649. (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
  22650. * WebView.subproj/WebControllerPolicyDelegate.h:
  22651. * WebView.subproj/WebControllerPrivate.h:
  22652. * WebView.subproj/WebControllerPrivate.m:
  22653. (-[WebController _openNewWindowWithRequest:]):
  22654. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  22655. (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
  22656. * WebView.subproj/WebDefaultPolicyDelegate.m:
  22657. (-[WebDefaultPolicyDelegate decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
  22658. * WebView.subproj/WebFrame.h:
  22659. * WebView.subproj/WebFrame.m:
  22660. * WebView.subproj/WebFramePrivate.h:
  22661. * WebView.subproj/WebFramePrivate.m:
  22662. (-[NSObject performSelector:withObject:withObject:withObject:]):
  22663. * WebView.subproj/WebWindowOperationsDelegate.h:
  22664. 2003-03-07 Chris Blumenberg <cblu@apple.com>
  22665. Updated header doc comments.
  22666. * Downloads.subproj/WebDownload.h:
  22667. 2003-03-07 Richard Williamson <rjw@apple.com>
  22668. Drop mainDocumentError from WebDataSource.
  22669. Combine registerView: and registerRepresentation: into one method on WebFrame.
  22670. Reviewed by trey.
  22671. * Plugins.subproj/WebPluginDatabase.m:
  22672. (-[WebPluginDatabase init]):
  22673. * WebView.subproj/WebDataSource.h:
  22674. * WebView.subproj/WebDataSource.m:
  22675. * WebView.subproj/WebDataSourcePrivate.h:
  22676. * WebView.subproj/WebDataSourcePrivate.m:
  22677. (-[WebDataSource _mainDocumentError]):
  22678. * WebView.subproj/WebFrame.h:
  22679. * WebView.subproj/WebFrame.m:
  22680. (+[WebFrame registerViewClass:representationClass:forMIMEType:]):
  22681. * WebView.subproj/WebFramePrivate.m:
  22682. (switch):
  22683. * WebView.subproj/WebView.h:
  22684. * WebView.subproj/WebView.m:
  22685. 2003-03-07 John Sullivan <sullivan@apple.com>
  22686. WebKit part of fixes to these two synching-related bugs:
  22687. 3190844 -- Bookmarks Bar and Menu collections need to be
  22688. marked specially in Bookmarks file
  22689. 3192197 -- Safari should write out UUID-full Bookmarks
  22690. file after reading UUID-free one
  22691. Reviewed by Trey
  22692. * Bookmarks.subproj/WebBookmark.h:
  22693. * Bookmarks.subproj/WebBookmark.m:
  22694. (-[WebBookmark setUUID:]):
  22695. Removed the leading underscore, made this method public.
  22696. Removed unnecessary constraint that new or old UUID had
  22697. to be nil; now short-circuits the no-change case.
  22698. (-[WebBookmark copyWithZone:]):
  22699. updated for name change
  22700. (-[WebBookmark initFromDictionaryRepresentation:withGroup:]):
  22701. ditto
  22702. * Bookmarks.subproj/WebBookmarkGroup.h:
  22703. * Bookmarks.subproj/WebBookmarkGroup.m:
  22704. (-[WebBookmarkGroup bookmarkForUUID:]):
  22705. new public method to find a bookmark from a UUID.
  22706. (-[WebBookmarkGroup _addBookmark:]):
  22707. updated for name change
  22708. * Bookmarks.subproj/WebBookmarkPrivate.h:
  22709. removed declaration for old _setUUID
  22710. 2003-03-07 Darin Adler <darin@apple.com>
  22711. Reviewed by John.
  22712. - fixed regression caused when we made the stopLoading method on WebDataSource private
  22713. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _recursiveStopLoading]):
  22714. The children are frames, so we need to do stopLoading, not _stopLoading.
  22715. 2003-03-07 Chris Blumenberg <cblu@apple.com>
  22716. Fixed: 3191052 - Predetermined downloads should not be started from the browser window
  22717. - Stripped the rest of WebKit of download related code.
  22718. Reviewed by trey.
  22719. * Downloads.subproj/WebDownload.h: Changed the download delegate method from download:didStartFromDataSource: download:didStartFromRequest:. Passing the data source wasn't that helpful. It was also quirky that the data source would sometimes be ni
  22720. l.
  22721. * Downloads.subproj/WebDownload.m:
  22722. (-[WebDownloadPrivate dealloc]): release directory path
  22723. (-[WebDownload _initWithLoadingResource:dataSource:]): call _loadStarted and _loadEnded
  22724. (-[WebDownload loadWithDelegate:]): call _loadStarted
  22725. (-[WebDownload _loadStarted]): set flag, retain self
  22726. (-[WebDownload _loadEnded]): set flag, release self
  22727. (-[WebDownload resource:willSendRequest:]): call _loadEnded if the returned request is nil
  22728. (-[WebDownload resourceDidFinishLoading:]): call _loadEnded
  22729. (-[WebDownload resource:didFailLoadingWithError:]): call _loadEnded
  22730. (-[WebDownload _createFileIfNecessary]): handle a predetermined download directory, not path
  22731. (-[WebDownload _cancelWithError:]): call _loadEnded
  22732. (-[WebDownload _setDirectoryPath:]): new private method
  22733. * Downloads.subproj/WebDownloadPrivate.h:
  22734. * WebView.subproj/WebControllerPrivate.m:
  22735. (-[WebController _mainReceivedError:fromDataSource:complete:]): don't call [dataSource isDownloading]
  22736. (-[WebController _downloadURL:toDirectory:]): create and start a self retained WebDownload
  22737. * WebView.subproj/WebDataSource.h:
  22738. * WebView.subproj/WebDataSource.m: removed download related methods
  22739. * WebView.subproj/WebDataSourcePrivate.h:
  22740. * WebView.subproj/WebDataSourcePrivate.m: removed download related methods
  22741. (-[WebDataSource _commitIfReady:]): don't call isDownloading
  22742. * WebView.subproj/WebFramePrivate.h:
  22743. * WebView.subproj/WebFramePrivate.m:
  22744. * WebView.subproj/WebMainResourceClient.m:
  22745. (-[WebMainResourceClient continueAfterContentPolicy:response:]): when handing off the load to the download, don't deal with the download path
  22746. (-[WebMainResourceClient resource:didReceiveResponse:]): no more predetermined downloads come through here
  22747. 2003-03-06 Maciej Stachowiak <mjs@apple.com>
  22748. Reviewed by Trey.
  22749. Step towards policy API changes. Remove WebPolicyNone,
  22750. WebPolicyRevealInFinder, WebPolicyOpenURL and WebPolicyShow.
  22751. * WebView.subproj/WebControllerPolicyDelegate.h:
  22752. * WebView.subproj/WebDefaultPolicyDelegate.m:
  22753. (-[WebDefaultPolicyDelegate decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
  22754. * WebView.subproj/WebFramePrivate.m:
  22755. (switch):
  22756. * WebView.subproj/WebMainResourceClient.m:
  22757. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  22758. 2003-03-06 Richard Williamson <rjw@apple.com>
  22759. Remove setWebView: from WebFrame.
  22760. Reviewed by chris.
  22761. * WebView.subproj/WebFrame.h:
  22762. * WebView.subproj/WebFrame.m:
  22763. (-[WebFrame initWithName:webView:controller:]):
  22764. (-[WebFrame name]):
  22765. 2003-03-06 Richard Williamson <rjw@apple.com>
  22766. API changes. WebCapabilities -> WebContentTypes.
  22767. Move fileExtension from WebDataSource to WebContentTypes
  22768. Reviewed by chris.
  22769. * Misc.subproj/WebNSPasteboardExtras.m:
  22770. (-[NSPasteboard _web_bestURL]):
  22771. * WebKit.exp:
  22772. * WebView.subproj/WebController.h:
  22773. * WebView.subproj/WebController.m:
  22774. (+[WebContentTypes suggestedFileExtensionForMIMEType:]):
  22775. (-[WebController supportsTextEncoding]):
  22776. (-[WebController setCustomTextEncodingName:]):
  22777. (-[WebController _mainFrameOverrideEncoding]):
  22778. (-[WebController customTextEncodingName]):
  22779. (-[WebController stringByEvaluatingJavaScriptFromString:]):
  22780. (-[WebController userAgentForURL:]):
  22781. * WebView.subproj/WebControllerPrivate.h:
  22782. * WebView.subproj/WebDataSource.h:
  22783. * WebView.subproj/WebDataSource.m:
  22784. * WebView.subproj/WebDefaultPolicyDelegate.m:
  22785. * WebView.subproj/WebMainResourceClient.m:
  22786. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  22787. 2003-03-06 Chris Blumenberg <cblu@apple.com>
  22788. Implemented WebDownload API.
  22789. Fixed: 3118355 - Download mechanism that doesn't involve WebDataSource, WebFrame, WebController etc
  22790. Fixed: 3110173 - add per-request disabling of download decoding, use to turn off when "Open Safe Files" is off
  22791. Reviewed by trey, rjw, mjs.
  22792. * Downloads.subproj/WebDownload.h: Tweaked comments, added new methods.
  22793. * Downloads.subproj/WebDownload.m:
  22794. (-[WebDownloadPrivate dealloc]): release new objects
  22795. (-[WebDownload initWithRequest:]): was initWithRequest:delegate:, but found that starting the load from the init method made it tricky to do other set up work before the load started.
  22796. (-[WebDownload _initWithLoadingResource:dataSource:]): private init method, "catches up" to load by sending delegate method immediately, doesn't retain the dataSource, uses it for info
  22797. (-[WebDownload loadWithDelegate:]): new, starts load
  22798. (-[WebDownload cancel]): cancel load with no error
  22799. (-[WebDownload path]): simple getter
  22800. (-[WebDownload setPath:]): implement this because WebDownload is the WebDownloadDecisionListener, call _setPath
  22801. (-[WebDownload resource:willSendRequest:]): resource delegate method
  22802. (-[WebDownload resource:didReceiveResponse:]): resource delegate method
  22803. (-[WebDownload resource:didReceiveData:]): resource delegate method, decode and write data, cancel load if error
  22804. (-[WebDownload resourceDidFinishLoading:]): resource delegate method, decode and write data if necessary, end in error if error
  22805. (-[WebDownload resource:didFailLoadingWithError:]): resource delegate method, end in error
  22806. (-[WebDownload _pathWithUniqueFilenameForPath:]): this work was done in _createFileIfNecessary, does what it says
  22807. (-[WebDownload _createFSRefForPath:]): this work was done in _createFileIfNecessary as well, makes fileRefPtr point to a file
  22808. (-[WebDownload _createFileIfNecessary]): creates file, creates temp file if path hasn't been set yet
  22809. (-[WebDownload _decodeHeaderData:dataForkData:resourceForkData:]): call private method
  22810. (-[WebDownload _decodeData:dataForkData:resourceForkData:]): made private, if the download is encoded, ask client if OK to decode
  22811. (-[WebDownload _decodeData:]): hardly changed, don't cancel, just return error
  22812. (-[WebDownload _dataIfDoneBufferingData:]): moved, not changed
  22813. (-[WebDownload _finishDecoding]): hardly changed, don't cancel, just return error
  22814. (-[WebDownload _writeForkData:isDataFork:]): moved, not changed
  22815. (-[WebDownload _writeDataForkData:resourceForkData:]): moved, not changed
  22816. (-[WebDownload _isFileClosed]): new
  22817. (-[WebDownload _fileDidClose:]): new, called by the callback thread, delete file if deleteFile flag is set, report error or end successfully
  22818. (-[WebDownload _closeForkAsync:]): new
  22819. (-[WebDownload _closeForkSync:]): new
  22820. (-[WebDownload _closeFileAsync]): new
  22821. (-[WebDownload _closeFileSync]): new
  22822. (-[WebDownload _deleteFileAsnyc]): new
  22823. (-[WebDownload _closeAndDeleteFileAsync]): new
  22824. (-[WebDownload _cancelWithError:]): kill load if there is one, report error if there is one, close and delete file is not already closed or deleted
  22825. (-[WebDownload _cancelWithErrorCode:]): internal convenienve, calls _cancelWithError
  22826. (-[WebDownload _setPath:]): set path, if we are already saving data to a temp path, move the file and continue downloading
  22827. (-[WebDownload _currentPath]): new
  22828. (-[WebDownload _errorWithCode:]): new
  22829. (-[WebDownload _dataForkReferenceNumber]): added underscore
  22830. (-[WebDownload _setDataForkReferenceNumber:]): added underscore
  22831. (-[WebDownload _resourceForkReferenceNumber]): added underscore
  22832. (-[WebDownload _setResourceForkReferenceNumber:]): added underscore
  22833. (-[WebDownload _areWritesCancelled]): added underscore
  22834. (-[WebDownload _setWritesCancelled:]): added underscore
  22835. (-[WebDownload _encounteredCloseError]): new
  22836. (-[WebDownload _setEncounteredCloseError:]): new
  22837. (WriteCompletionCallback): call underscored methods
  22838. (CloseCompletionCallback): call underscored methods, handle close error, don't delete file
  22839. (DeleteCompletionCallback): call _currentPath
  22840. * Downloads.subproj/WebDownloadPrivate.h:
  22841. * WebView.subproj/WebBaseResourceHandleDelegate.h: renamed handle to resource
  22842. * WebView.subproj/WebBaseResourceHandleDelegate.m: renamed handle to resource
  22843. (-[WebBaseResourceHandleDelegate _releaseResources]): renamed handle to resource
  22844. (-[WebBaseResourceHandleDelegate startLoading:]): renamed handle to resource
  22845. (-[WebBaseResourceHandleDelegate loadWithRequest:]): renamed handle to resource
  22846. (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): renamed handle to resource
  22847. (-[WebBaseResourceHandleDelegate resource:willSendRequest:]): renamed handle to resource
  22848. (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]): renamed handle to resource, don't handle downloads
  22849. (-[WebBaseResourceHandleDelegate resource:didReceiveData:]): renamed handle to resource, don't handle downloads
  22850. (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]): renamed handle to resource, don't handle downloads
  22851. (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]): renamed handle to resource, don't handle downloads
  22852. (-[WebBaseResourceHandleDelegate cancelWithError:]): renamed handle to resource, don't handle downloads
  22853. * WebView.subproj/WebController.h: updated comments
  22854. * WebView.subproj/WebController.m:
  22855. (-[WebController setDownloadDelegate:]): call the ivar downloadDelegate, not downloadProgressDelegate
  22856. (-[WebController downloadDelegate]): call the ivar downloadDelegate, not downloadProgressDelegate
  22857. * WebView.subproj/WebControllerPolicyDelegate.h: removed saveFilenameForResponse:andRequest:, handle by WebDownload
  22858. * WebView.subproj/WebControllerPrivate.h: call the ivar downloadDelegate, not downloadProgressDelegate
  22859. * WebView.subproj/WebDefaultPolicyDelegate.m: removed saveFilenameForResponse:andRequest:, handle by WebDownload
  22860. * WebView.subproj/WebMainResourceClient.h: added WebResourceDelegateProxy icar
  22861. * WebView.subproj/WebMainResourceClient.m: remove most download related stuff
  22862. (-[WebMainResourceClient initWithDataSource:]): create a WebResourceDelegateProxy which allows us to change the resource delegate
  22863. (-[WebMainResourceClient dealloc]): release the proxy
  22864. (-[WebMainResourceClient receivedError:complete:]): don't handle downloads
  22865. (-[WebMainResourceClient continueAfterContentPolicy:response:]): pass the load off to the download
  22866. (-[WebMainResourceClient resource:didReceiveResponse:]): don't handle downloads
  22867. (-[WebMainResourceClient resource:didReceiveData:]): don't handle downloads
  22868. (-[WebMainResourceClient resourceDidFinishLoading:]): don't handle downloads
  22869. (-[WebMainResourceClient resource:didFailLoadingWithError:]): don't handle downloads
  22870. (-[WebMainResourceClient startLoading:]): make the proxy the delegate
  22871. (-[WebResourceDelegateProxy setDelegate:]): switches the resource delegate
  22872. (-[WebResourceDelegateProxy resource:willSendRequest:]): forwards message
  22873. (-[WebResourceDelegateProxy resource:didReceiveResponse:]): forwards message
  22874. (-[WebResourceDelegateProxy resource:didReceiveData:]): forwards message
  22875. (-[WebResourceDelegateProxy resourceDidFinishLoading:]): forwards message
  22876. (-[WebResourceDelegateProxy resource:didFailLoadingWithError:]): forwards message
  22877. 2003-03-06 Richard Williamson <rjw@apple.com>
  22878. Move tweaks to WebKit API.
  22879. Removed [WebFrame setController:] from public API.
  22880. Removed [WebDataSource stringWithData:] from public API.
  22881. Reviewed by hyatt.
  22882. * WebView.subproj/WebDataSource.h:
  22883. * WebView.subproj/WebDataSource.m:
  22884. (-[WebDataSource mainDocumentError]):
  22885. * WebView.subproj/WebDataSourcePrivate.h:
  22886. * WebView.subproj/WebDataSourcePrivate.m:
  22887. (-[WebDataSource _stringWithData:]):
  22888. * WebView.subproj/WebFrame.h:
  22889. * WebView.subproj/WebFrame.m:
  22890. * WebView.subproj/WebFramePrivate.h:
  22891. * WebView.subproj/WebFramePrivate.m:
  22892. * WebView.subproj/WebHTMLRepresentation.m:
  22893. * WebView.subproj/WebTextRepresentation.m:
  22894. (-[WebTextRepresentation setDataSource:]):
  22895. * WebView.subproj/WebTextView.m:
  22896. (-[WebTextView dataSourceUpdated:]):
  22897. 2003-03-06 Richard Williamson <rjw@apple.com>
  22898. Tweaks to WebKit API.
  22899. Dropped URL on WebDataSource.
  22900. Dropped start/stop loading on WebDataSource.
  22901. Drop frameForView and frameForDataSource from WebController.
  22902. Moved canShowXX to WebCapabilities.
  22903. Reviewed by hyatt.
  22904. * Downloads.subproj/WebDownload.m:
  22905. (-[WebDownload errorWithCode:]):
  22906. * Misc.subproj/WebNSPasteboardExtras.m:
  22907. (-[NSPasteboard _web_bestURL]):
  22908. * Misc.subproj/WebNSViewExtras.m:
  22909. (-[NSView _web_printViewHierarchy:]):
  22910. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  22911. (-[WebNetscapePluginDocumentView setDataSource:]):
  22912. * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
  22913. (-[WebNetscapePluginEmbeddedView dataSource]):
  22914. * WebCoreSupport.subproj/WebSubresourceClient.m:
  22915. (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
  22916. * WebKit.exp:
  22917. * WebView.subproj/WebController.h:
  22918. * WebView.subproj/WebController.m:
  22919. (+[WebCapabilities canShowMIMEType:]):
  22920. (+[WebCapabilities canShowFile:]):
  22921. (-[WebController mainFrame]):
  22922. * WebView.subproj/WebControllerPrivate.h:
  22923. * WebView.subproj/WebControllerPrivate.m:
  22924. (-[WebController _frameForDataSource:fromFrame:]):
  22925. (-[WebController _frameForDataSource:]):
  22926. (-[WebController _frameForView:fromFrame:]):
  22927. (-[WebController _frameForView:]):
  22928. * WebView.subproj/WebDataSource.h:
  22929. * WebView.subproj/WebDataSource.m:
  22930. * WebView.subproj/WebDataSourcePrivate.h:
  22931. * WebView.subproj/WebDataSourcePrivate.m:
  22932. (-[WebDataSource _startLoading]):
  22933. (-[WebDataSource _stopLoading]):
  22934. (-[WebDataSource _stopLoadingInternal]):
  22935. (-[WebDataSource _recursiveStopLoading]):
  22936. (-[WebDataSource _updateIconDatabaseWithURL:]):
  22937. (-[WebDataSource _loadIcon]):
  22938. (-[WebDataSource _URL]):
  22939. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  22940. (-[WebDefaultContextMenuDelegate openFrameInNewWindow:]):
  22941. * WebView.subproj/WebDefaultPolicyDelegate.m:
  22942. * WebView.subproj/WebFrame.m:
  22943. (-[WebFrame stopLoading]):
  22944. * WebView.subproj/WebFramePrivate.m:
  22945. (if):
  22946. * WebView.subproj/WebHTMLViewPrivate.m:
  22947. (-[WebHTMLView _frame]):
  22948. (-[WebHTMLView _elementAtPoint:]):
  22949. * WebView.subproj/WebImageRepresentation.m:
  22950. (-[WebImageRepresentation setDataSource:]):
  22951. * WebView.subproj/WebImageView.m:
  22952. (-[WebImageView menuForEvent:]):
  22953. * WebView.subproj/WebMainResourceClient.m:
  22954. (-[WebMainResourceClient cancel]):
  22955. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  22956. (-[WebMainResourceClient resource:didReceiveData:]):
  22957. (-[WebMainResourceClient resourceDidFinishLoading:]):
  22958. * WebView.subproj/WebTextView.m:
  22959. (-[WebTextView menuForEvent:]):
  22960. * WebView.subproj/WebView.m:
  22961. (-[WebView webFrame]):
  22962. * WebView.subproj/WebViewPrivate.m:
  22963. (-[WebView _isMainFrame]):
  22964. 2003-03-06 Ed Voas voas@apple.com
  22965. Reviewed by Richard.
  22966. Don't use _HIViewSetNeedsDisplayInRect for now. Fixes
  22967. Jaguar builds.
  22968. * Carbon.subproj/HIViewAdapter.m:
  22969. (-[HIViewAdapter setNeedsDisplay:]):
  22970. (-[HIViewAdapter setNeedsDisplayInRect:]):
  22971. 2003-03-05 Maciej Stachowiak <mjs@apple.com>
  22972. Reviewed by John.
  22973. Step towards policy API chantes - removed unneeded policy and URL
  22974. arguments from unableToImplementPolicy:
  22975. * WebView.subproj/WebControllerPolicyDelegate.h:
  22976. * WebView.subproj/WebFramePrivate.h:
  22977. * WebView.subproj/WebFramePrivate.m:
  22978. * WebView.subproj/WebMainResourceClient.m:
  22979. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  22980. 2003-03-06 Ed Voas voas@apple.com
  22981. Reviewed by Richard.
  22982. First cut of Carbon view support. It will need tweaking as we go,
  22983. but I think I finally have all the assertions taken care of, and
  22984. I also believe that I have the drawing glitches all sorted out now.
  22985. * Carbon.subproj/CarbonUtils.h: Added.
  22986. * Carbon.subproj/CarbonUtils.m: Added.
  22987. (InitWebKitForCarbon):
  22988. (PoolCleaner):
  22989. (ConvertNSImageToCGImageRef):
  22990. * Carbon.subproj/CarbonWindowAdapter.h: Added.
  22991. * Carbon.subproj/CarbonWindowAdapter.m: Added.
  22992. (+[CarbonWindowAdapter frameViewClassForStyleMask:]):
  22993. (-[CarbonWindowAdapter initWithContentRect:styleMask:backing:defer:]):
  22994. (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
  22995. (-[CarbonWindowAdapter setViewsNeedDisplay:]):
  22996. (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:]):
  22997. (-[CarbonWindowAdapter dealloc]):
  22998. (-[CarbonWindowAdapter windowRef]):
  22999. (-[CarbonWindowAdapter _hasWindowRef]):
  23000. (-[CarbonWindowAdapter _managesWindowRef]):
  23001. (-[CarbonWindowAdapter _removeWindowRef]):
  23002. (-[CarbonWindowAdapter _carbonWindowClass]):
  23003. (-[CarbonWindowAdapter reconcileToCarbonWindowBounds]):
  23004. (-[CarbonWindowAdapter sendSuperEvent:]):
  23005. (-[CarbonWindowAdapter _cancelKey:]):
  23006. (-[CarbonWindowAdapter _commonAwake]):
  23007. (-[CarbonWindowAdapter _destroyRealWindow:]):
  23008. (-[CarbonWindowAdapter _oldPlaceWindow:]):
  23009. (-[CarbonWindowAdapter _termWindowIfOwner]):
  23010. (-[CarbonWindowAdapter _windowMovedToRect:]):
  23011. (-[CarbonWindowAdapter constrainFrameRect:toScreen:]):
  23012. (-[CarbonWindowAdapter selectKeyViewFollowingView:]):
  23013. (-[CarbonWindowAdapter selectKeyViewPrecedingView:]):
  23014. (-[CarbonWindowAdapter makeKeyWindow]):
  23015. (-[CarbonWindowAdapter canBecomeKeyWindow]):
  23016. (-[CarbonWindowAdapter canBecomeMainWindow]):
  23017. (-[CarbonWindowAdapter encodeWithCoder:]):
  23018. (-[CarbonWindowAdapter initWithCoder:]):
  23019. (-[CarbonWindowAdapter setContentView:]):
  23020. (-[CarbonWindowAdapter worksWhenModal]):
  23021. (-[CarbonWindowAdapter _setModalWindowLevel]):
  23022. (-[CarbonWindowAdapter _clearModalWindowLevel]):
  23023. (-[CarbonWindowAdapter carbonHICommandIDFromActionSelector:]):
  23024. (-[CarbonWindowAdapter sendCarbonProcessHICommandEvent:]):
  23025. (-[CarbonWindowAdapter sendCarbonUpdateHICommandStatusEvent:withMenuRef:andMenuItemIndex:]):
  23026. (-[CarbonWindowAdapter _handleRootBoundsChanged]):
  23027. (-[CarbonWindowAdapter _handleContentBoundsChanged]):
  23028. (-[CarbonWindowAdapter _handleCarbonEvent:callRef:]):
  23029. (NSCarbonWindowHandleEvent):
  23030. * Carbon.subproj/CarbonWindowContentView.h: Added.
  23031. * Carbon.subproj/CarbonWindowContentView.m: Added.
  23032. * Carbon.subproj/CarbonWindowFrame.h: Added.
  23033. * Carbon.subproj/CarbonWindowFrame.m: Added.
  23034. (+[CarbonWindowFrame frameRectForContentRect:styleMask:]):
  23035. (+[CarbonWindowFrame contentRectForFrameRect:styleMask:]):
  23036. (+[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]):
  23037. (-[CarbonWindowFrame frameRectForContentRect:styleMask:]):
  23038. (-[CarbonWindowFrame contentRectForFrameRect:styleMask:]):
  23039. (-[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]):
  23040. (-[CarbonWindowFrame initWithFrame:styleMask:owner:]):
  23041. (-[CarbonWindowFrame dealloc]):
  23042. (-[CarbonWindowFrame _setFrameNeedsDisplay:]):
  23043. (-[CarbonWindowFrame _setSheet:]):
  23044. (-[CarbonWindowFrame _updateButtonState]):
  23045. (-[CarbonWindowFrame _windowChangedKeyState]):
  23046. (-[CarbonWindowFrame _showToolbarWithAnimation:]):
  23047. (-[CarbonWindowFrame _hideToolbarWithAnimation:]):
  23048. (-[CarbonWindowFrame closeButton]):
  23049. (-[CarbonWindowFrame styleMask]):
  23050. (-[CarbonWindowFrame dragRectForFrameRect:]):
  23051. (-[CarbonWindowFrame isOpaque]):
  23052. (-[CarbonWindowFrame minimizeButton]):
  23053. (-[CarbonWindowFrame setTitle:]):
  23054. (-[CarbonWindowFrame title]):
  23055. (-[CarbonWindowFrame _sheetHeightAdjustment]):
  23056. (-[CarbonWindowFrame _maxTitlebarTitleRect]):
  23057. (-[CarbonWindowFrame _clearDragMargins]):
  23058. (-[CarbonWindowFrame _resetDragMargins]):
  23059. * Carbon.subproj/HIViewAdapter.h: Added.
  23060. * Carbon.subproj/HIViewAdapter.m: Added.
  23061. (+[HIViewAdapter bindHIViewToNSView:nsView:]):
  23062. (+[HIViewAdapter getHIViewForNSView:]):
  23063. (+[HIViewAdapter unbindNSView:]):
  23064. (-[HIViewAdapter initWithFrame:view:]):
  23065. (-[HIViewAdapter hiView]):
  23066. (-[HIViewAdapter nextValidKeyView]):
  23067. (-[HIViewAdapter setNeedsDisplay:]):
  23068. (-[HIViewAdapter setNeedsDisplayInRect:]):
  23069. (-[CarbonSheetInterceptor _orderFrontRelativeToWindow:]):
  23070. (-[CarbonSheetInterceptor _orderOutRelativeToWindow:]):
  23071. * Carbon.subproj/HIWebView.h: Added.
  23072. * Carbon.subproj/HIWebView.m: Added.
  23073. (if):
  23074. (switch):
  23075. * Carbon.subproj/HIWebViewPriv.h: Added.
  23076. * WebKit.exp:
  23077. * WebKit.pbproj/project.pbxproj:
  23078. === Safari-65 ===
  23079. 2003-03-05 Richard Williamson <rjw@apple.com>
  23080. API changes
  23081. WebView and WebDataSource give up -(WebController *)controller.
  23082. WebView gets -(WebFrame *)webFrame.
  23083. Reviewed by cblu.
  23084. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  23085. (-[WebNetscapePluginDocumentView setDataSource:]):
  23086. * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
  23087. (-[WebNetscapePluginEmbeddedView dataSource]):
  23088. * Plugins.subproj/WebNullPluginView.m:
  23089. (-[WebNullPluginView viewDidMoveToWindow]):
  23090. * WebCoreSupport.subproj/WebBridge.m:
  23091. (-[WebBridge startLoadingResource:withURL:]):
  23092. * WebCoreSupport.subproj/WebSubresourceClient.m:
  23093. (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
  23094. (-[WebSubresourceClient receivedError:]):
  23095. (-[WebSubresourceClient resourceDidFinishLoading:]):
  23096. * WebKit.pbproj/project.pbxproj:
  23097. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  23098. (-[WebBaseResourceHandleDelegate setDataSource:]):
  23099. * WebView.subproj/WebController.h:
  23100. * WebView.subproj/WebController.m:
  23101. (-[WebController backForwardList]):
  23102. (-[WebController setUsesBackForwardList:]):
  23103. * WebView.subproj/WebDataSource.h:
  23104. * WebView.subproj/WebDataSource.m:
  23105. * WebView.subproj/WebDataSourcePrivate.h:
  23106. * WebView.subproj/WebDataSourcePrivate.m:
  23107. (-[WebDataSource _controller]):
  23108. (-[WebDataSource _receivedError:complete:]):
  23109. (-[WebDataSource _loadIcon]):
  23110. * WebView.subproj/WebFrame.h:
  23111. * WebView.subproj/WebFramePrivate.m:
  23112. (switch):
  23113. * WebView.subproj/WebHTMLViewPrivate.m:
  23114. (-[WebHTMLView _controller]):
  23115. (-[WebHTMLView _frame]):
  23116. (-[WebHTMLView _elementAtPoint:]):
  23117. * WebView.subproj/WebImageView.m:
  23118. (-[WebImageView controller]):
  23119. (-[WebImageView menuForEvent:]):
  23120. * WebView.subproj/WebMainResourceClient.m:
  23121. (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]):
  23122. (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]):
  23123. (-[WebMainResourceClient resource:willSendRequest:]):
  23124. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  23125. (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]):
  23126. (-[WebMainResourceClient resource:didReceiveResponse:]):
  23127. (-[WebMainResourceClient resource:didReceiveData:]):
  23128. (-[WebMainResourceClient resourceDidFinishLoading:]):
  23129. (-[WebMainResourceClient resource:didFailLoadingWithError:]):
  23130. * WebView.subproj/WebTextView.m:
  23131. (-[WebTextView menuForEvent:]):
  23132. * WebView.subproj/WebView.h:
  23133. * WebView.subproj/WebView.m:
  23134. (-[WebView webFrame]):
  23135. (-[WebView concludeDragOperation:]):
  23136. * WebView.subproj/WebViewPrivate.h:
  23137. * WebView.subproj/WebViewPrivate.m:
  23138. (-[WebView _controller]):
  23139. 2003-03-05 Maciej Stachowiak <mjs@apple.com>
  23140. Reviewed by Ken.
  23141. * WebView.subproj/WebFramePrivate.m:
  23142. (_recursiveGoToItem:fromItem:withLoadType:): Account for
  23143. possibility of nil target.
  23144. 2003-03-05 Maciej Stachowiak <mjs@apple.com>
  23145. Reviewed by Darin.
  23146. - fixed crash when going back due to frame name of nil since we
  23147. don't force the name "_top" any more.
  23148. * WebView.subproj/WebController.m:
  23149. (-[WebController _goToItem:withLoadType:]): Handle nil target
  23150. properly.
  23151. 2003-03-05 Darin Adler <darin@apple.com>
  23152. Reviewed by John.
  23153. - fixed 3189441 -- REGRESSION: layout tests crash building generated frame name
  23154. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _addFramePathToString:]):
  23155. Handle a frame name of nil here, since we don't force the name "_top" any more.
  23156. 2003-03-04 Trey Matteson <trey@apple.com>
  23157. Support for autofill. These are just two new glue routines
  23158. that call down through the bridge. They allow regexp driven
  23159. binding of AB data to form elements.
  23160. Reviewed by Maciej.
  23161. * WebView.subproj/WebHTMLRepresentation.h:
  23162. * WebView.subproj/WebHTMLRepresentation.m:
  23163. (-[WebHTMLRepresentation searchForLabels:beforeElement:]):
  23164. Call straight to bridge.
  23165. (-[WebHTMLRepresentation matchLabels:againstElement:]):
  23166. Call straight to bridge.
  23167. 2003-03-04 Maciej Stachowiak <mjs@apple.com>
  23168. Reinstate missing part of last checking.
  23169. * WebView.subproj/WebFramePrivate.m:
  23170. 2003-03-04 Maciej Stachowiak <mjs@apple.com>
  23171. Reviewed by Trey.
  23172. Added the ability to set the top-level frame name via the
  23173. WebController initializer. Also made [[controller mainFrame]
  23174. frameName] return the true top-level frame name instead of "_top",
  23175. since that is already special-cased anywhere it needs to be.
  23176. * WebView.subproj/WebController.h:
  23177. * WebView.subproj/WebController.m:
  23178. (-[WebController init]): Update for change to designated initializer.
  23179. (-[WebController initWithView:]): New convenience initializer.
  23180. (-[WebController initWithView:frameName:setName:]): Added ability to set
  23181. top-level frame name.
  23182. * WebView.subproj/WebControllerPrivate.h:
  23183. * WebView.subproj/WebControllerPrivate.m:
  23184. (-[WebControllerPrivate dealloc]): Remove topLevelFrameNAme field.
  23185. (-[WebController _setTopLevelFrameName:]): Actually set it
  23186. on the top level frame, no point to keeping it here.
  23187. (-[WebController _findFrameInThisWindowNamed:]): No more need to
  23188. special-case top-level frame name.
  23189. * WebView.subproj/WebFrame.m:
  23190. (-[WebFrame initWithName:webView:controller:]): call [self _setName:] instead
  23191. of [_private setName:]
  23192. * WebView.subproj/WebFramePrivate.h:
  23193. * WebView.subproj/WebFramePrivate.m:
  23194. (-[WebFrame _setName:]): Don't let the name get set to _blank.
  23195. 2003-03-04 John Sullivan <sullivan@apple.com>
  23196. Reviewed by Darin
  23197. * Misc.subproj/WebKitNSStringExtras.h:
  23198. * Misc.subproj/WebKitNSStringExtras.m:
  23199. (-[NSString _web_widthWithFont:]):
  23200. (-[NSString _web_drawAtPoint:font:textColor:):
  23201. removed the unnecessary string parameter from these two
  23202. NSString methods.
  23203. 2003-03-04 Darin Adler <darin@apple.com>
  23204. Reviewed by Maciej.
  23205. - got rid of some framework initialization (working on bug 3185161)
  23206. * WebView.subproj/WebPreferences.m:
  23207. (-[WebPreferences _postPreferencesChangesNotification]): Moved this function up.
  23208. (+[WebPreferences standardPreferences]): Call _postPreferencesChangesNotification when this is made,
  23209. for consistency with the old behavior.
  23210. (+[WebPreferences initialize]): Changed to initialize from load, and got rid of stuff we don't want
  23211. to do from inside an initialize function.
  23212. 2003-03-04 Richard Williamson <rjw@apple.com>
  23213. Remove initWithURL: and frameName from WebDataSource public API.
  23214. Reviewed by trey.
  23215. * WebView.subproj/WebDataSource.h:
  23216. * WebView.subproj/WebDataSource.m:
  23217. (-[WebDataSource webFrame]):
  23218. 2003-03-04 Darin Adler <darin@apple.com>
  23219. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  23220. * English.lproj/Localizable.strings: Regenerated.
  23221. 2003-03-03 Richard Williamson <rjw@apple.com>
  23222. Switch all WebController's delegate to use informal protocols.
  23223. Reviewed by trey.
  23224. * Plugins.subproj/WebBaseNetscapePluginView.m:
  23225. (-[WebBaseNetscapePluginView status:]):
  23226. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  23227. (-[WebNetscapePluginDocumentView setDataSource:]):
  23228. * Plugins.subproj/WebNullPluginView.m:
  23229. (-[WebNullPluginView viewDidMoveToWindow]):
  23230. * Plugins.subproj/WebPluginController.m:
  23231. (-[WebPluginController showStatus:]):
  23232. * WebCoreSupport.subproj/WebBridge.h:
  23233. * WebCoreSupport.subproj/WebBridge.m:
  23234. (-[WebBridge createWindowWithURL:frameName:]):
  23235. (-[WebBridge showWindow]):
  23236. (-[WebBridge areToolbarsVisible]):
  23237. (-[WebBridge setToolbarsVisible:]):
  23238. (-[WebBridge isStatusBarVisible]):
  23239. (-[WebBridge setStatusBarVisible:]):
  23240. (-[WebBridge setWindowFrame:]):
  23241. (-[WebBridge setStatusText:]):
  23242. (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
  23243. (-[WebBridge setWebFrame:]):
  23244. * WebKit.exp:
  23245. * WebKit.pbproj/project.pbxproj:
  23246. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  23247. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  23248. (-[WebBaseResourceHandleDelegate resourceLoadDelegate]):
  23249. (-[WebBaseResourceHandleDelegate downloadDelegate]):
  23250. (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
  23251. (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
  23252. (-[WebBaseResourceHandleDelegate resource:didReceiveData:]):
  23253. (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]):
  23254. (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]):
  23255. (-[WebBaseResourceHandleDelegate cancelWithError:]):
  23256. (-[WebBaseResourceHandleDelegate notifyDelegatesOfInterruptionByPolicyChange]):
  23257. * WebView.subproj/WebContextMenuDelegate.h:
  23258. * WebView.subproj/WebController.h:
  23259. * WebView.subproj/WebController.m:
  23260. (-[WebController setWindowOperationsDelegate:]):
  23261. (-[WebController windowOperationsDelegate]):
  23262. (-[WebController setResourceLoadDelegate:]):
  23263. (-[WebController resourceLoadDelegate]):
  23264. (-[WebController setDownloadDelegate:]):
  23265. (-[WebController downloadDelegate]):
  23266. (-[WebController setContextMenuDelegate:]):
  23267. (-[WebController contextMenuDelegate]):
  23268. (-[WebController setPolicyDelegate:]):
  23269. (-[WebController policyDelegate]):
  23270. (-[WebController setLocationChangeDelegate:]):
  23271. (-[WebController locationChangeDelegate]):
  23272. (-[WebController stringByEvaluatingJavaScriptFromString:]):
  23273. * WebView.subproj/WebControllerPolicyDelegate.h:
  23274. * WebView.subproj/WebControllerPrivate.h:
  23275. * WebView.subproj/WebControllerPrivate.m:
  23276. (-[WebController _openNewWindowWithRequest:behind:]):
  23277. (-[WebController _menuForElement:]):
  23278. (-[WebController _mouseDidMoveOverElement:modifierFlags:]):
  23279. (-[WebController _locationChangeDelegateForwarder]):
  23280. (-[WebController _resourceLoadDelegateForwarder]):
  23281. (-[WebController _policyDelegateForwarder]):
  23282. (-[WebController _contextMenuDelegateForwarder]):
  23283. (-[WebController _windowOperationsDelegateForwarder]):
  23284. (-[_WebSafeForwarder initWithTarget:defaultTarget:templateClass:]):
  23285. (-[_WebSafeForwarder forwardInvocation:]):
  23286. (-[_WebSafeForwarder methodSignatureForSelector:]):
  23287. * WebView.subproj/WebDataSource.h:
  23288. * WebView.subproj/WebDataSourcePrivate.m:
  23289. (-[WebDataSource _startLoading:]):
  23290. (-[WebDataSource _setTitle:]):
  23291. (-[WebDataSource _setRequest:]):
  23292. (-[WebDataSource _updateIconDatabaseWithURL:]):
  23293. * WebView.subproj/WebDefaultContextMenuDelegate.h:
  23294. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  23295. (+[WebDefaultContextMenuDelegate sharedContextMenuDelegate]):
  23296. * WebView.subproj/WebDefaultLocationChangeDelegate.h: Added.
  23297. * WebView.subproj/WebDefaultLocationChangeDelegate.m: Added.
  23298. (+[WebDefaultLocationChangeDelegate sharedLocationChangeDelegate]):
  23299. (-[WebDefaultLocationChangeDelegate locationChangeStartedForDataSource:]):
  23300. (-[WebDefaultLocationChangeDelegate serverRedirectedForDataSource:]):
  23301. (-[WebDefaultLocationChangeDelegate locationChangeCommittedForDataSource:]):
  23302. (-[WebDefaultLocationChangeDelegate receivedPageTitle:forDataSource:]):
  23303. (-[WebDefaultLocationChangeDelegate receivedPageIcon:forDataSource:]):
  23304. (-[WebDefaultLocationChangeDelegate locationChangeDone:forDataSource:]):
  23305. (-[WebDefaultLocationChangeDelegate willCloseLocationForDataSource:]):
  23306. (-[WebDefaultLocationChangeDelegate locationChangedWithinPageForDataSource:]):
  23307. (-[WebDefaultLocationChangeDelegate clientWillRedirectTo:delay:fireDate:forFrame:]):
  23308. (-[WebDefaultLocationChangeDelegate clientRedirectCancelledForFrame:]):
  23309. * WebView.subproj/WebDefaultPolicyDelegate.h:
  23310. * WebView.subproj/WebDefaultPolicyDelegate.m:
  23311. (+[WebDefaultPolicyDelegate sharedPolicyDelegate]):
  23312. * WebView.subproj/WebDefaultPolicyDelegatePrivate.h: Removed.
  23313. * WebView.subproj/WebDefaultResourceLoadDelegate.h: Added.
  23314. * WebView.subproj/WebDefaultResourceLoadDelegate.m: Added.
  23315. (+[WebDefaultResourceLoadDelegate sharedResourceLoadDelegate]):
  23316. (-[WebDefaultResourceLoadDelegate identifierForInitialRequest:fromDataSource:]):
  23317. (-[WebDefaultResourceLoadDelegate resource:willSendRequest:fromDataSource:]):
  23318. (-[WebDefaultResourceLoadDelegate resource:didReceiveResponse:fromDataSource:]):
  23319. (-[WebDefaultResourceLoadDelegate resource:didReceiveContentLength:fromDataSource:]):
  23320. (-[WebDefaultResourceLoadDelegate resource:didFinishLoadingFromDataSource:]):
  23321. (-[WebDefaultResourceLoadDelegate resource:didFailLoadingWithError:fromDataSource:]):
  23322. (-[WebDefaultResourceLoadDelegate pluginFailedWithError:dataSource:]):
  23323. * WebView.subproj/WebDefaultWindowOperationsDelegate.h: Added.
  23324. * WebView.subproj/WebDefaultWindowOperationsDelegate.m: Added.
  23325. (+[WebDefaultWindowOperationsDelegate sharedWindowOperationsDelegate]):
  23326. (-[WebDefaultWindowOperationsDelegate runJavaScriptConfirmPanelWithMessage:]):
  23327. (-[WebDefaultWindowOperationsDelegate runJavaScriptTextInputPanelWithPrompt:defaultText:]):
  23328. (-[WebDefaultWindowOperationsDelegate runOpenPanelForFileButtonWithResultListener:]):
  23329. * WebView.subproj/WebFrame.m:
  23330. (-[WebFrame initWithName:webView:controller:]):
  23331. (-[WebFrame findOrCreateFrameNamed:]):
  23332. * WebView.subproj/WebFramePrivate.m:
  23333. (if):
  23334. (switch):
  23335. * WebView.subproj/WebLocationChangeDelegate.h:
  23336. * WebView.subproj/WebLocationChangeDelegate.m: Removed.
  23337. * WebView.subproj/WebMainResourceClient.h:
  23338. * WebView.subproj/WebMainResourceClient.m:
  23339. (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]):
  23340. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  23341. (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]):
  23342. * WebView.subproj/WebResourceLoadDelegate.h:
  23343. * WebView.subproj/WebWindowOperationsDelegate.h:
  23344. 2003-03-03 Darin Adler <darin@apple.com>
  23345. Reviewed by Richard.
  23346. - simplified the custom user agent and text encoding methods as per request from documentation group
  23347. * WebView.subproj/WebController.h: Removed hasCustomUserAgent, resetUserAgent, hasCustomTextEncoding,
  23348. and resetTextEncoding. Updated comments to indicate what nil means.
  23349. * WebView.subproj/WebController.m:
  23350. (-[WebController setCustomUserAgent:]): Remove assertion, allow nil.
  23351. (-[WebController customUserAgent]): Remove nil check.
  23352. (-[WebController setCustomTextEncodingName:]): Remove assertion, allow nil, and do an == check along
  23353. with the isEqualToString: check to handle the nil case.
  23354. (-[WebController customTextEncodingName]): Remove nil check.
  23355. 2003-03-01 Maciej Stachowiak <mjs@apple.com>
  23356. Reviewed by Darin.
  23357. - fixed 3163855 - Need control over certain potential dialogs/sheets
  23358. * WebCoreSupport.subproj/WebBridge.h:
  23359. * WebCoreSupport.subproj/WebBridge.m:
  23360. (-[WebBridge runJavaScriptAlertPanelWithMessage:]): Moved here from
  23361. view factory. Call the bridge instead of popping up the dialog.
  23362. (-[WebBridge runJavaScriptConfirmPanelWithMessage:]): Likewise.
  23363. (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
  23364. Likewise.
  23365. (-[WebBridge fileButton]): Moved here from view factory, so we can
  23366. pass the bridge to the button.
  23367. (-[WebBridge runOpenPanelForFileButtonWithResultListener:]): Call the delegate.
  23368. * WebCoreSupport.subproj/WebFileButton.h:
  23369. * WebCoreSupport.subproj/WebFileButton.m:
  23370. (-[WebFileButton initWithBridge:]): New method so this object knows about the bridge.
  23371. (-[WebFileButton beginSheet]): Instead of popping up the sheet directly,
  23372. call the bridge (which will call the delegate).
  23373. (-[WebFileButton chooseFilename:]): Update for the new filename.
  23374. (-[WebFileButton cancel]): Do nothing.
  23375. * WebCoreSupport.subproj/WebViewFactory.m: Removed some methods.
  23376. * WebKit.exp: Export .objc_class_WebJavaScriptTextInputPanel (for now).
  23377. * WebKit.pbproj/project.pbxproj: Export WebJavaScriptTextInputPanel.h (for now).
  23378. * WebView.subproj/WebWindowOperationsDelegate.h: Added new methods.
  23379. 2003-03-01 Richard Williamson <rjw@apple.com>
  23380. Reviewed by Chris & Darin.
  23381. Fixed frameRequiredForMIMEType: to correctly check for BOTH
  23382. netscape plugins and cocoa plugins.
  23383. * WebCoreSupport.subproj/WebBridge.m:
  23384. (-[WebBridge frameRequiredForMIMEType:]):
  23385. Made WebPluginViewFactory.h private (SPI) to provide access to
  23386. plugin package keys.
  23387. * WebKit.pbproj/project.pbxproj:
  23388. 2003-02-28 Richard Williamson <rjw@apple.com>
  23389. Make WebDOM* classes private instead of public. This change
  23390. was made before but the project file must have been accidentally
  23391. overwritten. Make the WebPlugin* classes private.
  23392. * WebKit.pbproj/project.pbxproj:
  23393. 7003-02-28 Trey Matteson <trey@apple.com>
  23394. Various support for autofill/autocomplete.
  23395. We receive a form along with the formValues from WC on submit, which we
  23396. just pass along to the FormDelegate. As part of this we store the values
  23397. and the form together in a new private WebFormState class. Lots of glue
  23398. for passing this around instead of just the values dict.
  23399. Send willCloseLocationForDataSource when we are finally through with a page.
  23400. Reviewed by Darin.
  23401. * WebCoreSupport.subproj/WebBridge.m:
  23402. (-[WebBridge loadURL:reload:triggeringEvent:form:formValues:]):
  23403. Pass along form along with values
  23404. (-[WebBridge postWithURL:data:contentType:triggeringEvent:form:formValues:]):
  23405. Pass along form along with values
  23406. * WebView.subproj/WebDataSourcePrivate.m:
  23407. (-[WebDataSource _commitIfReady:]): Call frame to send willCloseLocationForDataSource.
  23408. * WebView.subproj/WebFormDelegate.h:
  23409. * WebView.subproj/WebFormDelegate.m:
  23410. (-[WebFormDelegate frame:willSubmitForm:withValues:]): Pass form along with values
  23411. * WebView.subproj/WebFrame.m:
  23412. (-[WebFrame loadRequest:]): Pass FormState instead of just values.
  23413. (-[WebFrame reload]): Pass FormState instead of just values.
  23414. * WebView.subproj/WebFramePrivate.h:
  23415. * WebView.subproj/WebFramePrivate.m:
  23416. <<prepare-ChangeLog flailed on this file>>
  23417. Lots of routines were we pass FormState instead of the form values dict
  23418. -([WebFrame _closeOldDataSources]): New, sends willCloseLocation for whole frame tree.
  23419. New, trivial, WebFormState class.
  23420. * WebView.subproj/WebHTMLRepresentation.h:
  23421. * WebView.subproj/WebHTMLRepresentation.m:
  23422. (-[WebHTMLRepresentation formIsLoginForm:]): Changed to take form instead of form field.
  23423. (-[WebHTMLRepresentation formForElement:]): New, just pass through bridge.
  23424. (-[WebHTMLRepresentation controlsInForm:]): New, just pass through bridge.
  23425. * WebView.subproj/WebLocationChangeDelegate.h: Add willCloseLocationForDataSource.
  23426. * WebView.subproj/WebLocationChangeDelegate.m:
  23427. (-[WebLocationChangeDelegate willCloseLocationForDataSource:]): Default impl.
  23428. * WebView.subproj/WebMainResourceClient.m:
  23429. (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]):
  23430. Pass FormState instead of just values.
  23431. (-[WebMainResourceClient resource:willSendRequest:]):
  23432. Pass FormState instead of just values.
  23433. 2003-02-28 Maciej Stachowiak <mjs@apple.com>
  23434. Reviewed by Trey.
  23435. - fixed 3180170 - filepile.com does not work correctly
  23436. I fixed this by making referrer work correctly for targetted
  23437. cross-frame and cross-window links. It is still not working right
  23438. for JavaScript window.open though.
  23439. * WebCoreSupport.subproj/WebBridge.m:
  23440. (-[WebBridge createWindowWithURL:frameName:]): Set referrer.
  23441. (-[WebBridge loadURL:referrer:reload:triggeringEvent:formValues:]): Pass referrer
  23442. along to frame.
  23443. (-[WebBridge postWithURL:referrer:data:contentType:triggeringEvent:formValues:]):
  23444. Likewise.
  23445. * WebView.subproj/WebFramePrivate.h:
  23446. * WebView.subproj/WebFramePrivate.m:
  23447. (-[WebFrame _loadItem:fromItem:withLoadType:]): Pass referrer.
  23448. (-[WebFrame
  23449. _loadURL:referrer:loadType:triggeringEvent:formValues:]): Use
  23450. passed-in referrer (link could have been clicked in another
  23451. frame).
  23452. (-[WebFrame _loadURL:intoChild:]): Pass referrer.
  23453. (-[WebFrame
  23454. _postWithURL:referrer:data:contentType:triggeringEvent:formValues:]):
  23455. Use passed-in referrer.
  23456. 2003-02-28 Darin Adler <darin@apple.com>
  23457. Reviewed by Trey.
  23458. - fixed 3183575 -- <https://sbcreg.sbcglobal.net> casuses infinite refresh & crash
  23459. The page had history.forward(1) which was causing us to reload.
  23460. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge goBackOrForward:]):
  23461. Handle edge cases by checking backListCount and forwardListCount at this level.
  23462. Be sure to do nothing when we are already on the right page.
  23463. * History.subproj/WebBackForwardList.h: Added forwardListCount, updated comment for entryAtIndex.
  23464. * History.subproj/WebBackForwardList.m:
  23465. (-[WebBackForwardList forwardListCount]): Added.
  23466. (-[WebBackForwardList entryAtIndex:]): Return nil for out of range indices.
  23467. 2003-02-27 Maciej Stachowiak <mjs@apple.com>
  23468. Reviewed by Richard.
  23469. * WebCoreSupport.subproj/WebBridge.m:
  23470. (-[WebBridge window]): Avoid calling removed call.
  23471. * WebView.subproj/WebView.m: Remove override of window method.
  23472. * WebView.subproj/WebWindowOperationsDelegate.h:
  23473. Adjust for new API.
  23474. === Safari-64 ===
  23475. === Safari-63 ===
  23476. 2003-02-26 Maciej Stachowiak <mjs@apple.com>
  23477. Reviewed by Dave.
  23478. - fixed reproducible hang at http://asp.eltonsoft.dk/cast/get.asp?cat=Quicktime
  23479. WebKit's processing time was O(N^3) in the number of
  23480. frames. Improved it to O(N^2) by storing frame pointer directly in
  23481. WebDataSource instead of linear scan. Could still be improved more.
  23482. * WebView.subproj/WebDataSource.m:
  23483. (-[WebDataSource webFrame]):
  23484. * WebView.subproj/WebDataSourcePrivate.h:
  23485. * WebView.subproj/WebDataSourcePrivate.m:
  23486. (-[WebDataSourcePrivate dealloc]):
  23487. (-[WebDataSource _stopLoadingWithError:]):
  23488. (-[WebDataSource _setWebFrame:]):
  23489. * WebView.subproj/WebFramePrivate.m:
  23490. (-[WebFrame _detachFromParent]):
  23491. (-[WebFrame _setDataSource:]):
  23492. (-[WebFrame _transitionToCommitted:]):
  23493. (-[WebFrame _isLoadComplete]):
  23494. (-[WebFrame _clearProvisionalDataSource]):
  23495. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formValues:]):
  23496. (-[WebFrame _loadDataSource:withLoadType:formValues:]):
  23497. (-[WebFrame _setProvisionalDataSource:]):
  23498. 2003-02-26 Richard Williamson <rjw@apple.com>
  23499. Fixed 3102760. Removed WebDocumentDragSettings from API.
  23500. Reviewed by Chris.
  23501. * WebView.subproj/WebDocument.h:
  23502. * WebView.subproj/WebHTMLView.h:
  23503. * WebView.subproj/WebHTMLView.m:
  23504. * WebView.subproj/WebImageView.h:
  23505. * WebView.subproj/WebImageView.m:
  23506. (-[WebImageView initWithFrame:]):
  23507. (-[WebImageView mouseDragged:]):
  23508. * WebView.subproj/WebTextView.h:
  23509. * WebView.subproj/WebTextView.m:
  23510. (-[WebTextView initWithFrame:]):
  23511. (-[WebTextView layout]):
  23512. 2003-02-25 David Hyatt <hyatt@apple.com>
  23513. Fix for bug #3181249. Ensure the padding argument gets passed
  23514. through properly (instead of just passing 0).
  23515. Reviewed by darin
  23516. * WebCoreSupport.subproj/WebTextRenderer.m:
  23517. 2003-02-25 John Sullivan <sullivan@apple.com>
  23518. WebKit part of fix for 3181290 -- need call to reload all bookmarks from disk,
  23519. for synching's sake.
  23520. I ended up not adding a new call, but making the existing loadBookmarkGroup
  23521. work better when called after the initial load. It wasn't doing anything wrong
  23522. before; it just wasn't passing along enough information to clients to enable
  23523. them to do the right thing.
  23524. Reviewed by Trey
  23525. * Bookmarks.subproj/WebBookmarkGroup.h:
  23526. new extern NSStrings WebBookmarksWillBeReloadedNotification and
  23527. WebBookmarksWereReloadedNotification
  23528. * Bookmarks.subproj/WebBookmarkGroup.m:
  23529. (-[WebBookmarkGroup _sendNotification:forBookmark:children:]):
  23530. soften assert so it doesn't fire on the new cases.
  23531. (-[WebBookmarkGroup _bookmarksWillBeReloaded]):
  23532. send WebBookmarksWillBeReloadedNotification
  23533. (-[WebBookmarkGroup _bookmarksWereReloaded]):
  23534. send WebBookmarksWereReloadedNotification
  23535. (-[WebBookmarkGroup _loadBookmarkGroupGuts]):
  23536. bracket the load with the new notification-sending calls
  23537. * WebKit.exp:
  23538. add the two new extern NSStrings
  23539. 2003-02-25 Darin Adler <darin@apple.com>
  23540. Reviewed by John.
  23541. - fixed 3176962 -- add KHTML somewhere in the user agent string
  23542. * English.lproj/StringsNotToBeLocalized.txt: Change "(like Gecko)" to "(KHTML, like Gecko)".
  23543. * WebView.subproj/WebController.m: (-[WebController userAgentForURL:]): Ditto.
  23544. 2003-02-20 Chris Blumenberg <cblu@apple.com>
  23545. Added _web_superviewOfClass:stoppingAtClass:. Climbs up hierarchy and returns nil when stoppingAtClass is hit.
  23546. Reviewed by darin.
  23547. * Misc.subproj/WebNSViewExtras.h:
  23548. * Misc.subproj/WebNSViewExtras.m:
  23549. (-[NSView _web_superviewOfClass:stoppingAtClass:]):
  23550. (-[NSView _web_superviewOfClass:]):
  23551. 2003-02-20 Ken Kocienda <kocienda@apple.com>
  23552. Reviewed by David
  23553. Modified to use new WebFoundation API. Though there seem to be
  23554. many changes, they are all "uninteresting" in that the changes
  23555. only moved code to use new method and class names.
  23556. * Downloads.subproj/WebDownload.h:
  23557. * Downloads.subproj/WebDownload.m:
  23558. (-[WebDownload initWithRequest:delegate:]):
  23559. (-[WebDownload _initWithLoadingHandle:request:response:delegate:]):
  23560. (-[WebDownload createFileIfNecessary]):
  23561. * Downloads.subproj/WebDownloadPrivate.h:
  23562. * Misc.subproj/WebIconLoader.h:
  23563. * Misc.subproj/WebIconLoader.m:
  23564. (-[WebIconLoader startLoading]):
  23565. (-[WebIconLoader resourceDidFinishLoading:]):
  23566. (-[WebIconLoader resource:willSendRequest:]):
  23567. (-[WebIconLoader resource:didReceiveResponse:]):
  23568. (-[WebIconLoader resource:didReceiveData:]):
  23569. (-[WebIconLoader resource:didFailLoadingWithError:]):
  23570. * Misc.subproj/WebResourceResponseExtras.h:
  23571. * Misc.subproj/WebResourceResponseExtras.m:
  23572. (-[WebHTTPResponse suggestedFilenameForSaving]):
  23573. * Plugins.subproj/WebBaseNetscapePluginStream.h:
  23574. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  23575. (-[WebBaseNetscapePluginStream setResponse:]):
  23576. * Plugins.subproj/WebBaseNetscapePluginView.m:
  23577. (-[WebBaseNetscapePluginView sendEvent:]):
  23578. (-[WebBaseNetscapePluginView requestWithURLCString:]):
  23579. (-[WebBaseNetscapePluginView loadPluginRequest:]):
  23580. (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
  23581. (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]):
  23582. (-[WebBaseNetscapePluginView getURL:target:]):
  23583. (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]):
  23584. (-[WebPluginRequest initWithRequest:frame:notifyData:]):
  23585. (-[WebPluginRequest request]):
  23586. * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
  23587. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  23588. * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
  23589. (-[WebNetscapePluginEmbeddedView viewDidMoveToWindow]):
  23590. * Plugins.subproj/WebNetscapePluginRepresentation.m:
  23591. (-[WebNetscapePluginRepresentation receivedError:withDataSource:]):
  23592. * Plugins.subproj/WebNetscapePluginStream.h:
  23593. * Plugins.subproj/WebNetscapePluginStream.m:
  23594. (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
  23595. (-[WebNetscapePluginStream resource:didReceiveResponse:]):
  23596. (-[WebNetscapePluginStream resource:didReceiveData:]):
  23597. (-[WebNetscapePluginStream resourceDidFinishLoading:]):
  23598. (-[WebNetscapePluginStream resource:didFailLoadingWithError:]):
  23599. * Plugins.subproj/WebPluginController.m:
  23600. (-[WebPluginController showURL:inFrame:]):
  23601. * WebCoreSupport.subproj/WebBridge.m:
  23602. (-[WebBridge createWindowWithURL:frameName:]):
  23603. (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
  23604. (-[WebBridge defersLoading]):
  23605. (-[WebBridge setDefersLoading:]):
  23606. (-[WebBridge loadEmptyDocumentSynchronously]):
  23607. * WebCoreSupport.subproj/WebCookieAdapter.m:
  23608. (-[WebCookieAdapter cookiesForURL:]):
  23609. (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):
  23610. * WebCoreSupport.subproj/WebSubresourceClient.h:
  23611. * WebCoreSupport.subproj/WebSubresourceClient.m:
  23612. (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
  23613. (-[WebSubresourceClient resource:willSendRequest:]):
  23614. (-[WebSubresourceClient resource:didReceiveResponse:]):
  23615. (-[WebSubresourceClient resource:didReceiveData:]):
  23616. (-[WebSubresourceClient resourceDidFinishLoading:]):
  23617. (-[WebSubresourceClient resource:didFailLoadingWithError:]):
  23618. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  23619. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  23620. (-[WebBaseResourceHandleDelegate startLoading:]):
  23621. (-[WebBaseResourceHandleDelegate loadWithRequest:]):
  23622. (-[WebBaseResourceHandleDelegate setDefersCallbacks:]):
  23623. (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
  23624. (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
  23625. (-[WebBaseResourceHandleDelegate resource:didReceiveData:]):
  23626. (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]):
  23627. (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]):
  23628. (-[WebBaseResourceHandleDelegate cancelledError]):
  23629. * WebView.subproj/WebController.h:
  23630. * WebView.subproj/WebController.m:
  23631. (-[WebResourceLoadDelegate identifierForInitialRequest:fromDataSource:]):
  23632. (-[WebResourceLoadDelegate resource:willSendRequest:fromDataSource:]):
  23633. (-[WebResourceLoadDelegate resource:didReceiveResponse:fromDataSource:]):
  23634. * WebView.subproj/WebControllerPolicyDelegate.h:
  23635. * WebView.subproj/WebControllerPrivate.h:
  23636. * WebView.subproj/WebControllerPrivate.m:
  23637. (-[WebController _downloadURL:toDirectory:]):
  23638. (-[WebController defersCallbacks]):
  23639. (-[WebController setDefersCallbacks:]):
  23640. (-[WebController _openNewWindowWithRequest:behind:]):
  23641. * WebView.subproj/WebDataSource.h:
  23642. * WebView.subproj/WebDataSource.m:
  23643. (-[WebDataSource initWithURL:]):
  23644. (-[WebDataSource initWithRequest:]):
  23645. (-[WebDataSource initialRequest]):
  23646. (-[WebDataSource request]):
  23647. (-[WebDataSource response]):
  23648. * WebView.subproj/WebDataSourcePrivate.h:
  23649. * WebView.subproj/WebDataSourcePrivate.m:
  23650. (-[WebDataSource _addSubresourceClient:]):
  23651. (-[WebDataSource _stopLoading]):
  23652. (-[WebDataSource _setURL:]):
  23653. (-[WebDataSource _setRequest:]):
  23654. (-[WebDataSource _setResponse:]):
  23655. (-[WebDataSource _commitIfReady:]):
  23656. (-[WebDataSource _defersCallbacksChanged]):
  23657. (-[WebDataSource _originalRequest]):
  23658. (-[WebDataSource _lastCheckedRequest]):
  23659. (-[WebDataSource _setLastCheckedRequest:]):
  23660. (-[WebDataSource _addResponse:]):
  23661. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  23662. (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]):
  23663. (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
  23664. * WebView.subproj/WebDefaultPolicyDelegate.m:
  23665. (-[WebDefaultPolicyDelegate savePathForResponse:andRequest:]):
  23666. (-[WebDefaultPolicyDelegate decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
  23667. * WebView.subproj/WebFrame.h:
  23668. * WebView.subproj/WebFrame.m:
  23669. (-[WebFrame loadRequest:]):
  23670. (-[WebFrame reload]):
  23671. * WebView.subproj/WebFramePrivate.h:
  23672. * WebView.subproj/WebFramePrivate.m:
  23673. (-[WebFrame _createItem]):
  23674. (-[WebFrame _opened]):
  23675. (-[WebFrame _loadItem:fromItem:withLoadType:]):
  23676. (-[WebFrame _loadRequest:triggeringAction:loadType:formValues:]):
  23677. (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]):
  23678. (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formValues:andCall:withSelector:]):
  23679. (-[WebFrame _continueAfterNavigationPolicy:]):
  23680. (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formValues:]):
  23681. (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
  23682. (-[WebFrame _loadURL:loadType:triggeringEvent:formValues:]):
  23683. (-[WebFrame _postWithURL:data:contentType:triggeringEvent:formValues:]):
  23684. (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
  23685. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formValues:]):
  23686. (-[WebFrame _downloadRequest:toDirectory:]):
  23687. * WebView.subproj/WebHTMLRepresentation.m:
  23688. * WebView.subproj/WebMainResourceClient.h:
  23689. * WebView.subproj/WebMainResourceClient.m:
  23690. (-[WebMainResourceClient continueAfterNavigationPolicy:formValues:]):
  23691. (-[WebMainResourceClient resource:willSendRequest:]):
  23692. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  23693. (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]):
  23694. (-[WebMainResourceClient resource:didReceiveResponse:]):
  23695. (-[WebMainResourceClient resource:didReceiveData:]):
  23696. (-[WebMainResourceClient resourceDidFinishLoading:]):
  23697. (-[WebMainResourceClient resource:didFailLoadingWithError:]):
  23698. (-[WebMainResourceClient startLoading:]):
  23699. * WebView.subproj/WebResourceLoadDelegate.h:
  23700. * WebView.subproj/WebTextRepresentation.m:
  23701. * WebView.subproj/WebTextView.m:
  23702. * WebView.subproj/WebView.m:
  23703. (-[WebView concludeDragOperation:]):
  23704. * WebView.subproj/WebViewPrivate.m:
  23705. * WebView.subproj/WebWindowOperationsDelegate.h:
  23706. 2003-02-18 Maciej Stachowiak <mjs@ap0101m-dhcp138.apple.com>
  23707. Reviewed by Chris.
  23708. Merged changes from Safari-58-1-branch.
  23709. 2003-02-11 Richard Williamson <rjw@apple.com>
  23710. Add import of CGFontCache.h, which is no longer
  23711. included by CoreGraphicsPrivate.h.
  23712. Reviewed by Vicki.
  23713. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  23714. 2003-02-11 Maciej Stachowiak <mjs@apple.com>
  23715. Reviewed by Darin.
  23716. * WebCoreSupport.subproj/WebTextRenderer.m: Change (void **) cast
  23717. to (void *) for compatibility with the latest Panther.
  23718. 2003-02-11 Maciej Stachowiak <mjs@apple.com>
  23719. Reviewed by Trey.
  23720. * WebKit.pbproj/project.pbxproj: Add /System/Library/PrivateFrameworks
  23721. === Safari-62 ===
  23722. 2003-02-17 Ken Kocienda <kocienda@apple.com>
  23723. Reviewed by Trey
  23724. Rolled in documentation changes from Peter Kelly, our tech writer.
  23725. * History.subproj/WebBackForwardList.h
  23726. * History.subproj/WebHistory.h
  23727. * Misc.subproj/WebKitErrors.h
  23728. * Misc.subproj/WebResourceResponseExtras.h
  23729. * Panels.subproj/WebStandardPanels.h
  23730. * Plugins.subproj/WebPluginError.h
  23731. * WebView.subproj/WebContextMenuDelegate.h
  23732. * WebView.subproj/WebController.h
  23733. * WebView.subproj/WebControllerPolicyDelegate.h
  23734. * WebView.subproj/WebDataSource.h
  23735. * WebView.subproj/WebDefaultPolicyDelegate.h
  23736. * WebView.subproj/WebDocument.h
  23737. * WebView.subproj/WebFrame.h
  23738. * WebView.subproj/WebPreferences.h
  23739. * WebView.subproj/WebResourceLoadDelegate.h
  23740. * WebView.subproj/WebView.h
  23741. * WebView.subproj/WebWindowOperationsDelegate.h
  23742. 2003-02-13 Trey Matteson <trey@apple.com>
  23743. 2943514 hide the cursor when using the arrow keys to scroll
  23744. Reviewed by Darin
  23745. * WebView.subproj/WebView.m:
  23746. (-[WebView keyDown:]): Hide that cursor.
  23747. 2003-02-16 Chris Blumenberg <cblu@apple.com>
  23748. Added debug method that can be used inside of gdb to examine an image. Needed this many times.
  23749. Reviewed by darin.
  23750. * Misc.subproj/WebNSImageExtras.h:
  23751. * Misc.subproj/WebNSImageExtras.m:
  23752. (-[NSImage _web_saveAndOpen]):
  23753. 2003-02-15 Darin Adler <darin@apple.com>
  23754. * English.lproj/Localizable.strings: Regenerated.
  23755. 2003-02-14 David Hyatt <hyatt@apple.com>
  23756. Patch to the drawLine function for the inline box model landing.
  23757. Reviewed by kocienda
  23758. * WebCoreSupport.subproj/WebTextRenderer.m:
  23759. 2003-02-13 Trey Matteson <trey@apple.com>
  23760. First checkin for working forms autocomplete.
  23761. This level mostly just has glue to go from app to WC through the bridge.
  23762. WebHTMLReo exports some new SPI to get the element of a view, and then to get
  23763. some HTML-level properties of that element.
  23764. Reviewed by Chris
  23765. * Bookmarks.subproj/WebBookmarkGroup.m:
  23766. (-[WebBookmarkGroup _saveBookmarkGroupGuts]): Don't dump entire bookmark
  23767. dict in the log.
  23768. * WebKit.exp: New class used by app, objc_class_name_WebHTMLRepresentation.
  23769. * WebView.subproj/WebHTMLRepresentation.h:
  23770. * WebView.subproj/WebHTMLRepresentation.m:
  23771. (-[WebHTMLRepresentation elementForView:]): New SPI.
  23772. (-[WebHTMLRepresentation elementDoesAutoComplete:]): New SPI.
  23773. (-[WebHTMLRepresentation elementIsInLoginForm:]): New SPI.
  23774. 2003-02-13 Chris Blumenberg <cblu@apple.com>
  23775. Fixed WebKit typos found by Peter Wilson.
  23776. Reviewed by darin.
  23777. * Misc.subproj/WebKitErrors.h:
  23778. * Misc.subproj/WebKitErrors.m:
  23779. (categoryInitialize): Error should be WebErrorDescriptionCannotFindApplicationForURL not WebErrorDescriptionCannotNotFindApplicationForURL
  23780. * Plugins.subproj/WebBaseNetscapePluginView.m:
  23781. (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): call findOrCreateFrameNamed
  23782. * Plugins.subproj/WebPluginController.m:
  23783. (-[WebPluginController showURL:inFrame:]): call findOrCreateFrameNamed
  23784. * WebCoreSupport.subproj/WebBridge.m:
  23785. (-[WebBridge findOrCreateFrameNamed:]): call findOrCreateFrameNamed
  23786. * WebView.subproj/WebFrame.h:
  23787. * WebView.subproj/WebFrame.m:
  23788. (-[WebFrame findOrCreateFrameNamed:]): fixed name
  23789. * WebView.subproj/WebFramePrivate.m:
  23790. (-[WebFrame _continueAfterNavigationPolicy:]): use WebErrorDescriptionCannotFindApplicationForURL
  23791. * WebView.subproj/WebMainResourceClient.m:
  23792. (-[WebMainResourceClient continueAfterContentPolicy:response:]): use WebErrorDescriptionCannotFindApplicationForURL
  23793. * WebView.subproj/WebView.h:
  23794. * WebView.subproj/WebView.m:
  23795. (-[WebView setAllowsScrolling:]): cast to WebDynamicScrollBarsView
  23796. (-[WebView allowsScrolling]): cast to WebDynamicScrollBarsView
  23797. (-[WebView frameScrollView]): return NSScrollView
  23798. * WebView.subproj/WebViewPrivate.m:
  23799. (-[WebView _setDocumentView:]): cast to WebDynamicScrollBarsView
  23800. 2003-02-12 Chris Blumenberg <cblu@apple.com>
  23801. - Moved the WebKit error registration out of WebView because apps that use WebKit but not WebView might need to use WebKit errors (like my test app for WebDownload).
  23802. - Added file close and file move errors (needed for WebDownload).
  23803. Reviewed by kocienda.
  23804. * English.lproj/Localizable.strings: Localize file close and file move errors.
  23805. * Misc.subproj/WebKitErrors.h: Added file close and file move errors.
  23806. * Misc.subproj/WebKitErrors.m: Added.
  23807. (+[WebError initialize]): register the errors here
  23808. * WebKit.exp: Export the WebDownload class (forgot to do this earlier).
  23809. * WebKit.pbproj/project.pbxproj:
  23810. * WebView.subproj/WebView.m: don't register the errors here
  23811. 2003-02-12 Darin Adler <darin@apple.com>
  23812. Reviewed by Ken.
  23813. - fixed 3158484 -- after submission failure, submitting a second time doesn't work
  23814. * WebView.subproj/WebDataSourcePrivate.h: Added _receivedError:complete: method.
  23815. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _receivedError:complete:]):
  23816. Added, parallel to _receivedData and _finishedLoading. Calls the new bridge method
  23817. didNotOpenURL: for cases where we fail before committing (which calls openURL).
  23818. Note that we can't use our own _bridge method because it asserts that we have committed
  23819. to prevent accidental misuse. Also make the call on the controller that used to be done
  23820. directly by the client.
  23821. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient receivedError:complete:]):
  23822. Call the new -[WebDataSource _receivedError:complete:] rather than calling the controller directly.
  23823. 2003-02-11 Darin Adler <darin@apple.com>
  23824. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  23825. 2003-02-11 Darin Adler <darin@apple.com>
  23826. Reviewed by Ed.
  23827. - applied a fixed version of Ed Voas's change to make plug-ins position correctly
  23828. inside Carbon metal windows; should have no effect on Safari
  23829. * Plugins.subproj/WebBaseNetscapePluginView.m:
  23830. (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
  23831. Don't assume that the Cocoa concept of the content view matches up with the Carbon
  23832. concept of where the port is positioned. Instead, convert coordinates to border
  23833. view coordinates, then back to Carbon content coordinates by using the delta between
  23834. the port bounds and the port's pixmap bounds. Bug 3160710 was caused by an older version
  23835. of this patch implicitly assuming the port bounds always had (0,0) for top left.
  23836. 2003-02-11 Trey Matteson <trey@apple.com>
  23837. Set -seg1addr in our build styles, but not for the B&I build.
  23838. This makes our SYMROOTS from B&I usable to determine symbols from crash
  23839. logs from the field.
  23840. Also nuked DeploymentFat build style.
  23841. Reviewed by Ken.
  23842. * WebKit.pbproj/project.pbxproj:
  23843. 2003-02-10 Chris Blumenberg <cblu@apple.com>
  23844. Added HeaderDoc comments for WebDownload and WebPluginError.
  23845. Reviewed by rjw.
  23846. * Downloads.subproj/WebDownload.h:
  23847. * Plugins.subproj/WebPluginError.h:
  23848. 2003-02-10 Trey Matteson <trey@apple.com>
  23849. Following the recent fix for ensuring that we always have a FormDelegate,
  23850. when we need a default policy delegate we use a shared one instead of allocing
  23851. a new one each time, which then would leak.
  23852. This included getting rid of the initWithWebController: method in the
  23853. WebDefaultPolicyDelegate API. The arg was not used.
  23854. Reviewed by Richard
  23855. * WebKit.pbproj/project.pbxproj: new private header
  23856. * WebView.subproj/WebController.m:
  23857. (-[WebController policyDelegate]): use shared delegate if none set
  23858. * WebView.subproj/WebDefaultPolicyDelegate.h:
  23859. * WebView.subproj/WebDefaultPolicyDelegate.m:
  23860. (+[WebDefaultPolicyDelegate _sharedWebPolicyDelegate]): return shared instance
  23861. * WebView.subproj/WebDefaultPolicyDelegatePrivate.h: Added.
  23862. * WebView.subproj/WebFormDelegate.m:
  23863. (+[WebFormDelegate _sharedWebFormDelegate]): Trivial renaming of static.
  23864. 2003-02-10 Richard Williamson <rjw@apple.com>
  23865. Update API issues document.
  23866. * API-Issues.rtf:
  23867. 2003-02-10 Chris Blumenberg <cblu@apple.com>
  23868. Fixed: 3168888 - REGRESSION: many downloads fail (due to -36 error from write)
  23869. Reviewed by darin.
  23870. * Downloads.subproj/WebDownload.m:
  23871. (-[WebDownload writeForkData:isDataFork:]):
  23872. 2003-02-10 Trey Matteson <trey@apple.com>
  23873. Make sure we have a FormsDelegate installed with NOP behavior if our client
  23874. does not set one. Editing forms was broken for Ed by the introduction
  23875. of the new FormDelegate.
  23876. Reviewed by Darin.
  23877. * WebKit.pbproj/project.pbxproj: Added new header file.
  23878. * WebView.subproj/WebControllerPrivate.m:
  23879. (-[WebController _formDelegate]): Use shared delegate if none set yet.
  23880. * WebView.subproj/WebFormDelegatePrivate.h: New header.
  23881. * WebView.subproj/WebFormDelegate.h: Nit cleanup.
  23882. * WebView.subproj/WebFormDelegate.m:
  23883. (+[WebFormDelegate _sharedWebFormDelegate]): New method to return a shared
  23884. NOP implementation.
  23885. 2003-02-07 Richard Williamson <rjw@apple.com>
  23886. Changes to support per WebController preferences.
  23887. Reviewed by Maciej and Ken.
  23888. * WebView.subproj/WebController.m:
  23889. (-[WebController setPreferences:]):
  23890. * WebView.subproj/WebControllerPrivate.h:
  23891. * WebView.subproj/WebControllerPrivate.m:
  23892. (-[WebControllerPrivate init]):
  23893. (-[WebControllerPrivate dealloc]):
  23894. (-[WebController _setFormDelegate:]):
  23895. (-[WebController _formDelegate]):
  23896. (-[WebController _settings]):
  23897. (-[WebController _updateWebCoreSettingsFromPreferences:]):
  23898. (-[WebController _releaseUserAgentStrings]):
  23899. (-[WebController _preferencesChangedNotification:]):
  23900. * WebView.subproj/WebFrame.m:
  23901. (-[WebFrame initWithName:webView:controller:]):
  23902. * WebView.subproj/WebPreferences.h:
  23903. * WebView.subproj/WebPreferences.m:
  23904. (-[WebPreferences _postPreferencesChangesNotification]):
  23905. (+[WebPreferences load]):
  23906. (-[WebPreferences _stringValueForKey:]):
  23907. (-[WebPreferences _setStringValue:forKey:]):
  23908. (-[WebPreferences _integerValueForKey:]):
  23909. (-[WebPreferences _setIntegerValue:forKey:]):
  23910. (-[WebPreferences _boolValueForKey:]):
  23911. (-[WebPreferences _setBoolValue:forKey:]):
  23912. (-[WebPreferences standardFontFamily]):
  23913. (-[WebPreferences setStandardFontFamily:]):
  23914. (-[WebPreferences fixedFontFamily]):
  23915. (-[WebPreferences setFixedFontFamily:]):
  23916. (-[WebPreferences serifFontFamily]):
  23917. (-[WebPreferences setSerifFontFamily:]):
  23918. (-[WebPreferences sansSerifFontFamily]):
  23919. (-[WebPreferences setSansSerifFontFamily:]):
  23920. (-[WebPreferences cursiveFontFamily]):
  23921. (-[WebPreferences setCursiveFontFamily:]):
  23922. (-[WebPreferences fantasyFontFamily]):
  23923. (-[WebPreferences setFantasyFontFamily:]):
  23924. (-[WebPreferences defaultFontSize]):
  23925. (-[WebPreferences setDefaultFontSize:]):
  23926. (-[WebPreferences defaultFixedFontSize]):
  23927. (-[WebPreferences setDefaultFixedFontSize:]):
  23928. (-[WebPreferences minimumFontSize]):
  23929. (-[WebPreferences setMinimumFontSize:]):
  23930. (-[WebPreferences defaultTextEncodingName]):
  23931. (-[WebPreferences setDefaultTextEncodingName:]):
  23932. (-[WebPreferences userStyleSheetEnabled]):
  23933. (-[WebPreferences setUserStyleSheetEnabled:]):
  23934. (-[WebPreferences userStyleSheetLocation]):
  23935. (-[WebPreferences setUserStyleSheetLocation:]):
  23936. (-[WebPreferences JavaEnabled]):
  23937. (-[WebPreferences setJavaEnabled:]):
  23938. (-[WebPreferences JavaScriptEnabled]):
  23939. (-[WebPreferences setJavaScriptEnabled:]):
  23940. (-[WebPreferences JavaScriptCanOpenWindowsAutomatically]):
  23941. (-[WebPreferences setJavaScriptCanOpenWindowsAutomatically:]):
  23942. (-[WebPreferences pluginsEnabled]):
  23943. (-[WebPreferences setPluginsEnabled:]):
  23944. (-[WebPreferences allowAnimatedImages]):
  23945. (-[WebPreferences allowAnimatedImageLooping]):
  23946. (-[WebPreferences setAllowAnimatedImageLooping:]):
  23947. (-[WebPreferences setWillLoadImagesAutomatically:]):
  23948. (-[WebPreferences willLoadImagesAutomatically]):
  23949. (-[WebPreferences _initialTimedLayoutDelay]):
  23950. (-[WebPreferences _initialTimedLayoutSize]):
  23951. (-[WebPreferences _pageCacheSize]):
  23952. (-[WebPreferences _objectCacheSize]):
  23953. (-[WebPreferences _initialTimedLayoutEnabled]):
  23954. (-[WebPreferences _resourceTimedLayoutDelay]):
  23955. (-[WebPreferences _resourceTimedLayoutEnabled]):
  23956. * WebView.subproj/WebPreferencesPrivate.h:
  23957. 2003-02-06 Chris Blumenberg <cblu@apple.com>
  23958. - Made WebDownload.h a public header.
  23959. - Added stubs for the new methods.
  23960. - Moved all private methods to the WebPrivate category.
  23961. - Added FIXMEs for things that needed to be removed or implemented.
  23962. Reviewed by rjw.
  23963. * Downloads.subproj/WebDownload.h:
  23964. * Downloads.subproj/WebDownload.m:
  23965. (-[WebDownload initWithRequest:delegate:]):
  23966. (-[WebDownload dealloc]):
  23967. (-[WebDownload cancel]):
  23968. (-[WebDownload _initWithLoadingHandle:request:response:delegate:]):
  23969. (-[WebDownload initWithDataSource:]):
  23970. (-[WebDownload receivedData:]):
  23971. (-[WebDownload finishedLoading]):
  23972. (-[WebDownload decodeHeaderData:dataForkData:resourceForkData:]):
  23973. (-[WebDownload decodeData:dataForkData:resourceForkData:]):
  23974. (-[WebDownload createFileIfNecessary]):
  23975. (-[WebDownload writeDataForkData:resourceForkData:]):
  23976. (-[WebDownload dataIfDoneBufferingData:]):
  23977. (-[WebDownload decodeData:]):
  23978. (-[WebDownload finishDecoding]):
  23979. * Downloads.subproj/WebDownloadPrivate.h:
  23980. * WebKit.pbproj/project.pbxproj:
  23981. * WebView.subproj/WebMainResourceClient.m:
  23982. 2003-02-06 Chris Blumenberg <cblu@apple.com>
  23983. Renamed WebDownloadHandler to WebDownload.
  23984. Made ivars of WebDownload private.
  23985. Reviewed by kocienda.
  23986. * Downloads.subproj/WebDownload.h: Added.
  23987. * Downloads.subproj/WebDownload.m: Added.
  23988. (-[WebDownloadPrivate init]):
  23989. (-[WebDownloadPrivate dealloc]):
  23990. (-[WebDownload initWithDataSource:]):
  23991. (-[WebDownload dealloc]):
  23992. (-[WebDownload decodeHeaderData:dataForkData:resourceForkData:]):
  23993. (-[WebDownload decodeData:dataForkData:resourceForkData:]):
  23994. (-[WebDownload closeFork:deleteFile:]):
  23995. (-[WebDownload closeFileAndDelete:]):
  23996. (-[WebDownload closeFile]):
  23997. (-[WebDownload cleanUpAfterFailure]):
  23998. (-[WebDownload createFileIfNecessary]):
  23999. (-[WebDownload writeDataForkData:resourceForkData:]):
  24000. (-[WebDownload dataIfDoneBufferingData:]):
  24001. (-[WebDownload decodeData:]):
  24002. (-[WebDownload receivedData:]):
  24003. (-[WebDownload finishDecoding]):
  24004. (-[WebDownload finishedLoading]):
  24005. (-[WebDownload cancel]):
  24006. (-[WebDownload path]):
  24007. (-[WebDownload writeForkData:isDataFork:]):
  24008. (-[WebDownload errorWithCode:]):
  24009. (-[WebDownload cancelWithError:]):
  24010. (-[WebDownload dataForkReferenceNumber]):
  24011. (-[WebDownload setDataForkReferenceNumber:]):
  24012. (-[WebDownload resourceForkReferenceNumber]):
  24013. (-[WebDownload setResourceForkReferenceNumber:]):
  24014. (-[WebDownload areWritesCancelled]):
  24015. (-[WebDownload setWritesCancelled:]):
  24016. (WriteCompletionCallback):
  24017. (CloseCompletionCallback):
  24018. (DeleteCompletionCallback):
  24019. * Downloads.subproj/WebDownloadHandler.h: Removed.
  24020. * Downloads.subproj/WebDownloadHandler.m: Removed.
  24021. * WebKit.pbproj/project.pbxproj:
  24022. * WebView.subproj/WebController.h:
  24023. * WebView.subproj/WebDataSource.m:
  24024. * WebView.subproj/WebDataSourcePrivate.m:
  24025. * WebView.subproj/WebMainResourceClient.h:
  24026. * WebView.subproj/WebMainResourceClient.m:
  24027. (-[WebMainResourceClient dealloc]):
  24028. (-[WebMainResourceClient download]):
  24029. (-[WebMainResourceClient isDownload]):
  24030. (-[WebMainResourceClient receivedError:complete:]):
  24031. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  24032. (-[WebMainResourceClient handle:didReceiveData:]):
  24033. (-[WebMainResourceClient handleDidFinishLoading:]):
  24034. 2003-02-06 Chris Blumenberg <cblu@apple.com>
  24035. Fixed: 3125067 - Investigate performance implications of writing download file data
  24036. Reviewed by trey, rjw, darin.
  24037. * Downloads.subproj/WebDownloadHandler.h:
  24038. * Downloads.subproj/WebDownloadHandler.m:
  24039. (-[WebDownloadHandler closeFileAndDelete:]): close the file asynchronously
  24040. (-[WebDownloadHandler closeFile]): call closeFileAndDelete:NO
  24041. (-[WebDownloadHandler cleanUpAfterFailure]): call closeFileAndDelete:YES
  24042. (-[WebDownloadHandler writeDataForkData:resourceForkData:]): call writeForkData:isDataFork:
  24043. (-[WebDownloadHandler path]): new
  24044. (-[WebDownloadHandler writeForkData:isDataFork:]): writes file asynchronously
  24045. (-[WebDownloadHandler errorWithCode:]): moved
  24046. (-[WebDownloadHandler cancelWithError:]): new, stops load with error
  24047. (-[WebDownloadHandler dataForkReferenceNumber]): new
  24048. (-[WebDownloadHandler setDataForkReferenceNumber:]): new
  24049. (-[WebDownloadHandler resourceForkReferenceNumber]): new
  24050. (-[WebDownloadHandler setResourceForkReferenceNumber:]): new
  24051. (WriteCompletionCallback): new
  24052. (CloseCompletionCallback): new, removes file if necessary
  24053. (DeleteCompletionCallback): new,
  24054. * WebView.subproj/WebDataSourcePrivate.h:
  24055. * WebView.subproj/WebDataSourcePrivate.m:
  24056. (-[WebDataSource _stopLoadingWithError:]): new
  24057. 2003-02-06 Trey Matteson <trey@apple.com>
  24058. 3137647 - ad frames get their own history entries at channels.netscape.com 3133844 - 2 items in back list at http://www.kiup-bank.com/personal/main01.html
  24059. Move logic for deciding on "quick redirect" down to WebCore, where we really know
  24060. what case we're in instead of having to guess from the params we were receiving.
  24061. Reviewed by Maciej, Darin.
  24062. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  24063. (-[WebNetscapePluginDocumentView setDataSource:]): Fix build error (URL vs String)
  24064. * WebView.subproj/WebFramePrivate.h: Nuke Completing state.
  24065. * WebView.subproj/WebFramePrivate.m:
  24066. (-[WebFrame _transitionToLayoutAcceptable]): Nuke Completing state.
  24067. (-[WebFrame _transitionToCommitted:]): Nuke Completing state.
  24068. (-[WebFrame _isLoadComplete]): Nuke Completing state.
  24069. (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:]):
  24070. Just obey lockHistory param when deciding whether we are doing a "client redirect"
  24071. instead of previous guesswork.
  24072. 2003-02-06 Richard Williamson <rjw@apple.com>
  24073. Rename WebError to WebKitError.
  24074. Reviewed by maciej.
  24075. * API-Issues.rtf:
  24076. * Bookmarks.subproj/WebBookmarkImporter.m:
  24077. (-[WebBookmarkImporter initWithPath:]):
  24078. * Downloads.subproj/WebDownloadHandler.m:
  24079. (-[WebDownloadHandler createFileIfNecessary]):
  24080. (-[WebDownloadHandler writeDataForkData:resourceForkData:]):
  24081. (-[WebDownloadHandler decodeData:]):
  24082. (-[WebDownloadHandler finishedLoading]):
  24083. * Misc.subproj/WebKitErrors.h:
  24084. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  24085. (-[WebNetscapePluginDocumentView setDataSource:]):
  24086. * WebCoreSupport.subproj/WebBridge.m:
  24087. (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
  24088. (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):
  24089. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  24090. (-[WebBaseResourceHandleDelegate notifyDelegatesOfInterruptionByPolicyChange]):
  24091. * WebView.subproj/WebFramePrivate.m:
  24092. (-[WebFrame _continueAfterNavigationPolicy:]):
  24093. * WebView.subproj/WebMainResourceClient.m:
  24094. (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]):
  24095. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  24096. * WebView.subproj/WebView.m:
  24097. (+[WebView initialize]):
  24098. 2003-02-05 Chris Blumenberg <cblu@apple.com>
  24099. Comment should have been "Made WebPluginError constructors private."
  24100. * ChangeLog:
  24101. 2003-02-05 Chris Blumenberg <cblu@apple.com>
  24102. WebKit API clean-up:
  24103. - Added enum to WebContextMenuDelegate that is the menu item tag of the menu items passed in the default menu item array.
  24104. - WebPluginError should return URL strings.
  24105. - Made WebPluginError constructors private.
  24106. Reviewed by rjw.
  24107. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  24108. (-[WebNetscapePluginDocumentView setDataSource:]):
  24109. * Plugins.subproj/WebPluginError.h:
  24110. * Plugins.subproj/WebPluginError.m:
  24111. (-[WebPluginError pluginPageURL]):
  24112. * Plugins.subproj/WebPluginErrorPrivate.h: Added.
  24113. * WebCoreSupport.subproj/WebBridge.m:
  24114. (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
  24115. * WebKit.pbproj/project.pbxproj:
  24116. * WebView.subproj/WebContextMenuDelegate.h:
  24117. * WebView.subproj/WebDefaultContextMenuDelegate.h:
  24118. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  24119. (-[WebDefaultContextMenuDelegate menuItemWithTag:]):
  24120. (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]):
  24121. 2003-02-04 Trey Matteson <trey@apple.com>
  24122. WC now tells us the form values being submitted with a get/post.
  24123. We forward this info to a new WebFormDelegate method. Most of this
  24124. change is just glue passing the formValues through all our layers.
  24125. Reviewed by Maciej
  24126. * WebCoreSupport.subproj/WebBridge.m:
  24127. (-[WebBridge loadURL:reload:triggeringEvent:formValues:])
  24128. Pass along formValues.
  24129. (-[WebBridge postWithURL:data:contentType:triggeringEvent:formValues:]):
  24130. Pass along formValues.
  24131. * WebKit.pbproj/project.pbxproj: Reorder previously added files.
  24132. * WebView.subproj/WebControllerPolicyDelegate.m: Fix latent copy/paste error
  24133. where two keys had the same underlying string value!
  24134. * WebView.subproj/WebFormDelegate.h: Declare new delegate method.
  24135. * WebView.subproj/WebFormDelegate.m:
  24136. (-[WebFormDelegate frame:willSubmitFormWithValues:]): NOP impl of new method.
  24137. * WebView.subproj/WebFrame.m:
  24138. (-[WebFrame loadRequest:]): Pass nil formValues.
  24139. (-[WebFrame reload]): Pass nil formValues.
  24140. * WebView.subproj/WebFramePrivate.h: New ivar to hold form values
  24141. while waiting for the policy delegate response.
  24142. * WebView.subproj/WebFramePrivate.m:
  24143. (-[WebFramePrivate dealloc]): ASSERT new ivar is nil.
  24144. (-[WebFrame _loadItem:fromItem:withLoadType:]): Pass nil formValues.
  24145. (-[WebFrame _loadRequest:triggeringAction:loadType:formValues:]):
  24146. Pass along formValues.
  24147. (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]):
  24148. Pass nil formValues to continuation method.
  24149. (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formValues:andCall:withSelector:]):
  24150. Stash formValues before calling policy delegate.
  24151. (-[WebFrame _continueAfterNavigationPolicy:]):
  24152. Resurrect formValues after calling policy delegate, pass to continuation method.
  24153. (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formValues:]):
  24154. Bail on nil request instead of shouldContinue=NO
  24155. (-[WebFrame _loadURL:loadType:triggeringEvent:formValues:]):
  24156. Pass formValues along.
  24157. (-[WebFrame _loadURL:intoChild:]): Pass nil formValues.
  24158. (-[WebFrame _postWithURL:data:contentType:triggeringEvent:formValues:]):
  24159. Pass formValues along.
  24160. (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
  24161. Pass nil formValues.
  24162. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formValues:]):
  24163. Bail on nil request instead of shouldContinue=NO. Call new FormDelegate method.
  24164. (-[WebFrame _loadDataSource:withLoadType:formValues:]):
  24165. Pass formValues along.
  24166. (-[WebFrame _downloadRequest:toDirectory:]):
  24167. Pass nil formValues.
  24168. * WebView.subproj/WebMainResourceClient.m:
  24169. (-[WebMainResourceClient continueAfterNavigationPolicy:formValues:]):
  24170. Bail on nil request instead of shouldContinue=NO
  24171. (-[WebMainResourceClient handle:willSendRequest:]):
  24172. Pass nil formValues.
  24173. 2003-02-05 Richard Williamson <rjw@apple.com>
  24174. WebHistory* API clenaup.
  24175. Reviewed by Chris.
  24176. * Bookmarks.subproj/WebBookmarkLeaf.m:
  24177. * History.subproj/WebHistory.h:
  24178. * History.subproj/WebHistory.m:
  24179. * History.subproj/WebHistoryItem.h:
  24180. * History.subproj/WebHistoryItem.m:
  24181. (-[WebHistoryItem title]):
  24182. (-[WebHistoryItem setDisplayTitle:]):
  24183. (-[WebHistoryItem hash]):
  24184. (-[WebHistoryItem anchor]):
  24185. (-[WebHistoryItem isEqual:]):
  24186. (-[WebHistoryItem description]):
  24187. (-[WebHistoryItem _retainIconInDatabase:]):
  24188. (+[WebHistoryItem entryWithURL:]):
  24189. (-[WebHistoryItem initWithURL:title:]):
  24190. (-[WebHistoryItem initWithURL:target:parent:title:]):
  24191. (-[WebHistoryItem URL]):
  24192. (-[WebHistoryItem target]):
  24193. (-[WebHistoryItem parent]):
  24194. (-[WebHistoryItem dictionaryRepresentation]):
  24195. (-[WebHistoryItem initFromDictionaryRepresentation:]):
  24196. * History.subproj/WebHistoryItemPrivate.h:
  24197. * History.subproj/WebHistoryPrivate.h:
  24198. * History.subproj/WebHistoryPrivate.m:
  24199. * WebKit.pbproj/project.pbxproj:
  24200. * WebView.subproj/WebController.h:
  24201. * WebView.subproj/WebController.m:
  24202. (-[WebController setPreferences:]):
  24203. (-[WebController preferences]):
  24204. * WebView.subproj/WebControllerPrivate.h:
  24205. * WebView.subproj/WebControllerPrivate.m:
  24206. (-[WebControllerPrivate dealloc]):
  24207. * WebView.subproj/WebDataSourcePrivate.m:
  24208. * WebView.subproj/WebFramePrivate.m:
  24209. 2003-02-05 Richard Williamson <rjw@apple.com>
  24210. Cleanup public WebHistory API, stage 1.
  24211. Reviewed by trey.
  24212. * History.subproj/WebHistory.h:
  24213. * History.subproj/WebHistory.m:
  24214. (-[_WebCoreHistoryProvider initWithHistory:]):
  24215. (-[_WebCoreHistoryProvider containsEntryForURLString:]):
  24216. (-[_WebCoreHistoryProvider dealloc]):
  24217. (+[WebHistory sharedHistory]):
  24218. (+[WebHistory createSharedHistoryWithFile:]):
  24219. * History.subproj/WebHistoryPrivate.h:
  24220. * History.subproj/WebHistoryPrivate.m:
  24221. 2003-02-04 Maciej Stachowiak <mjs@apple.com>
  24222. Reviewed by Darin.
  24223. * WebKit.pbproj/project.pbxproj: Updated to build the framework
  24224. standalone instead of embedded when doing a B&I build for Panther.
  24225. 2003-02-04 Chris Blumenberg <cblu@apple.com>
  24226. Fixed: 3163879 - receivedPageIcon:forDataSource: always sends nil image
  24227. Reviewed by rjw.
  24228. * WebView.subproj/WebDataSourcePrivate.m:
  24229. (-[WebDataSource _updateIconDatabaseWithURL:]):
  24230. 2003-02-04 Darin Adler <darin@apple.com>
  24231. Reviewed by Ken.
  24232. - fixed 3135388 -- encoding changes do not affect text in form elements
  24233. The problem was that form data was being saved and restored, and in the case of buttons,
  24234. the form data was the incorrectly decoded button label.
  24235. * WebView.subproj/WebFramePrivate.m:
  24236. (-[WebFrame _transitionToLayoutAcceptable]): Remove the default: case so we get a warning if
  24237. we omit one of the enum values from this switch statement.
  24238. (-[WebFrame _transitionToCommitted:]): Move the WebFrameLoadTypeReloadAllowingStaleData
  24239. case up so it's right next to the case it should be merged with.
  24240. (-[WebFrame _isLoadComplete]): Remove the default: case so we get a warning if
  24241. we omit one of enum values from this switch statement.
  24242. (-[WebFrame _itemForRestoringDocState]): Replace the if statement with a switch statement.
  24243. Include WebFrameLoadTypeReloadAllowingStaleData, which fixes the bug.
  24244. 2003-02-03 Richard Williamson <rjw@apple.com>
  24245. Fixed headerdoc type.
  24246. * WebView.subproj/WebDocument.h:
  24247. 2003-02-03 Richard Williamson <rjw@apple.com>
  24248. Support for new canProvideDocumentSource and documentSource API.
  24249. Updated all the representations. Added support to show for RTF source.
  24250. Moved WebKitInitializeUnicode to to early class. This was necessary
  24251. because WebCore may use the unicode property functions before WebTextRenderer
  24252. gets initialized.
  24253. Ensured guarantee that identifierForInitialRequest:fromDataSource: is called with
  24254. the first initial request.
  24255. Reviewed by maciej.
  24256. * Plugins.subproj/WebNetscapePluginRepresentation.m:
  24257. (-[WebNetscapePluginRepresentation canProvideDocumentSource]):
  24258. (-[WebNetscapePluginRepresentation documentSource]):
  24259. * WebCoreSupport.subproj/WebTextRenderer.m:
  24260. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  24261. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  24262. (-[WebBaseResourceHandleDelegate setIdentifier:]):
  24263. * WebView.subproj/WebDataSource.h:
  24264. * WebView.subproj/WebDataSource.m:
  24265. (-[WebDataSource initWithRequest:]):
  24266. (-[WebDataSource controller]):
  24267. (-[WebDataSource initialRequest]):
  24268. * WebView.subproj/WebDataSourcePrivate.h:
  24269. * WebView.subproj/WebDataSourcePrivate.m:
  24270. (-[WebDataSourcePrivate dealloc]):
  24271. (-[WebDataSource _startLoading:]):
  24272. (-[WebDataSource _originalRequest]):
  24273. * WebView.subproj/WebDocument.h:
  24274. * WebView.subproj/WebHTMLRepresentation.h:
  24275. * WebView.subproj/WebHTMLRepresentation.m:
  24276. (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
  24277. (-[WebHTMLRepresentation canProvideDocumentSource]):
  24278. * WebView.subproj/WebHTMLView.m:
  24279. (+[WebHTMLView initialize]):
  24280. * WebView.subproj/WebImageRepresentation.m:
  24281. (-[WebImageRepresentation canProvideDocumentSource]):
  24282. (-[WebImageRepresentation documentSource]):
  24283. * WebView.subproj/WebTextRepresentation.h:
  24284. * WebView.subproj/WebTextRepresentation.m:
  24285. (-[WebTextRepresentation dealloc]):
  24286. (-[WebTextRepresentation setDataSource:]):
  24287. (-[WebTextRepresentation finishedLoadingWithDataSource:]):
  24288. (-[WebTextRepresentation canProvideDocumentSource]):
  24289. (-[WebTextRepresentation documentSource]):
  24290. 2003-02-03 Chris Blumenberg <cblu@apple.com>
  24291. Fixed: 3163073 - SECURITY: Need to check if filename in encoded download is safe
  24292. Reviewed by kocienda, darin, mjs.
  24293. * Downloads.subproj/WebDownloadHandler.m:
  24294. (-[WebDownloadHandler createFileIfNecessary]): call _web_filenameByFixingIllegalCharacters on the encoded filename
  24295. 2003-02-01 Maciej Stachowiak <mjs@apple.com>
  24296. Reviewed by Darin and Ken.
  24297. - fixed 3162581 - 56 debug: Assertion failure displaying pop-up menu while downloading
  24298. * WebView.subproj/WebMainResourceClient.m:
  24299. (-[WebMainResourceClient handle:didReceiveResponse:]): No need to assert that the controller is
  24300. not deferred if this is a handle being used for a download.
  24301. (-[WebMainResourceClient handle:didReceiveData:]): Likewise.
  24302. (-[WebMainResourceClient handleDidFinishLoading:]): Likewise.
  24303. (-[WebMainResourceClient handle:didFailLoadingWithError:]): Likewise.
  24304. 2003-01-31 Trey Matteson <trey@apple.com>
  24305. New plumbing for autofill/autocomplete. WebBrowser receives controlText delegate
  24306. messages from our form widgets. Should result in no behavior change.
  24307. New private API is exposed for the app to set a WebFormDelegate.
  24308. Reviewed by Richard
  24309. * WebCoreSupport.subproj/WebBridge.m: Pass msgs from WC on to the controller's FormDelegate.
  24310. (formDelegate): Little utility function.
  24311. (-[WebBridge controlTextDidBeginEditing:]):
  24312. (-[WebBridge controlTextDidEndEditing:]):
  24313. (-[WebBridge controlTextDidChange:]):
  24314. (-[WebBridge control:textShouldBeginEditing:]):
  24315. (-[WebBridge control:textShouldEndEditing:]):
  24316. (-[WebBridge control:didFailToFormatString:errorDescription:]):
  24317. (-[WebBridge control:didFailToValidatePartialString:errorDescription:]):
  24318. (-[WebBridge control:isValidObject:]):
  24319. (-[WebBridge control:textView:doCommandBySelector:]):
  24320. * WebKit.exp: New class exported.
  24321. * WebKit.pbproj/project.pbxproj: New WebFormDelegate files.
  24322. * WebView.subproj/WebControllerPrivate.h: API to set/get FormDelegate.
  24323. * WebView.subproj/WebControllerPrivate.m:
  24324. (-[WebController _setFormDelegate:]): simple setter
  24325. (-[WebController _formDelegate]): simple getter
  24326. * WebView.subproj/WebFormDelegate.h: Added.
  24327. * WebView.subproj/WebFormDelegate.m: Added.
  24328. NOP impls for all these delegate methods.
  24329. (-[WebFormDelegate controlTextDidBeginEditing:inFrame:]):
  24330. (-[WebFormDelegate controlTextDidEndEditing:inFrame:]):
  24331. (-[WebFormDelegate controlTextDidChange:inFrame:]):
  24332. (-[WebFormDelegate control:textShouldBeginEditing:inFrame:]):
  24333. (-[WebFormDelegate control:textShouldEndEditing:inFrame:]):
  24334. (-[WebFormDelegate control:didFailToFormatString:errorDescription:inFrame:]):
  24335. (-[WebFormDelegate control:didFailToValidatePartialString:errorDescription:inFrame:]):
  24336. (-[WebFormDelegate control:isValidObject:inFrame:]):
  24337. (-[WebFormDelegate control:textView:doCommandBySelector:inFrame:]):
  24338. 2003-01-31 Chris Blumenberg <cblu@apple.com>
  24339. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  24340. * WebView.subproj/WebController.m: fixed key value
  24341. 2003-01-31 Chris Blumenberg <cblu@apple.com>
  24342. Fixed : 3155148 - image shown when dragging gets size from image file, not size as used on page
  24343. Reviewed by darin.
  24344. * Misc.subproj/WebNSViewExtras.h:
  24345. * Misc.subproj/WebNSViewExtras.m:
  24346. (-[NSView _web_dragPromisedImage:rect:URL:fileType:title:event:]): take a rect so we know the original size and origin
  24347. * WebKit.exp: added WebElementImageRectKey
  24348. * WebView.subproj/WebController.h: WebElementImageRectKey
  24349. * WebView.subproj/WebController.m: WebElementImageRectKey
  24350. * WebView.subproj/WebHTMLViewPrivate.m:
  24351. (-[WebHTMLView _handleMouseDragged:]): call _web_dragPromisedImage with WebElementImageRect
  24352. * WebView.subproj/WebImageView.m:
  24353. (-[WebImageView menuForEvent:]): provide the WebElementImageRect since we do this for other image elements
  24354. (-[WebImageView mouseDragged:]): call _web_dragPromisedImage with [self bounds]
  24355. === Safari-55 ===
  24356. 2003-01-30 Chris Blumenberg <cblu@apple.com>
  24357. Backed out my fix for 3161102. Richard and I found problems the fix. 3161102 turns out to not be an issue.
  24358. Reviewed by rjw.
  24359. * History.subproj/WebHistoryItem.m:
  24360. (+[WebHistoryItem _releaseAllPendingPageCaches]):
  24361. * WebView.subproj/WebHTMLView.m:
  24362. (-[WebHTMLView windowWillClose:]):
  24363. 2003-01-30 Chris Blumenberg <cblu@apple.com>
  24364. Fixed: 3161102 - Avoid retain cycles by destroying plug-ins in the page cache before dealloc
  24365. Reviewed by rjw.
  24366. * History.subproj/WebHistoryItem.m:
  24367. (+[WebHistoryItem _releaseAllPendingPageCaches]): iterate over all of the plug-ins and call destroy
  24368. * WebView.subproj/WebHTMLView.m:
  24369. (-[WebHTMLView windowWillClose:]): clear page cache
  24370. 2003-01-30 Chris Blumenberg <cblu@apple.com>
  24371. Fixed: 3160464 - Slideback sometimes happens twice
  24372. Because we start drags in mouseDragged (which AppKit says we shouldn't), we get mouseDragged events
  24373. after a drag (image, link, text etc) has ended. We also get mouseDragged events after we've sent the
  24374. fake mouseUp to WebCore. That is probably bad for unknown reasons.
  24375. Reviewed by darin.
  24376. * WebView.subproj/WebHTMLView.m:
  24377. (-[WebHTMLView mouseDown:]): set ignoringMouseDraggedEvents to NO
  24378. (-[WebHTMLView mouseDragged:]): check ignoringMouseDraggedEvents
  24379. (-[WebHTMLView draggedImage:endedAt:operation:]): set ignoringMouseDraggedEvents to NO
  24380. * WebView.subproj/WebHTMLViewPrivate.h: added ignoringMouseDraggedEvents
  24381. 2003-01-30 Darin Adler <darin@apple.com>
  24382. Reviewed by John.
  24383. - fixed 3160710 -- REGRESSION: bizrate.com front page ad in wrong position
  24384. The new code to compute port coordinates was screwing up somehow.
  24385. I had to roll it out and we'll have to try again to fix the problem Ed was fixing.
  24386. * Plugins.subproj/WebBaseNetscapePluginView.m:
  24387. (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
  24388. Roll back changes between 1.45 and 1.47.
  24389. 2003-01-29 Darin Adler <darin@apple.com>
  24390. Reviewed by John.
  24391. - fixed 3158624 -- crash reentering WebBaseNetscapePluginView removeTrackingRect closing window
  24392. * Plugins.subproj/WebBaseNetscapePluginView.m:
  24393. (-[WebBaseNetscapePluginView removeTrackingRect]):
  24394. Set tracking tag to 0 before releasing the window to prevent reentering.
  24395. 2003-01-29 Ken Kocienda <kocienda@apple.com>
  24396. Reviewed by Darin.
  24397. Fix for this bug:
  24398. Radar 3142818 (Downloading many items quickly can cause future page loads to fail)
  24399. The issue was with a mismatch between different object's idea about
  24400. whether callbacks were being deferred. I have simplified the code in this
  24401. area somewhat, and I have added some asserts to make sure that callbacks
  24402. are not sent when deferalls are on.
  24403. More work will need to be done in callback deferral-land, however. This change
  24404. fixes the bug, but it may not be a good long-term fix. I will file a bug on
  24405. the need for this additonal work.
  24406. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  24407. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  24408. (-[WebBaseResourceHandleDelegate defersCallbacks]): Added method.
  24409. * WebView.subproj/WebMainResourceClient.h: Removed unneeded defersBeforeCheckingPolicy flag.
  24410. * WebView.subproj/WebMainResourceClient.m:
  24411. (-[WebMainResourceClient continueAfterNavigationPolicy:request:]): Unconditionally set
  24412. callback deferrals to NO.
  24413. (-[WebMainResourceClient handle:willSendRequest:]): Remove all callback deferral code here.
  24414. (-[WebMainResourceClient continueAfterContentPolicy:response:]): Unconditionally set
  24415. callback deferrals to NO.
  24416. (-[WebMainResourceClient handle:didReceiveResponse:]): Assert that the handle argument
  24417. to this method, the client (self), and the data source's controller all are not
  24418. deferring callbacks.
  24419. Unconditionally set callback deferrals to YES.
  24420. (-[WebMainResourceClient handle:didReceiveData:]): Ditto
  24421. (-[WebMainResourceClient handleDidFinishLoading:]): Ditto
  24422. (-[WebMainResourceClient handle:didFailLoadingWithError:]): Ditto
  24423. 2003-01-29 John Sullivan <sullivan@apple.com>
  24424. - fixed 3160116 -- REGRESSION:leak in WebBookmarkLeaf at startup
  24425. Reviewed by Darin
  24426. * Bookmarks.subproj/WebBookmarkLeaf.m:
  24427. (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]):
  24428. don't leak the _entry that was created in initWithURLString:title:group:
  24429. 2003-01-29 Trey Matteson <trey@apple.com>
  24430. 3159750 - REGRESSION: cursor is I-beam when over a standalone image
  24431. We now reset the cursor to arrow before switching doc views.
  24432. Also, made various replacements of "id <WebDocumentView>" with "NSView < WebDocumentView> *"
  24433. to get better compile time checking.
  24434. Reviewed by Darin.
  24435. * WebView.subproj/WebFramePrivate.m:
  24436. (-[WebFrame _makeDocumentView]): Use NSView*
  24437. (-[WebFrame _transitionToCommitted:]): Use NSView*
  24438. * WebView.subproj/WebViewPrivate.h: Use NSView*
  24439. * WebView.subproj/WebViewPrivate.m:
  24440. (-[WebView _setDocumentView:]): Use NSView*. Reset cursor.
  24441. (-[WebView _makeDocumentViewForDataSource:]): Use NSView*
  24442. 2003-01-29 Chris Blumenberg <cblu@apple.com>
  24443. 3159529 - REGRESSION: URLs with no path are saved as "-.html"
  24444. Reviewed by darin, trey, kocienda.
  24445. * Misc.subproj/WebResourceResponseExtras.m:
  24446. (-[NSURL _web_suggestedFilenameForSavingWithMIMEType:]): Don't use the lastPathComponent if it is "/".
  24447. 2003-01-28 Trey Matteson <trey@apple.com>
  24448. Removing ERROR() that isn't an error, left over from the Safari-48 download firedrill.
  24449. Reviewed by Chris.
  24450. * Downloads.subproj/WebDownloadHandler.m:
  24451. (-[WebDownloadHandler cleanUpAfterFailure]): Don't ERROR if we are asked to cleanup
  24452. a file and there is nothing to cleanup. This can happen in the rare case of the
  24453. download being canceled before the first byte arrives, and we deal properly, no ERROR.
  24454. 2003-01-28 Chris Blumenberg <cblu@apple.com>
  24455. Fixed: 3150856 - crash with full-size plugins in frame or iframe
  24456. Reviewed by darin.
  24457. * Plugins.subproj/WebBaseNetscapePluginView.m:
  24458. (-[WebBaseNetscapePluginView start]): added assert
  24459. * Plugins.subproj/WebNetscapePluginDocumentView.m:
  24460. (-[WebNetscapePluginDocumentView setDataSource:]): added assert
  24461. * WebView.subproj/WebFramePrivate.m:
  24462. (-[WebFrame _makeDocumentView]): Don't call setDataSource here because the view is not in the view hierarchy at this point.
  24463. * WebView.subproj/WebViewPrivate.m:
  24464. (-[WebView _makeDocumentViewForDataSource:]): Call setDataSource on the document view after it has been placed in the view hierarchy. This what we for the top-level view, so should do this for views in subframes as well.
  24465. 2003-01-28 Chris Blumenberg <cblu@apple.com>
  24466. Fixed: 3156172 - No filename correction when downloading images via drag & drop
  24467. Reviewed by mjs, john, trey.
  24468. * WebView.subproj/WebControllerPrivate.h:
  24469. * WebView.subproj/WebControllerPrivate.m:
  24470. (-[WebController _downloadURL:]): call _downloadURL:toDirectory:
  24471. (-[WebController _downloadURL:toDirectory:]): call -[WebFrame _downloadRequest:toDirectory:]
  24472. * WebView.subproj/WebDataSourcePrivate.h:
  24473. * WebView.subproj/WebDataSourcePrivate.m:
  24474. (-[WebDataSourcePrivate dealloc]): release the download directory
  24475. (-[WebDataSource _setDownloadDirectory:]): new
  24476. (-[WebDataSource _downloadDirectory]): new
  24477. * WebView.subproj/WebFramePrivate.h:
  24478. * WebView.subproj/WebFramePrivate.m:
  24479. (-[WebFrame _downloadRequest:toDirectory:]): renamed
  24480. * WebView.subproj/WebHTMLView.m:
  24481. (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call -[WebController _downloadURL:toDirectory:]
  24482. * WebView.subproj/WebImageView.m:
  24483. (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): call -[WebController _downloadURL:toDirectory:]
  24484. * WebView.subproj/WebMainResourceClient.m:
  24485. (-[WebMainResourceClient continueAfterContentPolicy:response:]): if the data source has a download directory, use it plus the filename from the response as download path
  24486. 2003-01-28 Trey Matteson <trey@apple.com>
  24487. 2940179 - Arrow cursor should change to link cursor after click of link in non-frontmost window
  24488. 3158240 - cursor does not track when switching from panels to safari windows
  24489. Two changes here: First, we post fake mousemoved events to get the cursor fixed up
  24490. without checking if the mouse is down (WC deals with that now). That fixes 2940179,
  24491. because the button is down when we get notified of becoming key.
  24492. Second, we observe key window instead of main window notifications everywhere, so we
  24493. update the cursor when clicking between a panel and our doc windows.
  24494. Reviewed by Darin.
  24495. * WebView.subproj/WebHTMLView.m:
  24496. (-[WebHTMLView addMouseMovedObserver]): s/main/key/g
  24497. (-[WebHTMLView addWindowObservers]): s/main/key/g
  24498. (-[WebHTMLView removeWindowObservers]): s/main/key/g
  24499. (-[WebHTMLView windowDidBecomeKey:]): s/main/key/g
  24500. (-[WebHTMLView windowDidResignKey:]): s/main/key/g
  24501. * WebView.subproj/WebHTMLViewPrivate.m:
  24502. (-[WebHTMLView _frameOrBoundsChanged]): Always post mousemoved event.
  24503. 2003-01-28 John Sullivan <sullivan@apple.com>
  24504. - fixed 3158304 -- Assertion failure cancelling "Add Bookmark"
  24505. or deleting newly-created bookmarks
  24506. Reviewed by Darin
  24507. * Bookmarks.subproj/WebBookmarkGroup.m:
  24508. (-[WebBookmarkGroup _bookmark:changedUUIDFrom:to:]):
  24509. new method that notifies group when a bookmark that's already
  24510. in a group changes its UUID -- the UUID to bookmark dictionary
  24511. updates for this change.
  24512. * Bookmarks.subproj/WebBookmarkGroupPrivate.h:
  24513. private declaration for this method
  24514. * Bookmarks.subproj/WebBookmark.m:
  24515. (-[WebBookmark _setUUID:]):
  24516. notify group when UUID changes
  24517. (-[WebBookmark UUID]):
  24518. ditto
  24519. 2003-01-28 Darin Adler <darin@apple.com>
  24520. Reviewed by Ken.
  24521. - fixed 3156197 -- leak in -[WebBookmarkList initFromDictionaryRepresentation:withGroup:]
  24522. * Bookmarks.subproj/WebBookmarkList.m:
  24523. (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]):
  24524. Fixed storage leak by not allocating the list here, because [self init] will
  24525. be called and that will allocate the list.
  24526. 2003-01-26 Maciej Stachowiak <mjs@apple.com>
  24527. Reviewed by Darin and Ken.
  24528. * English.lproj/StringsNotToBeLocalized.txt: Removed unused exception.
  24529. 2003-01-27 Chris Blumenberg <cblu@apple.com>
  24530. Fixed: 3156230 - REGRESSION: Java 141: Safari Does Not Stop Applets When Browser Window Closes
  24531. Reviewed by dave.
  24532. * Plugins.subproj/WebPluginController.h:
  24533. * Plugins.subproj/WebPluginController.m:
  24534. (-[WebPluginController destroyAllPlugins]): renamed from HTMLViewWillBeDeallocated because it may get called before the dealloc
  24535. * WebView.subproj/WebHTMLView.m:
  24536. (-[WebHTMLView addWindowObservers]): observe NSWindowWillCloseNotification
  24537. (-[WebHTMLView removeWindowObservers]): remove observer for NSWindowWillCloseNotification
  24538. (-[WebHTMLView windowWillClose:]): call destroyAllPlugins
  24539. * WebView.subproj/WebHTMLViewPrivate.m:
  24540. (-[WebHTMLViewPrivate dealloc]): call destroyAllPlugins
  24541. 2003-01-27 Richard Williamson <rjw@apple.com>
  24542. Fixed 3139909. Fake the resource load delegate messages (minus willSendRequest)
  24543. when a page is loaded from a the page cache.
  24544. Reviewed by john.
  24545. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  24546. (-[WebBaseResourceHandleDelegate handle:didReceiveResponse:]):
  24547. * WebView.subproj/WebDataSourcePrivate.h:
  24548. * WebView.subproj/WebDataSourcePrivate.m:
  24549. (-[WebDataSourcePrivate dealloc]):
  24550. (-[WebDataSource _addResponse:]):
  24551. (-[WebDataSource _responses]):
  24552. * WebView.subproj/WebFramePrivate.m:
  24553. (-[WebFrame _opened]):
  24554. 2003-01-27 Trey Matteson <trey@apple.com>
  24555. 3157104 - reproducible assert in _continueFragmentScrollAfterNavigationPolicy
  24556. Remove assertion, and it turns out the existing code will handle the case.
  24557. * WebView.subproj/WebFramePrivate.m:
  24558. (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]):
  24559. 2003-01-27 Richard Williamson <rjw@apple.com>
  24560. Make emptying the page cache synchronous when "Empty Cache"
  24561. is selected from menu. More bulletproofing to ensure that
  24562. 3155781 doesn't happen.
  24563. Reviewed by trey.
  24564. * History.subproj/WebBackForwardList.m:
  24565. (-[WebBackForwardList clearPageCache]):
  24566. 2003-01-27 Chris Blumenberg <cblu@apple.com>
  24567. Fixed: 3156235 - change throttle for plug-in null events to 50 frames per second (when frontmost)
  24568. Reviewed by dave.
  24569. * Plugins.subproj/WebBaseNetscapePluginView.m:
  24570. 2003-01-27 Richard Williamson <rjw@apple.com>
  24571. Fixed 3151241. Cleanly handle nil return from resource:willSendRequest:fromDataSource:.
  24572. Reviewed by trey.
  24573. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  24574. (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):
  24575. (-[WebBaseResourceHandleDelegate handleDidFinishLoading:]):
  24576. (-[WebBaseResourceHandleDelegate handle:didFailLoadingWithError:]):
  24577. (-[WebBaseResourceHandleDelegate cancelWithError:]):
  24578. * WebView.subproj/WebControllerPrivate.m:
  24579. (-[WebController _mainReceivedError:fromDataSource:complete:]):
  24580. 2003-01-27 John Sullivan <sullivan@apple.com>
  24581. - fixed 3156744 -- REGRESSION: Renaming bookmarks dragged
  24582. into bookmark bar does not work at first
  24583. Reviewed by Darin
  24584. * Bookmarks.subproj/WebBookmarkList.m:
  24585. (-[WebBookmarkList insertChild:atIndex:]):
  24586. was adding self to its own group (a no-op), instead of adding
  24587. the new child to self's group. This was a typo from the
  24588. refactoring to fix 3152427.
  24589. 2003-01-27 Chris Blumenberg <cblu@apple.com>
  24590. * English.lproj/StringsNotToBeLocalized.txt: Updated for changes I previously made.
  24591. 2003-01-26 Chris Blumenberg <cblu@apple.com>
  24592. Fixed: 3156725 - Partially selected links show extra underlining when dragged
  24593. Reviewed by darin.
  24594. * WebCoreSupport.subproj/WebTextRenderer.m:
  24595. (drawLineForCharacters...): don't ignore "from" "to" parameters
  24596. 2003-01-25 Darin Adler <darin@apple.com>
  24597. Reviewed by Maciej.
  24598. - fixed 3126211 -- "go back" buttons that use "history.go(-1)" doesn't work (verizonwireless.com is an example)
  24599. Implemented new bridge functions for use by the history object.
  24600. * History.subproj/WebBackForwardList.h: Added backListCount and entryAtIndex:.
  24601. * History.subproj/WebBackForwardList.m:
  24602. (-[WebBackForwardList backListCount]): Added.
  24603. (-[WebBackForwardList entryAtIndex:]): Added.
  24604. * WebCoreSupport.subproj/WebBridge.m:
  24605. (-[WebBridge historyLength]): Added. Calls backListCount.
  24606. (-[WebBridge goBackOrForward:]): Added. Calls entryAtIndex: and then goBackOrForwardToItem:.
  24607. 2003-01-25 Chris Blumenberg <cblu@apple.com>
  24608. Fixed: 3153605 - Drag image when dragging text should be the actual text
  24609. Reviewed by darin.
  24610. * Misc.subproj/WebNSImageExtras.m:
  24611. (-[NSImage _web_dissolveToFraction:]): handle non-flipped images
  24612. * Misc.subproj/WebNSViewExtras.h: moved some constants around
  24613. * Misc.subproj/WebNSViewExtras.m:
  24614. * Resources/text_clipping.tiff: Removed.
  24615. * WebKit.pbproj/project.pbxproj:
  24616. * WebView.subproj/WebHTMLViewPrivate.m:
  24617. (-[WebHTMLView _handleMouseDragged:]): cleaned-up, get text drag image from WebCore
  24618. 2003-01-25 Darin Adler <darin@apple.com>
  24619. * Plugins.subproj/WebBaseNetscapePluginView.m: Replace some tabs with spaces.
  24620. 2003-01-24 Richard Williamson <rjw@apple.com>
  24621. Cleaned up some stray comments.
  24622. Reviewed by kocienda.
  24623. * Misc.subproj/WebUnicode.m:
  24624. (getShape):
  24625. (nextChar):
  24626. (glyphVariantLogical):
  24627. (shapedString):
  24628. 2003-01-24 Trey Matteson <trey@apple.com>
  24629. Chris pointed out a FIXME that led to a more contained way to make sure the cursor
  24630. is correct during and after image/text/URL dragging.
  24631. Reviewed by Chris.
  24632. * WebView.subproj/WebHTMLView.m:
  24633. (-[WebHTMLView draggedImage:endedAt:operation:]): No need to reset the cursor at
  24634. the end of dragging. WC deals with it.
  24635. * WebView.subproj/WebHTMLViewPrivate.m:
  24636. (-[WebHTMLView _handleMouseDragged:]): No need to set the cursor to arrow, WC
  24637. deals with it.
  24638. 2003-01-24 Darin Adler <darin@apple.com>
  24639. Reviewed by Dave.
  24640. - fixed 3142852 -- frame content repeatedly requested
  24641. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge incomingReferrer]):
  24642. Added a way to get the referrer across the bridge, needed for bug fix.
  24643. 2003-01-24 Ed Voas <voas@apple.com>
  24644. Reviewed by Darin.
  24645. Netscape plugins were being improperly positioned. I noticed this when I
  24646. put the web view into a window with borders around it (Carbon metal window,
  24647. but I would imagine Cocoa metal would do it too).
  24648. * Plugins.subproj/WebBaseNetscapePluginView.m:
  24649. (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
  24650. 2003-01-23 Trey Matteson <trey@apple.com>
  24651. 3155162 - cursor changes to I-beam after dragging image
  24652. 3154468 - no mouseup event comes through after text snippet drag
  24653. During AK dragging the system takes over the event stream and we never get any mouse
  24654. move or up events. It also changes the cursor behind out back. When done
  24655. cached state that thinks it knows the current cursor is wrong.
  24656. The fix is that after the drag we reset the cursor and synthesize a mouseup event,
  24657. which then sets the cursor based on what we're really over.
  24658. Reviewed by Darin.
  24659. * WebView.subproj/WebHTMLView.m:
  24660. (-[WebHTMLView draggedImage:endedAt:operation:]): After the drag,
  24661. reset the cursor, fake up a mouseup event.
  24662. 2003-01-24 John Sullivan <sullivan@apple.com>
  24663. Reviewed by Trey
  24664. * WebView.subproj/WebHTMLView.m:
  24665. (-[WebHTMLView takeFindStringFromSelection:]):
  24666. Now uses new _web_setFindPasteboardString:withOwner: to share code.
  24667. 2003-01-24 John Sullivan <sullivan@apple.com>
  24668. Reviewed by Trey
  24669. * Misc.subproj/WebNSPasteboardExtras.h:
  24670. * Misc.subproj/WebNSPasteboardExtras.m:
  24671. (+[NSPasteboard _web_setFindPasteboardString:withOwner:]):
  24672. New method to put text on the Find pasteboard.
  24673. 2003-01-23 Maciej Stachowiak <mjs@apple.com>
  24674. Reviewed by Trey.
  24675. * WebView.subproj/WebController.h: Remove unneeded declaration in
  24676. sample code.
  24677. 2003-01-23 Chris Blumenberg <cblu@apple.com>
  24678. Made WebTextView use the same format for context menus as the rest of WebKit.
  24679. Implemented "Copy" context menu.
  24680. Reviewed by john.
  24681. * English.lproj/Localizable.strings:
  24682. * WebView.subproj/WebControllerPrivate.m:
  24683. (-[WebController _menuForElement:]): tweak.
  24684. * WebView.subproj/WebDefaultContextMenuDelegate.m:
  24685. (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]): added "Copy" context menu.
  24686. * WebView.subproj/WebImageView.m:
  24687. (-[WebImageView menuForEvent:]): added asserts
  24688. * WebView.subproj/WebTextView.m:
  24689. (-[WebTextView menuForEvent:]): implemented
  24690. 2003-01-23 Maciej Stachowiak <mjs@apple.com>
  24691. Reviewed by Darin.
  24692. * WebView.subproj/WebController.m: Add missing static.
  24693. 2003-01-23 Darin Adler <darin@apple.com>
  24694. Reviewed by John.
  24695. * Downloads.subproj/WebBinHexDecoder.m: (-[WebBinHexDecoder fileAttributes]):
  24696. * Downloads.subproj/WebMacBinaryDecoder.m: (-[WebMacBinaryDecoder fileAttributes]):
  24697. Use "FinderFlags" instead of "FinderInfo" as appropriate, since these are
  24698. just the Finder flags, not all the Finder info.
  24699. * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler createFileIfNecessary]):
  24700. * Misc.subproj/WebNSWorkspaceExtras.m: (-[NSWorkspace _web_noteFileChangedAtPath:]):
  24701. * Plugins.subproj/WebNetscapePluginPackage.m:
  24702. (-[WebNetscapePluginPackage openResourceFile]):
  24703. (-[WebNetscapePluginPackage pathByResolvingSymlinksAndAliasesInPath:]):
  24704. (-[WebNetscapePluginPackage load]):
  24705. Use fileSystemRepresentation instead of fileSystemRepresentationWithPath:
  24706. because it's simpler and there's no good reason to use the other one.
  24707. * WebView.subproj/WebUserAgentSpoofTable.gperf: Improved one of the motivating comments.
  24708. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
  24709. === Safari-54 ===
  24710. 2003-01-22 Chris Blumenberg <cblu@apple.com>
  24711. Fixed problem where we weren't stopping the Java plug-in. This problem was introduced on Jan. 1
  24712. when the ownership of the WebPluginController was moved from WebFrame to WebDataSource. This
  24713. change moves the WebPluginController to the WebHTMLView. Why this change?
  24714. - The state of the plug-ins (currently only the Java plug-in) completely relies on the state of
  24715. the WebHTMLView, not on the state of the WebDataSource.
  24716. - WebHTMLView and WebDataSource are usually coupled via WebView and WebFrame, but not always.
  24717. In a transitional state, the WebHTMLView may not be up to date with the WebDataSource.
  24718. - WebPluginController controls an array of views. It makes more sense for this object to be
  24719. owned by a view (WebHTMLView) not a model.
  24720. Reviewed by darin.
  24721. * Plugins.subproj/WebPluginController.h:
  24722. * Plugins.subproj/WebPluginController.m:
  24723. (-[WebPluginController initWithHTMLView:]): renamed, take the HTML view
  24724. (-[WebPluginController addPlugin:]): use the HTML view
  24725. (-[WebPluginController HTMLViewWillBeDeallocated]): renamed
  24726. (-[WebPluginController showURL:inFrame:]): use the HTML view
  24727. (-[WebPluginController showStatus:]): use the HTML view
  24728. * WebCoreSupport.subproj/WebBridge.m:
  24729. (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): get the plug-in controller from the HTML view
  24730. * WebView.subproj/WebDataSourcePrivate.h:
  24731. * WebView.subproj/WebDataSourcePrivate.m:
  24732. (-[WebDataSourcePrivate dealloc]): removed calls to plug-in controller
  24733. * WebView.subproj/WebHTMLView.m:
  24734. (-[WebHTMLView initWithFrame:]): create plug-in controller
  24735. (-[WebHTMLView viewWillMoveToWindow:]): get plug-in controller from self, data source won't be accessible here since we don't have a superview
  24736. (-[WebHTMLView viewDidMoveToWindow]): get plug-in controller from self
  24737. (-[WebHTMLView addSubview:]): get plug-in controller from self
  24738. * WebView.subproj/WebHTMLViewPrivate.h:
  24739. * WebView.subproj/WebHTMLViewPrivate.m:
  24740. (-[WebHTMLViewPrivate dealloc]): release plug-in controller
  24741. (-[WebHTMLView _pluginController]): added
  24742. 2003-01-22 John Sullivan <sullivan@apple.com>
  24743. - fixed 3152427 -- Need unique IDs for bookmarks, for
  24744. synching's sake
  24745. Bookmarks now have a UUID string so that each can maintain its identity
  24746. even in the face of multi-machine synching. One known loose end is written
  24747. up in 3153832 (unique IDs in bookmarks aren't preserved correctly after copy/paste).
  24748. This should be good enough now for the iSynch folks to start implementing
  24749. the bookmarks-synching conduit.
  24750. I also did some cleanup in this area to share more code and handle
  24751. init methods more cleanly, inspired by earlier feedback from Trey and Darin.
  24752. Reviewed by Trey and Darin
  24753. * Bookmarks.subproj/WebBookmark.h:
  24754. new _UUID ivar, UUID declaration
  24755. * Bookmarks.subproj/WebBookmarkPrivate.h:
  24756. new _setUUID and _hasUUID declarations
  24757. * Bookmarks.subproj/WebBookmark.m:
  24758. (-[WebBookmark dealloc]):
  24759. assert that group is nil here; release _UUID
  24760. (-[WebBookmark copyWithZone:]):
  24761. implement the code shared by each subclass; formerly had no implementation.
  24762. (-[WebBookmark _setUUID:]):
  24763. private method to set the UUID
  24764. (-[WebBookmark UUID]):
  24765. public method to get the UUID; this lazily creates the UUID.
  24766. (-[WebBookmark _hasUUID]):
  24767. private method to check whether there's a UUID without creating
  24768. one by side effect (as calling -[WebBookmark UUID] would)
  24769. (-[WebBookmark initFromDictionaryRepresentation:withGroup:]):
  24770. implement the code shared by each subclass; formerly had no implementation.
  24771. (-[WebBookmark dictionaryRepresentation]):
  24772. implement the code shared by each subclass; formerly had no implementation.
  24773. * Bookmarks.subproj/WebBookmarkGroup.h:
  24774. new _bookmarksByUUID ivar
  24775. * Bookmarks.subproj/WebBookmarkGroupPrivate.h:
  24776. declarations for new methods _addBookmark: and _removeBookmark:
  24777. * Bookmarks.subproj/WebBookmarkGroup.m:
  24778. (-[WebBookmarkGroup init]):
  24779. new method, just complains that you should have called initWithFile: instead.
  24780. (-[WebBookmarkGroup initWithFile:]):
  24781. create _bookmarksByUUID
  24782. (-[WebBookmarkGroup dealloc]):
  24783. release _bookmarksByUUID
  24784. (-[WebBookmarkGroup _addBookmark:]):
  24785. new method, if bookmark has UUID, adds it to table, and recursively
  24786. processes children the same way
  24787. (-[WebBookmarkGroup _removeBookmark:]):
  24788. new method, if bookmark has UUID, removes it from table, and recursively
  24789. processes children the same way
  24790. (-[WebBookmarkGroup _setTopBookmark:]):
  24791. replace [bookmark setGroup:group] with [group _addBookmark:bookmark]
  24792. so it runs through the UUID code
  24793. (-[WebBookmarkGroup _bookmarkChildren:wereRemovedFromParent:]):
  24794. retitled this from "wereRemovedToParent"
  24795. * Bookmarks.subproj/WebBookmarkLeaf.m:
  24796. (-[WebBookmarkLeaf init]):
  24797. now calls initWithURLString:title:group with nil parameters so that
  24798. there's a designated initializer
  24799. (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]):
  24800. rewritten to do only the subclasses' part now
  24801. (-[WebBookmarkLeaf dictionaryRepresentation]):
  24802. rewritten to do only the subclasses' part now
  24803. (-[WebBookmarkLeaf copyWithZone:]):
  24804. rewritten to do only the subclasses' part now
  24805. * Bookmarks.subproj/WebBookmarkList.m:
  24806. (-[WebBookmarkList init]):
  24807. now calls initWithTitle:group with nil parameters so that
  24808. there's a designated initializer
  24809. (-[WebBookmarkList initWithTitle:group:]):
  24810. replace [bookmark setGroup:group] with [group _addBookmark:bookmark]
  24811. so it runs through the UUID code
  24812. (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]):
  24813. rewritten to do only the subclasses' part now
  24814. (-[WebBookmarkList dictionaryRepresentation]):
  24815. rewritten to do only the subclasses' part now
  24816. (-[WebBookmarkList copyWithZone:]):
  24817. rewritten to do only the subclasses' part now
  24818. (-[WebBookmarkList _setGroup:]):
  24819. removed this override, which used to do the recursion to set the group
  24820. of children; this recursion is now done by -[WebBookmarkGroup _addBookmark:]
  24821. and _removeBookmark:
  24822. (-[WebBookmarkList removeChild:]):
  24823. wereRemovedToParent -> wereRemovedFromParent
  24824. (-[WebBookmarkList insertChild:atIndex:]):
  24825. replace [bookmark setGroup:group] with [group _addBookmark:bookmark]
  24826. so it runs through the UUID code
  24827. * Bookmarks.subproj/WebBookmarkProxy.m:
  24828. (-[WebBookmarkProxy init]):
  24829. now calls initWithTitle:group with nil parameters so that
  24830. there's a designated initializer
  24831. (-[WebBookmarkProxy initWithTitle:group:]):
  24832. replace [bookmark setGroup:group] with [group _addBookmark:bookmark]
  24833. so it runs through the UUID code
  24834. (-[WebBookmarkProxy initFromDictionaryRepresentation:withGroup:]):
  24835. rewritten to do only the subclasses' part now
  24836. (-[WebBookmarkProxy dictionaryRepresentation]):
  24837. rewritten to do only the subclasses' part now
  24838. (-[WebBookmarkProxy copyWithZone:]):
  24839. rewritten to do only the subclasses' part now
  24840. 2003-01-22 Darin Adler <darin@apple.com>
  24841. Reviewed by Maciej.
  24842. - fixed 3153673 -- spoof as MacIE to get into http://www.mazdausa.com
  24843. - fixed 3153678 -- spoof as MacIE for http://wap.sonyericsson.com/
  24844. * WebView.subproj/WebUserAgentSpoofTable.gperf: Add the two new entries.
  24845. Also reorganize existing entries a bit.
  24846. 2003-01-22 Chris Blumenberg <cblu@apple.com>
  24847. Removed comment that I added by mistake.
  24848. * WebView.subproj/WebHTMLView.m:
  24849. (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
  24850. 2003-01-22 Chris Blumenberg <cblu@apple.com>
  24851. Fixed: 3153651 - text dragging does not work to Terminal
  24852. Reviewed by trey.
  24853. * WebView.subproj/WebHTMLView.m:
  24854. (-[WebHTMLView draggingSourceOperationMaskForLocal:]): Terminal only accepts the drag if one of the operations is generic. Made the operation both generic and copy.
  24855. 2003-01-21 Chris Blumenberg <cblu@apple.com>
  24856. Added support for text dragging.
  24857. Reviewed by dave.
  24858. * Resources/text_clipping.tiff: Added. Temp drag image until we can create an image of the selected text.
  24859. * WebCoreSupport.subproj/WebBridge.m:
  24860. (-[WebBridge mayStartDragWithMouseDraggedEvent:]): renamed, we now ask if OK to drag during the drag
  24861. * WebKit.exp: renamed element key for selected text
  24862. * WebKit.pbproj/project.pbxproj:
  24863. * WebView.subproj/WebController.h: renamed element key for selected text
  24864. * WebView.subproj/WebController.m: renamed element key for selected text
  24865. * WebView.subproj/WebHTMLViewPrivate.h:
  24866. * WebView.subproj/WebHTMLViewPrivate.m:
  24867. (-[WebHTMLView _handleMouseDragged:]): added support for text dragging
  24868. (-[WebHTMLView _mayStartDragWithMouseDragged:]): renamed, we now ask if OK to drag during the drag
  24869. 2003-01-20 Maciej Stachowiak <mjs@apple.com>
  24870. Reviewed by Trey.
  24871. - fixed 3132120 - onchange handler not firing on mac.com webmail
  24872. * WebView.subproj/WebHTMLViewPrivate.m:
  24873. (-[WebNSTextView resignFirstResponder]): If we really resign first responder, and
  24874. our delegate responds to filedWillBecomeFirstResponder, then call that method.
  24875. (-[WebNSTextView becomeFirstResponder]): If we really become first responder, and
  24876. our delegate responds to filedWillBecomeFirstResponder, then call that method.
  24877. 2003-01-20 Trey Matteson <trey@apple.com>
  24878. Nit fix to remove a dead "cursor" ivar found while grepping.
  24879. Reviewed by Richard.
  24880. * WebView.subproj/WebDynamicScrollBarsView.h:
  24881. * WebView.subproj/WebDynamicScrollBarsView.m:
  24882. 2003-01-18 Maciej Stachowiak <mjs@apple.com>
  24883. Reviewed by John.
  24884. - fixed 3123041 - VIP: Spewage at bottom of oregonlive.com and other similar pages
  24885. * WebView.subproj/WebUserAgentSpoofTable.gperf: Added nj.com to spoof list
  24886. below oregonlive.com (which was already in there). Added comment explaining the
  24887. need to spoof a bit more.
  24888. * WebView.subproj/WebUserAgentSpoofTable.c:
  24889. (hash):
  24890. (_web_findSpoofTableEntry): Regenerated.
  24891. 2003-01-17 Chris Blumenberg <cblu@apple.com>
  24892. Fixed: 3143656 - crash in MIMETypeForFile when a large QT movie is dragged over window
  24893. Reviewed by darin.
  24894. * WebView.subproj/WebControllerPrivate.m:
  24895. (+[WebController _MIMETypeForFile:]): rewrote, now calls _web_guessedMIMEType
  24896. 2003-01-17 Darin Adler <darin@apple.com>
  24897. - compressed all our non-compressed TIFF files
  24898. * Resources/nullplugin.tiff:
  24899. * Resources/url_icon.tiff:
  24900. 2003-01-16 Darin Adler <darin@apple.com>
  24901. * WebView.subproj/WebController.h: Fixed a comment that was out of date.
  24902. 2003-01-16 Chris Blumenberg <cblu@apple.com>
  24903. Fixed comment.
  24904. * Plugins.subproj/WebBaseNetscapePluginView.m:
  24905. 2003-01-16 Chris Blumenberg <cblu@apple.com>
  24906. Fixed: 3125743 - right-click doesn't count as ctrl-click in Flash
  24907. AppKit doesn't call mouseDown or mouseUp on right-click. Simulate control-click mouseDown and mouseUp so plug-ins get the right-click event as they do in Carbon
  24908. Reviewed by darin.
  24909. * Plugins.subproj/WebBaseNetscapePluginView.m:
  24910. (-[WebBaseNetscapePluginView rightMouseDown:]):
  24911. (-[WebBaseNetscapePluginView rightMouseUp:]):
  24912. 2003-01-16 Darin Adler <darin@apple.com>
  24913. Reviewed by John.
  24914. - added an API for dumping the external representation of the render tree for testing
  24915. * Misc.subproj/WebCoreStatistics.h: Added renderTreeAsExternalRepresentation.
  24916. * Misc.subproj/WebCoreStatistics.m: (-[WebFrame renderTreeAsExternalRepresentation]): Added.
  24917. - removed remnants of an earlier more-naive cut at this same sort of thing
  24918. * Misc.subproj/WebTestController.h: Removed.
  24919. * Misc.subproj/WebTestController.m: Removed.
  24920. * WebKit.exp: Removed WebTestController.
  24921. * WebKit.pbproj/project.pbxproj: Removed WebTestController.
  24922. - other changes
  24923. * WebCoreSupport.subproj/WebBridge.m: Had added new copyright date to touch a file.
  24924. That's not needed any more, but the date should be updated anyway.
  24925. === Safari-52 ===
  24926. 2003-01-15 Maciej Stachowiak <mjs@apple.com>
  24927. Reviewed by Darin.
  24928. - fixed 3143418 - controller assert in WebStandardPanels _didStartLoadingURL
  24929. - fixed 3141212 - crash in kjs garbage collection (contextimp mark)
  24930. * WebCoreSupport.subproj/WebBridge.m:
  24931. (-[WebBridge startLoadingResource:withURL:]): If the data source
  24932. doesn't have a controller, then block the load.
  24933. 2003-01-15 Darin Adler <darin@apple.com>
  24934. Reviewed by Ken.
  24935. - fixed problem where Content-Type was going into WebCore with suffixes like "charset"
  24936. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady:]):
  24937. Pass in contentType from the response, rather than the "Content-Type" header.
  24938. Also pass in the refresh header separately.
  24939. * English.lproj/StringsNotToBeLocalized.txt: Updated for above change.
  24940. 2003-01-13 Maciej Stachowiak <mjs@apple.com>
  24941. Reviewed by Darin, Dave and Trey, and given the seal of approval by Don.
  24942. Use new safer file removal call that does not handle directories.
  24943. * Downloads.subproj/WebDownloadHandler.m:
  24944. (-[WebDownloadHandler cleanUpAfterFailure]): Use
  24945. _web_removeFileOnlyAtPath:
  24946. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  24947. (-[WebBaseNetscapePluginStream dealloc]): Use _web_removeFileOnlyAtPath:
  24948. (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Use _web_removeFileOnlyAtPath:
  24949. 2003-01-14 Darin Adler <darin@apple.com>
  24950. Reviewed by Dave.
  24951. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  24952. (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
  24953. Fixed uninitialized variable warning so builds work again.
  24954. * WebView.subproj/WebDataSourcePrivate.m: (+[WebDataSource _repTypes]): Added "application/xml".
  24955. * WebView.subproj/WebViewPrivate.m: (+[WebView _viewTypes]): Added "application/xml".
  24956. * English.lproj/Localizable.strings: Regenerated.
  24957. * English.lproj/StringsNotToBeLocalized.txt: Updated for above change.
  24958. 2003-01-13 Darin Adler <darin@apple.com>
  24959. Reviewed by Trey, John, and Maciej, and given the seal of approval by Don.
  24960. - fixed 3143317 -- plug-in supplied URLs cause correspondingly named files in /tmp to be deleted
  24961. - fixed 3143330 -- plug-in supplied URLs can overwrite files used in other windows by same plug-in
  24962. * Plugins.subproj/WebBaseNetscapePluginStream.h: Make path be a char * rather than an NSString.
  24963. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  24964. (-[WebBaseNetscapePluginStream dealloc]): Use unlink() to delete the temporary file we made.
  24965. Since we created the file, we know it doesn't have any fancy stuff like a resource fork.
  24966. (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Create the file with mkstemp instead of
  24967. trying to come up with our own filename. This eliminates the need to delete an old file (because we
  24968. are guaranteed the file is new) and also mkstemp opens the file for us, so we just need to write
  24969. the contents.
  24970. * English.lproj/StringsNotToBeLocalized.txt: Updated for above changes.
  24971. - unrelated change to help with other bug analysis
  24972. * WebView.subproj/WebBaseResourceHandleDelegate.m: Added assertions.
  24973. 2003-01-12 Chris Blumenberg <cblu@apple.com>
  24974. Fix for checking and creating proper download filenames.
  24975. Reviewed by mjs, kocienda, trey.
  24976. * WebKit.pbproj/project.pbxproj:
  24977. * WebView.subproj/WebControllerPolicyDelegate.h: changes for renamed savePathForResponse:andRequest: method
  24978. * WebView.subproj/WebDefaultPolicyDelegate.m: changes for renamed savePathForResponse:andRequest: method
  24979. (-[WebDefaultPolicyDelegate savePathForResponse:andRequest:]): renamed
  24980. * WebView.subproj/WebMainResourceClient.m:
  24981. (-[WebMainResourceClient continueAfterContentPolicy:response:]): changes for renamed savePathForResponse:andRequest: method
  24982. 2003-01-12 Darin Adler <darin@apple.com>
  24983. Reviewed by John.
  24984. - fixed 3144882 -- pretend to be WinIE for abcnews.com
  24985. * WebView.subproj/WebControllerPrivate.h: Add an enum, UserAgentStringType, with values
  24986. Safari, MacIE, and WinIE. Also add NumUserAgentStringTypes and turn the userAgent and
  24987. userAgentWhenPretendingToBeMacIE strings into an array indexed by type.
  24988. * WebView.subproj/WebController.m:
  24989. (-[WebController setApplicationNameForUserAgent:]): Use a loop to discard the user agent
  24990. strings, since we have an array now.
  24991. (-[WebController userAgentForURL:]): Change user agent algorithm to check two strings rather
  24992. than once against the spoof table, allowing two dots in the "domain name", which is needed
  24993. for "abcnews.go.com". Get a user agent string type from the table rather than just a boolean
  24994. "pretend to be MacIE". Store a string per type rather than one for normalcy and one for MacIE.
  24995. Add a case for WinIE to the user agent computations.
  24996. * English.lproj/StringsNotToBeLocalized.txt: Update for change above.
  24997. * WebView.subproj/WebControllerPrivate.m:
  24998. (-[WebControllerPrivate dealloc]): Use a loop to discard the user agent strings, since we have
  24999. an array now.
  25000. (-[WebController _defaultsDidChange]): Ditto.
  25001. * WebView.subproj/WebUserAgentSpoofTable.gperf: Add a UserAgentStringType field to the struct.
  25002. Add MacIE to each existing table entry, and add a new one that says WinIE for abcnews.go.com.
  25003. * Makefile.am: Pass "-F ,0" to gperf so that we don't get warnings compiling empty entries
  25004. in the hash table.
  25005. * WebView.subproj/WebUserAgentSpoofTable.c: Re-generated.
  25006. - other changes
  25007. * WebView.subproj/WebHTMLView.m: Removed some old, dead, #if 0'd code.
  25008. 2003-01-11 Darin Adler <darin@apple.com>
  25009. Reviewed by John.
  25010. - fixed 3144479 -- put TITLE from links in status bar
  25011. * WebKit.exp: Add _WebElementLinkTitleKey and also sort this file.
  25012. * WebCoreSupport.subproj/WebImageRenderer.m: Need to touch a file to get the above
  25013. to have any effect, so update the copyright date here.
  25014. 2003-01-09 Darin Adler <darin@apple.com>
  25015. * WebKit.pbproj/project.pbxproj: Add the year 2003, remove CFBundleIconFile,
  25016. bump marketing version to 0.8.1 and version to 52u to keep up with the branch,
  25017. remove CFHumanReadableCopyright, remove NSPrincipalClass.
  25018. * English.lproj/InfoPlist.strings: Updated to match above changes.
  25019. 2003-01-09 Darin Adler <darin@apple.com>
  25020. Reviewed by Maciej.
  25021. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
  25022. 2003-01-09 Richard Williamson <rjw@apple.com>
  25023. Fixed 3143361. This was a regression introduced with some image
  25024. rendering optimizations. Don't bypass the tiling code path if
  25025. the image needs to be rendered out-of-phase.
  25026. Reviewed by hyatt.
  25027. * WebCoreSupport.subproj/WebImageRenderer.m:
  25028. (-[WebImageRenderer tileInRect:fromPoint:]):
  25029. 2003-01-09 Darin Adler <darin@apple.com>
  25030. Reviewed by Chris.
  25031. - second pass on 3143332 - we still need a test case to be sure this is right
  25032. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  25033. (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
  25034. Check for "/". Also report the failure instead of just hanging on forever.
  25035. 2003-01-09 Darin Adler <darin@apple.com>
  25036. Reviewed by Richard.
  25037. - fixed 3143332 -- if path returned is empty string (or "." or "..") it will trash the /tmp symlink
  25038. * Plugins.subproj/WebBaseNetscapePluginStream.m:
  25039. (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
  25040. Check for empty string, ".", and "..", and don't create files by those names.
  25041. 2003-01-09 Trey Matteson <trey@apple.com>
  25042. 3143294 - need short-term bulletproofing of download code against bad filenames
  25043. We protect against a download location that is not an absolute path.
  25044. Reviewed by Darin
  25045. * WebView.subproj/WebMainResourceClient.m:
  25046. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  25047. Bail on download if we don't have a abs path to write to.
  25048. 2003-01-08 Trey Matteson <trey@apple.com>
  25049. 3142201 - home directory nuked during power download session
  25050. We add checks for various error cases that could combine to cause this problem. While we
  25051. never got a reproducible case, we are confident that this is the only file removal done
  25052. in the download code, and its ability to wreak havoc has been clipped.
  25053. Reviewed by Richard.
  25054. * Downloads.subproj/WebDownloadHandler.m:
  25055. (-[WebDownloadHandler cleanUpAfterFailure]): Only nuke the partial download if in fact we created
  25056. a new download file. Never nuke a directory.
  25057. (-[WebDownloadHandler createFileIfNecessary]): Don't add "." to the foo-1 filenames we generate
  25058. if the original filename doesn't have any extension.
  25059. * WebView.subproj/WebMainResourceClient.m:
  25060. (-[WebMainResourceClient continueAfterContentPolicy:response:]):
  25061. If the policyDelegate gives us a nil filename, just stop the whole load, instead of trying to
  25062. overwrite the user's home directory.
  25063. 2003-01-08 Chris Blumenberg <cblu@apple.com>
  25064. Fixed: 3111432 - Support OBJECT tags with type text/plain or text/html
  25065. Reviewed by dave.
  25066. * WebCoreSupport.subproj/WebBridge.m:
  25067. (-[WebBridge frameRequiredForMIMEType:]): added, returns YES for non-plug-in views
  25068. 2003-01-08 Chris Blumenberg <cblu@apple.com>
  25069. FIXED: 3128098 - flash performance weak!!!
  25070. Reviewed by darin.
  25071. * Plugins.subproj/WebBaseNetscapePluginView.m: Don't throttle plug-in when in an active window.
  25072. 2003-01-03 Richard Williamson <rjw@apple.com>
  25073. Fixed 3139129. Added application/xhtml+xml to list of supported type.
  25074. Reviewed by gramps.
  25075. * WebView.subproj/WebDataSourcePrivate.m:
  25076. (+[WebDataSource _repTypes]):
  25077. * WebView.subproj/WebViewPrivate.m:
  25078. (+[WebView _viewTypes]):
  25079. 2003-01-03 Richard Williamson <rjw@apple.com>
  25080. Support for fixes to 3138743, 3138678. Added
  25081. isFontFixedPitch used to determine if font is fixed
  25082. pitch. Makes use of appkit private _isFakeFixedPitch
  25083. (detects courier and monoca). Updated our fakey test
  25084. to use the appkit's version.
  25085. Reviewed by darin.
  25086. * WebCoreSupport.subproj/WebTextRenderer.m:
  25087. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  25088. (-[WebTextRendererFactory isFontFixedPitch:]):
  25089. 2003-01-03 Darin Adler <darin@apple.com>
  25090. Reviewed by Chris.
  25091. - fixed leak of WebIconLoader observed using leaks tool
  25092. * WebView.subproj/WebDataSourcePrivate.m:
  25093. (-[WebDataSourcePrivate dealloc]): Tell the icon loader to stop loading.
  25094. Add a FIXME asking why we had to do this to fix the leak.
  25095. (-[WebDataSource _loadIcon]): Add an assertion.
  25096. 2003-01-03 Richard Williamson <rjw@apple.com>
  25097. Fix to 3131226. Don't force a layout when the document view is set
  25098. on the page's scrollview. A layout would occur indirectly as a result
  25099. of reflectScrolledClipView: being called when the document view
  25100. was set. The khtmlpart/khtmlview/WebHTMLView would be out of sync
  25101. at this point and a layout would have unintended and incorrect
  25102. side effects.
  25103. Reviewed by Darin (and tested by John).
  25104. * WebView.subproj/WebDynamicScrollBarsView.h:
  25105. * WebView.subproj/WebDynamicScrollBarsView.m:
  25106. (-[WebDynamicScrollBarsView updateScrollers]):
  25107. * WebView.subproj/WebViewPrivate.m:
  25108. (-[WebView _setDocumentView:]):
  25109. === Alexander-48 ===
  25110. 2003-01-02 Richard Williamson <rjw@apple.com>
  25111. Increase the minimum font size to 9pt. This bounds the lower
  25112. size of the sizes array used for named sizes. Net effect is
  25113. to increase xx-small from 8pt to 9pt. xx-small is used by
  25114. www.microsoft.com.
  25115. Reviewed by hyatt.
  25116. * WebView.subproj/WebPreferences.m:
  25117. (+[WebPreferences load]):
  25118. 2003-01-02 Darin Adler <darin@apple.com>
  25119. Reviewed by Don.
  25120. - at Scott and Don's request, roll out small text anti-aliasing cutoff
  25121. Turns out this makes small text look worse, not better. We're not going to respect
  25122. this setting, and in Panther AppKit will almost certainly be changed not to either.
  25123. * WebCoreSupport.subproj/WebTextRenderer.m: Rolled out yesterday's change using CVS.
  25124. 2003-01-02 Darin Adler <darin@apple.com>
  25125. Reviewed by John and Don.
  25126. - fixed 3137661 -- REGRESSION: autoscroll selection is broken
  25127. The new logic in WebCore is slightly pickier, and can't abide a mouse-moved event
  25128. coming in during a drag. Unfortunately, we were sending a fake mouse-moved event
  25129. during a drag, so lets not do that.
  25130. * WebView.subproj/WebHTMLView.m:
  25131. (-[WebHTMLView mouseDown:]): Cancel any scheduled fake mouse-moved event.
  25132. (-[WebHTMLView mouseUp:]): Send a fake mouse-moved event because we didn't update during the drag.
  25133. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _frameOrBoundsChanged]):
  25134. Don't schedule a fake mouse-moved event if the mouse is down, because that means we are in the
  25135. middle of a drag.
  25136. 2003-01-02 Darin Adler <darin@apple.com>
  25137. Reviewed by John and Ken.
  25138. - fixed 3135548 -- exception in Internet Explorer bookmark import code at first startup
  25139. * Bookmarks.subproj/WebBookmarkImporter.m:
  25140. (_breakStringIntoLines): Break lines before a <DT> or </DL>.
  25141. (_HREFTextFromSpec): Rewrite to simplify, search in a case-insensitive manner.
  25142. (-[WebBookmarkImporter initWithPath:]): Change prefix checks to be case-insensitive.
  25143. Don't discard folders altogether if the name can't be parsed as that would mess up
  25144. nesting w.r.t the next </DL>. Make the </DL> handling robust so we misparse, but don't
  25145. crash the whole application by raising an exception.
  25146. * English.lproj/StringsNotToBeLocalized.txt: Updated for this change and recent changes.
  25147. 2003-01-01 Richard Williamson <rjw@apple.com>
  25148. Obey the font smoothing size preference (3137618).
  25149. Reviewed by Don and Darin.
  25150. * WebCoreSupport.subproj/WebTextRenderer.m:
  25151. 2002-12-31 Maciej Stachowiak <mjs@apple.com>
  25152. Reviewed by Darin.
  25153. - fixed 3130831 - HOMEPAGE: JavaScript that tries to intercept onmousedown fails, image gets dragged instead
  25154. - fixed 3125554 - while dragging to select text in a nested frame, you can start dragging a link or image
  25155. * WebCoreSupport.subproj/WebBridge.m:
  25156. (-[WebBridge handleMouseDragged:]): New method; call through the WebHTMLView.
  25157. (-[WebBridge mayStartDragWithMouseDown:]): Likewise.
  25158. (-[WebBridge handleAutoscrollForMouseDragged:]): Likewise.
  25159. * WebView.subproj/WebHTMLView.m:
  25160. (-[WebHTMLView mouseDragged:]): Instead of doing drag handling
  25161. here, just pass the event to WebCore.
  25162. (-[WebHTMLView draggedImage:endedAt:operation:]): Send a fake
  25163. mousemove event instead of sending the current event (likely a
  25164. mouse up as if it were a mouse move).
  25165. * WebView.subproj/WebHTMLViewPrivate.h:
  25166. * WebView.subproj/WebHTMLViewPrivate.m:
  25167. (-[WebHTMLViewPrivate dealloc]): Release drag element if any.
  25168. (-[WebHTMLView _dragImageForElement:]): New method. Split out the
  25169. code to make the special drag image for links.
  25170. (-[WebHTMLView _handleMouseDragged:]): Move all the drag handling
  25171. here. This method will get called only if WebCore hasn't blocked
  25172. default drag handling.
  25173. (-[WebHTMLView _handleAutoscrollForMouseDragged:]): Do
  25174. autoscroll. Autoscroll is still lame, we need a timer.
  25175. (-[WebHTMLView _mayStartDragWithMouseDown:]): Determine if the element
  25176. is a link or image and so may be dragged; remember the drag element.
  25177. 2003-01-01 Richard Williamson <rjw@apple.com>
  25178. Correct fix for 3137430 that doesn't always effectively disable
  25179. the cache.
  25180. Reviewed by kocienda.
  25181. * History.subproj/WebHistoryItem.m:
  25182. * WebView.subproj/WebFramePrivate.m:
  25183. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
  25184. 2003-01-01 Richard Williamson <rjw@apple.com>
  25185. Don't reset the cookie policy URL if it has already been set. Fixes to 3109590.
  25186. Reviewed by Maciej.
  25187. * WebView.subproj/WebFramePrivate.m:
  25188. (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
  25189. 2003-01-01 Richard Williamson <rjw@apple.com>
  25190. Don't attempt to restore page from page cache if the cache
  25191. doesn't contain valid page state. This may happen after a
  25192. redirect. Fixes 3137430.
  25193. Reviewed by kocienda.
  25194. * History.subproj/WebHistoryItem.m:
  25195. 2002-12-31 Darin Adler <darin@apple.com>
  25196. Reviewed by Trey.
  25197. - fixed 3137287 -- REGRESSION: Java applets don't work when you go back to them (Java 1.4.1 plug-in)
  25198. By attaching the plug-in controller to the frame, we run into trouble.
  25199. It really needs to be attached to the data source, which has the right lifetime
  25200. and is kept around in the page cache.
  25201. * Plugins.subproj/WebPluginController.h: Keep a reference to a data source, not a frame.
  25202. Add a new _started variable. Rename addPluginView: to addPlugin:, get rid of didAddPluginView:,
  25203. replace destroyAllPlugins with dataSourceWillBeDeallocated, add startAllPlugins and stopAllPlugins.
  25204. * Plugins.subproj/WebPluginController.m:
  25205. (-[WebPluginController initWithDataSource:]): Store a data source reference, not a frame reference.
  25206. Don't bother registering for the window will close notification, WebHTMLView handles that fine.
  25207. (-[WebPluginController startAllPlugins]): Do nothing if they are already started, call pluginStart on each otherwise.
  25208. (-[WebPluginController stopAllPlugins]): Do nothing if they are not started, call pluginStop on each otherwise.
  25209. (-[WebPluginController addPlugin:]): Initialize the plugin if it's not already in our list. Also start
  25210. it if we are in "started" mode.
  25211. (-[WebPluginController dataSourceWillBeDeallocated]): Stop all the plugins, then destroy them.
  25212. Also nil out the fields of the object. This is always called before the controller is released so we
  25213. don't need to override dealloc.
  25214. (-[WebPluginController showURL:inFrame:]): Added error checking and changed now that we start with a data source.
  25215. (-[WebPluginController showStatus:]): Ditto.
  25216. * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
  25217. Use the data source, not the view. Don't add the plugin here, wait until we are ready to start.
  25218. * WebView.subproj/WebDataSourcePrivate.h: Store a pointer to the plug-in controller here.
  25219. * WebView.subproj/WebDataSourcePrivate.m:
  25220. (-[WebDataSourcePrivate dealloc]): Tell the plug-in controller to go away.
  25221. (-[WebDataSource _makeHandleDelegates:deferCallbacks:]): Remove unused empty method.
  25222. (-[WebDataSource _pluginController]): Create a plug-in controller if needed.
  25223. * WebView.subproj/WebFramePrivate.h: Remove plug-in controller code.
  25224. * WebView.subproj/WebFramePrivate.m:
  25225. (-[WebFramePrivate dealloc]): Remove plug-in controller code.
  25226. (-[WebFrame _detachFromParent]): Remove plug-in controller code.
  25227. (-[WebFrame _transitionToCommitted:]): Remove plug-in controller code.
  25228. * WebView.subproj/WebHTMLView.m:
  25229. (-[WebHTMLView viewWillMoveToWindow:]): Stop plug-ins when view moves out of a window.
  25230. This includes the case when the window is being destroyed.
  25231. (-[WebHTMLView viewDidMoveToWindow]): Start plug-ins when view moves into a window.
  25232. (-[WebHTMLView addSubview:]): Add plug-ins to the controller as they are added to us.
  25233. * WebView.subproj/WebController.m: Added now-needed include due to header change.
  25234. * WebView.subproj/WebDefaultContextMenuDelegate.m: Ditto.
  25235. === Alexander-47 ===
  25236. 2002-12-30 Darin Adler <darin@apple.com>
  25237. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  25238. 2002-12-30 Trey Matteson <trey@apple.com>
  25239. 3137110 - REGRESSION: calls from 2nd and subsequent instances of Java 1.4.1 plug-in seem to be ignored
  25240. We had previously made changes to "numb" a plugin controller after its frame
  25241. was tossed or changed content. We now finish the job by making sure a new
  25242. controller is created when we go to a new page with plugins. To so this we
  25243. release the old controller whenever we flush the plugins from a page.
  25244. Reviewed by Maciej.
  25245. * WebView.subproj/WebFramePrivate.m:
  25246. (-[WebFrame _detachFromParent]): Call newly factored code.
  25247. (-[WebFrame _transitionToCommitted:]): Call newly factored code.
  25248. (-[WebFrame _destroyPluginController]): New method to tear down plugins.
  25249. 2002-12-30 Trey Matteson <trey@apple.com>
  25250. 3135025 - Assertion failure in _transitionToCommitted on espn nba scoreboard
  25251. For blank pages we decided that there would be no b/f entry. This means that
  25252. subframes within such pages (created via doc.write()), should not try to make
  25253. WebHistoryItems, since they have no parent items to attach them to.
  25254. Reviewed by Darin.
  25255. * WebView.subproj/WebFramePrivate.m:
  25256. (-[WebFrame _transitionToCommitted:]): Don't make a history item for a subframe
  25257. it the parent frame has no item.
  25258. 2002-12-30 Trey Matteson <trey@apple.com>
  25259. 3135779 - REGRESSION: reproducible assertion failure, going back from ~orubin to the main spies.com page 3136218 - REGRESSION: Assertion failure in _restoreScrollPosition running browser buster
  25260. Both were caused by subtle interactions between new code for short-circuiting loading of
  25261. blank pages, and the WebHistoryItem manipulations we do for b/f and reload of child frames.
  25262. Reviewed by Maciej
  25263. * WebView.subproj/WebFramePrivate.m:
  25264. (-[WebFrame _loadURL:intoChild:]): Setup provisional or current item before jumping into
  25265. the real work of loading the URL.
  25266. (-[WebFrame _restoreScrollPosition]): Tweaked to make the assertion message clearer.
  25267. 2002-12-30 Darin Adler <darin@apple.com>
  25268. Reviewed by Don and Ken.
  25269. - fixed 3136797 -- crash when Adobe SVG Viewer plug-in puts up modal dialog
  25270. * Plugins.subproj/WebBaseNetscapePluginView.h: Add inSetWindow boolean.
  25271. * Plugins.subproj/WebBaseNetscapePluginView.m:
  25272. (-[WebBaseNetscapePluginView sendEvent:]): Don't send any events to a plug-in while it's
  25273. inside NPP_SetWindow. We don't want to implement more general reentrancy protection, because
  25274. it could cause trouble for plugins that can handle it correctly, but it's unlikely that any
  25275. legitimate use would require reentrant calls while inside NPP_SetWindow, and that's the case
  25276. that crashes for the SVG viewer plug-in when it presents its registration dialog.
  25277. (-[WebBaseNetscapePluginView setWindow]): Set boolean.
  25278. 2002-12-29 Darin Adler <darin@apple.com>
  25279. Reviewed by Don.
  25280. - fixed 3103287 -- body of page not rendered (page uses JavaScript trick to be both a frameset and a frame)
  25281. Our self-reference checks prevented this page from working.
  25282. I just removed the WebKit one, since it was really just working around a problem with the WebCore
  25283. one that I fixed (didn't ignore #xxx suffixes).
  25284. * WebCoreSupport.subproj/WebBridge.m:
  25285. (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
  25286. Remove self-reference check.
  25287. 2002-12-29 Darin Adler <darin@apple.com>
  25288. Reviewed by Don.
  25289. - fixed 3136801 -- scrolling a page that contains a QuickTime movie leaves garbage behind
  25290. * Plugins.subproj/WebBaseNetscapePluginView.m:
  25291. (-[WebBaseNetscapePluginView tellQuickTimeToChill]): Added. Calls a QuickDraw SPI
  25292. CallDrawingNotifications to let QuickTime know it should take a nature break.
  25293. (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): Call tellQuickTimeToChill.
  25294. (-[WebBaseNetscapePluginView viewHasMoved:]): Call tellQuickTimeToChill.
  25295. 2002-12-29 Darin Adler <darin@apple.com>
  25296. Reviewed by Don.
  25297. - follow-on to my fix for 3125877 that fixes a crash I observed when a plug-in fails to NPP_New
  25298. I filed bug 3136870 about the fact that we don't do a good job reporting the error.
  25299. * Plugins.subproj/WebBaseNetscapePluginView.m:
  25300. (-[WebBaseNetscapePluginView sendEvent:]): Return quietly if this is called when
  25301. the plug-in is not started rather than asserting (and doing bad things on Deployment).
  25302. (-[WebBaseNetscapePluginView setWindow]): Ditto.
  25303. (-[WebBaseNetscapePluginView viewHasMoved:]): Just call setWindow since it now checks isStarted.
  25304. 2002-12-29 Darin Adler <darin@apple.com>
  25305. Reviewed by Don.
  25306. - fixed 3120630 -- spacebar scrolls the page as well as pausing the QuickTime movie
  25307. Imitate Mozilla and OmniWeb by not propagating keyboard events after passing them to
  25308. plug-ins regardless of what the plug-in returns, rather than imitating MacIE, which
  25309. looks at the return value from NPP_HandleEvent.
  25310. * Plugins.subproj/WebBaseNetscapePluginView.m:
  25311. (-[WebBaseNetscapePluginView keyUp:]): Remove call to super, add comment.
  25312. (-[WebBaseNetscapePluginView keyDown:]): Ditto.
  25313. 2002-12-29 Darin Adler <darin@apple.com>
  25314. Reviewed by Ken and Don.
  25315. - fixed 3136120 -- much content missing at www.olympic.org
  25316. This site gives modern CSS to "Internet Explorer" or "Netscape 6". Since we are neither of
  25317. those, we need to pretend to be one or the other. So we add olympic.org to our MacIE spoofing list.
  25318. * WebView.subproj/WebUserAgentSpoofTable.gperf: Add olympic.org to the list of pages that give us better
  25319. CSS if we claim to be Internet Explorer.
  25320. * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
  25321. === Alexander-46 ===
  25322. 2002-12-28 Ken Kocienda <kocienda@apple.com>
  25323. Reviewed by Gramps and Richard
  25324. Fix for this bug:
  25325. Radar 3112233 (400 response when attaching files at mail.yahoo.com)
  25326. I added the MIMETypeForPath method which accesses the WebFoundation mime
  25327. file map we maintain. KHTML can now access this map by using the bridge.
  25328. * WebCoreSupport.subproj/WebBridge.m:
  25329. (-[WebBridge MIMETypeForPath:])
  25330. 2002-12-28 Darin Adler <darin@apple.com>
  25331. Reviewed by Gramps and Ken
  25332. Checked in by Ken
  25333. - fixed 3125877 -- RealPlayer plug-in doesn't work in Safari
  25334. * Plugins.subproj/WebBaseNetscapePluginView.h: Remove some methods that don't have
  25335. any need to be public, getCarbonEvent:, sendEvent:, sendUpdateEvent, setUpWindowAndPort.
  25336. Make setWindow public.
  25337. * Plugins.subproj/WebBaseNetscapePluginView.m:
  25338. (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): Added. This replaces the
  25339. old setUpWindowAndPort. Besides setting up the port and the window, it also sets up the
  25340. port's origin, clip, visible, and update regions properly, and sets the current port.
  25341. In the case of an update event, we have extra work to do, which was formerly done in drawRect:.
  25342. (-[WebBaseNetscapePluginView saveAndSetPortState]): Calls saveAndSetPortStateForUpdate:NO.
  25343. (-[WebBaseNetscapePluginView restorePortState:]): Undoes the port state changes done by the
  25344. saveAndSetPortState calls.
  25345. (-[WebBaseNetscapePluginView sendEvent:]): Call saveAndSetPortStateForUpdate: before sending
  25346. the event to the plug-in. This is the core of fixing the bug. We need to have the port set
  25347. up properly. Specifically, RealPlayer depended on the port's origin being set and the update
  25348. region being set. Also added a "draw green" debugging aid to builds without NDEBUG set.
  25349. (-[WebBaseNetscapePluginView sendNullEvent]): Update text of a FIXME.
  25350. (-[WebBaseNetscapePluginView setWindow]): Call the new saveAndSetPortState method instead of
  25351. the old setUpWindowAndPort method.
  25352. (-[WebBaseNetscapePluginView drawRect:]): Remove bug workarounds that are now inside the
  25353. saveAndSetPortStateForUpdate: method.
  25354. (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Add missing call to super.
  25355. (-[WebBaseNetscapePluginView windowBecameKey:]): Don't send an update event to the plugin directly.
  25356. Instead mark this view as needing display so we'll get a drawRect later.
  25357. (-[WebBaseNetscapePluginView windowResignedKey:]): Ditto.
  25358. (-[WebBaseNetscapePluginView requestWithURLCString:]): Corrected handling of URLs. Absolute URLs
  25359. are handled by the relative URL function, so there's no need to do an explicit check. Also use
  25360. requestWithURL instead of doing a three-method dance that does the same thing.
  25361. (-[WebBaseNetscapePluginView invalidateRect:]): Use setNeedsDisplayInRect: to schedule redrawing
  25362. rather than forcing an update right away by doing a sendUpdateEvent directly.
  25363. (-[WebBaseNetscapePluginView invalidateRegion:]): Ditto.
  25364. (-[WebBaseNetscapePluginView forceRedraw]): Use setNeedsDisplay: and displayIfNeeded to do the
  25365. drawing through the view system instead of doing a sendUpdateEvent directly.
  25366. * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView layout]):
  25367. Do a setWindow rather than a setUpWindowAndPort when the size of the view changes. This matches
  25368. what other browsers do and extends the bug fix for the Java plug-in to the resize case as well as
  25369. the scrolling case.
  25370. * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage initWithPath:]):
  25371. Remove RealPlayer antibodies.
  25372. 2002-12-27 Darin Adler <darin@apple.com>
  25373. Reviewed by Don.
  25374. - fixed 3136206 -- Can't display images in Ambrosia Software image viewer
  25375. WebKit wasn't creating the frames correctly when they weren't HTML.
  25376. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _makeDocumentView]): Added. Calls the
  25377. WebView to make the document view and then installs the new view, as WebHTMLView used to do.
  25378. (-[WebFrame _transitionToCommitted:]): Call _makeDocumentView instead of calling WebView
  25379. directly. These are all the calls to _makeDocumentViewForDataSource:.
  25380. * WebView.subproj/WebViewPrivate.h: Add return value to _makeDocumentViewForDataSource:.
  25381. * WebView.subproj/WebViewPrivate.m: (-[WebView _makeDocumentViewForDataSource:]):
  25382. Return the newly-created view.
  25383. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView setDataSource:]): Removed the code here
  25384. since it's done by WebFrame now.
  25385. 2002-12-25 Darin Adler <darin@apple.com>
  25386. Reviewed by Don.
  25387. - fixed 3133611 -- Java "ticker" applet renders badly when scrolling page
  25388. * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView viewHasMoved:]):
  25389. Call setWindow so we make a call to the plugin each time it moves, rather than just adjusting
  25390. the data structure we had passed to it earlier.
  25391. 2002-12-24 Darin Adler <darin@apple.com>
  25392. Reviewed by Richard and Don.
  25393. - fixed 3132192 -- HOMEPAGE: Quicktime plug in with AVI content brings Plug-ins not found panel
  25394. * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
  25395. Lower-case the key before searching for it. This is needed for both MIME types and extensions,
  25396. since we want case insensitive comparison in both cases.
  25397. === Alexander-45 ===
  25398. 2002-12-23 Ken Kocienda <kocienda@apple.com>
  25399. Reviewed by Darin and Gramps
  25400. Workaround for this bug:
  25401. Radar 3134219 (MPEG-4 files don't work with the QuickTime plugin in Safari,
  25402. work fine in Mozilla, IE)
  25403. For beta 1, when getting the MIME information for the QuickTime plugin, we directly
  25404. insert the information to handle MP4.
  25405. In the future, we will use the additional plugin entry points to dynamically load
  25406. this information from the plugin itself.
  25407. * Plugins.subproj/WebNetscapePluginPackage.m:
  25408. (-[WebNetscapePluginPackage getMIMEInformation])
  25409. 2002-12-23 Darin Adler <darin@apple.com>
  25410. Reviewed by John and Don.
  25411. - fixed 3134282 -- REGRESSION: text encoding setting reverts when you go to a new location
  25412. * WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]): Propagate an override encoding if there
  25413. was an existing data source and it had an override encoding.
  25414. * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadRequest:triggeringAction:loadType:]): Ditto.
  25415. === Alexander-44 ===
  25416. 2002-12-20 Trey Matteson <trey@apple.com>
  25417. Do not add empty URLs to the back forward list.
  25418. Reviewed by Richard, Darin
  25419. * WebView.subproj/WebFramePrivate.m:
  25420. (-[WebFrame _transitionToCommitted:]):
  25421. 2002-12-20 Trey Matteson <trey@apple.com>
  25422. 3133829 - crash leaving page with a running applet
  25423. This fixes some holes in how we teardown plugins. An additional fix is expected
  25424. from Mike Hay to finish the issue. (3133981)
  25425. Reviewed by Richard
  25426. * Plugins.subproj/WebPluginController.m:
  25427. (-[WebPluginController destroyAllPlugins]): frame=nil, so we don't do any more
  25428. messaging back to WK after this step.
  25429. (-[WebPluginController showURL:inFrame:]): bail if !frame
  25430. (-[WebPluginController showStatus:]): bail if !frame
  25431. * WebView.subproj/WebFramePrivate.m:
  25432. (-[WebFrame _detachFromParent]): destroy plugins here. We were only doing it
  25433. in the non-frame case.
  25434. === Alexander-43 ===
  25435. 2002-12-20 Trey Matteson <trey@apple.com>
  25436. 3131841 - crash when switching encodings on a page with frames
  25437. Reviewed by rjw
  25438. * WebView.subproj/WebFramePrivate.m:
  25439. (-[WebFrame _transitionToCommitted:]): Create a docView in the LoadStale case, like
  25440. every other kind of load does.
  25441. 2002-12-20 Richard Williamson <rjw@apple.com>
  25442. Fixed 3133261. This fix really has two parts. This first part
  25443. is here in WebTextRenderer. The second part adds some width
  25444. caching to RenderText. I was using a stack allocated array,
  25445. this would blow out the stack for large strings.
  25446. Reviewed by john.
  25447. * WebCoreSupport.subproj/WebTextRenderer.m:
  25448. 2002-12-20 Trey Matteson <trey@apple.com>
  25449. We now build with symbols the B&I. Deployment builds are without symbols,
  25450. so it is easy to generate a non-huge app as a one-off.
  25451. Reviewed by Darin
  25452. * WebKit.pbproj/project.pbxproj:
  25453. === Alexander-42 ===
  25454. 2002-12-19 John Sullivan <sullivan@apple.com>
  25455. - WebKit part of fix for 3124949 -- Alexander recreates the
  25456. default set of bookmarks every time a separate app copy is launched
  25457. Reviewed by Darin
  25458. * Bookmarks.subproj/WebBookmarkGroup.h:
  25459. new _tag ivar and -tag method.
  25460. * Bookmarks.subproj/WebBookmarkGroup.m:
  25461. (-[WebBookmarkGroup dealloc]):
  25462. release _tag
  25463. (-[WebBookmarkGroup tag]):
  25464. return _tag
  25465. (-[WebBookmarkGroup _loadBookmarkGroupGuts]):
  25466. read _tag from the dictionary in the file (or leave it at
  25467. nil if there's no value in the file).
  25468. * English.lproj/StringsNotToBeLocalized.txt:
  25469. kept this file up to date
  25470. 2002-12-19 Darin Adler <darin@apple.com>
  25471. Reviewed by John.
  25472. - corrected the name of a method that was leading to trouble elsewhere
  25473. * WebView.subproj/WebDataSource.h: Change fileType to fileExtension for clarity.
  25474. * WebView.subproj/WebDataSource.m: (-[WebDataSource fileExtension]): Ditto.
  25475. === Alexander-41 ===
  25476. 2002-12-19 Darin Adler <darin@apple.com>
  25477. Reviewed by John.
  25478. - probably fixed 3129395 -- Reproducible crash when running a javascript at www.scenespot.org
  25479. * WebCoreSupport.subproj/WebViewFactory.m:
  25480. (-[WebViewFactory runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
  25481. Close the window. Before we relied on it being released which was bad. But it's not clear this
  25482. actually was the cause of the bug.
  25483. 2002-12-19 Darin Adler <darin@apple.com>
  25484. Reviewed by Chris.
  25485. - fixed 31323455 -- REGRESSION: Crash in plugin code closing popup window on lordoftherings.net
  25486. * Plugins.subproj/WebBaseNetscapePluginView.m:
  25487. (-[WebBaseNetscapePluginView sendEvent:]): Added an assert.
  25488. (-[WebBaseNetscapePluginView setWindow]): Added an assert.
  25489. (-[WebBaseNetscapePluginView stop]): Cancel perform requests, now that we are using them for
  25490. URL navigation.
  25491. (-[WebBaseNetscapePluginView frameStateChanged:]): Only notify if the plugin is still running.
  25492. (-[WebBaseNetscapePluginView loadPluginRequest:]): Added. Does the actual load at idle time.
  25493. Also fixed to only notify if plugin is loaded. Added a number of FIXMEs for other problems here.
  25494. Also send JavaScript to the appropriate frame, not always the top level.
  25495. (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Use loadPluginRequest:
  25496. to do the request after a delay. Also remove the special cases for special frame names; they
  25497. were trying to avoid calling a plugin that has gone away, but we do that a better way now.
  25498. (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): Added logging.
  25499. (-[WebBaseNetscapePluginView status:]): Use Windows Latin-1 rather than MacRoman for messages.
  25500. I guess we should test later to find out which is used by MacIE and conform to that, but for now
  25501. this seems like a better default.
  25502. (-[WebPluginRequest initWithRequest:frame:notifyData:]): Added.
  25503. (-[WebPluginRequest dealloc]): Added.
  25504. (-[WebPluginRequest request]): Added.
  25505. (-[WebPluginRequest webFrame]): Added.
  25506. (-[WebPluginRequest notifyData]): Added.
  25507. 2002-12-18 Darin Adler <darin@apple.com>
  25508. Reviewed by Chris.
  25509. - fixed fix for 3132056 -- Supply Finder bits for decoded BinHex files
  25510. * Downloads.subproj/WebBinHexDecoder.m: (-[WebBinHexDecoder decodeHeader]):
  25511. Mask off fewer Finder flag bits. Use the same mask as for MacBinary, in fact.
  25512. 2002-12-18 Darin Adler <darin@apple.com>
  25513. Reviewed by Richard.
  25514. - fixed 3127490 -- pages w/frames sometimes show up blank
  25515. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
  25516. Updated the optimization where we draw the entire view if we did a layout
  25517. so that it works properly for the case where the clip is narrower because of
  25518. the parent WebHTMLView.
  25519. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  25520. === Alexander-40 ===
  25521. 2002-12-18 Trey Matteson <trey@apple.com>
  25522. 3098388 - Pressing the back button goes back two levels at allmusic.com
  25523. I rewrote the logic we use to decide whether a given redirect should be
  25524. treated as part of the previous navigation. We make use of WebCore's
  25525. lockHistory setting, the delay time and the frame state.
  25526. Reviewed by Darin.
  25527. * WebCoreSupport.subproj/WebBridge.m:
  25528. (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:]):
  25529. Pass lockHistory up to the frame.
  25530. * WebView.subproj/WebFramePrivate.h:
  25531. * WebView.subproj/WebFramePrivate.m:
  25532. (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:]):
  25533. New logic. No quick summary, best to read the code.
  25534. 2002-12-18 Chris Blumenberg <cblu@apple.com>
  25535. Reject the RealPlayer plug-in because we know it doesn't work.
  25536. Reviewed by sullivan.
  25537. * English.lproj/StringsNotToBeLocalized.txt:
  25538. * Plugins.subproj/WebNetscapePluginPackage.m:
  25539. (-[WebNetscapePluginPackage initWithPath:]): reject the RealPlayer plug-in
  25540. 2002-12-18 Maciej Stachowiak <mjs@apple.com>
  25541. Reviewed by John.
  25542. - fixed 3131171 - Change Alex versions to satisfy both marketing and B&I requirements
  25543. * English.lproj/InfoPlist.strings:
  25544. 2002-12-18 Richard Williamson <rjw@apple.com>
  25545. Fixed 3129951. Don't allow pages that are stopping to enter the page cache.
  25546. (Fixed yesterday, forgot to checkin.)
  25547. Reviewed by trey.
  25548. * WebView.subproj/WebFramePrivate.m:
  25549. (-[WebFrame _setState:]):
  25550. 2002-12-18 Maciej Stachowiak <mjs@apple.com>
  25551. Reviewed by Darin and Trey.
  25552. - fixed 3124933 - abcnews.com leads to empty window with sheet complaining about javascript: URL
  25553. - fixed 3091248 - picture does not show up in window from epinions
  25554. - made "about:blank" load synchronously, which I'm told is required by some sites.
  25555. * WebCoreSupport.subproj/WebBridge.m:
  25556. (-[WebBridge createWindowWithURL:frameName:]): If the URL is nil
  25557. or empty, pass a nil request - otherwise WebBrowser will try to
  25558. load it, resulting in an extra back/forward list entry.
  25559. (-[WebBridge loadEmptyDocumentSynchronously]): Tell the frame to
  25560. load a request with an empty URL - this will cause a synchronous
  25561. load of an empty html document
  25562. * WebView.subproj/WebBaseResourceHandleDelegate.h:
  25563. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  25564. (-[WebBaseResourceHandleDelegate loadWithRequest:]): Split off
  25565. startLoading: part of method to allow behavior to be subclassed.
  25566. (-[WebBaseResourceHandleDelegate startLoading:]):
  25567. * WebView.subproj/WebDataSourcePrivate.m:
  25568. (-[WebDataSource _commitIfReady:]): Lie and claim the URL is
  25569. "about:blank" if it's really empty to avoid confusing WebCore.
  25570. * WebView.subproj/WebFramePrivate.m:
  25571. (-[WebFrame _transitionToCommitted:]): Don't put the empty URL in
  25572. global history.
  25573. (-[WebFrame
  25574. _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]):
  25575. Don't check policy if URL is empty - this is likely to confuse the
  25576. client and we know what the right behavior here is.
  25577. * WebView.subproj/WebMainResourceClient.m:
  25578. (-[WebMainResourceClient startLoading:]): Try to load
  25579. "about:blank" and the empty URL synchronously, bypassing
  25580. WebFoundation.
  25581. (-[WebMainResourceClient continueAfterContentPolicy:response:]): Ditto.
  25582. (-[WebMainResourceClient setDefersCallbacks:]): Ditto.
  25583. * English.lproj/StringsNotToBeLocalized.txt: Updated.
  25584. 2002-12-18 Chris Blumenberg <cblu@apple.com>
  25585. Fixed: 2862385 - need to pass browser's user agent and version to plug-ins
  25586. Added some more error checking to the plug-in code
  25587. Reviewed by trey.
  25588. * Plugins.subproj/WebBaseNetscapePluginView.h:
  25589. * Plugins.subproj/WebBaseNetscapePluginView.m:
  25590. (+[WebBaseNetscapePluginView setCurrentPluginView:]): new, sets a global variable for the current plug-in
  25591. (+[WebBaseNetscapePluginView currentPluginView]): new, returns the current plug-in
  25592. (-[WebBaseNetscapePluginView start]): check if NPP_New fails, return NO if it does, set the current plug-in view. Currently, this is the only place we need to do this.
  25593. (-[WebBaseNetscapePluginView userAgent]): made instance-specific because it depends on the plug-in view's WebController
  25594. * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
  25595. * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
  25596. (-[WebNetscapePluginEmbeddedView viewDidMoveToWindow]): don't start the stream is start fails
  25597. * Plugins.subproj/npapi.m:
  25598. (NPN_MemAlloc): tweak
  25599. (NPN_RequestRead): tweak
  25600. (pluginViewForInstance): returns the instance's plug-in view if it has one, if not, return the current plug-in view
  25601. (NPN_GetURLNotify): get the instance from pluginViewForInstance
  25602. (NPN_GetURL):
  25603. (NPN_PostURLNotify):
  25604. (NPN_PostURL):
  25605. (NPN_NewStream):
  25606. (NPN_Write):
  25607. (NPN_DestroyStream):
  25608. (NPN_UserAgent):
  25609. (NPN_Status):
  25610. (NPN_InvalidateRect):
  25611. (NPN_InvalidateRegion):
  25612. (NPN_ForceRedraw):
  25613. (NPN_GetValue):
  25614. (NPN_SetValue):
  25615. (NPN_GetJavaEnv):
  25616. (NPN_GetJavaPeer):
  25617. 2002-12-18 Richard Williamson <rjw@apple.com>
  25618. Fixed 3109590. We now set the cookie policy URL to a frame's URL if the
  25619. contents of the frame changes as a result of user action. The site mentioned
  25620. is this bug branded a service by wrapping it in their own frameset. That frameset
  25621. had a different domain than the service, so our cookie policy prevented cookies
  25622. from being set.
  25623. Reviewed by trey.
  25624. * WebView.subproj/WebDataSourcePrivate.m:
  25625. (-[WebDataSource _startLoading:]):
  25626. * WebView.subproj/WebFrame.m:
  25627. (-[WebFrame loadRequest:]):
  25628. * WebView.subproj/WebFramePrivate.h:
  25629. * WebView.subproj/WebFramePrivate.m:
  25630. (-[WebFrame _loadItem:fromItem:withLoadType:]):
  25631. (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
  25632. (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):
  25633. (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]):
  25634. 2002-12-18 Chris Blumenberg <cblu@apple.com>
  25635. Fixed: 3131714 - System becomes unresponsive while downloading
  25636. While downloading a file, Safari and the Finder take up 30%-40% of the CPU each. This is happening because for every chunk of data we write to disk, we call -[NSWorkspace noteFileSystemChanged:]. noteFileSystemChanged is inefficient. It calls 2 AppleEven
  25637. ts each with 60 timeouts. The event also cause the Finder to do a lot of work.
  25638. We should:
  25639. - Send 1 AppleEvent ourselves with no timeout since we don't care about the reply
  25640. - Call the notification/event less often. The only benefit of sending the event for every chunk written is that the file size updates in the Finder. Not worth the performance impact.
  25641. Reviewed by kocienda.
  25642. * Downloads.subproj/WebDownloadHandler.m:
  25643. (-[WebDownloadHandler cleanUpAfterFailure]): call _web_noteFileChangedAtPath
  25644. (-[WebDownloadHandler createFileIfNecessary]): call _web_noteFileChangedAtPath
  25645. (-[WebDownloadHandler writeDataForkData:resourceForkData:]): don't call noteFileSystemChanged
  25646. (-[WebDownloadHandler finishedLoading]): call _web_noteFileChangedAtPath
  25647. * Misc.subproj/WebNSWorkspaceExtras.h: Added.
  25648. * Misc.subproj/WebNSWorkspaceExtras.m: Added.
  25649. (-[NSWorkspace _web_noteFileChangedAtPath:]): Notifies the Finder (or any other app that cares) that we added, removed or changed the attributes of a file. This method is better than calling noteFileSystemChanged: because noteFileSystemChanged: se
  25650. nds 2 apple events both with a 60 second timeout. This method returns immediately.
  25651. * WebKit.pbproj/project.pbxproj:
  25652. 2002-12-18 Darin Adler <darin@apple.com>
  25653. Reviewed by Maciej.
  25654. - fixed 3098293 -- Shockwave plug-in doesn't work
  25655. The problem is that the Shockwave plug-in depends on being able to do LMGetCurApRefNum
  25656. and then do a PBGetFCBInfoSync on the result, and if it gets an error it will refuse
  25657. to initialize.
  25658. * Plugins.subproj/WebNetscapePluginPackage.m: (+[WebNetscapePluginPackage initialize]):
  25659. Supply a bogus CurApRefNum. Do it only if CurApRefNum is -1, so we don't screw things
  25660. up if we are used in a Carbon application.
  25661. 2002-12-17 Darin Adler <darin@apple.com>
  25662. Reviewed by Trey.
  25663. * WebKit.pbproj/project.pbxproj: Remove signature.
  25664. * WebView.subproj/WebController.m: Turn off inlining so we can build even on the
  25665. compiler that warns about static data in inline functions.
  25666. 2002-12-17 John Sullivan <sullivan@apple.com>
  25667. - fixed 2895826 -- ICON: Need a "no plug-in" icon
  25668. * Resources/nullplugin.tiff:
  25669. new plug-in icon. Blue 3-D lego with question marks.
  25670. 2002-12-17 Richard Williamson <rjw@apple.com>
  25671. Added support for Aki's 20% boost to line height. This is
  25672. done with a horrible hack and should be removed when 3129490
  25673. is fixed.
  25674. Reviewed by hyatt.
  25675. * WebCoreSupport.subproj/WebTextRenderer.m:
  25676. === Alexander-39 ===
  25677. === Alexander-38 ===
  25678. 2002-12-17 Richard Williamson <rjw@apple.com>
  25679. Fixed 3127932. Added WebFrameLoadTypeReloadAllowingStaleData to cases that do not
  25680. get cached in the b/f cache.
  25681. Reviewed by trey.
  25682. * WebView.subproj/WebFramePrivate.m:
  25683. (-[WebFrame _setState:]):
  25684. 2002-12-17 Richard Williamson <rjw@apple.com>
  25685. Fixed 3128794. Use CG directy to get font metrics rather than the appkit. The appkit
  25686. has a bug (3129490) that sometimes causes line height to be 20% too large.
  25687. Reviewed by hyatt.
  25688. * WebCoreSupport.subproj/WebTextRenderer.m:
  25689. (-[WebTextRenderer initWithFont:]):
  25690. (-[WebTextRenderer ascent]):
  25691. (-[WebTextRenderer descent]):
  25692. (-[WebTextRenderer lineSpacing]):
  25693. 2002-12-17 Trey Matteson <trey@apple.com>
  25694. Reworking the code to update the page icon led me to roll the WebIconDB API
  25695. for URL to NSString. In addition, the vestigial "Site" was removed.
  25696. Everything below is renaming, except where noted.
  25697. Reviewed by Darin
  25698. * English.lproj/StringsNotToBeLocalized.txt:
  25699. * History.subproj/WebHistoryItem.m:
  25700. (-[WebHistoryItem _retainIconInDatabase:]):
  25701. (-[WebHistoryItem icon]):
  25702. * Misc.subproj/WebIconDatabase.h:
  25703. * Misc.subproj/WebIconDatabase.m:
  25704. (-[WebIconDatabase init]):
  25705. (-[WebIconDatabase iconForURL:withSize:cache:]): Use _web_isFileURL.
  25706. (-[WebIconDatabase iconForURL:withSize:]):
  25707. (-[WebIconDatabase retainIconForURL:]):
  25708. (-[WebIconDatabase releaseIconForURL:]):
  25709. (-[WebIconDatabase _iconDictionariesAreGood]):
  25710. (-[WebIconDatabase _loadIconDictionaries]):
  25711. (-[WebIconDatabase _updateFileDatabase]):
  25712. (-[WebIconDatabase _iconForFileURL:withSize:]): Cons up a NSURL to get the path.
  25713. Test explicitly for .htm and .html suffixes.
  25714. (-[WebIconDatabase _setIcon:forIconURL:]):
  25715. (-[WebIconDatabase _setIconURL:forURL:]):
  25716. (-[WebIconDatabase _releaseIconForIconURLString:]):
  25717. (-[WebIconDatabase _retainFutureIconForURL:]):
  25718. (-[WebIconDatabase _releaseFutureIconForURL:]):
  25719. (-[WebIconDatabase _sendNotificationForURL:]):
  25720. * Misc.subproj/WebIconDatabasePrivate.h:
  25721. * Misc.subproj/WebIconLoader.m:
  25722. (-[WebIconLoader handleDidFinishLoading:]):
  25723. * WebKit.exp:
  25724. * WebView.subproj/WebDataSourcePrivate.m:
  25725. (-[WebDataSource _updateIconDatabaseWithURL:]):
  25726. (-[WebDataSource _loadIcon]):
  25727. 2002-12-17 Chris Blumenberg <cblu@apple.com>
  25728. Fixed: 3113073 - link on http://studio.adobe.com/explore/ redirects to not found page in Alex
  25729. Reviewed by darin.
  25730. * Misc.subproj/WebNSPasteboardExtras.m:
  25731. (-[NSPasteboard _web_bestURL]): don't trim whitespace because _web_URLWithString does this for us
  25732. * Plugins.subproj/WebBaseNetscapePluginView.m:
  25733. (-[WebBaseNetscapePluginView pluginURLFromCString:]): tweak
  25734. 2002-12-17 John Sullivan <sullivan@apple.com>
  25735. - to help with performance of various bookmark operations,
  25736. added a call that returns the internal array of children,
  25737. to complement the safer call that returns a copy.
  25738. Reviewed by Darin
  25739. * Bookmarks.subproj/WebBookmark.h:
  25740. commented -children and new -rawChildren
  25741. * Bookmarks.subproj/WebBookmark.m:
  25742. (-[WebBookmark rawChildren]):
  25743. new method, returns nil at this level.
  25744. (-[WebBookmark contentMatches:]):
  25745. use -rawChildren instead of -children
  25746. * Bookmarks.subproj/WebBookmarkList.m:
  25747. (-[WebBookmarkList rawChildren]):
  25748. new method, returns internal array without copying
  25749. 2002-12-16 Darin Adler <darin@apple.com>
  25750. Reviewed by Don and Maciej.
  25751. * WebView.subproj/WebUserAgentSpoofTable.gperf: Added a couple of new domains to the list we
  25752. spoof as Mac IE, and added comments.
  25753. * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
  25754. * WebKit.pbproj/project.pbxproj: Set MACOSX_DEPLOYMENT_TARGET to 10.2
  25755. 2002-12-16 Chris Blumenberg <cblu@apple.com>
  25756. Fixed: 3129503 - Crash cancelling download after closing browser window that started download
  25757. Reviewed by rjw.
  25758. * WebView.subproj/WebDataSourcePrivate.m:
  25759. (-[WebDataSource _setLoading:]): Added comment about our tragic dependence on a non-retained reference to the controller.
  25760. (-[WebDataSource _recursiveStopLoading]): Call webFrame before calling _stopLoading because we release the controller in _stopLoading and we depend on it in webFrame.
  25761. === Alexander-37 ===
  25762. 2002-12-16 Maciej Stachowiak <mjs@apple.com>
  25763. Reviewed by no one but it's just a version bump.
  25764. * WebKit.pbproj/project.pbxproj: Bump version to 37u3
  25765. 2002-12-16 Darin Adler <darin@apple.com>
  25766. Reviewed by Maciej.
  25767. - fixed 3128858 -- Supply Finder bits for decoded BinHex files
  25768. * Downloads.subproj/WebBinHexDecoder.h: Add a _finderFlags field.
  25769. * Downloads.subproj/WebBinHexDecoder.m:
  25770. (-[WebBinHexDecoder decodeHeader]): Decode Finder flags.
  25771. (-[WebBinHexDecoder fileAttributes]): Put Finder flags in dictionary.
  25772. * Downloads.subproj/WebMacBinaryDecoder.m: Tweaked things for no good reason.
  25773. (It is good to always import your own header first as a check that it's self-sufficient).
  25774. * WebKit.pbproj/project.pbxproj: Let Electron wipe the slate clean of pre-Electron iniquity.
  25775. 2002-12-15 Chris Blumenberg <cblu@apple.com>
  25776. Fixed: 3094928 - Apply Finder bits to decoded downloads
  25777. Reviewed by darin.
  25778. * Downloads.subproj/WebDownloadHandler.m:
  25779. (-[WebDownloadHandler createFileIfNecessary]): call _web_createFileAtPath:contents:attributes: so we set Finder bits
  25780. * Downloads.subproj/WebMacBinaryDecoder.h:
  25781. * Downloads.subproj/WebMacBinaryDecoder.m:
  25782. (-[WebMacBinaryDecoder decodeData:dataForkData:resourceForkData:]): save Finder bits
  25783. (-[WebMacBinaryDecoder fileAttributes]): return Finder bits
  25784. === WebKit-37u2 ===
  25785. 2002-12-15 Maciej Stachowiak <mjs@apple.com>
  25786. Reviewed by Darin.
  25787. - fixed likely B&I build problem.
  25788. * WebKit.pbproj/project.pbxproj: Get at other frameworks in B&I
  25789. build. Bump version to 37u2.
  25790. 2002-12-15 Darin Adler <darin@apple.com>
  25791. Reviewed by Dave.
  25792. - implemented user-agent spoofing as described in bug 3044569
  25793. * WebView.subproj/WebController.m: (-[WebController userAgentForURL:]):
  25794. Find the suffix of the host name that contains exactly one dot, lower-case it,
  25795. and look it up in the user-agent spoof table. For now, anything in the table
  25796. pretends to be MacIE. Don't fret that this table is simple. We will complicate it
  25797. as needed. The technique is flexible, even though it may not look it now.
  25798. * WebView.subproj/WebControllerPrivate.h: Add userAgentWhenPretendingToBeMacIE field.
  25799. * WebView.subproj/WebControllerPrivate.m:
  25800. (-[WebControllerPrivate dealloc]): Release userAgentWhenPretendingToBeMacIE.
  25801. (-[WebController _defaultsDidChange]): Release and nil userAgentWhenPretendingToBeMacIE.
  25802. * Makefile.am: Added rules to build WebUserAgentSpoofTable.c using gperf.
  25803. * WebView.subproj/WebUserAgentSpoofTable.c: Added. Generated file.
  25804. * WebView.subproj/WebUserAgentSpoofTable.gperf: Added. Table
  25805. * English.lproj/StringsNotToBeLocalized.txt: Update for above changes.
  25806. - fixed a crash I saw in a simplistic way
  25807. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]):
  25808. Don't assert if the webFrame is nil, just return a partial dictionary.
  25809. 2002-12-15 Darin Adler <darin@apple.com>
  25810. Reviewed by Trey.
  25811. - fixed 3128260 -- REGRESSION: context menus in frames are always the generic page menu
  25812. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView hitTest:]):
  25813. Check the control key in the mouse down event. If it's down, then do no magic.
  25814. 2002-12-15 Darin Adler <darin@apple.com>
  25815. Reviewed by Dave.
  25816. - fixed 3128651 -- REGRESSION: Mouse wheeling is busted on frames pages
  25817. * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView hitTest:]):
  25818. Only do the hitTest magic for left mouse downs; the rest of the clicks end up going
  25819. to the correct view anyway, without our help. This makes this stop making trouble for
  25820. the scroll wheel events.
  25821. 2002-12-14 Don Melton <gramps@apple.com>
  25822. Fixed 3127173 -- REGRESSION: fboweb.com renders incorrectly
  25823. Reviewed by darin
  25824. * English.lproj/StringsNotToBeLocalized.txt:
  25825. * WebView.subproj/WebController.m:
  25826. (-[WebController userAgentForURL:]):
  25827. Changed "PPC" in our user agent string to "PPC Mac OS X" in order to
  25828. match Mozilla and make the silly server-side user agent string checking
  25829. work at fboweb.com. Actually, just "PPC " would work fine at
  25830. fboweb.com. Go figure.
  25831. 2002-12-13 Darin Adler <darin@apple.com>
  25832. Reviewed by Don.
  25833. * WebView.subproj/WebController.m: (-[WebController userAgentForURL:]):
  25834. Add "(like Gecko)" string and change "WebKit" to "AppleWebKit".
  25835. * English.lproj/StringsNotToBeLocalized.txt: Update for these changes.
  25836. * Misc.subproj/WebUnicode.h: No need for & 0xFF since we cast to unsigned char.
  25837. 2002-12-13 John Sullivan <sullivan@apple.com>
  25838. - WebKit part of fix for 3028061 -- visiting a bookmarked site
  25839. that now has a site icon will not update bookmark's icon
  25840. No longer store the icon in the WebHistoryItem, since there's no
  25841. mechanism for keeping it fresh and telling interested clients
  25842. when it changes. Instead, the latest icon is always returned from
  25843. the icon database, and it's up to clients to get a fresh one when
  25844. they notice that the icon for a URL has been updated.
  25845. Reviewed by Darin
  25846. * History.subproj/WebHistoryItem.h:
  25847. remove _icon and _loadedIcon ivars
  25848. * History.subproj/WebHistoryItem.m:
  25849. (-[WebHistoryItem dealloc]):
  25850. don't release _icon
  25851. (-[WebHistoryItem icon]):
  25852. just return fresh icon from database, don't store
  25853. (-[WebHistoryItem setURL:]):
  25854. don't set _loadedIcon to NO
  25855. === Alexander-37u1 ===
  25856. 2002-12-13 Darin Adler <darin@apple.com>
  25857. Reviewed by Maciej.
  25858. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
  25859. 2002-12-13 Trey Matteson <trey@apple.com>
  25860. 3108976 - assert _private provisionalItem in -[WebFrame(WebPrivate) _transitionToCommitted
  25861. 3108865 - frames not maintained going back at directory.apple.com
  25862. Both bugs are fixed by the same small change. We no longer try to inherit loadType
  25863. across redirects. Instead we just make sure the right thing happens in _transitionToCommitted:
  25864. for redirects in the loadType=Standard case.
  25865. 3122721 - History stores both original and redirected sites
  25866. Easy fix while in the neighborhood. We just don't add to History when doing a redirect.
  25867. Reviewed by rjw
  25868. * WebView.subproj/WebFramePrivate.m:
  25869. (-[WebFrame _transitionToCommitted:]): On redirect, update the URL of the frame's current
  25870. item, not the current item in the b/f list. Also do not add to history on redirect.
  25871. (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Cut out funny business
  25872. that tried to guess when to inherit loadtype across redirects.
  25873. 2002-12-13 Richard Williamson <rjw@apple.com>
  25874. Fixed 3127225. Scale page cache based on available memory.
  25875. Also added support for setting WebCore object cache size via
  25876. a preference.
  25877. Fixed 3126267. Increase CG glyph cache size if font smoothing
  25878. is turned on.
  25879. Reviewed by gramps.
  25880. * History.subproj/WebBackForwardList.m:
  25881. (+[WebBackForwardList pageCacheSize]):
  25882. * Misc.subproj/WebKitLogging.h:
  25883. * Misc.subproj/WebKitLogging.m:
  25884. * WebCoreSupport.subproj/WebBridge.m:
  25885. (-[WebBridge getObjectCacheSize]):
  25886. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  25887. (getAppDefaultValue):
  25888. (getUserDefaultValue):
  25889. (getLCDScaleParameters):
  25890. * WebView.subproj/WebPreferences.m:
  25891. (+[WebPreferences load]):
  25892. (-[WebPreferences _pageCacheSize]):
  25893. (-[WebPreferences _objectCacheSize]):
  25894. * WebView.subproj/WebPreferencesPrivate.h:
  25895. 2002-12-13 Chris Blumenberg <cblu@apple.com>
  25896. Fixed: 3105486 - c|net news.com site seems to have lost its favicon again
  25897. Reviewed by darin.
  25898. * Misc.subproj/WebIconDatabase.m:
  25899. (-[WebIconDatabase _updateFileDatabase]): Only save icons with a size of 16 x 16 since that's the only size we use.
  25900. 2002-12-13 Chris Blumenberg <cblu@apple.com>
  25901. Catch NULL status strings passed to NPN_Status.
  25902. Reviewed by darin.
  25903. * Plugins.subproj/WebBaseNetscapePluginView.m:
  25904. (-[WebBaseNetscapePluginView status:]): check the incoming string before calling [NSString stringWithCString]
  25905. 2002-12-12 Trey Matteson <trey@apple.com>
  25906. 3117101 - PLT slows down as history fills up
  25907. I saw a 3% sloth effect from a huge (100k) history. This change cut that cost in half.
  25908. I think we still have a marginally measurable cost for our worst practical case.
  25909. Reviewed by rjw
  25910. * History.subproj/WebHistoryPrivate.m:
  25911. (-[WebHistoryPrivate insertEntry:atDateIndex:]): Comment.
  25912. (-[WebHistoryPrivate removeEntryForURLString:]): Use removeIdentical
  25913. instead of remove, since we don't need to do all the equals comparisons.
  25914. 2002-12-12 Richard Williamson <rjw@apple.com>
  25915. Changes to fix 3116584.
  25916. Reviewed by hyatt.
  25917. Changes to support emptying the page cache from the
  25918. "Empty Cache" menu.
  25919. Reviewed by trey.
  25920. * ChangeLog:
  25921. * History.subproj/WebBackForwardList.h:
  25922. * History.subproj/WebBackForwardList.m:
  25923. (-[WebBackForwardList clearPageCache]):
  25924. * History.subproj/WebHistoryItem.m:
  25925. (+[WebHistoryItem _scheduleReleaseTimer]):
  25926. (-[WebHistoryItem _scheduleRelease]):
  25927. (+[WebHistoryItem _releasePageCache:]):
  25928. (-[WebHistoryItem setHasPageCache:]):
  25929. * WebCoreSupport.subproj/WebTextRenderer.m:
  25930. * WebView.subproj/WebFramePrivate.m:
  25931. (-[WebFrame _opened]):
  25932. 2002-12-12 Richard Williamson <rjw@apple.com>
  25933. Fixed 3119693. Restore scroll position when going back
  25934. to item in b/f cache.
  25935. Reviewed by trey.
  25936. * WebView.subproj/WebFramePrivate.m:
  25937. (-[WebFrame _opened]):
  25938. === Alexander-36 ===
  25939. 2002-12-12 Richard Williamson <rjw@apple.com>
  25940. Change relating to 3083287. This doesn't fix the problem but
  25941. flips the geometry calcs to get most incremental images to draw
  25942. correctly. .mac now slideshows draw with the incorrect sliding
  25943. behavior while loading.
  25944. 3083287 has been moved to 0.9/1.
  25945. Reviewed by darin.
  25946. * WebCoreSupport.subproj/WebImageRenderer.m:
  25947. (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
  25948. (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
  25949. 2002-12-12 Trey Matteson <trey@apple.com>
  25950. Fixed 3094525 - Need to use SPI to fix flipped drag image problem
  25951. We call the new SPI. I also had to rework the dissolve steps to get it
  25952. to non flip the image in Panther in millions (but leave the old code for
  25953. the Jaguar case).
  25954. Reviewed by cblu
  25955. * Misc.subproj/WebNSImageExtras.m:
  25956. (+[NSImage load]): Call the SPI.
  25957. (-[NSImage _web_dissolveToFraction:]): Add new way of building the image for Panther.
  25958. 2002-12-12 Darin Adler <darin@apple.com>
  25959. Reviewed by Maciej.
  25960. - fixed most likely cause of 3125565 -- 2% regression running the PLT for uncached loads
  25961. Don't recompute the user agent when it doesn't change. It almost never changes.
  25962. * WebView.subproj/WebController.m:
  25963. (-[WebController initWithView:controllerSetName:]): Add observer so we know when defaults change.
  25964. (-[WebController dealloc]): Remove observer.
  25965. (-[WebController setApplicationNameForUserAgent:]): Clear out computed user agent to force it
  25966. to be recomputed later.
  25967. (-[WebController applicationNameForUserAgent]): Just retain since we copied when we stored it
  25968. so we know it's not mutable.
  25969. (-[WebController customUserAgent]): Ditto.
  25970. (-[WebController userAgentForURL:]): Use the cached user agent if it's good. Otherwise compute
  25971. and cache the user agent string. This means that we will almost never recompute it.
  25972. * WebView.subproj/WebControllerPrivate.h: Add userAgent field to cache in.
  25973. * WebView.subproj/WebControllerPrivate.m:
  25974. (-[WebControllerPrivate dealloc]): Release userAgent.
  25975. (-[WebController _defaultsDidChange]): Release and nil userAgent.
  25976. 2002-12-12 Darin Adler <darin@apple.com>
  25977. Reviewed by Maciej.
  25978. - fixed 3125504 -- REGRESSION: Selection not working correctly for text area on http://glish.com/css/7.asp
  25979. The problem is that the text area lost its first responder status because WebHTMLView took the click,
  25980. and NSWindow wanted WebHTMLView to become first responder too.
  25981. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView acceptsFirstResponder]):
  25982. Don't allow the NSWindow to make this the first responder during the early part of mouseDown event
  25983. handling. But do allow anyone else to make this the first responder, for example from keyboard events,
  25984. or from calls back from WebCore once we begin mouse-down event handling.
  25985. 2002-12-12 Darin Adler <darin@apple.com>
  25986. Reviewed by Maciej and Richard.
  25987. - fixed reentrancy crash I ran into while debugging infinite recursion bugs
  25988. * WebView.subproj/WebHTMLViewPrivate.m:
  25989. (-[WebHTMLView _updateMouseoverWithFakeEvent]): Added. Does part of what _frameOrBoundsChanged did.
  25990. (-[WebHTMLView _frameOrBoundsChanged]): Schedule the mouseover update to happen soon, rather than
  25991. doing it right away. If we do it right away, we might reenter because sending a mouse moved event
  25992. can result in another layout since mouse moved events are the same as mouse dragged events in KHTML.
  25993. * WebView.subproj/WebHTMLView.m:
  25994. (-[WebHTMLView viewWillMoveToWindow:]): Cancel the scheduled mouseover update.
  25995. * WebKit.pbproj/project.pbxproj: Electron uber alles.
  25996. 2002-12-12 Richard Williamson <rjw@apple.com>
  25997. Fixed 3125585. One click crasher option clicking on
  25998. any link. Added additional check to curtail overly
  25999. zealous ASSERT.
  26000. Reviewed by mjs.
  26001. * WebView.subproj/WebControllerPrivate.m:
  26002. (-[WebController _mainReceivedError:fromDataSource:complete:]):
  26003. 2002-12-11 Richard Williamson <rjw@apple.com>
  26004. Fixed 3125425. Just call super if view isn't in view heirarchy,
  26005. rather than asserting. The assert was firing because NSText
  26006. was trying to perform a background layout on an item view that
  26007. was moved to the page cache.
  26008. Reviewed by gramps.
  26009. * WebCoreSupport.subproj/WebImageRenderer.m:
  26010. (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
  26011. (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
  26012. * WebView.subproj/WebHTMLView.m:
  26013. (-[WebHTMLView visibleRect]):
  26014. 2002-12-11 Richard Williamson <rjw@apple.com>
  26015. Fixed 3124121, 3124716 (and other dupes). Regressions related to b/f crash.
  26016. Reviewed by hyatt.
  26017. * ChangeLog:
  26018. * History.subproj/WebHistoryItem.m:
  26019. (-[WebHistoryItem _scheduleRelease]):
  26020. * WebCoreSupport.subproj/WebBridge.m:
  26021. (-[WebBridge saveDocumentToPageCache:]):
  26022. * WebCoreSupport.subproj/WebImageRenderer.m:
  26023. (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
  26024. (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
  26025. * WebView.subproj/WebFramePrivate.m:
  26026. (-[WebFrame _setState:]):
  26027. 2002-12-11 Richard Williamson <rjw@apple.com>
  26028. Fixed 3123375. Provide SPI to release all pending page caches
  26029. Reviewed by kocienda.
  26030. * History.subproj/WebBackForwardList.m:
  26031. * History.subproj/WebHistoryItem.h:
  26032. * History.subproj/WebHistoryItem.m:
  26033. * History.subproj/WebHistoryItemPrivate.h: Added.
  26034. * WebCoreSupport.subproj/WebBridge.m:
  26035. * WebKit.pbproj/project.pbxproj:
  26036. * WebView.subproj/WebFramePrivate.m:
  26037. 2002-12-11 Darin Adler <darin@apple.com>
  26038. Reviewed by Richard.
  26039. - fixed 3124837 -- Crash trying to handle weird javascript URL in page address field
  26040. * Plugins.subproj/WebBaseNetscapePluginView.m:
  26041. (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
  26042. Use the new _web_scriptIfJavaScriptURL to simplify the check for JavaScript URLs,
  26043. and to use a more tolerant unescaper.
  26044. * English.lproj/StringsNotToBeLocalized.txt: Updated.
  26045. 2002-12-11 Darin Adler <darin@apple.com>
  26046. Reviewed by John.
  26047. - turned on the mechanism that passes events through WebCore, now that it's working better
  26048. * WebView.subproj/WebHTMLViewPrivate.m:
  26049. (-[WebHTMLView hitTest:]): Moved this function in here. Rewrote it. It has a new feature where
  26050. you can set a global and do a normal hit test, needed for the mouse-moved handling below. Also,
  26051. for efficiency, it does the actual hit testing of itself, rather than calling super, which recurses,
  26052. and ignoring the result. The sum total is that it always returns self for mouse-moved events, so
  26053. we pass them all over the bridge at the topmost frame.
  26054. (-[WebHTMLView _updateMouseoverWithEvent:]):
  26055. * WebView.subproj/WebHTMLView.m: Moved hitTest: out of here.
  26056. 2002-12-11 John Sullivan <sullivan@apple.com>
  26057. - fixed 3124640 -- Crash importing IE Favorites if there
  26058. are no IE favorites
  26059. Reviewed by Darin
  26060. * Bookmarks.subproj/WebBookmarkImporter.m:
  26061. (-[WebBookmarkImporter initWithPath:]):
  26062. use alloc/init instead of autoreleasing constructor for error since
  26063. it's kept around until dealloc.
  26064. 2002-12-11 Darin Adler <darin@apple.com>
  26065. Reviewed by John.
  26066. - fixed 3117611 -- REGRESSION: exception in mouseoverTextForElement with accented characters in status
  26067. * WebView.subproj/WebHTMLViewPrivate.m:
  26068. (-[NSMutableDictionary _web_setObjectIfNotNil:forKey:]):
  26069. Remove the object from the dictionary rather than just leaving the dictionary alone if it's nil.
  26070. This is needed since we now are reusing an already-existing dictionary.
  26071. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
  26072. 2002-12-11 Chris Blumenberg <cblu@apple.com>
  26073. Fixed: 3118430 - crash / loop trying to copy url of link to clipboard
  26074. Fixed: 3122585 - REGRESSION: dragging links to the desktop or a Finder window does not do anything
  26075. Reviewed by john.
  26076. We were reusing the drag types from the previous drag pasteboard. For example, we would declare image types when dragging URLs. This would confuse the Finder, so location files weren't being created. This would occasional cause us to crash because we wer
  26077. en't providing the declared data.
  26078. * Misc.subproj/WebNSPasteboardExtras.h:
  26079. * Misc.subproj/WebNSPasteboardExtras.m:
  26080. (+[NSPasteboard _web_dragTypesForURL]): Added more types that we handle
  26081. (-[NSPasteboard _web_writeURL:andTitle:withOwner:declareTypes:]): declares the provided types, writes URL and title
  26082. (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): call _web_writeURL:andTitle:withOwner:types: with _web_dragTypesForURL
  26083. * Misc.subproj/WebNSViewExtras.h:
  26084. * Misc.subproj/WebNSViewExtras.m:
  26085. (-[NSView _web_dragPromisedImage:origin:URL:fileType:title:event:]): call _web_writeURL:andTitle:withOwner: types: plus images types
  26086. 2002-12-10 Trey Matteson <trey@apple.com>
  26087. 3092966 - going back goes to different page (can't go back to a POST page)
  26088. 3123450 - if the user refuses a navigation, the b/f menus is wrong
  26089. We will rePOST data upon back/forward/refresh if our caches fail us. The policy delegate
  26090. gets a crack at confirming this operation. Latent bugs where the policy delegate was double
  26091. queried are fixed. A bug in the b/f cursor when a page failed to load is fixed.
  26092. Reviewed by Maciej.
  26093. * English.lproj/StringsNotToBeLocalized.txt: Usual suspects.
  26094. * History.subproj/WebHistoryItem.h: Add state for reposting forms.
  26095. * History.subproj/WebHistoryItem.m: Boilerplate changes for new state.
  26096. (-[WebHistoryItem dealloc]):
  26097. (-[WebHistoryItem setFormData:]):
  26098. (-[WebHistoryItem setFormContentType:]):
  26099. (-[WebHistoryItem formData]):
  26100. (-[WebHistoryItem formContentType]):
  26101. (-[WebHistoryItem description]):
  26102. * WebView.subproj/WebController.m:
  26103. (-[WebController _goToItem:withLoadType:]): Tighten up an assert as I clarified an
  26104. assumption as I worked through this task.
  26105. * WebView.subproj/WebControllerPolicyDelegate.h: New WebNavigationType's for back/forward,
  26106. refresh, and repost.
  26107. * WebView.subproj/WebFrame.m:
  26108. (-[WebFrame loadRequest:]): Eliminate extra copy of a request.
  26109. (-[WebFrame reload]): Eliminate extra copy of a request. Setup triggeringAction properly
  26110. if we're about to rePOST.
  26111. * WebView.subproj/WebFramePrivate.h: Started moving some private methods into the .m file.
  26112. * WebView.subproj/WebFramePrivate.m:
  26113. (-[WebFrame _createItem]): Save form state with history items.
  26114. (-[WebFrame _isLoadComplete]): Fix up b/f cursor on page error before commit succeeds.
  26115. (-[WebFrame _loadItem:fromItem:withLoadType:]): Set up request to rePOST if that's what the
  26116. HistoryItem demands. Add call to _addExtraFieldsToRequest so we don't do a double
  26117. query of the policy delegate. Pre-flight the form post vs. WF cache to setup triggering
  26118. action properly.
  26119. (-[WebFrame _actionInformationForLoadType:isFormSubmission:event:originalURL:]):
  26120. New utility method to help build action dict.
  26121. (-[WebFrame _continueAfterNavigationPolicy:]): Comment only.
  26122. (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Call new utility method
  26123. instead (just code factoring).
  26124. (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]): Call new utility method
  26125. instead (just code factoring). Add call to _addExtraFieldsToRequest so we don't do a double
  26126. query of the policy delegate.
  26127. (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): Whitespace only.
  26128. (-[WebFrame _resetBackForwardListToCurrent]): Utility routine to fix up b/f cursor on page error.
  26129. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]): Fix up b/f cursor on page
  26130. error before commit succeeds.
  26131. 2002-12-10 Darin Adler <darin@apple.com>
  26132. Reviewed by Maciej.
  26133. - fixed 3124302 -- REGRESSION: Can't use directory.apple.com because
  26134. frame resize bar intercepts mouse clicks
  26135. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView hitTest:]):
  26136. Don't steal clicks for views that are inside nested WebViews.
  26137. This isn't the real fix, but it's good enough for now. The real fix will be in WebCore.
  26138. 2002-12-10 Darin Adler <darin@apple.com>
  26139. - fixed fix for 3124081 -- REGRESSION: partial progress is left in address field after download
  26140. Reviewed by Chris.
  26141. Need to move it down one line so the data source is clear before callback.
  26142. * WebView.subproj/WebMainResourceClient.m:
  26143. (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]):
  26144. Do the _clearProvisionalDataSource before the locationChangeDone: callback.
  26145. 2002-12-10 John Sullivan <sullivan@apple.com>
  26146. Fixed more "Alexander"s that were lurking in places I forgot
  26147. to look before.
  26148. Reviewed by Darin
  26149. * Makefile.am:
  26150. "rm -rf $(SYMROOTS)/Safari.app/Frameworks/WebKit.framework"
  26151. 2002-12-10 Darin Adler <darin@apple.com>
  26152. - fixed 3124081 -- REGRESSION: partial progress is left in address field after download
  26153. Reviewed by Chris.
  26154. * WebView.subproj/WebMainResourceClient.m:
  26155. (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]):
  26156. Put in code to call the locationChangeDone: method on the location change delegate if
  26157. keepLoading is YES. Since the data source is not finished loading WebFrame won't do it.
  26158. 2002-12-10 Chris Blumenberg <cblu@apple.com>
  26159. Fixed: 3124079 - REGRESSION: Downloads never complete
  26160. Reviewed by darin.
  26161. * WebView.subproj/WebMainResourceClient.m:
  26162. (-[WebMainResourceClient handleDidFinishLoading:]): release and set to nil the download handler after calling [super handleDidFinishLoading:h]
  26163. 2002-12-10 Richard Williamson <rjw@apple.com>
  26164. Fixed 3115427. Page now draws instantly instead of 20 seconds.
  26165. I added the substitution font we get from the appkit to the character to glyph
  26166. cache.
  26167. Fixed early return optimization from letter forming function. It was too
  26168. eager to return!
  26169. Reviewed by mjs.
  26170. * Misc.subproj/WebUnicode.m:
  26171. (shapedString):
  26172. * WebCoreSupport.subproj/WebTextRenderer.h:
  26173. * WebCoreSupport.subproj/WebTextRenderer.m:
  26174. (glyphForCharacter):
  26175. (glyphForUnicodeCharacter):
  26176. (widthForGlyph):
  26177. (widthForCharacter):
  26178. (_fontContainsString):
  26179. (-[WebTextRenderer substituteFontForString:families:]):
  26180. (-[WebTextRenderer _computeWidthForSpace]):
  26181. (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]):
  26182. (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]):
  26183. (-[WebTextRenderer updateGlyphEntryForCharacter:glyphID:font:]):
  26184. (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
  26185. (-[WebTextRenderer extendGlyphToWidthMapToInclude:]):
  26186. 2002-12-10 John Sullivan <sullivan@apple.com>
  26187. - tweaked the API of WebBookmarkImporter while implementing
  26188. real "Import IE Favorites" UI
  26189. Reviewed by Ken
  26190. * Bookmarks.subproj/WebBookmarkImporter.h:
  26191. fixed a typo in a constant
  26192. * Bookmarks.subproj/WebBookmarkImporter.m:
  26193. (-[WebBookmarkImporter initWithPath:]):
  26194. Don't pass a group here. This method now creates the topBookmark
  26195. (as it was doing before) but does not attempt to insert it
  26196. anywhere. It's up to the client to fetch the topBookmark and do
  26197. something with it. Also, don't name the new folder here; leave
  26198. that to the caller also.
  26199. * English.lproj/Localizable.strings:
  26200. kept this file up to date
  26201. 2002-12-10 Darin Adler <darin@apple.com>
  26202. Reviewed by John.
  26203. - fixed 3108912 -- onclick handlers not supported on form elements
  26204. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView hitTest:]):
  26205. Take over hit testing so that all clicks on subviews are handled by the WebHTMLView.
  26206. WebCore now handles getting the mouse events to the subviews after passing
  26207. the events through the DOM.
  26208. 2002-12-09 Maciej Stachowiak <mjs@apple.com>
  26209. Reviewed by Trey.
  26210. - fixed 3123057 - SJ: DHTML doesn't always work on http://www.pixar.com/howwedoit/
  26211. * WebView.subproj/WebFramePrivate.m:
  26212. (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):
  26213. Treat a click on a link to the same URL with an anchor as a scroll
  26214. to anchor, not a same URL load.
  26215. (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Avoid
  26216. adding the same anchor URL to the back/forward list many times.
  26217. 2002-12-09 Darin Adler <darin@apple.com>
  26218. Reviewed by Maciej.
  26219. - fixed 3028664 -- change user agent string to include application name and version
  26220. * WebView.subproj/WebController.m:
  26221. (-[WebController setApplicationNameForUserAgent:]): Remove locking, unneeded since we changed
  26222. how WebFoundation handles user agent.
  26223. (-[WebController setCustomUserAgent:]): Ditto.
  26224. (-[WebController resetUserAgent]): Ditto.
  26225. (-[WebController userAgentForURL:]): Remove locking. Also add new algorithm for computing the
  26226. user agent which takes the preferred language into account, and incorporates the WebKit version
  26227. and the application name.
  26228. * WebView.subproj/WebControllerPrivate.h: No need for a lock.
  26229. * WebView.subproj/WebControllerPrivate.m:
  26230. (-[WebControllerPrivate init]): Don't create a lock.
  26231. (-[WebControllerPrivate dealloc]): Don't release a lock.
  26232. * WebKit.pbproj/project.pbxproj: Bump versions to 0.8 and 35u.
  26233. * English.lproj/InfoPlist.strings: In here too.
  26234. * English.lproj/StringsNotToBeLocalized.txt: Updated for these and other recent changes.
  26235. 2002-12-09 Richard Williamson <rjw@apple.com>
  26236. Many changes for b/f list.
  26237. 1. Always attempt to cache snap back items.
  26238. 2. Lazily release resources from page cache. This garners gains on the PLT (and presumably iBench) tests, both for uncached.
  26239. 3. Set the page cache size to 4 (+ snap back items). After releasing resources we hover around 28MB footprint. Closing windows releases all resources.
  26240. 4. Turn on the back/forward cache by default. The menu item still allows you to toggle b/f on and off. Useful when conducting speed comparison in the PLT.
  26241. 5. Addition of lazy update to PLT memory statistics to show footprint after lazy release of page cache resources.
  26242. 6. Delayed to leak detector to account for lazy release of resources.
  26243. 7. A change when saving a page to back/forward cache to clear and restore the documents root renderer. Without this fix pages would appear to 'flicker' more when content arrived.
  26244. 8. A change to ensure a layout when restoring a page from the b/f cache. Without this fix scrollbars wouldn't appear correctly.
  26245. 9. A change to ensure that khtmlview layout and paint timers are unscheduled when a page is placed in the b/f cache.
  26246. 10. A fix to decouple of khtmlview from it's part when placed in the b/f cache. This fixed a crash caused by inappropriate deference of the part when a page cache item was released.
  26247. 11. A comment in KHTMLPageCache.h explaining the that our page cache is not the same as the khtml page cache. (Their cache just cached the html source.)
  26248. 12. Reapply styles when loading page from cache. This ensures that visited link get the appropriate style.
  26249. Reviewed by kocienda.
  26250. * History.subproj/WebBackForwardList.m:
  26251. (+[WebBackForwardList pageCacheSize]):
  26252. (+[WebBackForwardList setUsesPageCache:]):
  26253. (+[WebBackForwardList usesPageCache]):
  26254. * History.subproj/WebHistoryItem.h:
  26255. * History.subproj/WebHistoryItem.m:
  26256. (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
  26257. (-[WebHistoryItem alwaysAttemptToUsePageCache]):
  26258. (+[WebHistoryItem _invalidateReleaseTimer]):
  26259. (-[WebHistoryItem _scheduleRelease]):
  26260. (+[WebHistoryItem _releaseAllPendingPageCaches]):
  26261. (-[WebHistoryItem _releasePageCache:]):
  26262. (-[WebHistoryItem setHasPageCache:]):
  26263. (-[WebWindowWatcher windowWillClose:]):
  26264. * WebView.subproj/WebDataSourcePrivate.h:
  26265. * WebView.subproj/WebDataSourcePrivate.m:
  26266. (-[WebDataSource _startLoading:]):
  26267. (-[WebDataSource _commitIfReady:]):
  26268. (-[WebDataSource _loadingFromPageCache]):
  26269. * WebView.subproj/WebDynamicScrollBarsView.h:
  26270. * WebView.subproj/WebFramePrivate.h:
  26271. * WebView.subproj/WebFramePrivate.m:
  26272. (-[WebFrame _purgePageCache]):
  26273. (+[WebFrame _timeOfLastCompletedLoad]):
  26274. (-[WebFrame _setState:]):
  26275. (-[WebFrame _opened]):
  26276. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
  26277. * WebView.subproj/WebPreferences.m:
  26278. (+[WebPreferences load]):
  26279. 2002-12-09 Darin Adler <darin@apple.com>
  26280. Reviewed by Chris.
  26281. - fixed 3122608 -- REGRESSION: Downloads can't be cancelled
  26282. When I fixed the leak for other categories of policy interruption, I messed
  26283. things up for downloads. Added new parameters to handle this right.
  26284. * WebView.subproj/WebBaseResourceHandleDelegate.h: Remove isDownload flag.
  26285. * WebView.subproj/WebBaseResourceHandleDelegate.m:
  26286. (-[WebBaseResourceHandleDelegate isDownload]): Return NO, override in subclass.
  26287. (-[WebBaseResourceHandleDelegate handle:didReceiveResponse:]): Call isDownload
  26288. method instead of looking at flag directly.
  26289. * WebView.subproj/WebControllerPrivate.h: Add complete: parameter to _mainReceivedError:.
  26290. * WebView.subproj/WebControllerPrivate.m:
  26291. (-[WebController _mainReceivedError:fromDataSource:complete:]): If complete is NO, then
  26292. don't mark the primary load as complete.
  26293. * WebView.subproj/WebMainResourceClient.m:
  26294. (-[WebMainResourceClient isDownload]): Added. Returns YES if downloadHandler is non-nil.
  26295. (-[WebMainResourceClient receivedError:complete:]): Added complete parameter. Call the
  26296. _setPrimaryLoadComplete: method in the download case (fixes a possible leak), and pass
  26297. the complete parameter through to the controller.
  26298. (-[WebMainResourceClient cancel]): Pass complete:YES.
  26299. (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]): Added the keepLoading
  26300. flag, and pass complete:!keepLoading.
  26301. (-[WebMainResourceClient stopLoadingForPolicyChange]): Pass keepLoading:NO.
  26302. (-[WebMainResourceClient continueAfterContentPolicy:response:]): Pass keepLoading:YES,
  26303. and remove the call to the now-obsolete setIsDownload:.
  26304. (-[WebMainResourceClient handle:didFailLoadingWithError:]): Pass complete:YES.
  26305. 2002-12-08 Darin Adler <darin@apple.com>
  26306. Reviewed by Don and Dave.
  26307. - fixed 3120578 -- REGRESSION: going to about:blank creates null view
  26308. This part of the fix makes sure that a renderer is created, even when there are no bytes
  26309. of data passed through. This makes the empty document about:blank case work just like the
  26310. "document with just whitespace in it case". There's another part of the fix in WebCore that
  26311. takes care of the remaining problem.
  26312. * WebView.subproj/WebHTMLRepresentation.m:
  26313. (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
  26314. Call receivedData:withDataSource: on the bridge with nil for the data. It would be even more
  26315. elegant to add a new call for the case where we finish, but it's not necessary, since the
  26316. existing receivedData: call does all the right things if passed nil.
  26317. * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _finishedLoading]):
  26318. Call finishedLoadingWithDataSource: here, to make sure it's done after committing.
  26319. This parallels what we already do for the didReceiveData call.
  26320. * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handleDidFinishLoading:]):
  26321. Remove the call to finishedLoadingWithDataSource: because it's handled by _finishedLoading now.
  26322. This parallels what we already do for the didReceiveData call.
  26323. - fixed long standing problem where resizing could make you see a "null view"
  26324. * WebView.subproj/WebView.m:
  26325. (-[WebView drawRect:]): Add a "paint cyan" feature in development builds.
  26326. Null view problems are particularly hard to debug without something like this,
  26327. and we don't care if development builds are slightly slower. No change in deployment.
  26328. (-[WebView setFrameSize:]): Tell the scroll view to draw the background if we are
  26329. resized. We can't do our "let the old bits show through" thing any more if we have to
  26330. redraw because of resizing.
  26331. - other changes
  26332. * WebKit.pbproj/project.pbxproj: Remove the old -DAPPLE_CHANGES and -DHAVE_CONFIG_H that we
  26333. once needed when WebKit used to compile C++ headers from the KHTML part of WebCore.
  26334. We haven't needed those for ages. Also sort things a bit, using the new Electron feature for
  26335. sorting lists of files alphabetically, and some by hand.
  26336. * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
  26337. 2002-12-08 Chris Blumenberg <cblu@apple.com>
  26338. Fixed: 3121627 - REGRESSION: partial progress is left in address field after download
  26339. Reviewed by: darin
  26340. In WebMainResourceClient, make sure to always call receivedError before _clearProvisionalDataSource so that
  26341. receivedError works. This is done in multiple places, so I factored this out into one method interuptForPolicyChange.
  26342. * WebView.subproj/WebControllerPrivate.m:
  26343. (-[WebController _mainReceivedError:fromDataSource:]): added asserts for nil error, dataSource and frame
  26344. * WebView.subproj/WebMainResourceClient.m:
  26345. (-[WebMainResourceClient interruptForPolicyChange]): renamed from notifyDelegatesOfInterruptionByPolicyChange because it now also sets the provisionalDataSource on the frame to nil.
  26346. (-[WebMainResourceClient stopLoadingForPolicyChange]): call interruptForPolicyChange, stop load
  26347. (-[WebMainResourceClient continueAfterContentPolicy:response:]): call interruptForPolicyChange
  26348. 2002-12-06 Trey Matteson <trey@apple.com>
  26349. Clean up some printfs. Use WebKitLogPageCache for page cache info.
  26350. Reviewed by: rjw
  26351. * WebView.subproj/WebFramePrivate.m:
  26352. (-[WebFrame _transitionToCommitted:]):
  26353. (-[WebFrame _purgePageCache]):
  26354. (-[WebFrame _setState:]):
  26355. (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
  26356. 2002-12-06 Trey Matteson <trey@apple.com>
  26357. 3118584 - implement desired behavior for load - reload - b/f
  26358. 3119241 - page cache needs to be refreshed after reload
  26359. 3118096 - isTargetItem:NO saved to disk with every bookmark
  26360. The most noticeable changes are the addition of the "Same" loadType, and that reload
  26361. does not restore form state. 3119241 was noticed in passing, and is related.
  26362. 3118096 is a nit with a possible small perf benefit.
  26363. Reviewed by: rjw
  26364. * History.subproj/WebHistoryItem.h:
  26365. * History.subproj/WebHistoryItem.m:
  26366. (-[WebHistoryItem dealloc]): New originalURL field.
  26367. (-[WebHistoryItem originalURL]): New getter.
  26368. (-[WebHistoryItem setOriginalURL:]): New setter.
  26369. (-[WebHistoryItem dictionaryRepresentation]): Dont save isTarget.
  26370. (-[WebHistoryItem initFromDictionaryRepresentation:]): Dont save isTarget.
  26371. * WebView.subproj/WebFrame.m:
  26372. (-[WebFrame loadRequest:]): Test for going to same URL, invoke loadTypeSame case.
  26373. * WebView.subproj/WebFramePrivate.h: Add loadTypeSame
  26374. * WebView.subproj/WebFramePrivate.m:
  26375. (-[WebFrame _addBackForwardItemClippedAtTarget:]): Remove a line of dead code.
  26376. (-[WebFrame _createItem]): Set originalURL when item is created.
  26377. (-[WebFrame _transitionToCommitted:]): For loadTypeSame, clear page cache
  26378. (-[WebFrame _purgePageCache]): Added logging.
  26379. (-[WebFrame _setState:]): Don't add to page cache if doing a reload.
  26380. (-[WebFrame _isLoadComplete]): LoadTypeSame is a NOP.
  26381. (-[WebFrame _loadItem:fromItem:withLoadType:]): LoadTypeSame is an ASSERT.
  26382. (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): In
  26383. the LoadTypeSame case load from origin and never do anchor nav. If asked to load
  26384. the same URL, invoke LoadTypeSame case.
  26385. (-[WebFrame _loadURL:intoChild:]): Latent bug: WebFrameLoadTypeReloadAllowingStaleData
  26386. should restore child frame content like reload does.
  26387. (-[WebFrame _itemForRestoringDocState]): Prevent form state restore on reload and loadSame.
  26388. (-[WebFrame _shouldTreatURLAsSameAsCurrent:]): New utility function.
  26389. 2002-12-06 Maciej Stachowiak <mjs@apple.com>
  26390. Reviewed by: Darin Adler
  26391. - made framework embedding work correctly with buildit
  26392. * WebKit.pbproj/project.pbxproj: Give framework a relative
  26393. install path, don't install it the normal way, and copy it
  26394. manually to /AppleInternal/Library/Frameworks if installing. Also
  26395. look for other frameworks in
  26396. ${DSTROOT}/AppleInternal/Library/Frameworks.
  26397. 2002-12-05 Darin Adler <darin@apple.com>
  26398. Reviewed by Trey.
  26399. - fixed 3103691 -- assertion in WebHTMLView addMouseMovedObserver at versiontracker
  26400. * WebView.subproj/WebHTMLView.m:
  26401. (-[WebHTMLView addMouseMovedObserver]): Instead of asserting, do the checks here to
  26402. determine if the observer should be installed.
  26403. (-[WebHTMLView viewDidMoveToWindow]): Remove checks, since addMouseMovedObserver now checks.
  26404. (-[WebHTMLView windowDidBecomeMain:]): Remove checks, since addMouseMovedObserver now checks.
  26405. 2002-12-05 Richard Williamson <rjw@apple.com>
  26406. Don't ceil spaces if not a fixed pitch font. This make sites
  26407. that have hard coded block widths have less wrapping beyond what the
  26408. designer expected. Fixes 3117225.
  26409. Reviewed by: mjs
  26410. * WebCoreSupport.subproj/WebTextRenderer.h:
  26411. * WebCoreSupport.subproj/WebTextRenderer.m:
  26412. (widthForGlyph):
  26413. (-[WebTextRenderer _computeWidthForSpace]):
  26414. (-[WebTextRenderer initWithFont:]):
  26415. (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]):
  26416. 2002-12-05 Chris Blumenberg <cblu@apple.com>
  26417. Added WebDocumentText protocol. Made WebHTMLView and WebTextView implement it.
  26418. Reviewed by: rjw
  26419. * WebView.subproj/WebController.m:
  26420. (-[WebController supportsTextEncoding]): check if protocol is WebDocumentText
  26421. * WebView.subproj/WebDocument.h:
  26422. * WebView.subproj/WebHTMLView.h:
  26423. * WebView.subproj/WebHTMLView.m:
  26424. (-[WebHTMLView hasSelection]): call selectedString
  26425. (-[WebHTMLView takeFindStringFromSelection:]): call selectedString
  26426. (-[WebHTMLView selectAll:]): call selectAll
  26427. (-[WebHTMLView string]): part of WebDocumentText protocol
  26428. (-[WebHTMLView attributedString]): part of WebDocumentText protocol
  26429. (-[WebHTMLView selectedString]): part of WebDocumentText protocol
  26430. (-[WebHTMLView selectedAttributedString]): part of WebDocumentText protocol
  26431. (-[WebHTMLView selectAll]): part of WebDocumentText protocol
  26432. (-[WebHTMLView deselectAll]): part of WebDocumentText protocol
  26433. * WebView.subproj/WebHTMLViewPrivate.m:
  26434. (-[WebHTMLView _writeSelectionToPasteboard:]): call selectedAttributedString
  26435. * WebView.subproj/WebTextView.h:
  26436. * WebView.subproj/WebTextView.m:
  26437. (-[WebTextView string]): part of WebDocumentText protocol
  26438. (-[WebTextView attributedString]): part of WebDocumentText protocol
  26439. (-[WebTextView selectedString]): part of WebDocumentText protocol
  26440. (-[WebTextView selectedAttributedString]): part of WebDocumentText protocol
  26441. (-[WebTextView selectAll]): part of WebDocumentText protocol
  26442. (-[WebTextView deselectAll]): part of WebDocumentText protocol
  26443. 2002-12-05 Darin Adler <darin@apple.com>
  26444. Reviewed by Richard.
  26445. - fixed 3107240 -- world leak: reproducible, trying to open TIFF file
  26446. * WebView.subproj/WebMainResourceClient.m:
  26447. (-[WebMainResourceClient notifyDelegatesOfInterruptionByPolicyChange]):
  26448. Send error to the delegate using receivedError: rather than directly.
  26449. This results in the frame properly stopping the load and fixes the leak.
  26450. 2002-12-05 Darin Adler <darin@apple.com>
  26451. Reviewed by Chris.
  26452. * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler initWithDataSource:]):
  26453. Add WebGZipDecoder to the list.
  26454. * Downloads.subproj/WebGZipDecoder.h: Finished this.
  26455. * Downloads.subproj/WebGZipDecoder.m: Finished this.
  26456. * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
  26457. 2002-12-05 Maciej Stachowiak <mjs@apple.com>
  26458. Reviewed by: Darin
  26459. * English.lproj/InfoPlist.strings: removed letters from
  26460. CFBundleShortVersionString to make buildit happy.
  26461. === Alexander-35 ===
  26462. 2002-12-05 Darin Adler <darin@apple.com>
  26463. Reviewed by Ken.
  26464. - fixed 3118647 -- REGRESSION: click policy no longer works
  26465. * WebView.subproj/WebFramePrivate.m:
  26466. (-[WebFrame _actionInformationForNavigationType:event:originalURL:]):
  26467. Allow mouse up events too. Those are usually the ones that trigger navigation.
  26468. 2002-12-04 Darin Adler <darin@apple.com>
  26469. Reviewed by Maciej.
  26470. - fixed assert when you choose an item from a menu, for example, and that navigates
  26471. * WebView.subproj/WebFramePrivate.m:
  26472. (-[WebFrame _actionInformationForNavigationType:event:originalURL:]):
  26473. If the event is over some other element, just don't include the element info.
  26474. 2002-12-04 Chris Blumenberg <cblu@apple.com>
  26475. Fixed: 3116294 - Need "Reload" feature in Downloads window
  26476. Reviewed by: rjw
  26477. * WebKit.pbproj/project.pbxproj: made WebFramePrivate.h private so that WebBrowser can call _downloadRequest:toPath:
  26478. * WebView.subproj/WebFramePrivate.m:
  26479. (-[WebFrame _loadDataSource:withLoadType:]): commented out assert that complains about lack of WebView. Long-term solution is to catch this earlier and have a lone datasource download mechanism 3118355.
  26480. 2002-12-04 Trey Matteson <trey@apple.com>
  26481. 3097585 - Crash in -[WebFrame(WebPrivate) _isLoadComplete] at result of google image search
  26482. The root of this problem was that we would detach child frames by calling detach
  26483. on them all, then clearing the whole array. This would fail because detaching a
  26484. frame might have to stop a load, which calls checkLoadComplete, which visits the
  26485. entire frame tree. But if a previously detached child is still sitting in that
  26486. tree, we end up with an assertion failure. The solution is to remove the kids as
  26487. they are detached.
  26488. Reviewed by: Darin Adler
  26489. * WebView.subproj/WebFramePrivate.m:
  26490. (-[WebFrame _createItem]): Method rename (a nit I missed from an earlier change)
  26491. (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): Method rename
  26492. (-[WebFrame _detachChildren]): new method to do detaching right
  26493. (-[WebFrame _detachFromParent]): call new method
  26494. (-[WebFrame _setDataSource:]): call new method
  26495. (-[WebFrame _transitionToCommitted:]): Method rename
  26496. 2002-12-04 Darin Adler <darin@apple.com>
  26497. Reviewed by Trey and Maciej.
  26498. - fixed 3117558 -- Assertion failure in KWQKHTMLPart::slotData after typing "amazon.com" twice
  26499. - update NSEvent handling in preparation for NSView mouse event handling going through WebCore
  26500. * WebView.subproj/WebFramePrivate.m:
  26501. (-[WebFrame _loadItem:fromItem:withLoadType:]): Added FIXME comments about matching the _loadURL
  26502. case more closely.
  26503. (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): Only use the event if it's
  26504. a mouse down event. This prevents trouble when we have other kinds of events coming through.
  26505. (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Call the new scrollToAnchorWithURL:
  26506. instead of openURL:. This fixes the assertion failure in the bug above.
  26507. (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Update checks here to more closely
  26508. match the ones in KHTMLPart::openURL that we are replacing. Add more comments.
  26509. * WebView.subproj/WebHTMLView.m: (-[WebHTMLView hitTest:]): Function to intercept all clicks at the
  26510. WebHTMLView level, disabled for now because we are not yet ready.
  26511. - started a gzip download decoder, not yet hooked up
  26512. * Downloads.subproj/WebGZipDecoder.h: Added.
  26513. * Downloads.subproj/WebGZipDecoder.m: Added.
  26514. * WebKit.pbproj/project.pbxproj: Add WebGZipDecoder and zlib.
  26515. - other changes
  26516. * Panels.subproj/WebAuthenticationPanel.m: Fixed screwed-up indentation.
  26517. 2002-12-04 Richard Williamson <rjw@apple.com>
  26518. Cache the fallback font in the same way we cache other
  26519. fonts.
  26520. Reviewed by: Darin
  26521. * WebCoreSupport.subproj/WebTextRendererFactory.h:
  26522. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  26523. (-[WebTextRendererFactory fallbackFontWithTraits:size:]):
  26524. (-[WebTextRendererFactory fontWithFamilies:traits:size:]):
  26525. (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):
  26526. 2002-12-04 Richard Williamson <rjw@apple.com>
  26527. Fixed massive performance regression.
  26528. We were leaking WebFontCacheKey.
  26529. Added a cache of missing fonts to avoid
  26530. expensive appkit lookup.
  26531. Reviewed by: Maciej
  26532. * WebCoreSupport.subproj/WebTextRendererFactory.m:
  26533. (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):
  26534. (-[WebTextRendererFactory cachedFontFromFamilies:traits:size:]):
  26535. 2002-12-03 Darin Adler <darin@apple.com>
  26536. - fixed 3117193 -- REGRESSION: Hang on Hixie's weblog
  26537. Reviewed by Maciej.
  26538. * WebCoreSupport.subproj/WebTextRenderer.m:
  26539. (-[WebTextRenderer substituteFontForString:families:]):
  26540. Do the operation on the whole string at once instead of a character at a time.
  26541. I decided to do this rather than correct the bug in the character-at-a-time version.
  26542. == Rolled over to ChangeLog-2002-12-03 ==